1 Description and Schedulability Analysis of the Software Architecture of an Automated Vehicle Control System Stavros Tripakis VERIMAG EMSOFT’02.

Slides:



Advertisements
Similar presentations
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Advertisements

Real Time Scheduling.
Electric Bus Management System
Introduction to Embedded Systems Resource Management - III Lecture 19.
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Real-Time Kernels and Operating Systems Basic Issue - Purchase commercial “off-the- shelf” system or custom build one Basic Functions –Task scheduling.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
The Comparison of the Software Cost Estimating Methods
Integration testing Satish Mishra
1 of 14 1/15 Schedulability Analysis and Optimization for the Synthesis of Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded.
Presented by: Hatem Halaoui
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Spring 2002Real-Time Systems (Shin) Rate Monotonic Analysis Assumptions – A1. No nonpreemptible parts in a task, and negligible preemption cost –
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Chapter 1 Embedded And Real-Time System Department of Computer Science Hsu Hao Chen Professor Hsung-Pin Chang.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Operating System Concepts and Techniques Lecture 5 Scheduling-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques, First.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
ROBUST RESOURCE ALLOCATION OF DAGS IN A HETEROGENEOUS MULTI-CORE SYSTEM Luis Diego Briceño, Jay Smith, H. J. Siegel, Anthony A. Maciejewski, Paul Maxwell,
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Scheduling policies for real- time embedded systems.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Chapter 11 Understanding Randomness.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
Introduction to Embedded Systems Rabie A. Ramadan 5.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
1 of 14 1/15 Schedulability-Driven Frame Packing for Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded Systems Lab (ESLAB)
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
What Makes Device Driver Development Hard Synthesizing Device Drivers Roumen Kaiabachev and Walid Taha Department of Computer Science, Rice University.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
1 G53SRP: Introduction to Real Time Scheduling Chris Greenhalgh School of Computer Science.
Process Scheduling Schedulers and Scheduling Methods.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Advanced Higher Computing Science
REAL-TIME OPERATING SYSTEMS
Memory Management.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Architecture & System Performance
Architecture & System Performance
Paul Pop, Petru Eles, Zebo Peng
Chapter 12: Query Processing
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
CSCI1600: Embedded and Real Time Software
An Embedded Software Primer
Processor Fundamentals
CS 501: Software Engineering Fall 1999
Software testing and configuration : Embedded software testing
Processes and operating systems
Creating robust project networks
CSCI1600: Embedded and Real Time Software
Presentation transcript:

1 Description and Schedulability Analysis of the Software Architecture of an Automated Vehicle Control System Stavros Tripakis VERIMAG EMSOFT’02

2 PATH’s automated (computerized) vehicle control projects platooningdockingsnowplowingtrucking

3 PATH’s automated (computerized) vehicle control projects Started in Different applications: –Platoons –Snow-plows –Trucks –Docking –… Public demo of platooning application in San Diego, 1997.

4 Computerized vehicle control Photo of the car’s trunk HOW DOES IT WORK? HOW CORRECTLY DOES IT WORK?

5 Hardware

6 Question How does the software architecture work ?

7 Contributions Understanding the software architecture (reverse-engineering by reading the code written by PATH staff). Building a model of the architecture for the platoon application. Schedulability analysis (based on existing real-time scheduling theory). Some conclusions.

8 Outline The software architecture A model for the platoon application Schedulability analysis of the platoon application Conclusions

9 Outline The software architecture –Publish/Subscribe A model for the platoon application –Set of periodic tasks –Each task is a chain of sub-tasks Schedulability analysis of the platoon application –So-called “HKL (Harbour, Klein, Lehoczky) analysis” –Extension of rate-monotonic analysis to chain-tasks

10 The software architecture A set of processes running on QNX. A distinguished database process stores all variables of importance. A set of data I/O processes read/write data from/to the sensors/actuators, storing it to/taking it from the database. A set of (user-defined) controller processes compute variables from other variables.

11 The software architecture Device drivers Data I/O Controllers Database

12 The software architecture

13 The software architecture Device drivers Data I/O Controllers Database

14 The software architecture

15 A publish/subscribe architecture One writer for each variable (practice). Readers can access variable in two ways: –Read it directly, or –Set a “trigger” for it (subscribe): every time the variable is written, the database will notify all subscribers for that variable. –Subscribers perform blocking receive, waiting for the notification.

16 Advantages of the architecture Genericity: variables and client processes are defined per application. Dynamic creation of variables/processes is possible. Modularity: one process need not know of another (only interface with database and variable names need to be known). Integration: different providers can supply different processes as executables, source code not needed.

17 Advantages of the architecture Asynchrony: different processes may run at different speeds. Synchrony could also be implemented with triggers. Event/Time-triggered: no difference.

18 Conclusion 1 The P/S architecture has advantages that many other current proposals do not have.

19 Software architecture of the platoon application

20 A model (oriented towards schedulability analysis) –Fixed number of tasks. –Each task has a fixed period. –Each task is a sequence of sub-tasks (chain). –Each sub-task has a fixed execution time and a fixed priority. –Pre-emptive scheduling based on priorities.

21 The lateral control task and chain

22 Tasks and chains in the platoon application (total: 11)

23 Schedulability analysis Goal: –Check that tasks meet their deadlines (deadline = period). Steps: –Estimate execution times. –Perform so-called HKL analysis.

24 Estimating execution times By averaging many experiments.

25 Harbour-Klein-Lehoczky (HKL) schedulability analysis Extension of Liu-Layland’s “completion time test” from simple tasks to chains. –For a task A, compute its worst-case completion time: C(A). –Verify that C(A)  deadline(A). –Repeat for all tasks.

26 Harbour-Klein-Lehoczky (HKL) schedulability analysis Given a task A with minimum priority P of its sub-tasks (that’s the worst-case blocking point): –For each other task B, build the profile of B w.r.t. A: it is a finite word over {H,L} (“Higher or equal”, “Lower”). Example: –P = 10 –B = [5, 15, 20, 20], profile: L H H H –C = [5, 10, 5], profile: L H L

27 Harbour-Klein-Lehoczky (HKL) schedulability analysis Profiles can be classified in 4 types, e.g.: –Type 1: H+ (all higher or equal) –Type 2: (H+ L+)+ (start higher, end lower) For each type i, you compute the worst-case blocking time B(i) that A may suffer from tasks of type i. Then, you compute C(A) based on B(i), using a recursive formula.

28 HKL analysis of the platoon application model Computed completion times by hand. (tedious, error-prone: tools available?) Found that the deadline of the “lateral input” task can be missed. Can this really happen? If it happens, so what?

29 Can this really happen? HKL analysis is exact: –if C(A) > D(A) then there is at least one case (of initial task phases and “bad-luck scheduling”) where eventually the deadline of A is missed. However, it assumes: –Correct estimation of execution times. –Simpler scheduling rules than in reality (e.g., round-robin of equal-priority processes in QNX).

30 Even if it happens, so what? In real platoon drives, no problem has been experienced. What is the impact to vehicle control of a task missing its deadline, say, once every 100 times ?

31 A deficiency of the worst-case model Tasks {(1,2), (2,3)} are not schedulable: – CPU utilization >1. Tasks {(?), ()} are not schedulable either, however:

32 Rtscheduling apories An example of RMA not schedulable, with CPU util < 1. The paper of harmonic => RMA schedulable iff util=1. Is worst-case when phases are 0? Are HKL results for any initial phasing? (must be, otherwise just do a simulation).

33 Conclusion 2 Accurate estimation of execution times is crucial for schedulability analysis techniques (non-robustness).

34 Conclusion 3 It is not clear how meaningful the results of worst-case schedulability analysis are for control applications.

35 Summary of our conclusions The P/S architecture has advantages that many other current proposals do not have. Accurate estimation of execution times is crucial for schedulability analysis. It is not clear how meaningful the results of worst-case schedulability analysis are for control applications.

36 Now what? Can the analysis be done automatically? –Calculation easy, once chains and ET are defined. –Much harder to find out the chains and ET… –Also hard to go low-level (e.g., handle real QNX scheduling rules). Can the process priorities be synthesized? Another analysis (probabilistic?) that takes into account realistic control requirements. –C.f. G. Buttazzo’s invited talk at FTRTFT’02.

37 … and some criticism to the P/S architecture Is the architecture too flexible? Should it be restricted? For what purpose and at what expense? Is it not formal enough? Not sure how important such criticisms are (e.g., to PATH engineers).

38 Thanks to... Paul Kretz of PATH Raj Rajkumar of CMU Anonymous reviewer …

39 Questions ?