An Approach for Execution of MARTE-based Application Models

Similar documents
An Efficient Modeling and Execution Framework for Complex Systems Development

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

Workshop 1: Specification for SystemC-AADL interoperability

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

MARTE Tutorial

UML for RTES: develop a UML-based proposal for modelling and analysing of RTES

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

Chapter 6 Concurrency: Deadlock and Starvation

Foundations of a New Software Engineering Method for Real-time Systems

AADL Application modeling with MARTE Madeleine Faugère, Timothée Bourdeau THALES Research and Technology Robert de Simone INRIA Sébastien Gérard CEA

ENGR 3950U / CSCI 3020U UOIT, Fall 2012 Quiz on Process Synchronization SOLUTIONS

From MDD back to basic: Building DRE systems

Concept Presentation. MAENAD Analysis Workbench

Semaphore. Originally called P() and V() wait (S) { while S <= 0 ; // no-op S--; } signal (S) { S++; }

CS 450 Operating System Week 4 Lecture Notes

Midterm Exam. October 20th, Thursday NSC

Chapter 4: Threads. Chapter 4: Threads

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

Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real)

Operating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall

Chapter 4: Threads. Operating System Concepts with Java 8 th Edition

An MDE-based approach for reconfigurable DRE systems

Systems Integration. Gautam H. Thaker Patrick J. Lardieri Donald Krecker Keith O Hara Chuck Winters

UML for Embedded Systems IV. Validation

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne

Chapter 4: Threads. Operating System Concepts 9 th Edit9on

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Modeling and SW Synthesis for

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

The Real Time Thing. What the hack is real time and what to do with it. 22C3 30. December Erwin Erkinger e.at

Lecture 2 Process Management

CS307: Operating Systems

I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 4: MULTITHREADED PROGRAMMING

Process Synchronization: Semaphores. CSSE 332 Operating Systems Rose-Hulman Institute of Technology

Institut Supérieur de l Aéronautique et de l Espace Ocarina: update and future directions

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)

Modeling Data Races Using UML/MARTE Profile

Execution of UML models Present and Future of Research and Practice

Processes The Process Model. Chapter 2. Processes and Threads. Process Termination. Process Creation

Model Transformations for Embedded System Design and Virtual Platforms

Chapter 2 Processes and Threads

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Chapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition,

Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux Threads Java Threads. Operating System Concepts

Questions from last time

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

AADL : about code generation

Chapter 2 Processes and Threads. Interprocess Communication Race Conditions

Module 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication

Enterprise Architect Training Courses

Module 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication

Design of embedded mixed-criticality CONTRol systems under consideration of EXtra-functional properties

Embedded Systems: OS

MaRTE-OS: Minimal Real-Time Operating System for Embedded Applications

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008

Chapter 5: Processes & Process Concept. Objectives. Process Concept Process Scheduling Operations on Processes. Communication in Client-Server Systems

Concurrency: Deadlock and Starvation

OPERATING SYSTEMS. UNIT II Sections A, B & D. An operating system executes a variety of programs:

CSE 4/521 Introduction to Operating Systems

Page 1. Analogy: Problems: Operating Systems Lecture 7. Operating Systems Lecture 7

News in RSA-RTE CP1

1. Draw and explain program flow of control without and with interrupts. [16]

CS420: Operating Systems


Eclipse Automotive Working Group

Embedded Software Programming

Processes The Process Model. Chapter 2 Processes and Threads. Process Termination. Process States (1) Process Hierarchies

A MDD Methodology for Specification of Embedded Systems and Automatic Generation of Fast Configurable and Executable Performance Models

UMLEmb: UML for Embedded Systems. I. Introduction. Ludovic Apvrille Eurecom, office 470

main read Identical static threads Dynamic threads with Concurrent and

CS420: Operating Systems

Automatic deployment of component-based embedded systems from UML/MARTE models using MCAPI

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

Deadlock. Concurrency: Deadlock and Starvation. Reusable Resources

Model-Driven Analysis of Security, Reliability, Test, Privacy, Safety and Trust of IoE Services. Eugenio Villar University of Cantabria

Chapter 4: Multi-Threaded Programming

A Model-Driven Approach for the Validation of RTOS Constraints in Real-time Application Models

MDA PLATFORM FOR COMPLEX EMBEDDED SYSTEMS DEVELOPMENT

* There are more than 100 hundred commercial RTOS with memory footprints from few hundred kilobytes to large multiprocessor systems

Lesson 5: Software for embedding in System- Part 2

Code Generation for QEMU-SystemC Cosimulation from SysML

Concurrency: Mutual Exclusion and

Model-based System Engineering for Fault Tree Generation and Analysis

EE458 - Embedded Systems Modularization

Resource management. Real-Time Systems. Resource management. Resource management

Lecture. DM510 - Operating Systems, Weekly Notes, Week 11/12, 2018

Agenda.

Implementation of an Eclipse-based Model Validation Plug-in for Papyrus-RT. Tuhin Kanti Das & Juergen Dingel

Andrew Josey. Base Development Manager

Deterministic Futexes Revisited

Operating Systems. VI. Threads. Eurecom. Processes and Threads Multithreading Models

A Model-based, Single-Source approach to Design-Space Exploration and Synthesis of Mixed-Criticality Systems

Threads. Threads The Thread Model (1) CSCE 351: Operating System Kernels Witawas Srisa-an Chapter 4-5

CSC 4320 Test 1 Spring 2017

OS Process Synchronization!

Chapter 3: Processes. Operating System Concepts 8th Edition

HPX. High Performance ParalleX CCT Tech Talk Series. Hartmut Kaiser

Real-Time Programming with GNAT: Specialised Kernels versus POSIX Threads

Transcription:

An Approach for Execution of MARTE-based Application Models Workshop on Distributed Object Computing for Real-time and Embedded Systems Washington, DC, USA July 16th, 2008 C. Mraidha, A. Cuccuru and S. Gérard Chokri.Mraidha[at]cea.fr

MDE for real-time applications A modeling language Capturing real-time specificities in models UML Specialization for real-time domain : MARTE A modeling methodology Modeling rules Well formed models A tool support Modeling real-time applications Modeling language editors Methodology rules tooling Executing real-time models Execution framework

Agenda UML profile for MARTE A Real-time MoCC Accord approach A modeling methodology An execution framework for DRES MARTE models execution Mapping of MARTE models to an execution platform Conclusions

UML profile for MARTE Overview MARTE domain model MarteFoundations Foundations for RT/E systems modeling and analysis: CoreElements NFPs Time Generic resource modeling Generic component modeling Allocation MarteDesignModel MarteAnalysisModel Specialization of MARTE foundations for modeling purpose (specification, design, ): RTE model of computation and communication Software resource modeling Hardware resource modeling Specialization of foundations for annotating model for analysis purpose: Generic quantitative analysis Schedulability analysis Performance analysis

MARTE model of computation High-level modeling concepts for RT/E design Qualitative aspects E.g. concurrency and behavior Quantitative aspects as real-time feature E.g. deadline or period Allows expressing real-time constraints on component interfaces and connectors Applicable whether component are active or passive For active components, introduces specific models of computation Currently, active objects (e.g. Rhapsody, Rose RT, Accord) Alternative MoCC can be defined using the MARTE foundations

MARTE model of computation (cont.) Provides high-level concepts for modeling qualitative real-time features on classes / structured classes / components Real-Time Unit (RTUnit) Specialization of the Active Objects of the UML 2 Owns at least one schedulable resource Resources are managed either statically (pool) or dynamically May have operational mode description (similar to AADL modes) Protected Passive Unit (PPUnit) Specialization of the Passive Objects of the UML2 Requires schedulable resources to be executed Supports different concurrency policies (e.g. sequential, guarded) Policies are specified either locally or globally Execution is either immediateremote or deferred

MARTE model of computation (cont.) Provides high-level concepts for modeling quantitative real-time features on classes / structured classes / components Real-Time Behavior (RtBehavior) Message Queue size and policy bound to a provided behavior Real-Time Feature (RTF) Extends UML Action, Message, Signal, BehavioralFeature Relative/absolute/bound deadlines, ready time and miss ratio Real-Time Connector (RteConnector) Extends UML Connector Throughput, transmission mode and max blocking/packet Tx time

Agenda UML profile for MARTE A Real-time MoCC Accord approach A modeling methodology An execution framework for DRES MARTE models execution Mapping of MARTE models to an execution platform Conclusions

Accord framework architecture Modeling environment UML Extensions (profile) Edition (Action Language) Accord UML modeling component Transformations Modelling rules Accord UML CEA Tools External Tools Eclipse Plug-ins Supported UML modeling tools UML2 Papyrus C++ code generation Generating Execution framework Accord Kernel (Scheduling & Communication) Modeling RSA Papyrus OS_AL (POSIX abstraction layer) Supported OS Linux Executing Windows VxWorks Accord is a platform of MDE for DRES Offers high level of abstraction approach Based on UML/MARTE Powered with Papyrus: http://www.papyrusuml.org

Outlines of the Accord modeling methodology Specifier Prototyper Validator Initial Requirements ACCORD / UML Document Prototyping Rules build Specification Model Prototype Model ACCORD / UML Specification Modeling Rules Specification Model build Prototype Model build Test Model Test Model Timing Model analyse schedulability

Régulate u r Afficheu r Capteu r Accord model structure Consistency & complementarities Separation of concerns Verify consistency between views Behavioral View Application model Structural View Interaction View Modeling system behavior Separation of concerns improves: Readability Maintainability Reusability Method view = How processing is performed (Action Language) Class m ( ) a 1 a 2 m ( ) actions Class Class behavior = logic control S 1 m( ) S 2 Application model S 1 S 2 Protocol view (UML ~standard) = What instances of this class can do Trigger view (ACCORD/UML) = What instances of this class must do S 1 S 2 Use MARTE (RTEMoCC) to capture RTE characteristics

Execution platform OS abstraction layer POSIX compliant operating systems Linux, Solaris, VxWorks Offers basic mechanisms (not dependent of the OS) Thread, semaphore, mutex Real-time kernel Relies on the OS abstraction layer Provides resources for MARTE RtUnits execution Real-Time Objects Provides a deadline controller that verifies RT constraints at runtime Real-Time Features Provides a scheduler Service scheduling Provides intra concurrency management policy of RtUnits n reader / 1 writer protocol Transformation: from MARTE-based models to execution platform specific models

Agenda UML profile for MARTE A Real-time MoCC Accord approach A modeling methodology An execution framework for DRES MARTE models execution Mapping of MARTE models to an execution platform Conclusions

Mapping MARTE concepts on the execution platform «MARTE RtBehavior» ConcurrencyFeature «MARTE RtService» concurrency : ConcurrencyMode 1 itsconc ProtocolStateMachine 1 behavior itsservice * Service itsrtf 1 RealTimeFeature RealTimeObject currentstate : State running * * 1 itsservice itsmb itsmb MailBox 1 tref : TimeVal deadline : TimeVal readytime : TimeVal period : TimeVal pernb : integer * itsrto «MARTE RTF» 0..1 globalctrl GlobalController «MARTE RtUnit»

From MARTE-based model to RT executable code Algorithmic part of the behavior Automatic transformations (Patterns applications) Control part of the behavior C++ code using Accord kernel facilities C++ code generation

Current limitations and next steps Fixed by the framework User defined Current limitations Partial support of MARTE MoCC family C++ as the action language Component-based models are not executable Next steps and ongoing work Larger support of MARTE MoCC by Accord Kernel (parameterization) C++ code generator for an action language Provide transformations to the execution platform for componentbased models

Agenda UML profile for MARTE A Real-time MoCC Accord approach A modeling methodology An execution framework for DRES MARTE models execution Mapping of MARTE models to an execution platform Conclusions

Conclusions MARTE-based modeling methodology Provides executable MARTE-based models Execution platform Provides execution resources for MARTE concepts Tool support Modeling Papyrus UML (http://www.papyrus-uml.org) Advanced modeling for UML / MARTE / SysML Automated transformations MARTE-based models to execution platform mapping (patterns) Automatic C++ code generation Ongoing work for a larger support of MARTE MoCC and modeling processes

Thank you for your attention!