Table of ContentsModeling and Analysis of Software Architecture Acknowledgment Outline Three Ideas To Take Away Typical Descriptions ofSoftware Architectures Typical Descriptions ofSoftware Architectures Observations about Designers Architectural Design Level of Software Architectural Design Task Promised Benefits of Architectural Modeling Promised Benefits of Architectural Modeling Architectural Design Reviews PPT Slide Example: Key Word In Context KWIC: Key Word In Context KWIC: Shared Memory Solution KWIC: ADT Solution KWIC: Event Solution KWIC: Dataflow Solution Design Considerations KWIC Comparisons Outline Architectural Vocabulary (Structure) Architectural Structure: Components, Connectors, Systems System Description Example (Acme) Architectural Structure:Hierarchical Descriptions Representations Abstraction Maps Beyond Simple Structure Capturing Local Properties (with Acme) Capturing System Properties (with Acme) Specifying Behavior (Protocols) WRIGHT Configuration Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Example: What is “UpdateValues Connector”? Outline Kinds of Analyses Analysis Strategies Analysis: consistency & completeness Consistency Check 1: Faulty Client Consistency Check 2: Paused on Join Paused on Join Oops! Consistency Check 3Save Boundary Condition Example of a completeness check Analysis: Refinement & Verification Analyzing system-wide properties Example 1: Performance predictions Performance Analysis Alternatives Queuing Networks Queueing Network Predictions Naive Application to SW Arch Complicating Factors QN Example: Local Properties QN Example: Emergent Global Properties Example 2: Reliability predictions Reliability Block Diagrams Example Reliability Block Diagram Complications Detailed RBD Example Analysis: Evaluating Design Choices Architecture Tradeoff Analysis Method ATAM Process Outline Architectural Style: Families of Systems Elements of Style Style Example: C2 Informal C2 Overview Informal C2 Overview C2 Tools Style Example: Justo-Cunha Informal Definitions: J-C Style Informal Rules: J-C Style Formal Spec: S-R Component Formal Spec: Justo-Cunha Style Rules Some Useful J-C Style Formal Definitions Analyzing Architectural Styles Style Analysis: Theorems Proof Technique: Encapsulation Style Analysis: Specialization Style Analysis: Translation Style Analysis: Selection Outline Some ADLs at a Glance Dimensions of Variability Meta-H (Honeywell) Rapide Darwin Acme Acme Armani Aesop GeneratingStyle-Specific Environments WRIGHT UniCon UniCon Component and Connector Types Outline Three Ideas To Take Away Software Architecture And Your Organization Software Architecture And Your Organization Research Opportunities More Opportunities Major Trends in ADL Research Web Sites of Interest Web Sites of Interest (continued) Web Sites of Interest (continued) |
Author: Bob Monroe
Email: bmonroe@cs.cmu.edu Home Page: www.cs.cmu.edu/~bmonroe |