Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architecture Analysis Techniques.

Slides:



Advertisements
Similar presentations
Software Architecture Lecture 14
Advertisements

Software Architecture Lecture 3
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Software Architecture Lecture 19.
Software Architecture Lecture 2
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures Software Architecture Lecture.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
CS 795 – Spring  “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Analysis of Software Architectures. What Is Architectural Analysis? Architectural analysis is the activity of discovering important system properties.
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
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Software Architecture Lecture 19.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
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.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Analysis of Software Architectures
Zachary Cleaver. Analysis Definition and Purpose Architectural analysis is the activity of discovering important system properties using the system’s.
S/W Project Management
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
An Introduction to Software Architecture
Architectural Analysis. Introduction Models help to force the architects to identify issues that might missed or ignored To get useful information precisely.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
Testing Workflow In the Unified Process and Agile/Scrum processes.
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?
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures Software Architecture Lecture.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Architecture Analysis Techniques
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Foundations, Theory, and Practice Software Architecture Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic.
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,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Software Architecture Lecture 3
Software Architecture
Architecture Analysis Techniques
Analysis of Software Architectures
Software Architecture
Software Architecture Lecture 3
Software Architecture Lecture 2
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Software Architecture Lecture 3
The Extensible Tool-chain for Evaluation of Architectural Models
Software Architecture Lecture 20
Implementing Architectures
Software Architecture Lecture 3
Software Connectors.
Architecture Analysis Techniques
Software Architecture Lecture 3
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture Lecture 3
Software Architecture Lecture 7
Analysis of Software Architectures
Software Architecture Lecture 6
Presentation transcript:

Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architecture Analysis Techniques

Foundations, Theory, and Practice Software Architecture 2 Architectural Analysis in a Nutshell Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 3 Analysis Technique Categories Inspection- and review-based Model-based Simulation-based

Foundations, Theory, and Practice Software Architecture 4 Architectural Inspections and Reviews Architectural models studied by human stakeholders for specific properties The stakeholders define analysis objective Manual techniques u Can be expensive Useful in the case of informal architectural descriptions Useful in establishing “soft” system properties u E.g., scalability or adaptability Able to consider multiple stakeholders’ objectives and multiple architectural properties

Foundations, Theory, and Practice Software Architecture 5 Inspections and Reviews in a Nutshell Analysis Goals – any Analysis Scope – any Analysis Concern – any, but particularly suited for non- functional properties Architectural Models – any, but must be geared to stakeholder needs and analysis objectives Analysis Types – mostly static and scenario-based Automation Level – manual, human intensive Stakeholders – any, except perhaps component vendors

Foundations, Theory, and Practice Software Architecture 6 Example – ATAM Stands for architectural trade-off analysis method Human-centric process for identifying risks early on in software design Focuses specifically on four quality attributes (NFPs) u Modifiability u Security u Performance u Reliability Reveals how well an architecture satisfies quality goals and how those goals trade-off

Foundations, Theory, and Practice Software Architecture 7 ATAM Process Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 8 ATAM Business Drivers The system’s critical functionality Any technical, managerial, economic, or political constraints The project’s business goals and context The major stakeholders The principal quality attribute (NFP) goals

Foundations, Theory, and Practice Software Architecture 9 ATAM Scenarios Use-case scenarios u Describe how the system is envisioned by the stakeholders to be used Growth scenarios u Describe planned and envisioned modifications to the architecture Exploratory scenarios u Try to establish the limits of architecture’s adaptability with respect to system’s functionality operational profiles underlying execution platforms u Scenarios are prioritized based on importance to stakeholders

Foundations, Theory, and Practice Software Architecture 10 ATAM Process Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 11 ATAM Architecture Technical constraints u Required hardware platforms, OS, middleware, programming languages, and OTS functionality Any other systems with which the system must interact Architectural approaches that have been used to meet the quality requirements u Sets of architectural design decisions employed to solve a problem u Typically architectural patterns and styles

Foundations, Theory, and Practice Software Architecture 12 ATAM Process Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 13 ATAM Analysis Key step in ATAM Objective is to establish relationship between architectural approaches and quality attributes For each architectural approach a set of analysis questions are formulated u Targeted at the approach and quality attributes in question System architects and ATAM evaluation team work together to answer these questions and identify u Risks  these are distilled into risk themes u Non-Risks u Sensitivity points u Trade-off points Based on answers, further analysis may be performed

Foundations, Theory, and Practice Software Architecture 14 ATAM in a Nutshell Goals Completeness Consistency Compatibility Correctness` Scope Subsystem- and system-level Data exchange ConcernNon-functional Models Informal Semi-formal TypeScenario-driven Automation LevelManual Stakeholders Architects Developers Managers Customers Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 15 Model-Based Architectural Analysis Analysis techniques that manipulate architectural description to discover architectural properties Tool-driven, hence potentially less costly Typically useful for establishing “hard” architectural properties only u Unable to capture design intent and rationale Usually focus on a single architectural aspect u E.g., syntactic correctness, deadlock freedom, adherence to a style Scalability may be an issue Techniques typically used in tandem to provide more complete answers

Foundations, Theory, and Practice Software Architecture 16 Model-Based Analysis in a Nutshell Analysis Goals – consistency, compatibility, correctness Analysis Scope – any Analysis Concern – structural, behavioral, interaction, and possibly non-functional properties Architectural Models – semi-formal and formal Analysis Types – static Automation Level – partially and fully automated Stakeholders – mostly architects and developers

Foundations, Theory, and Practice Software Architecture 17 Model-Based Analysis in ADLs Wright – uses CSP to analyze for deadlocks Aesop – ensures style-specific constraints MetaH and UniCon – support schedulability analysis via NFPs such as component criticality and priority ADL parsers and compilers – ensure syntactic and semantic correctness u E.g., Rapide’s generation of executable architectural simulations Architectural constraint enforcement u E.g., Armani or UML’s OCL Architectural refinement u E.g., SADL and Rapide

Foundations, Theory, and Practice Software Architecture 18 ADLs’ Analysis Foci in a Nutshell Goals Consistency Compatibility Completeness (internal) Scope Component- and connector-level Subsystem- and system-level Data exchange Different abstraction levels Architecture comparison Concern Structural Behavioral Interaction Non-functional Models Semi-formal Formal TypeStatic Automation Level Partially automated Automated Stakeholders Architects Developers Managers Customers Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 19 Architectural Reliability Analysis Reliability is the probability that the system will perform its intended functionality under specified design limits, without failure A failure is the occurrence of an incorrect output as a result of an input value that is received, with respect to the specification An error is a mental mistake made by the designer or programmer A fault or a defect is the manifestation of that error in the system u An abnormal condition that may cause a reduction in, or loss of, the capability of a component to perform a required function u A requirements, design, or implementation flaw or deviation from a desired or intended state

Foundations, Theory, and Practice Software Architecture 20 Reliability Metrics Time to failure Time to repair Time between failures

Foundations, Theory, and Practice Software Architecture 21 Assessing Reliability at Architectural Level Challenged by unknowns u Operational profile u Failure and recovery history Challenged by uncertainties u Multiple development scenarios u Varying granularity of architectural models u Different information sources about system usage Architectural reliability values must be qualified by assumptions made to deal with the above uncertainties Reliability modeling techniques are needed that deal effectively with uncertainties u E.g., Hidden Markov Models (HMMs)

Foundations, Theory, and Practice Software Architecture Building Reliability Models INTERFACE PROV updateDatabase (x: real, y: real, deg: real); PROV: turn (deg: real); REQ: estimateSensorData (x: real, y: real, deg: real); REQ turnLeft (deg: real); REQ turnRight (deg: real); […] Interface Static Behaviors Interaction Protocols Dynamic Behaviors SCRover’s Controller component STATIC BEHAVIOR turn.precond (0 <= deg < 360); DYNAMIC BEHAVIOR INTERACTION PROTOCOL defect d1 defect d2

Foundations, Theory, and Practice Software Architecture Partial Reliability Model

Foundations, Theory, and Practice Software Architecture Determining Transition Probabilities Operational profile u Corresponds to behavioral transitions  Requires predicting component usage before construction Failure information u Corresponds to failure and recovery transitions  Software is not designed to fail  Component has not been built

Foundations, Theory, and Practice Software Architecture Sources of Available Information Domain knowledge u Information on component behavior and usage System requirements u Component use cases and required responses to failures System model simulation u Simulation traces Functionally similar system u Execution traces  More than one information source may be available and used in tandem

Foundations, Theory, and Practice Software Architecture Parameter Estimation Convert the Phase 1 model to a Hidden Markov Model (HMM) Make use of the Baum-Welch algorithm  A sequence of observed events from simulation or execution traces  Transition probabilities between behavioral states Failure and recovery probabilities are estimated separately The objective is to determine their impact on reliability

Foundations, Theory, and Practice Software Architecture Computing Reliability Solve DTMC using standard techniques  Solve for in the following system of linear equations Reliability = Probability of not being in any F i

Foundations, Theory, and Practice Software Architecture Example Transition probability matrix

Foundations, Theory, and Practice Software Architecture Reliability Calculation Solving the DTMC

Foundations, Theory, and Practice Software Architecture 30 Architectural Reliability Analysis in a Nutshell Goals Consistency Compatibility Correctness Scope Component- and connector-level Subsystem- and system-level ConcernNon-functional ModelsFormal Type Static Scenario-based Automation LevelPartially automated Stakeholders Architects Managers Customers Vendors Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 31 Simulation-Based Analysis Requires producing an executable system model Simulation need not exhibit identical behavior to system implementation u Many low-level system parameters may be unavailable It needs to be precise and not necessarily accurate Some architectural models may not be amenable to simulation u Typically require translation to a simulatable language

Foundations, Theory, and Practice Software Architecture 32 Architectural and Simulation Models Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 33 Simulation-Based Analysis in a Nutshell Analysis Goals – any Analysis Scope – any Analysis Concern –behavioral, interaction, and non- functional properties Architectural Models – formal Analysis Types – dynamic and scenario-based Automation Level – fully automated; model mapping may be manual Stakeholders – any

Foundations, Theory, and Practice Software Architecture 34 Example – XTEAM eXtensible Tool-chain for Evaluation of Architectural Models Targeted at mobile and resource-constrained systems Combines two underlying ADLs u xADL and FSP Maps architectural description to adevs u An OTS event simulation engine Implements different analyses via ADL extensions and a model interpreter u Latency, memory utilization, reliability, energy consumption

Foundations, Theory, and Practice Software Architecture 35 Example XTEAM Model Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 36 Example XTEAM Analysis Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 37 XTEAM in a Nutshell Goals Consistency Compatibility Correctness Scope Component- and connector-level Subsystem- and system-level Data exchange Concern Structural Behavioral Interaction Non-functional ModelsFormal Type Dynamic Scenario-based Automation LevelAutomated Stakeholders Architects Developers Managers Customers Vendors Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.

Foundations, Theory, and Practice Software Architecture 38 Closing Remarks Architectural analysis is neither easy nor cheap The benefits typically far outweigh the drawbacks Early information about the system’s key characteristics is indispensable Multiple analysis techniques often should be used in concert “How much analysis?” u This is the key facet of an architect’s job u Too many will expend resources unnecessarily u Too few will carry the risk of propagating defects into the final system u Wrong analyses will have both drawbacks