Automatic Selection of Feasibility Tests With the Use of AADL Design Patterns

Similar documents
Automatically adapt Cheddar to users need

AADL performance analysis with Cheddar : a review

AADL Subsets Annex Update

Executable AADL. Real Time Simulation of AADL Models. Pierre Dissaux 1, Olivier Marc 2.

A DSL for AADL Subsets Specification

AADL resource requirements analysis with Cheddar F. Singhoff, J. Legrand, L. Nana University of Brest, France LYSIC/EA 3883

This is an author-deposited version published in: Eprints ID: 9287

1.1 Explain the difference between fast computing and real-time computing.

Cheddar Architecture Description Language

MODELING SHARED- MEMORY MULTIPROCESSOR SYSTEMS WITH AADL

Scheduling methods for aperiodic tasks

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

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

Microkernel/OS and Real-Time Scheduling

Exam Review TexPoint fonts used in EMF.

Outline of the talk. The egg and the hen Or, Which comes first: the problem or the solution? Challenges (2/6) Challenges (1/6) Recall of basics

An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System

Refactoring the feasibility tests framework of Cheddar

Green Hills Software, Inc.

AADL : about code generation

6.1 Motivation. Fixed Priorities. 6.2 Context Switch. Real-time is about predictability, i.e. guarantees. Real-Time Systems

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

Update on AADLInspector and Cheddar : new interface and multiprocessors analysis

Modeling and verification of memory architectures with AADL and REAL

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

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

POK. An ARINC653-compliant operating system released under the BSD licence. Julien Delange, European Space Agency

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Schedulability with resource sharing. Priority inheritance protocol Priority ceiling protocol Stack resource policy

Introduction to Embedded Systems

CS4514 Real Time Scheduling

Scheduling analysis of AADL architecture models

Overview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis

AADL Inspector Tutorial. ACVI Workshop, Valencia September 29th, Pierre Dissaux. Ellidiss. Technologies w w w. e l l i d i s s.

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

Multimedia Systems 2011/2012

From MDD back to basic: Building DRE systems

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

Schedulability Analysis of AADL Models

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

ARINC653 toolset: Ocarina, Cheddar and POK

CEC 450 Real-Time Systems

Introduction to Embedded Systems

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

Real-Time Systems and Programming Languages

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

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

REAL TIME AND EMBEDDED SYSTEMS (M)

Verification of Real-Time Systems Resource Sharing

Embedded Systems: OS

A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA)

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.

The Montana Toolset: OSATE Plugins for Analysis and Code Generation

MODELING OF MULTIPROCESSOR HARDWARE PLATFORMS FOR SCHEDULING ANALYSIS

The University of Missouri - Columbia Electrical & Computer Engineering Department ECE4220 Real-Time Embedded Computing

A Multi-Modal Composability Framework for Cyber-Physical Systems

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

Copyright Notice. COMP9242 Advanced Operating Systems S2/2014 Week 9: Real-Time Systems. Real-Time System: Definition

Systemy RT i embedded Wykład 11 Systemy RTOS

7. Multimedia Operating System. Contents. 7.3 Resource Management. 7.4 Process Management. 7.2 Real Time Systems. 7.5 Prototype Systems. 7.

Resource Reservation & Resource Servers

Real-Time Architectures 2004/2005

Context. Giorgio Buttazzo. Scuola Superiore Sant Anna. Embedded systems are becoming more complex every day: more functions. higher performance

Simulation of Priority Driven Algorithms to Schedule Real-Time Systems T.S.M.Priyanka a*, S.M.K.Chaitanya b

Context. Hardware Performance. Increasing complexity. Software Complexity. And the Result is. Embedded systems are becoming more complex every day:

Analyzing Real-Time Systems

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

Global Scheduling in Multiprocessor Real-Time Systems

Time Triggered and Event Triggered; Off-line Scheduling

The Real-time Specification for Java

Model Verification: Return of experience

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

Implementing Task Schedulers (1) Real-Time and Embedded Systems (M) Lecture 10

Operating system concepts. Task scheduling

EMERALDS: a small-memory real-time microkernel

Real-Time Systems. Real-Time Operating Systems

AADL : about scheduling analysis

Simulation-Based Evaluations of DAG Scheduling in Hard Real-time Multiprocessor Systems

Scheduling Algorithms for Real-Time Systems

Reference Model and Scheduling Policies for Real-Time Systems

Event-Driven Scheduling. (closely following Jane Liu s Book)

Multimedia-Systems. Operating Systems. Prof. Dr.-Ing. Ralf Steinmetz Prof. Dr. rer. nat. Max Mühlhäuser Prof. Dr.-Ing. Wolfgang Effelsberg

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?

Rapid Prototyping of Distributed Real-Time Embedded Systems Using the AADL and Ocarina

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

Virtual prototyping AADL architectures in a polychronous model of computation

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

STUDENT NAME: STUDENT ID: Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Total

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

An Improved Priority Ceiling Protocol to Reduce Context Switches in Task Synchronization 1

From the Prototype to the Final Embedded System Using the Ocarina AADL Tool Suite

CS4411 Intro. to Operating Systems Exam 2 Fall 2009

Real time scheduling theory and its use with Ada


SAMPLE MIDTERM QUESTIONS

Computer Science 4500 Operating Systems

The Deadline Floor Protocol and Ada

Transcription:

Automatic Selection of Feasibility Tests With the Use of AADL Design Patterns V. Gaudel, F. Singhoff, A. Plantec, S. Rubini P. Dissaux*, J. Legrand* University of Brest/UBO, LISyC, France *Ellidiss Technologies, France 07 June 2011 V. Gaudel, F. Singhoff, A. Plantec, S. Rubini Automatic P. Dissaux*, Selection J. of Legrand* Feasibility ( University Tests Withof the Brest/UBO, Use of AADL LISyC, 07 Design June France Patterns 2011 *Ellidiss1 Techno / 28

Case Study Simplified car system in AADL 3 functions : Headlights, windshield wiper and ESP control 12 threads (3 control threads) Data port communication Thread s period : 30 ms Thread s capacity : 2 ms Mono-processor Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 2 / 28

Motivations How to ensure safety of critical real-time systems? Multiple approaches : simulation, model checking, analytical methods, etc. Real-time scheduling theory applicability difficulties Many methods specific to a restricted set of systems Need to select adequate methods Requires high level of expertise Unused in many practical cases Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 3 / 28

How to enforce real-time scheduling theory applicability? Automatisation of feasibility tests selection Modeling of relationships between architectural models in AADL and real-time scheduling analysis. Definition of real-time design patterns corresponding to a known set of feasibility tests. What are real-time design patterns, how to model and use them? Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 4 / 28

Outline 1 Feasibility tests and real-time design patterns 2 Method from user s point of view 3 Design Patterns Modeling 4 Feasibility Tests Selection Algorithm 5 Evaluation 6 Discussion Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 5 / 28

Outline Feasibility tests and real-time design patterns 1 Feasibility tests and real-time design patterns 2 Method from user s point of view 3 Design Patterns Modeling 4 Feasibility Tests Selection Algorithm 5 Evaluation 6 Discussion Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 6 / 28

Feasibility tests and real-time design patterns Schedulability analysis of critical systems : feasibility tests Real-time system model : For each thread i Deadline : D i Capacity : C i Period : P i Hypothesis 1 Periodic, synchronous and independent threads 2 Preemptive EDF or LLF Scheduling protocol Necessary and Sufficient condition if i : D i = P i. If i : D i < P i, then n i=1 C i D i 1 is a sufficient condition, and n i=1 C i P i 1 is a necessary condition. Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 7 / 28

Feasibility tests and real-time design patterns Definition Real-time Design patterns 1 Based on inter-threads communication and synchronization paradigms. 2 Defined by a set of constraints on architectures 3 Corresponding to a known number of cases for feasibility tests selection Analysable performance criteria : Worst case thread response times. Bounds on the thread waiting time due to data access. Deadlocks and priority inversions due to data access. Memory footprint analysis. Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 8 / 28

Feasibility tests and real-time design patterns Design patterns description 1 Synchronous Data flow : Data port communication paradigm 2 Ravenscar : shared data communication paradigm 3 Blackboard : ARINC 653, reader/writer communication protocol 4 Queued Buffer : producer-consumer communication paradigm 5 Unplugged : No communication or synchronization between threads Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 9 / 28

Feasibility tests and real-time design patterns Design patterns description 1 Synchronous Data flow : Data port communication paradigm 2 Ravenscar : shared data communication paradigm 3 Blackboard : ARINC 653, reader/writer communication protocol 4 Queued Buffer : producer-consumer communication paradigm 5 Unplugged : No communication or synchronization between threads Synchronous Data-Flow R1 All threads are periodic R5 No buffer R5 No data component R6 Data sharing protocol is sampled, immediate or delayed timing R7 No hierarchical scheduler : no shared address spaces between processors Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 9 / 28

Feasibility tests and real-time design patterns Design patterns description 1 Synchronous Data flow : Data port communication paradigm 2 Ravenscar : shared data communication paradigm 3 Blackboard : ARINC 653, reader/writer communication protocol 4 Queued Buffer : producer-consumer communication paradigm 5 Unplugged : No communication or synchronization between threads Ravenscar R8 All tasks are periodic or sporadic R9 At least one data component R9 No buffer R10 For each data, there are, at least, two connected threads R11 Allowed protocols : PCP, PIP, IPCP R12 If PCP or IPCP are used, data s Ceiling priority must be superior to all dependent task s priority R13 if PIP is used, dependent tasks cannot be connected to other resources Automatic Selection of Feasibility Tests With the Use of AADL 07 Design JunePatterns 2011 9 / 28

Outline Method from user s point of view 1 Feasibility tests and real-time design patterns 2 Method from user s point of view 3 Design Patterns Modeling 4 Feasibility Tests Selection Algorithm 5 Evaluation 6 Discussion Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 10 / 28

Method from user s point of view Method from user s point of view Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 11 / 28

Method from user s point of view Feasibility tests selection approach needs Is the model compliant to a design pattern? If not, how important are the modifications to become compliant? If it is, what is the list of relevant feasibility tests? Is there other potential lists and how important are the modifications to select them? Are the selected feasibility tests able to prove the schedulability? Is the system schedulable? Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 12 / 28

Outline Design Patterns Modeling 1 Feasibility tests and real-time design patterns 2 Method from user s point of view 3 Design Patterns Modeling 4 Feasibility Tests Selection Algorithm 5 Evaluation 6 Discussion Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 13 / 28

Design Patterns Modeling Design Patterns Modeling Use of EXPRESS to model our patterns Use to model types and entities (Cheddar meta-model) Enables to defined OCL like constraints We enrich this meta-model for our design patterns 1 Hardware Context (environment mono-processor or multi-processors for instance) 2 Design patterns constraints 3 Sets of cases for feasibility tests selection (one per design pattern) Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 14 / 28

Design Patterns Modeling Part of Cheddar Meta-Model Modeling of Tasks within Cheddar meta-model in EXPRESS SCHEMA Tasks;... TYPE Tasks Type = ENUMERATION OF ( Periodic Type, Aperiodic Type, Sporadic Type, Poisson Type, Parametric Type ); END TYPE;... ENTITY Generic Task ABSTRACT SUPERTYPE SUBTYPE OF ( Generic Object );... Cpu Name : STRING; Address Space Name : STRING; Capacity : Natural; Deadline : Natural;... END ENTITY; ENTITY Periodic Task SUBTYPE OF ( Generic Task ); Period : Natural; J i t t e r : Natural;... END ENTITY; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 15 / 28

Design Patterns Modeling Synchronous Data Flow Modeling in EXPRESS R1 All tasks are periodic All tasks are periodic RULE all tasks are periodic FOR ( generic task ); WHERE R1 : SIZEOF ( QUERY ( t < generic task NOT ( TASKS. PERIODIC TASK IN TYPEOF ( t ) ) ) ) = 0; END RULE; 1 2 3 4 Rule applied to all generic task instances Use of set operators and SQL like queries Is true when the size of the set of non-periodic tasks within the totality of system s tasks is equal to 0 Each applicability constraint is modeled that way Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 16 / 28

Design Patterns Modeling Mono-processor environment Modeling in EXPRESS R2 : Authorized scheduling protocols : fixed priorities, EDF, RM, DM R3 : Preemptive or not preemptive R4 : Quantum must be equal to 0 Data sharing protocol ENTITY Mono Processor Environment SUBTYPE OF ( Environment ); WHERE R2 : ( SCHEDULERS. EARLIEST DEADLINE FIRST PROTOCOL IN TYPEOF ( SELF\Environment. scheduler ) ) OR ( SCHEDULERS. RATEMONOTONICPROTOCOL IN TYPEOF ( SELF\Environment. scheduler ) ) OR ( SCHEDULERS. DEADLINEMONOTONICPROTOCOL IN TYPEOF ( SELF\Environment. scheduler ) ) OR ( SCHEDULERS. POSIX 1003 HIGHEST PRIORITY FIRST PROTOCOL IN TYPEOF ( SELF\Environment. scheduler ) ) ; R3 : SELF\Environment. scheduler. preemptivity <> partially preemptive; R4 : SELF\Environment. scheduler. quantum = 0; END ENTITY; ENDSCHEMA; 1 2 3 4 5 6 7 8 9 10 11 Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 17 / 28

Outline Feasibility Tests Selection Algorithm 1 Feasibility tests and real-time design patterns 2 Method from user s point of view 3 Design Patterns Modeling 4 Feasibility Tests Selection Algorithm 5 Evaluation 6 Discussion Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 18 / 28

Feasibility Tests Selection Algorithm Feasibility Tests Selection Algorithm Step1 Model analysis to build dependency graph Step2 Graph analysis to extract potential design patterns instances Step3 Design pattern applicability constraints checking Step4 Composition Analysis Step5 Applicability constraints checking for tests selection Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 19 / 28

Feasibility Tests Selection Algorithm Case Study AADL model parsed by Cheddar Instanciated in Cheddar meta model Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 20 / 28

Feasibility Tests Selection Algorithm Step 1 : Model analysis to build dependency Graph Built dependency graph One node for each task One edge for each dependency between two tasks One type of edge for each type of dependencies Graph built by analysis of system instance in Cheddar Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 21 / 28

Feasibility Tests Selection Algorithm Step 2 : Graph analysis to extract potential instances Connex component in dependency graph Formalisation of view upon dependency graph (by dependency type, connex components, processor, task type, etc) Each connex component with only one type of edge is a potential design pattern instance Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 22 / 28

Feasibility Tests Selection Algorithm Step 3 : Design pattern applicability constraints checking Design pattern constraints R1 All threads are periodic R5 No buffer R5 No data component R6 Data sharing protocol is sampled, immediate or delayed timing R7 No hierarchical scheduler : no shared address spaces between processors For each potential instance : All applicability constraints of the concerned design pattern are checked If all applicability constraints are respected, we have a design pattern instance Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 23 / 28

Feasibility Tests Selection Algorithm Step 4 : Composition analysis Composition rules Unpl. Unpl. Unpl. Unpl. Synch.d.f. Synch.d.f. Unpl. Rav. Rav. Synch.d.f. Synch.d.f. Synch.d.f. Synch.d.f. Rav. Rav. Rav. Rav. Rav. Design pattern composition analyse to determine one system wide design pattern Work in progress, resolved for the three design patterns in current evaluation Identification of dominant design patterns based on feasibility tests study Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 24 / 28

Feasibility Tests Selection Algorithm Step 5 : Applicability constraints checking for feasibility tests selection... SCHEMA CASE 3; USE FROM Schedulers; USE FROM Mono Processor Environment; USE FROM Synchronous Data Flow; USE FROM Simultaneous Release Time Constraint; USE FROM Deadline Smaller Than Period Constraint; USE FROM feasibility tests taxinomy ( test S1, test R1, test R2); RULE preemptive rate monotonic FOR ( Mono Processor Environment ); WHERE ( SCHEDULERS. RATEMONOTONICPROTOCOL IN TYPEOF ( SELF\environment. scheduler ) ) AND ( SELF\environment. scheduler. preemptivity = preemptive ); END RULE; ENDSCHEMA;.... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 For each design pattern, we have defined a set of cases for feasibility tests selection Applicability constraints for each case are evaluated Selection of feasibility tests corresponding to respected applicability constraints Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 25 / 28

Outline Evaluation 1 Feasibility tests and real-time design patterns 2 Method from user s point of view 3 Design Patterns Modeling 4 Feasibility Tests Selection Algorithm 5 Evaluation 6 Discussion Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 26 / 28

Evaluation Evaluation Cheddar Engineering Process Prototype implemented manually and integrated to Cheddar Meta model elaboration and extension within Platypus The aim is to be able to generate the same prototype, based on the meta model Then we will be able to extend the number of design patterns at the meta level and generate automatically the functionnal selection tool Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 27 / 28

Discussion Conclusion 1 Approach enabling an automatic selection of feasibility tests with the use of AADL design patterns 2 Method from user s point of view 3 Prototype available at : beru.univ-brest.fr/svn/cheddar-2.0/ Ongoing works 1 More complex design pattern composition 2 Protocol for adding a new design pattern to the tool 3 Metric definition 4 New patterns, environments, feasibility tests, anti-patterns, etc. Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 28 / 28

Discussion Conclusion 1 Approach enabling an automatic selection of feasibility tests with the use of AADL design patterns 2 Method from user s point of view 3 Prototype available at : beru.univ-brest.fr/svn/cheddar-2.0/ Ongoing works 1 More complex design pattern composition 2 Protocol for adding a new design pattern to the tool 3 Metric definition 4 New patterns, environments, feasibility tests, anti-patterns, etc. ACKNOWLEDGMENTS We would like to thank Ellidiss Technologies and Region Bretagne for their support to this project. Automatic Selection of Feasibility Tests With the Use of AADL07Design June 2011 Patterns 28 / 28