evaluvating software architectures for real-time systems r.kazman, m.klein, p.clements software...

17
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

Upload: priscilla-bradford

Post on 26-Dec-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

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

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

ATAM stepsATAM steps ExamplesExamples ComparisonsComparisons ConclusionConclusion

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

ATAM DEPENDENCIESATAM DEPENDENCIES

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.

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

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

Scenarios in BCSScenarios in BCS

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.

System Architecture-BCSSystem Architecture-BCS

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)

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

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

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

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.

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.

Questions ?Questions ?