Modeling and Analysis of Software Architecture

5/13/99


Click here to start


Table of Contents

Modeling and Analysis of Software Architecture

Acknowledgment

Outline

Three Ideas To Take Away

Typical Descriptions of Software Architectures

Typical Descriptions of Software 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 3 Save 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

Generating Style-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

Download presentation source