architecture analysis techniques ding li 2927154806
TRANSCRIPT
![Page 1: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/1.jpg)
Architecture Analysis Techniques
Ding Li
2927154806
![Page 2: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/2.jpg)
Review
![Page 3: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/3.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/4.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/5.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/6.jpg)
Detail of ATAM
• 4 Phases– Preparation– Presentation and Analysis– Testing and Reporting– Finalization
• 9 steps
![Page 7: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/7.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/8.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/9.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/10.jpg)
Phase 3- Finalize
• Producing a final report
• Collecting Data for measurement and improvement
• Archive all artifacts
![Page 11: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/11.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/12.jpg)
Limitation of ATAM
• Expensive
• Time consuming
• Human intensive
![Page 13: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/13.jpg)
Model Based Analysis
• Based on the description of Architecture– ADLs
• Can be done automatically– Less expensive
![Page 14: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/14.jpg)
Model Based Analysis
• Goals– Consistency
– Compatibility
– Internal Completeness
• Scope– Component level
– Data exchange level
• Type– Static
![Page 15: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/15.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/16.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/17.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/18.jpg)
Simulation-Based Analysis
• Goals– Completeness– Consistency– Compatibility– Correctness
• Scope– System or subsystem level– Dataflow
![Page 19: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/19.jpg)
Simulation-Based Analysis
• Concern– Behaviors– Interaction– Non-functional properties
• Dynamic, scenario-based
• Fully automated
![Page 20: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/20.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/21.jpg)
XTEAM Toolchain
![Page 22: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/22.jpg)
Meta-model in XTEAM
![Page 23: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/23.jpg)
xADL in XTEAM
![Page 24: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/24.jpg)
FSP in XTEAM
• FSP is a behaviors ADL
• Present Finite State Machine in an algebra way
![Page 25: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/25.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/26.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/27.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/28.jpg)
Reliability Metrics
• Time to failure
• Time to repair
• Time between failures
![Page 29: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/29.jpg)
Discrete Markov Model
• A Stochastic Process Model
• Based on a Finite State Machine
![Page 30: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/30.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/31.jpg)
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 Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/32.jpg)
Summary
• ATAM
• Model-based Analysis
• Simulation-based Analysis
• Reliability Analysis
![Page 33: Architecture Analysis Techniques Ding Li 2927154806](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649f565503460f94c79f36/html5/thumbnails/33.jpg)
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