Top Banner
EVALUVATING SOFTWARE ARCHITECTURES EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements R.Kazman, M.Klein, P.Clements Software Engineering Institute Software Engineering Institute Carnegie Mellon University Carnegie Mellon University
17

EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Dec 26, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

EVALUVATING SOFTWARE ARCHITECTURES EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMSFOR REAL-TIME SYSTEMS

R.Kazman, M.Klein, P.ClementsR.Kazman, M.Klein, P.ClementsSoftware Engineering InstituteSoftware Engineering Institute

Carnegie Mellon UniversityCarnegie Mellon University

Page 2: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

What is this presentation about ? What is this presentation about ?

ATAM stepsATAM steps ExamplesExamples ComparisonsComparisons ConclusionConclusion

Page 3: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Abstract view of ATAMAbstract view of ATAMArchitecture Trade-off Analysis:Software Quality Attributes andEvaluations - Mario R. BarbacciSEI , CMU

Page 4: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

ATAM DEPENDENCIESATAM DEPENDENCIES

Page 5: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

ATAM STEPSATAM STEPS Day1and Day2 ActivitiesDay1and Day2 Activities

Lead evaluator presents ATAMLead evaluator presents ATAM Manager/customer presents overview.Manager/customer presents overview. Architect presents architecture.Architect presents architecture. Scenarios generated.Scenarios generated. Mapping of them onto architecture.Mapping of them onto architecture. Skeleton analysis made.Skeleton analysis made.

Day 3 ActivitiesDay 3 Activities

Brainstorming .Brainstorming . Prioritizations.Prioritizations. Analysis.Analysis. Debriefing.Debriefing.

Page 6: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

ATAM STEPS (contd..)ATAM STEPS (contd..)

1. Present the ATAM – Lead1. Present the ATAM – Lead2. Present Business Drivers – Project Manager2. Present Business Drivers – Project Manager3. Present Architecture – Lead Architect3. Present Architecture – Lead Architect4. Identify Architecture Approaches – Architect4. Identify Architecture Approaches – Architect5. Generate Quality Attributes and Utility tree 5. Generate Quality Attributes and Utility tree 6. Analyze architectural approaches6. Analyze architectural approaches7. Brain storming and Prioritize scenario7. Brain storming and Prioritize scenario8. Analyze architectural approaches 8. Analyze architectural approaches 9. Present results.9. Present results.

Material from technical report on ATAM by Material from technical report on ATAM by Kazman, Klein, Clements August 2000 SEI CMUKazman, Klein, Clements August 2000 SEI CMU

Page 7: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

An Example Evaluvation : BCSAn Example Evaluvation : BCS

BCS – Battle Control SystemBCS – Battle Control System

What’s the use? What’s the use?

To control movement, strategy and operation of To control movement, strategy and operation of troops.troops.

Requirements: Requirements:

Provide support to a commander who can control a Provide support to a commander who can control a set of soldiers and weaponsset of soldiers and weapons

Interface with other systems that feed command and Interface with other systems that feed command and intelligence intelligence

Page 8: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Scenarios in BCSScenarios in BCS

Page 9: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Classification of scenariosClassification of scenarios

Use casesUse cases same information different format.same information different format.

server chooses channel.server chooses channel. Growth scenariosGrowth scenarios add new device.add new device.

change of dialog.change of dialog.

Exploratory scenariosExploratory scenarios time budget for initialization is 5min to 90 sec.time budget for initialization is 5min to 90 sec.

Modem baud rate is increased by factor of 4.Modem baud rate is increased by factor of 4.

Page 10: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

System Architecture-BCSSystem Architecture-BCS

Page 11: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Screening questionsScreening questions

For what functions of the system is For what functions of the system is performance not important?performance not important?

How performance is affected by How performance is affected by scaling workload?scaling workload?

Q(s) = F(Qm,Qa,Qp)Q(s) = F(Qm,Qa,Qp)

Page 12: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Performance Performance Scenario transition from client to server and vice-versa.Scenario transition from client to server and vice-versa. Only one channel to communicateOnly one channel to communicate Qp = h(n,m,CO) sensitivity points Qp = h(n,m,CO) sensitivity points

Global trade off IdentificationGlobal trade off Identification Backup time and availability are traded.Backup time and availability are traded.

Qa= g(n,m)Qa= g(n,m)

Trade off points are Qp and QaTrade off points are Qp and Qa

Page 13: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Interesting pointsInteresting points Large projects->many stakeholdersLarge projects->many stakeholders -> own ideas->incomplete description.-> own ideas->incomplete description. Small projects -> many redundant views.Small projects -> many redundant views. Extent of participation from variousExtent of participation from various stake holders.stake holders. clear understanding of system.clear understanding of system.

ARID (Architectural review for ARID (Architectural review for intermediate design) applied to third intermediate design) applied to third party components. ->not much party components. ->not much documentation, sub systems leveldocumentation, sub systems level

Page 14: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Comparison of Evaluating MethodsComparison of Evaluating Methods

Table from Scenario based Software architecture evaluation and methods : Table from Scenario based Software architecture evaluation and methods : an overview by Mugurel T Ionita , Dieter K Hammer, Henk Obbinkan overview by Mugurel T Ionita , Dieter K Hammer, Henk Obbink

Page 15: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

ConclusionConclusion

Young method.Young method. Applied to complex Real world Applied to complex Real world

Architectures.Architectures. Reports into handbook for future use.Reports into handbook for future use.

Page 16: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Conclusion(contd..)Conclusion(contd..)

It evaluates a system for all the “ility”s…It evaluates a system for all the “ility”s…

ReliabilityReliability ScalabilityScalability ModifiabilityModifiability FunctionalityFunctionality VariabilityVariability Subsetability.Subsetability.

Page 17: EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.

Questions ?Questions ?