Top Banner
Architecture Analysis Techniques Ding Li 2927154806
33

Architecture Analysis Techniques

Jan 05, 2016

Download

Documents

kesler

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
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: 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