Architecture Analysis Techniques

33
Architecture Analysis Techniques Ding Li 2927154806

description

Architecture Analysis Techniques. Ding Li 2927154806. Review. Inspections and Reviews. Manual Techniques Static or Scenario-based In Theory, it can test everything of an architecture All stakeholders are involved Not only technical people. the Architectural Trade-off Analysis Method. - PowerPoint PPT Presentation

Transcript of Architecture Analysis Techniques

Page 1: Architecture Analysis Techniques

Architecture Analysis Techniques

Ding Li

2927154806

Page 2: Architecture Analysis Techniques

Review

Page 3: Architecture Analysis Techniques

Inspections and Reviews

• Manual Techniques

• Static or Scenario-based

• In Theory, it can test everything of an architecture

• All stakeholders are involved– Not only technical people

Page 4: Architecture Analysis Techniques

the Architectural Trade-off Analysis Method

• First proposed by Clements in CMU

• Human-centric process to identify risks in the early stage of software design

• All stakeholders will be involved– Clients– Managers– Developers

Page 5: Architecture Analysis Techniques

ATAM

• Focus on non-functional properties– Modifiability – Security– Performance– Reliability

• Identify risks

• Reveal how well the system meets the requirements

Page 6: Architecture Analysis Techniques

Detail of ATAM

• 4 Phases– Preparation– Presentation and Analysis– Testing and Reporting– Finalization

• 9 steps

Page 7: Architecture Analysis Techniques

Phase 0-Preparation

• Find out the right people– Who will do the presentation– Who will be the representatives of clients

• Training Session

• Necessary Materials

• Kick-off Meeting

Page 8: Architecture Analysis Techniques

Phase 1-Presentation and Analysis

• Step 1:Present the ATAM

• Step 2:Present the business drivers

• Step 3:Present the architecture

• Step 4:Identify the Architectural Approaches

• Step 5: Draw the Quality Attribute Utility Tree

• Step 6:Analyze the Architectural Approach

Page 9: Architecture Analysis Techniques

Phase 2-Testing and Reporting

• Step 7: Brainstorming and Prioritizing Scenarios

• Step 8: Analyze the Architectural Approach

• Step 9: Present the result

Page 10: Architecture Analysis Techniques

Phase 3- Finalize

• Producing a final report

• Collecting Data for measurement and improvement

• Archive all artifacts

Page 11: Architecture Analysis Techniques

Why use the ATAM?

• Enable non-technical people to control the quality of software

• A Method for developers to sell their project

Page 12: Architecture Analysis Techniques

Limitation of ATAM

• Expensive

• Time consuming

• Human intensive

Page 13: Architecture Analysis Techniques

Model Based Analysis

• Based on the description of Architecture– ADLs

• Can be done automatically– Less expensive

Page 14: Architecture Analysis Techniques

Model Based Analysis

• Goals– Consistency

– Compatibility

– Internal Completeness

• Scope– Component level

– Data exchange level

• Type– Static

Page 15: Architecture Analysis Techniques

Model Based Analysis

• Techniques are complex– May not be possible to analyze a very large

system in a very high accuracy– Sometimes may need to sacrifice some

accuracy

• Can only analyze properties that are not formally described– Non-functional Properties are not supported

Page 16: Architecture Analysis Techniques

Model Based Analysis Enabled by ADLs

• Parsers and compilers– Check the syntax– Check consistency

• Exam Refinement

• Exam Constrains

type DataStore be interface action in SetValues(); out NotifyNewValues(); behavior begin SetValues => NotifyNewValues();;end DataStore;

type Calculation is interface action in SetBurnRate(); out DoSetValues(); behavior action CalcNewState(); begin SetBurnRate => CalcNewState1(); DoSetValues(a);;end Calculation;

type Player is interface action out DoSetBurnRate(); in NotifyNewValues(); behavior TurnsRemaining : var integer := 1; action UpdateStatusDisplay(); action Done();

Page 17: Architecture Analysis Techniques

Simulation-Based Analysis

• Create a dynamic executable model of system– It is a high level executable model– Require support from modeling language, not

all languages are executable

Page 18: Architecture Analysis Techniques

Simulation-Based Analysis

• Goals– Completeness– Consistency– Compatibility– Correctness

• Scope– System or subsystem level– Dataflow

Page 19: Architecture Analysis Techniques

Simulation-Based Analysis

• Concern– Behaviors– Interaction– Non-functional properties

• Dynamic, scenario-based

• Fully automated

Page 20: Architecture Analysis Techniques

XTEAM

• Is developed by George Edwards

• Create simulation codes from High-level model

• Easy to change the model and create new simulation codes

• Can simulate the latency, power consumption and reliability of a system

Page 21: Architecture Analysis Techniques

XTEAM Toolchain

Page 22: Architecture Analysis Techniques

Meta-model in XTEAM

Page 23: Architecture Analysis Techniques

xADL in XTEAM

Page 24: Architecture Analysis Techniques

FSP in XTEAM

• FSP is a behaviors ADL

• Present Finite State Machine in an algebra way

Page 25: Architecture Analysis Techniques

Power simulation in XTEAM

• Assign the Power consumption of each process– Assigned by Power model– Assigned by Domain Expert

• Record the power consumption of each invocation of process

• Data are analyzed by human

Page 26: Architecture Analysis Techniques

Summary of XTEAM

• Fully automatic simulation– Generate simulation code automatically– Human are only involved in Data analysis

• A wider range of goals and concerns and be achieved than static techniques– Could analysis some non-functional properties

Page 27: Architecture Analysis Techniques

Reliability Analysis

• The probability that the system runs without failure

• A failure is the occurrence of an incorrect output according to an input

• Error: mental mistake made by programmers

• Fault: manifestation of an error

Page 28: Architecture Analysis Techniques

Reliability Metrics

• Time to failure

• Time to repair

• Time between failures

Page 29: Architecture Analysis Techniques

Discrete Markov Model

• A Stochastic Process Model

• Based on a Finite State Machine

Page 30: Architecture Analysis Techniques

Hidden Markov Process

• Transition Probabilities between each state may not be known

• Need some training data to estimate transition probabilities

• Simulation is needed

Page 31: Architecture Analysis Techniques

Summary of Reliability Analysis

• Reliability analysis can be both dynamic or static

• Require Domain Knowledge

• Some times the Markov properties may not satisfied

Page 32: Architecture Analysis Techniques

Summary

• ATAM

• Model-based Analysis

• Simulation-based Analysis

• Reliability Analysis

Page 33: Architecture Analysis Techniques

Reference

• Evaluating Software Architecture: Methods and Case Studies

• Guide to the Rapide-1.0 Language Reference Manuals

• Rapide-1.0 Architecture Language Reference Manual

• OMG Object Constraint Language (OCL) Documents

• DRESDEN OCL MANUAL FOR INSTALLATION, USE AND DEVELOPMENT

• Model and Object Verification by Using Dresden OCL Birgit Demuth et.al 2009

• XTEAM USER MANUAL

• Finite State Process Algebra and LTSA

• Scenario-Driven Dynamic Analysis of Distributed Architectures George Edwards et.al 2007

• Estimating Software Component Reliability by Leveraging Architectural Models Roshanak Roshandel et.al 2006