Research Directions in Software Architecture

Similar documents
GSAW Software Architectures: What are we Building? March 1999

Introduction. ADL Roles

Software Architectures. Lecture 8

CSSE 490 Model-Based Software Engineering: Architecture Description Languages (ADL)

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

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

Architectural Description Languages and their Role in Component Based Design

Software Architectures. Lectures 8+9

Software Architectures

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

ACME: David Garlan Robert Monroe David Wile. January 14, 1997

Architectural Blueprint

A Model of the AFSCN Common Core TT&C System Using the Rapide ADL

Review Sources of Architecture. Why Domain-Specific?

Architectures in Context

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY

An Integrated Multi-Domain Analysis Environment For High Consequence Systems

Verification and Test with Model-Based Design

Hierarchical vs. Flat Component Models

Architecture. CSE 403, Winter 2003 Software Engineering.

Automated Freedom from Interference Analysis for Automotive Software

Model-Integrated Computing

Convergence of Distributed Simulation Architectures Using DDS

Architecture CSE 403. Fallingwater by Frank Lloyd Wright

Exception Handling. WADS' May 17th

A Satellite Data Model for the AFRL Responsive Space Initiative

CSCI 3130 Software Architectures 1/3. February 5, 2013

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Advanced On-board Control Procedure

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies

Software Interconnection Models. Unit Interconnection

Formalizing the Specification of Model Integrated Program Synthesis Environments

Safety Architecture Patterns

1 Motivation and Background

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

Self-Controlling Architecture Structured Agents

Software Architectures. Lecture 7 15 Oct 2014

Effective Verification Strategies for Distributed Body Control Applications based on Plant Modeling and Test Case Reuse

Atomic Transactions

Investigation on Soundness Regarding Lazy Activities

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Metaprogrammable Toolkit for Model-Integrated Computing

Describing Information Systems Moving Beyond UML

The Myx Architectural Style

A Framework for Classifying and Comparing Architecture Description Languages

Interoperability: Advantages, Problems and Solutions

Capturing Software Architecture Design Expertise with Armani Version 2.3 Robert T. Monroe

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

Domains of Concern in Software Architectures and Architecture Description Languages

Capturing Design Expertise in Customized Software Architecture Design Environments

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova

Introduction to Modeling

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Advanced WCF 4.0 .NET. Web Services. Contents for.net Professionals. Learn new and stay updated. Design Patterns, OOPS Principles, WCF, WPF, MVC &LINQ

F6 Model-driven Development Kit (F6MDK)

HCI in the software process

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

Development and Debugging of FPGA-Based Hardware-in-the-Loop Simulation Systems

Remote Procedure Calls (RPC)

Architectural Design Rewriting as Architectural Description Language

Why Consider Implementation-Level Decisions in Software Architectures?

OPAX - An Open Peer-to-Peer Architecture for XML Message Exchange

ACME: A BASIS FOR ARCHITECTURE EXCHANGE

FlexRay International Workshop. FAN analysis

Fault Tolerance. Distributed Systems IT332

Failure Modelling in Software Architecture Design for Safety

Connecting Plasma to Service-oriented programming with JOLIE

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

Overview (and reorientation) of SE

Understanding Software Connector Compatibilities Using a Connector Taxonomy. Nikunj Mehta Ph. D. Candidate

WHITE PAPER. Distribution Substation Outage Investigations. Overview. Introduction. By Ahmad Shahsiah, Ph.D., P.E. March 2018

CHAPTER - 4 REMOTE COMMUNICATION

Accessibility Guidelines

Diagnosis in the Time-Triggered Architecture

Robustness in Wireless Network Access Protocols PhD Defense

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

CIS 890: Safety-Critical Systems

How to choose an Industrial Automation Controller: White Paper, Title Page WHITE PAPER. How to choose an Industrial Automation Controller

! High Level Architecture (HLA): Background. ! Rules. ! Interface Specification. Maria Hybinette, UGA. ! SIMNET (SIMulator NETworking) ( )

Software Architecture

Software Architecture

An Introduction to Software Architecture

Current Issues and Future Trends. Architectural Interchange

ARTAMIS : Open Source and Extensibility in an Embedded Mission System

Integrating IEC & IEEE 1815 (DNP3)

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

The Google File System

Role based Software Process Modelling

DETERMINISTIC VARIATION FOR ANTI-TAMPER APPLICATIONS

Computer Programming

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

How useful is the UML profile SPT without Semantics? 1

Component-based Development Process and Component Lifecycle

Adaptive Medical Information Delivery Combining User, Task and Situation Models

door Sasa Berberovic

An Introduction to Software Architecture

A Classification and Comparison Framework for Software Architecture Description Languages

Formal Foundations of Software Engineering

Solutions for Energy Storage Systems

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Transcription:

Research Directions in Software Architecture February 1998 Capt Mark J. Gerken, Ph.D. AFRL/IFTD 525 Brooks Road Rome NY 13441-4505 gerkenm@rl.af.mil

Overview Vision General Research Areas: Architecture Representation (styles) Transforming and Communicating Architectures Architecture-based Analysis Architecture-based Generation Further Information

E vo Systems Are: Specified Designed Analyzed Built Tested Architecture Vision Through Architecture l v e d Make Architecture Explicit & Formal Provide Manipulation & Analysis Tools Behavioral Specifications Protocol Specifications Investigate Livelock, Deadlock, and Process Interaction Define Functional Properties Simulation Animation Constraint Satisfaction Architecture Specification Generator Architectural Transformations Share Tools Across Architectures Architectural Translations Architecturally Consistent Implementation Common Representation Component Definitions Legacy Reuse COTS Integration Architecture-Based Development And Evolution

Architecture Representation Software Architecture involves: descriptions of elements from which systems are built, interactions among those elements, patterns that guide their composition, and constraints on those patterns. Goals: To provide a scientific and engineering basis for design, analysis, and composition of flexible systems from complex building blocks; To provide languages, tools, environments, and techniques to support the above goal

Architecture Representation Progress: Unicon: components are loci of computation and state, connectors are loci of relations between components Wright: defines communication between components Aesop: system for developing style-specific architectural development environments. Aesop was used by Lockheed-Martin to provide a front-end design environment for Global Transportation Network (GTN) Jakarta: generator environment for composing systems Specware: Architecture as a diagram of formal specifications Future Work: Rehost the UniCon toolset to support Wintel platforms Jakarta applied to radio domain Specware applied to transportation domain (Planware)

Supports common static analysis services Provides tool access through architecture description language (ADL) translation Supports architectural interchange Analysis k Transforming and Communicating Architectures Unsafe Analysis m ADL i Analysis s Analysis r ADL j Race Conditions Deadlocks Checking Insufficient Preconditions Wright ACME Rapide Unreachable Deadlocks Simulation Synchronization

System simple_cs = { Client send-request rpc receive-request Server ACME Specification Component client = { Port send-request; Properties { request-rate : float = 17.0; source-code : external-file = "client.c" } } Component server = { Port receive-request; Properties { idempotence : boolean = true; max-clients : integer = 1; source-code : external-file = "server.c" }} Connector rpc = { Role caller; Role callee; Properties { synchronous : boolean = true; max-roles : integer = 2; protocol : Wright = "..." }} Attachments { client.send-request to rpc.caller ; server.receive-request to rpc.callee } }

Architecture-Based Analysis Formality supports analysis Static checks, e.g.» Ambiguities» Incompleteness» Wrong Directionality Checking» Insufficient Preconditions» Faulty Control» Latent Deadlocks Simulation-based Testing» Event Order Anomalies» Causality Anomalies Example: DMSO Simulation Framework (HLA) Wright (CMU) Distributed Startup Paused on Join Intransit msgs after Resign Rapide (Stanford) Run Time Interface lost event order Orphaned attrs after resign

MULTIGRAPH ARCHITECTURE GRAPHICAL MODEL BUILDER Mission Processing Resource MIC APPROACH IN THE MGA: Interp. MODEL DATABASE Interp. Interp. Interp. MODEL INTEGRATION: Multiple, overlapping views with maintained constraints ANALYSIS TOOL APPLICATIONS Executable Executable Executable Components/R-T System MODEL TRANSFORMATION: Interpreters translate domain models into analysis and executable models HARDWARE PLATFORM APPLICATION INTEGRATION: run-time support for executable models 1/9/98 Institute for Integrated Information Systems

International Space Station Fault Detection, Isolation and Recovery (FDIR) FDIR ing Tool - physical - functional Deployed in 1995 In active use program-wide Diagnosability Analysis Tool Diagnostic System Common Interface JSF/Boeing JSF Common Diagnostic System Testbench -Integration Tool - shared models - constraints Prototype demonstrated ISF demo is built 777 Diagn. Tool Rockwell Tool ISS Tool Common Interface DuPont Chemicals On-line Problem Solving Environment for Plant Operation 1/9/98 Activity ing Tool - process models - activity models Deployed in 1994 Used in Control Room Extension toward plantwide health monitoring Simulator Process data Diagnostics Common Interface

SOURCES OF ADDITIONAL INFORMATION Dr. John Salasin jsalasin@darpa.mil DARPA http://www.darpa.mil/ito/ research/edcs/index.html Integrated Web Sites AFRL-Rome http://www.ai.rl.af.mil/c3cb/ edcs/index.html * Start Here Frank S. LaMonica lamonicaf@rl.af.mil Software Engineering Inst. http://www.sei.cmu.edu/ ~edcs/ Douglas A. White whited@rl.af.mil