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

Similar documents
Model-Based Engineering with AADL: An Overview

Model Based System Development Using the Architecture Analysis and Design Language

Software Architectures. Lecture 8

The SAE AADL Standard - An Architecture Analysis & Design Language for Embedded Real-Time Systems

A Framework for Managing Assumptions made by Software Components in Real-time Systems

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Introduction. ADL Roles

The SAE Architecture Analysis and Description Language (AADL) Standard: A Basis for Architecture- Driven Embedded Systems Engineering

Pattern-Based Analysis of an Embedded Real-Time System Architecture

CSSE 490 Model-Based Software Engineering: More MBSD. Shawn Bohner Office: Moench Room F212 Phone: (812)

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

Architecture Modeling in embedded systems

CSSE 490 Model-Based Software Engineering: MDSD and Case Study

CSSE 490 Model-Based Software Engineering: Domain Engineering

Architecture Description Languages. Peter H. Feiler 1, Bruce Lewis 2, Steve Vestal 3 and Ed Colbert 4

Platform modeling and allocation

CSSE 490 Model-Based Software Engineering: Software Factories

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

CSSE 490 Model-Based Software Engineering: Transformation Systems

Research Directions in Software Architecture

An Information Model for High-Integrity Real Time Systems

Model-Driven Architecture/ Development

AADL : about code generation

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

Presentation of the AADL: Architecture Analysis and Design Language

CSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

The SAE Architecture Analysis & Design Language (AADL)

CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example

Software Architectures

Software Architecture

Introduction to Modeling

AADL Graphical Editor Design

Architecture Analysis and Design Language (AADL) Part 2

CSSE 490 Model-Based Software Engineering: Domain Specific Language Introduction

Presentation of the AADL: Architecture Analysis and Design Language

CSSE 374: More Object Design with Gang of Four Design Patterns

Developing Dependable Software-Intensive Systems: AADL vs. EAST-ADL

CSSE 374: GRASP ing at the First Five Patterns Principles. Shawn Bohner Office: Moench Room F212 Phone: (812)

Model-Based Embedded System Engineering & Analysis of Performance-Critical Systems

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

From MDD back to basic: Building DRE systems

Software Architectures. Lectures 8+9

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

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

Architecture Modeling and Analysis for Embedded Systems

Architectural Description Languages and their Role in Component Based Design

AADL and MDA. Early Experience Applied to Aircraft-Weapon Integration. Yves LaCerte

Flow Latency Analysis with the Architecture Analysis and Design Language (AADL)

CSSE 490 Model-Based Software Engineering: Transformational Programming

A Comparison and Evaluation of Real-Time Software Systems Modeling Languages

AADL and MDA. Early Experience Applied to Aircraft-Weapon Integration. Yves LaCerte

AADL Webinar. Carnegie Mellon University Notices Architecture Analysis with AADL The Speed Regulation Case-Study... 4

Analysis and Design Language (AADL) for Quantitative System Reliability and Availability Modeling

RAMSES. Refinement of AADL Models for the Synthesis of Embedded Systems. Etienne Borde

Impact of Runtime Architectures on Control System Stability

We are at System Operation Contracts

Institut für Informatik

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Software Architectures. Lecture 7 15 Oct 2014

Using the AADL for mission critical software development paper presented at the ERTS conference, Toulouse, 21 January 2004

Model-based Architectural Verification & Validation

AADL performance analysis with Cheddar : a review

Reducing Uncertainty in Architectural Decisions with AADL

xuml, AADL and Beyond

An Implementation of the Behavior Annex in the AADL-toolset Osate2

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

AADL Generative Implementation Annex

CSSE 374: Even More Object Design with Gang of Four Design Patterns

Integrating AADL within a multi-domain modeling framework

Copyright 2018 Adventium Labs. 1

Model driven Engineering & Model driven Architecture

Review Sources of Architecture. Why Domain-Specific?

Complexity-Reducing Design Patterns for Cyber-Physical Systems. DARPA META Project. AADL Standards Meeting January 2011 Steven P.

Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater

Describing Information Systems Moving Beyond UML

The AADL Behavioural annex 1

Introduction to Data Science

Current Issues and Future Trends. Architectural Interchange

Prototyping of Distributed Embedded Systems Using AADL

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

GSAW Software Architectures: What are we Building? March 1999

AADL Simulation and Performance Analysis in SystemC

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

Introduction to UML. (Unified Modeling Language)

OMG Systems Modeling Language Tutorial May, 2012

UML2 for System Modeling

Workshop 1: Specification for SystemC-AADL interoperability

TigerPrints. Clemson University. Hung Vo Clemson University,

AADL Meta Model & XML/XMI

UML-AADL 09: Towards a Model- Driven Approach for Mapping Requirements on AADL Mathieu DELEHAYE Christophe PONSARD

AADS+: AADL Simulation including the Behavioral Annex

CSSE 374: Design Class Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

Semantics-Based Integration of Embedded Systems Models

Adding Formal Requirements Modeling to SysML

Understanding the Relationship between AADL and Real-Time Embedded Systems Operating Systems

Model-based System Engineering for Fault Tree Generation and Analysis

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

An Extensible Open Source AADL Tool Environment (OSATE)

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Transcription:

CSSE 490 Model-Based Software Engineering: Architecture Description Languages (ADL) Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu

Learning Outcomes: MBE Discipline Relate Model-Based Engineering as an engineering discipline. Discuss Case Study Paper Examine ADL Perspectives Discuss AADL Q3

Einstein says simple, but not too

Case Study/Homework: SysML-based systems engineering using a model-driven development approach by Hans-Peter Hoffman What are some parallels between Unified Modeling Language (UML) and SysML? How can SysML be used to produce Models for the Model/Requirement and Test Data Repositories? What do you think of SysML for specifying Black-box activity diagrams from use cases? What about modeling behaviors be conveyed down to the lower levels? What do the authors say about SysML for articulating Architecture Design? Do you think that this is viable for software?

Recall: Architecture vs. Design Architecture: where non-functional decisions are cast, and functional requirements are partitioned Design: where functional requirements are accomplished Non-functional Requirements ( ilities ) Architecture (ADL) Functional Requirements (domains) Design (e.g., UML)

Recall: ADL Example System simple_cs = { Component client = {Port send-request} Component server = {Port receive-request} Connector rpc = {Roles {caller, callee}} Attachments : {client.send-request to rpc.caller; server.receive-request to rpc.callee} } rpc client send-request caller callee server receive-request

In principle, are System Architecture and Software Architectures substantially different? If so, how should the Architecture Description Languages (ADL) be different? Think for 15 seconds Let s talk Q3

Example ADLs Industrial AADL SysML xadl UML 2.0 MetaH (Honeywell) Academic ACME (CMU/USC) Wright (CMU) Unicon (CMU) Aesop (CMU) Rapide (Stanford) SADL (SRI) C2 SADL (UCI) Lileanna Modechart

ADL Upsides ADLs represent a formal way of representing architecture ADLs are intended to be both human and machine readable ADLs support describing a system at a higher level than previously possible ADLs permit analysis of architectures completeness, consistency, ambiguity, and performance ADLs can support automatic generation of software systems

ADL Downsides Still disagreement on what ADLs should represent, particularly in the behavior aspects Representations sometimes difficult to parse and limited support by commercial tools Most ADL work today has been undertaken with academic rather than commercial goals in mind Most ADLs tend to be very vertically optimized toward a particular kind of analysis

Industry versus Academia

Approaches to Architecture Industrial Approach Focus on wide range of development issues Families of models Practicality over rigor Architecture as the big picture in development Breadth over depth General-purpose solutions Academic Approach Focus on analytic evaluation of architectural models Individual models Rigorous modeling notations Powerful analysis techniques Depth over breadth Special-purpose solutions Source: N. Medvidovic, USC

SAE Architecture Analysis & Design Language (AADL) Standard Designed for Model-Based Engineering Notation for specification of runtime architecture of real-time, embedded, fault-tolerant, secure, safetycritical, software-intensive systems Fields of application: Avionics, Aerospace, Automotive, Autonomous systems, Medical devices Industry-driven International Standard www.aadl.info

Key Elements of SAE AADL Standard Core AADL language standard (SEI) Textual & graphical, precise semantics, extensible AADL Meta model & XMI/XML standard (SEI) Model interchange & tool interoperability UML profile for AADL Subset of OMG MARTE profile being defined by MARTE Error Model Annex as standardized extension Fault/ reliability modeling, hazard analysis Behavior Annex Externally observable behavior of components Programming Guidelines, Data Modeling Annexes

AADL: The Language 1/2 Precise execution semantics for components & interactions Thread, process, data, subprogram, system, Processor, memory, bus, device, abstract component, virtual processor, virtual bus Continuous signal processing & stochastic event processing Data, event, message communication, unqueued & queued Synchronous call/return, Shared data access End-to-End flow specifications AADL V2

AADL: The Language 2/2 Operational modes, fault tolerant configurations, levels of service Modeling of large-scale and configurable systems Component variants Packaging of component classifiers Layered systems, parameterized templates, component arrays Accommodation of diverse analysis needs User-defined properties, sublanguage extensions AADL V2

Language Etiquette

System Type System system GPS features speed_data: in data port metric_speed {SEI::BaseType => UInt16;}; geo_db: requires data access real_time_geodb; s_control_data: out data port state_control; flows speed_control: flow path speed_data -> s_control_data; properties SEI::redundancy => Dual; end GPS; {type} extends features flows properties speed_data geo_db GPS s_control_data

System Implementation system implementation GPS.secure subcomponents decoder: system PGP_decoder.basic; encoder: system PGP_encoder.basic; receiver: system GPS_receiver.basic; connections c1: data port speed_data -> decoder.in; c2: data port decoder.out -> receiver.in; c3: data port receiver.out -> encoder.in; c4: data port encoder.out -> s_control_data; {implementation} extends refines type subcomponents calls connections flows modes properties flows speed_control: flow path speed_data -> c1 -> decoder.fs1 -> c2 -> receiver.fs1 -> c3 -> decoder.fs1 -> c4 -> s_control_data; modes none; properties arch::redundancy_scheme => Primary_Backup; end GPS;

Some Standard Properties Dispatch_Protocol => Periodic; Period => 100 ms; Compute_Deadline => value (Period); Compute_Execution_Time => 10 ms.. 20 ms; Compute_Entrypoint => speed_control ; Source_Text => waypoint.java ; Source_Code_Size => 12 KB; File containing the application code Thread Code to be executed on dispatch Thread_Swap_Execution_Time => 5 us.. 10 us; Clock_Jitter => 5 ps; Processor Allowed_Message_Size => 1 KB; Propagation_Delay => 1ps.. 2ps; Bus_Properties::Protocols => CSMA; Protocols is a user defined property Bus

Example Graphical Specification: Flight Manager in AADL 20Hz From Partitions Nav signal data Navigation Sensor Processing Nav sensor data Nav sensor data Integrated Navigation 10Hz Nav data Guidance Processing 20Hz Guidance To Partitions Flight Plan Processing 5Hz FP data Fuel Flow FP data Nav data Aircraft Performance Calculation 2Hz Performance data

Homework and Milestone Reminders Read Chapter 9 in text on Code Generation Techniques Milestone 3: Light-Weight Transformation Environment (see Milestone 3 assignment) Due by 11:55pm, Tuesday, May 3 rd, 2011.