Architecture Analysis Techniques

Slides:



Advertisements
Similar presentations
Software Architecture Lecture 14
Advertisements

Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis Techniques Software Architecture Lecture 14.
Analysis Techniques. Architectural Analysis in a Nutshell Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
The Architecture Design Process
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Analysis of Architecture As part of the activities in coming up with a good software architecture, we should analyze the architecture that we have designed.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
Data Structures and Programming.  John Edgar2.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Analysis of Software Architectures
Zachary Cleaver. Analysis Definition and Purpose Architectural analysis is the activity of discovering important system properties using the system’s.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
S/W Project Management
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
CLEANROOM SOFTWARE ENGINEERING.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Architectural Analysis. Introduction Models help to force the architects to identify issues that might missed or ignored To get useful information precisely.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Testing Workflow In the Unified Process and Agile/Scrum processes.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Approaching a Problem Where do we start? How do we proceed?
1 Introduction to Software Engineering Lecture 1.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures Software Architecture Lecture.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Reliability Research Pankaj Jalote Professor, CSE, IIT Kanpur, India.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Formal Methods.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
John D. McGregor Architecture Evaluation
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architecture Analysis Techniques.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures Infosys, Mysore December.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
CS223: Software Engineering Lecture 25: Software Testing.
 System Requirement Specification and System Planning.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
System Design, Implementation and Review
Architecture Analysis Techniques
Verification and Testing
IEEE Std 1074: Standard for Software Lifecycle
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
The Extensible Tool-chain for Evaluation of Architectural Models
Baisc Of Software Testing
Architecture Analysis Techniques
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Presentation transcript:

Architecture Analysis Techniques Ding Li 2927154806 1

Review 2

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

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 4

ATAM Focus on non-functional properties Identify risks Modifiability Security Performance Reliability Identify risks Reveal how well the system meets the requirements System level Completeness, Capability, Correctness 5 5

Detail of ATAM 4 Phases 9 steps Preparation Presentation and Analysis Testing and Reporting Finalization 9 steps 6

Phase 0-Preparation Find out the right people Training Session Who will do the presentation Who will be the representatives of clients Training Session Necessary Materials Kick-off Meeting 7

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 Step 3: Should include constrains, systems to interact and styles and patterns Step 4: the evaluate team will ask the Architects to explicitly name any identifiable approaches Step 6: understand the details and how it was applied in system, well-known weakness, trade- offs, compare with other approach for each scenarios in Step 5. 8 8

Phase 2-Testing and Reporting Step 7: Brainstorming and Prioritizing Scenarios Step 8: Analyze the Architectural Approach Step 9: Present the result Step 7 more stakeholders are involved 9 9

Phase 3- Finalize Producing a final report Collecting Data for measurement and improvement Archive all artifacts 10

Why use the ATAM? Enable non-technical people to control the quality of software A Method for developers to sell their project Does the project worth the money? Persuade the clients to go on give you money For example, my mother wants to develop a students information system 11 11

Limitation of ATAM Expensive Time consuming Human intensive 12

Model Based Analysis Based on the description of Architecture ADLs Can be done automatically Less expensive 13

Model Based Analysis Goals Scope Type Static Consistency Compatibility Internal Completeness Scope Component level Data exchange level Type Static 14

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 For example, in our homework, we may need to enumerate all paths in the Graph, 15 15

Model Based Analysis Enabled by ADLs type DataStore be interface action in SetValues(); out NotifyNewValues(); behavior begin SetValues => NotifyNewValues();; end DataStore; type Calculation is interface action in SetBurnRate(); out DoSetValues(); action CalcNewState(); SetBurnRate => CalcNewState1(); DoSetValues(a);; end Calculation; type Player is interface action out DoSetBurnRate(); in NotifyNewValues(); TurnsRemaining : var integer := 1; action UpdateStatusDisplay(); action Done(); Parsers and compilers Check the syntax Check consistency Exam Refinement Exam Constrains 16

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 17

Simulation-Based Analysis Goals Completeness Consistency Compatibility Correctness Scope System or subsystem level Dataflow 18

Simulation-Based Analysis Concern Behaviors Interaction Non-functional properties Dynamic, scenario-based Fully automated 19

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 20

XTEAM Toolchain 21

Meta-model in XTEAM 22

xADL in XTEAM 23

FSP in XTEAM FSP is a behaviors ADL Present Finite State Machine in an algebra way 24

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

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 26

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 An abnormal condition that may cause a reduction in, or loss of, the capability of a component to perform a required function A requirements, design, or implementation flaw or deviation from a desired or intended state 27 27

Reliability Metrics Time to failure Time to repair Time between failures 28

Discrete Markov Model A Stochastic Process Model Based on a Finite State Machine 29

Hidden Markov Process Transition Probabilities between each state may not be known Need some training data to estimate transition probabilities Simulation is needed 30

Summary of Reliability Analysis Reliability analysis can be both dynamic or static Require Domain Knowledge Some times the Markov properties may not satisfied 31

Summary ATAM Model-based Analysis Simulation-based Analysis Reliability Analysis 32

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 33