Model-Based Development of Embedded Real-Time Systems

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

From MDD back to basic: Building DRE systems

A High Integrity Distributed Deterministic Java Environment. WORDS 2002 January 7, San Diego CA

Architectural Blueprint

Application-Oriented System Design

What is Software Architecture

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

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

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

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

A Model-Based Design Approach for Wireless Sensor-Actuator Networks

Creating and Analyzing Software Architecture

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Lecture 17: (Architecture V)

Topics on Web Services COMP6017

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

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

DS 2009: middleware. David Evans

CAS 703 Software Design

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

Platform modeling and allocation

Model Driven Development Unified Modeling Language (UML)

Component-Based Design of Embedded Control Systems

Professional Multicore Programming. Design and Implementation for C++ Developers

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE

A QoS-aware CCM for DRE System Development

3C05 - Advanced Software Engineering Thursday, April 29, 2004

Architectural Design

DISTRIBUTED SYSTEMS. Instructor: Prasun Dewan (FB 150,

A Grid-Enabled Component Container for CORBA Lightweight Components

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

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

Establishing the overall structure of a software system

AADL to build DRE systems, experiments with Ocarina. Jérôme Hugues, ENST

Designing Component-Based Architectures with Rational Rose RealTime

Component Based Problem Solving Environment

Evolving the CORBA standard to support new distributed real-time and embedded systems

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

Appendix A - Glossary(of OO software term s)

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

It also performs many parallelization operations like, data loading and query processing.

An Introduction to Software Architecture

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

Traditional Approaches to Modeling

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

MyCCM. A Component Based Approach for Real-Time & Critical Systems. Olivier Hachet Thales Communications

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

ZHT: Const Eventual Consistency Support For ZHT. Group Member: Shukun Xie Ran Xin

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

An Introduction to Software Architecture

CS4514 Real-Time Systems and Modeling

DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK. UNIT I PART A (2 marks)

Actor-Oriented Design: Concurrent Models as Programs

European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105

02 - Distributed Systems

Review Sources of Architecture. Why Domain-Specific?

SCADE. SCADE Architect System Requirements Analysis EMBEDDED SOFTWARE

Modeling and SW Synthesis for

Applying Componentbased. Engineering in On-board Software

Data Model Considerations for Radar Systems

Component-Based Design of Embedded Control Systems

The etrice Eclipse Project Proposal

FACULTY OF ENGINEERING B.E. 4/4 (CSE) II Semester (Old) Examination, June Subject : Information Retrieval Systems (Elective III) Estelar

Element: Relations: Topology: no constraints.

RT-Link: A global time-synchronized link protocol for sensor networks Anthony Rowe, Rahul Mangharam, Raj Rajkumar

Components Based Design and Development. Unit 3: Software Design Quick Overview

Providing Multi-tenant Services with FPGAs: Case Study on a Key-Value Store

Network Systems Laboratory

Modeling the Implementation of Stated-Based System Architectures

The Future of the Ptolemy Project

Young-Woo Kwon 1, Eli Tilevich 1, and Taweesup Apiwattanapong 2

COTS Multicore Processors in Avionics Systems: Challenges and Solutions

Mobile Network Architecture & Protocols WINLAB IAB Meeting October 29-30, 2001

Simulation of LET Models in Simulink and Ptolemy

ICCPS On Resource Overbooking in an Unmanned Aerial Vehicle. Dionisio de Niz, 1 Lutz Wrage, 2 Nathaniel Storer, 2

Software MEIC. (Lesson 4)

Service-Oriented Programming

QoS for Enterprise Applications

A Software Developing Environment for Earth System Modeling. Depei Qian Beihang University CScADS Workshop, Snowbird, Utah June 27, 2012

Application Servers in E-Commerce Applications

Keys to Success in Model- Based Design

Software Components and Distributed Systems

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

Tivoli Application Dependency Discovery Manager Version 7.3. Discovery Library Adapter Developer's Guide IBM

Semantics-Based Integration of Embedded Systems Models

02 - Distributed Systems

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Middleware for Embedded Adaptive Dependability (MEAD)

Automated Freedom from Interference Analysis for Automotive Software

Chapter 6 System Design: Decomposing the System

Software Architectures. Lecture 6 (part 1)

Software Engineering (CSC 4350/6350) Rao Casturi

Real-time HOOD. Analysis and Design of Embedded Systems and OO* Object-oriented Programming Jan Bendtsen Automation and Control

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 6, System Design Lecture 1

Lesson 19 Software engineering aspects

Transcription:

Model-Based Development of Embedded Real-Time Systems Raj Rajkumar with Dionisio de Niz Real-Time and Multimedia Systems Laboratory Carnegie Mellon University raj@ece.cmu.edu http://www.ece.cmu.edu/~raj

Scope of Interest Tolerate Faults Timeliness Reliability Throughput Data elements per second Guarantee End-to-end response time

Project Objective Timing constraints UML models State machines Schedulability & QoS analysis Hybrid Systems Verification Reachability analysis Validation QoS/Resource requirements Control laws RT Toolset Analysis RT-Java RT-CORBA Run-Time Plumbing Linux/RK Code Generation TimeWiz Embedded Target Run-Time Environment Measurements Multi-View Modeling + Analyses + Targeting Freedom + Reusable Embedded Software Components

Capability Summary Radar Filter Track Display Functional Coding Only Time Weaver Radar Filter Track Display allocation Add/delete Inter- Comm or allocation Radar Filter Track Display Add/remove Inter-or Comm Radar Filter Track Display Add/remove threads, modify timing params

Time Weaver Abstractions Logical View Radar Filter Post- Report First-Level Time Weaver Representation Component Design- and runtime entity Port Radar Filter Post- Report Coupler Coupler Coupler Couples represents interactions among components; design-time entity Typed Events are properties sent to/from couplers at design time

Embedded Systems Composition Embedded System = Thread Thread Software + Hardware

Embedded System Embedded Software Different Para-Functional Properties = radar scan Thread Thread track Software + Hardware Thread Thread radar radar scan track scan track Thread Thread Thread track Thread Throughput (trajectories / s) Reliability

pthread_create() Embedded Software Heterogeneous Platforms CreateThread() TCP/IP Sockets Thread Thread Thread Thread CANBus FlexRay New Thread() Thread Thread Thread

Recent Focus Software Reuse Through Software Components Complexity Reduction Automatic Verification of Para-Functional Properties Synthesis

Traditional Radar Radar Scan Filter Tracker Display Periodic Thread Program main() { } default pthread_create() timer_create()

Traditional Pipeline Radar Radar Scan Filter Tracker Display Periodic Thread Aperiodic Thread Aperiodic Thread Aperiodic Thread Program Program Program Program create_client_stub() get_clt_stub.invoke() create_server_stub() srv_stub(){tracker( ) }

Inter-component relationships decomposition Data dependency Deployment Synchronization (Replica management)

Coupler Inter-component relationships decomposition Data dependency Synchronization (Replica mgmt) Deployment Coupler manipulate port elements to construct relationship

Independent Semantic Dimensions Functional Fault-Tolerance Deployment Semantic separation Projections to other dimensions

Inter-dimensional projections Deployment Functional or or Network

Software Model Directed Graph Activation Port t Internal activation, e.g. periodic t c1 c2 o1 e1 e2 o1 i1 c3 i2 o1 o2 e3 e4 i1 i1 c4 c5 f f Completion Port End of execution State Manager Event valve: controls passage of events i1 i2 pa1ss1 pa3ss3 a1 m1 a2 m2 a3 m3 ss2 ss4 pa2 pa4 o1 o2 Application Agent Event processing code C Protocol Agent Inter-component communication customization State Manager Stack Sequence of state managers event flow A B

Basic Coupling Event Communication Protocol agents interconnected Synchronization State Managers = event valves Open/close based on synch protocol Aggregation Deploy together event flow Related properties Periodic execution 10ms

Typed channel Composite Component Composite Coupling Data Coupling composites Typed channel merging Composite Component Radar Scan Filter Tracker Display

Composite Coupling Encapsulation Radar Scan Filter Tracker Display

Composite Coupling Deployment Radar Scan Filter Tracker Display or Network or Define communication mechanism: Change protocol agent in port group

Composite Coupling Synchronization Radar Scan Filter Tracker Tracker Display Roles Replica Synch Replication Merging

Composite Coupling Timing Properties Radar Scan Filter Tracker Display 1X 2X Period = 100 ms

Embedded System Dimensions Functional Event flow Timing Deployment Fault-Tolerance Modality Concurrency

Modality Defines variations to the system structure at different stages of its lifetime Switch to mode 2 Mode Driver Mode Switch A Switch to mode 1 C Avionics: takeoff, cruise, landing Mode Switch B D Hierarchy of modes A Mode Driver A C Switch to mode 1 B D Switch to mode 2 Mode Driver E G F H

Concurrency Structures for concurrent execution Pipeline Synchronization of concurrent activities Radar Scan Stage 1 Filter Tracker Display Stage 2 Stage 3 Pipeline

Automatic Software Model for Verification Generation of response chain and hardware model Integration with real-time analysis tools for automatic analysis (TimeWiz )

Code Generation Components can have multiple implementations C, C++, Real-Time Java, Matlab, XML, Target Multiple Platforms RT-CORBA, RMI,

Optimization Automatic selection of optimal communication mechanism Synthesis Deployment Hardware Sizing

ApplicationAgent (from couplers) periodseconds : long = 0 periodnanos : long = 0 dispatchstatechanged() run () Tool Integration Rational Rose UML Interface (from couplers) syncwrite() syncread() syncrw() Time Weaver monitor interfaze : sensorinterface sensor interfaze : sensorinterface sensorinterface value : int = 0 XML Repository Target TimeWiz RT-Java/CORBA Windows/Linux-RK

Event Flow Modality Example Timing Deployment

Case Studies Avionics Application Modeling (~400 components) Software Radio Modeling Data Flow Throughput increase Automotive Testbed Code generation for ARM 7 + µcos-ii Working on: MPC555 + OSEKWorks

Related Work Software Architecture Meta-H Component-based, Timing Analysis No separate views AIRES Hierarchical SM, control driver + functions Timing Analysis Ptolemy II Hierarchy of model of computation Simulation AOP

Concluding Remarks Para-functional requirements first-class entities Couplers para-functional decomposition abstraction Multiple separate dimensions Automatic verification Code generation Tool integration