GSAW Software Architectures: What are we Building? March 1999

Similar documents
Research Directions in Software Architecture

Software Architectures

Introduction. ADL Roles

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Software Architectures. Lecture 8

Review Sources of Architecture. Why Domain-Specific?

Acme: a Language for Architecture Exchange and Analysis. Talk Outline

Ch 1: The Architecture Business Cycle

Using Architectural Models at Runtime: Research Challenges

Capturing Design Expertise in Customized Software Architecture Design Environments

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

An Introduction to Software Architecture

An Introduction to Software Architecture

Architecture. CSE 403, Winter 2003 Software Engineering.

1 Motivation and Background

AADL Graphical Editor Design

Current Issues and Future Trends. Architectural Interchange

Review Architectural Style. Review Style Properties and Benefits

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

Software Architecture: Past, Present, and Future

BeiHang Short Course, Part 5: Pandora Smart IP Generators

Software Engineering

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

Model-Integrated Computing

Why Consider Implementation-Level Decisions in Software Architectures?

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Ch 1: The Architecture Business Cycle

Metaprogrammable Toolkit for Model-Integrated Computing

Component-based software engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1

HCI in the software process

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Hierarchical vs. Flat Component Models

Minsoo Ryu. College of Information and Communications Hanyang University.

Architectures in Context

Software Reuse and Component-Based Software Engineering

Lesson 5 Web Service Interface Definition (Part II)

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

Verification and Validation

Describing Information Systems Moving Beyond UML

Chapter 17 - Component-based software engineering. Chapter 17 So-ware reuse

Domains of Concern in Software Architectures and Architecture Description Languages

Formalizing the Specification of Model Integrated Program Synthesis Environments

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Topics in Object-Oriented Design Patterns

A Framework for Classifying and Comparing Architecture Description Languages

ΗΜΥ 317 Τεχνολογία Υπολογισμού

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

MILS Multiple Independent Levels of Security. Carol Taylor & Jim Alves-Foss University of Idaho Moscow, Idaho

Architectural Design

Hardware/Software Co-design

NASA/AFSCN/NOAA/Lockheed Martin Ground Network and Space Network Interoperability Plans

Topics on Web Services COMP6017

Meta Architecting: Towered a New Generation of Architecture Description Languages

PPOOA, An Architectural Style for Real Time Systems

CERT C++ COMPLIANCE ENFORCEMENT

Experience in Developing Model- Integrated Tools and Technologies for Large-Scale Fault Tolerant Real-Time Embedded Systems

Dr. Tom Hicks. Computer Science Department Trinity University

Model Driven Architecture - The Vision

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

An Architecture-Based Approach for Component-Oriented Development

Semantic Specifications for Domain-Specific Modeling Languages

Applying User Centered Design in the Development of Systems without User Interfaces

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents

Predicting Architectural Styles from Component Specification

Software Architectures. Lecture 7 15 Oct 2014

The Method for Verifying Software Architecture with FSP Model

Formal modelling and verification in UPPAAL

Safety SPL/2010 SPL/20 1

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

Using the UML for Architectural Description Rich Hilliard

Global Reference Architecture: Overview of National Standards. Michael Jacobson, SEARCH Diane Graski, NCSC Oct. 3, 2013 Arizona ewarrants

Architecture CSE 403. Fallingwater by Frank Lloyd Wright

UML for Real-Time Overview

Truth vs Knowledge: The Difference Between What a Component Does and What We Know It Does

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

Chapter 6 Architectural Design

What s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group

Software Architectures. Lectures 8+9

From MDD back to basic: Building DRE systems

Software Architecture

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

Chapter 18. Software Reuse

Exception Handling. WADS' May 17th

Today: Distributed Objects. Distributed Objects

Architectural Description Languages and their Role in Component Based Design

Software Architecture Extraction

ActiveVOS Technologies

What is Software Architecture

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

Software Architecture

A Multi-Paradigm Approach to Describe Software Systems

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Using Heterogeneous Formal Methods in Model-Based Development LCCC Workshop on Formal Verification of Embedded Control Systems

Toward a Standard Rule Language for Semantic Integration of the DoD Enterprise

Architectural Blueprint

Transcription:

GSAW 1999 Software Architectures: What are we Building? March 1999 Roger J. Dziegiel, Jr AFRL/IFTD 525 Brooks Rd Rome, NY 13441-4505 (315)330-2185 dziegielr@rl.af.mil Arch1

Architecture & Generation Parameterized Behavioral Specifications Define Functional Properties Simulation Animation Constraint Satisfaction Share Tools Across Architectures Architecture Specification Common Representation Parameterized Protocol Specifications Architectural Translations APPROACH Investigate Livelock, Deadlock, and Process Interaction Generator Component Definitions Architectural Transformations Legacy Reuse COTS Integration Develop common architecture specification notions/languages to facilitate multiple views through interrelated ADLs Develop integrated architectural analysis, design, and measurement capabilities to assist in understanding functional and extra-functional characteristics Automate composition/synthesis of application implementations from architectural specifications Architecturally Consistent Implementation Architecture-Based Development And Evolution Preserve all aspects of system being developed including behavioral and architectural specifications to enable subsequent examination, modification, and/or transformation PROBLEM Paradigm shift to the development of application families and an increased reliance on component reuse necessitates advanced mechanisms for representing system architecture No commonly accepted definition of architecture beyond notions of components and connectors; emerging ADLs, but terminology is not fixed and competing languages and logics are used Difficulty predicting/analyzing functional/extrafunctional characteristics of integrated components Architectural archeology (e.g., recovery of architectural information from legacy systems) PAYOFF Architecture is formally specified and used to generate/develop/evolve source code Architecturally consistent implementation Cost-effective Easily evolvable Arch2

Architecture & Generation Participants Carnegie Mellon University (CMU) Michigan State Oregon Graduate Institute (OGI) Rice University Stanford University (2 projects) USC/ISI (2 projects) University of Indiana University of Texas Vanderbilt University Software Generators Constraints ADL Semantics Modeling & Analysis USC/ISI - R. Balzer Vanderbilt - J. Sztipanovits University of Texas - D. Batory OGI - J. Hook CMU - M. Shaw USC/ISI - R. Balzer Stanford University - G. Wiederhold University of Indiana - D. Friedman USC/ISI - D. Wile/D. Garlan Lockheed-Martin - R. Creps CMU - D. Garlan Michigan State - B. Cheng Stanford University - D. Luckham U Mass - G. Avrunin - L. Osterweil Arch3

EDCS Architecture Vision ObjecTime Evaluation Features End to End Support Highly Integrated Intuitive Responsive Limitations Effect Single Architectural Style Limited Applicability Single Modeling Formalism Incomplete Coverage (Finite State Machines) Fixed Analysis Tool Set Limited Feedback Fixed set of constraints Unchecked Requirements Arch4

Leading Edge Commercial Limitations Effect Single Architectural Style Limited Applicability Single Modeling Formalism Incomplete Coverage Fixed Analysis Tool Set Limited Feedback Fixed set of constraints EDCS Architecture Vision Unchecked Requirements EDCS Value Added EDCS Objectives Multiple Architectural Styles Multiple Architecture Langs. Multiple Modeling Formalisms Extensible Set of Analyzers Dynamic Constraints Conformance Testing Develop Technology needed to extend Leading Edge Arch5

Lockheed Martin ADAM - Architectural Design, Analysis and Measurement Style-Specific Constraints Domain-specific Analyses Armani UniCon2 ACME Real-time Scheduling System Construction Performance Fault Tolerance ACME-Based Analysis Tools Rapide Simulation Synchronization Web-Based ACME Browser Architectural Design - Evaluating Trade-offs among alternative designs - Formal Event-based modeling of system behavior - System design and evolution based on architectural styles Architectural Analysis - Style-specific analysis and constraint enforcement - Simulation and animation of SW architectures to explore behavioral - Fault Tolerance analysis based on Monte Carlo simulation Arch6

CMU ACME developed as a common interchange mechanism - Supports common static analysis services - Provides tools access through ADL translation - Facilitates development of domain-specific notations Arch7

CMU (cont.) Armani : A Configurable Software Architecture Design Environment - rapid construction of customized software architectures - configurable design environment and language for describing the vocabulary of SW architecture design domains, the structure and and properties of software systems, constraints on the evolution of system designs, and design heuristics UniCon2: An Architecture Description Language and Toolset - create and manipulate high-level architectural abstractions - generates support and glue code and invokes compilers as necessary to translate the descriptions into running systems Wright: Formal Modeling of Software Architectures - ADL that permits the behavioral specification and analysis of a software architecture - supports rules for checking the consistency and completeness of architectural designs Arch8

Stanford 4 C I Systems Non-DoD Systems 4 C I Systems Event pattern language expressing both event causality and event timing, for rapidly configuring event filters, aggregators and constraints. Complex event processing based on event patterns, for enhancing the capabilities of existing distributed systems. Analysis Tools Event Detection Network Java extensions to express architecture concepts with an event-based semantics. Complex event processing and architecture conformance checking, hosted on commercial middleware. CONOPS Animation Complex Event Detection Event Constraint Checker Load Analysis Arch9

Vanderbilt Arch10

Space Station SSPF/GM-Saturn DuPont Chemicals Fault Detection, Isolation and Recovery (FDIR) FDIR Modeling Tool Diagnosability - physical Analysis Tool - functional Deployed in 1995 Used program-wide Diagnostic System Common Model Interface Saturn Site Production Flow System Flow Modeling Tool Data Server - process models Data Viewer - interface models Deployed in 1996 Bottleneck Deployed in 2 plants Plant Operations Management Activity Modeling Tool Simulator - process models - activity models Process data Deployed in 1994 Used in Control Room Extension toward plantwide health monitoring Common Model Interface Diagnostics Common Model Interface Arch11

UTexas Jakarta: A Tool Suite for Constructing Software Generators - Component Composition and Software System Evolution - Compiler Construction - Metaprogramming - Self-Adaptive Software Capabilites - Extensible Java - Automated Evolution of Object-Oriented Software - Language support for compositional and transformational components, and dynamic and static components Arch12

Architecture & Generation Work Avoidance, Incrementality, and Rightness by: Enabling automatic analysis and early detection of errors Enabling reuse and product line development Transferable, reusable abstractions High-level, domain specific analysis and composition Basis for ensuring validity of implementations Analyze Risks of Alternative Approaches Supporting incrementality Automated construction or modification of systems from specs Supporting optimization (non-functional attributes) Providing basis for software process improvement Arch13

Architecture & Generation Key Technology: Automatic Analysis and Early Detection of Errors Example analyses -- show that: Given sequence of events can (or cannot) occur Deadlock, livelock conditions Sequence of processing steps in distributed applications (e.g., authorization completed before data is accessed) Components can (or cannot) be composed with predictable properties, e.g.: Timing Resource use, starvation Dynamic interaction (reconfiguration behavior) ensures, e.g.: Components exist before invocation Links don t exist to deleted components Arch14

ARCHIE ARCHItectural DEsign and Analysis Toolkit Architectural Design - Evaluating Trade-offs among alternative designs - Formal Event-based modeling of system behavior - System design and evolution based on architectural styles Architectural Analysis - Style-specific analysis and constraint enforcement - Simulation and animation of SW architectures to explore behavioral - Fault Tolerance analysis based on Monte Carlo simulation Arch15