UML Profile f or Mod eling an d Analysis of Real- time and Embed ded Systems (M ARTE) Tutorial Software Resource Mod elingWork shop on Dis tributed O bject Com puting f or Real-t ime and Embedded S ystemsW ashington, DC, USAJul y 14t h, 200 8Fr édéric Thomas , Sé bastien Gérar d, Chokri MraidhaChok ri.Mr aidha [ at ] c ea. frOutlineSRM Over view– W hat i s the S RM pr ofile?– In w hich de sign steps shall I use SRM?– In w hich t ypical cases shall I use SRM?RT OS API modeling w ith S RM: the OS EK/V DX case stu dy– W hy shall I use S RM fo r RT OS API mode ling?– OS EK/V DX overview– W hat i s supported b y the SRM pr ofile?– T he OS EK/V DX Task mo deling w ith S RM– T he OS EK/V DX Event m odeling w ith S RMExamples of A PI model u ses– A robotic case stud y• multitask m odel designs• OS c onfiguration f ile generation• RT E application models portingLaboratory o f Mo del D riven Eng ineering for Embedded Syst ems 2SRM o verviewNFP_Modeling( NFP) Core Elements (CoreElements) Time Modeling (Time)Generic Resource Modeling (GRM)Software Resource Modeling Hardware Resource Modeling(SRM) (HRM)D etailed Resource Modeling chapter (D RM)Laboratory o f Mo del D riven Eng ineering for Embedded Syst ems 3What is th e S RM P rofile ?The S oftware Re source Mo deling prof ile is :– A UML P rofile to d escribe API of software ex ecution supp orts• Real T ime Ope rating Sy stems (RT OS)• Language Li braries (e.g. ADA)BU T, the SRM profile is ...
UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE) Tutorial Software Resource Modeling
Workshop on Distributed Object Computing for Real-time and Embedded Systems
Washington, DC, USA July 14th, 2008
Frédéric Thomas, Sébastien Gérard, Chokri Mraidha
Chokri.Mraidha [at ] cea.fr
Outline
SRM Overview – What is the SRM profile? – In which design steps shall I use SRM? – In which typical cases shall I use SRM?
RTOS API modeling with SRM: the OSEK/VDX case study – Why shall I use SRM for RTOS API modeling? – OSEK/VDX overview – What is supported by the SRM profile? – The OSEK/VDX Task modeling with SRM – The OSEK/VDX Event modeling with SRM
Examples of API model uses – A robotic case study • multitask model designs • OS configuration file generation • RTE application models porting
Laboratory of Model Driven Engineering for Embedded Systems
Laboratory of Model Driven Engineering for Embedded Systems
3
What is the SRM Profile ?
The Software Resource Modeling profile is: –A UML Profile to describe API of software execution supports • Real Time Operating Systems (RTOS) • Language Libraries (e.g. ADA)
BUT, theSRMprofileis notnew API standard dedicated to thea Real-Time and Embedded domain. – SRM allow users to describe RTE API involved in the design cycle • standard RTOS API (e.g. POSIX, OSEK/VDX and ARINC 653)
Laboratory of Model Driven Engineering for Embedded Systems
4
In which steps shall I use SRM ?
Software Resource Modeling (SRM)
Laboratory of Model Driven Engineering for Embedded Systems
Laboratory of Model Driven Engineering for Embedded Systems
Execution Platform Provider
Methodology Provider
6
Why shall I use SRM for RTOS API modeling ?
RTOS API modeling with UML is already possible –But, • UML core is lacking in some key RTE native artifacts – RTOS providers have no modeling artifacts to describe tasks, semaphores, mailboxes … – Methodology providers can’t describe generic tools »For each model they must describe specific generative tools (e.g. code generator, model transformations)
SRM profile allows – To describe efficient and precise multitask models – To be able to describe generic generative tools – Todescribe models in an unified and standard way • SRM profile is a sub-profile of the MARTE standard
Laboratory of Model Driven Engineering for Embedded Systems
7
Execution support API modeling : the OSEK/VDX case study
Let’s take an example : – OSEK/VDX standard(//p:tthdexk-ovsrwg..wow)
• It aims to provide to the automotive industry a standard for an open-ended architecture for distributed control units in vehicles
•
The open architecture introduced by OSEK/VDX comprises these three main areas: – OSEK COM : Communication (data exchange within and between control units) – OSEK NM : Network Management (Configuration determination and monitoring) – OSEK OS : Operating System (real-time execution of ECU software and base for the other OSEK/VDX modules)
Laboratory of Model Driven Engineering for Embedded Systems
8
OSEK/VDX OS Overview
– Wemainly focus on OSEK OS 2.2.2 in this section.• A single processor operating system. • Astatic RTOS where all kernel objects are created at compile time. – Mechanisms : • Concurrent execution mechanisms – Task »A task provides the framework for the execution of functions – Interrupt »Mechanism for processing asynchronous events – Alarm & Counter »Mechanisms for processing recurring events • Synchronization mechanisms –Event »Mechanism for concurrent processing synchronization – Resources »Mechanism for mutual concurrent access exclusion
Laboratory of Model Driven Engineering for Embedded Systems
9
Semantics:
OSEK/VDX Task overview
– Atask provides the framework for the execution of functions. The scheduler organizes the sequence of task execution.
– Specific Properties : •Priority: UINT32 •StackSize: UINT32
–
Specific Services : •ActivateTask (TaskID): The task<TaskID>is transferred from the suspendedstate into thereadystate •ChainTask (TaskID): This service causes the termination of the calling task. After termination of the calling task a succeeding task<TaskID>is activated.
Laboratory of Model Driven Engineering for Embedded Systems
Hardware and software resources brokering: •Drivers • Memory m nagement
_ ng SW Brokeri
Interactions between concurrent contexts: • Communication (Data exchange) Shared data Message (Message queue) • Synchronization Mutual Exclusion (Semaphore) Notification (Event mechanism) Laboratory of Model Driven Engineering for Embedded Systems