CHaRy Software Synthesis for Hard Real-Time Systems

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
ECE-777 System Level Design and Automation Hardware/Software Co-design
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
Presenter: David Fleeman { D. Juedes, F. Drews, L. Welch and D. Fleeman Center for Intelligent, Distributed & Dependable.
1 of 30 June 14, 2000 Scheduling and Communication Synthesis for Distributed Real-Time Systems Paul Pop Department of Computer and Information Science.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
CprE 458/558: Real-Time Systems
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
OS and the Computer System  Some OS programs exist permanently in the system area of the memory to monitor and control activities in the computer system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
A Modular and Retargetable Framework for Tree-based WCET analysis Antoine Colin Isabelle Puaut IRISA - Solidor Rennes, France.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
May 2004 Department of Electrical and Computer Engineering 1 ANEW GRAPH STRUCTURE FOR HARDWARE- SOFTWARE PARTITIONING OF HETEROGENEOUS SYSTEMS A NEW GRAPH.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
1 SYNTHESIS of PIPELINED SYSTEMS for the CONTEMPORANEOUS EXECUTION of PERIODIC and APERIODIC TASKS with HARD REAL-TIME CONSTRAINTS Paolo Palazzari Luca.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Real-time aspects Bernhard Weirich Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time:
Real-Time Operating System Design
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
Advanced Algorithms Analysis and Design
Auburn University
Jacob R. Lorch Microsoft Research
Advanced Operating Systems CIS 720
Chapter 6 The Traditional Approach to Requirements.
Dynamo: A Runtime Codesign Environment
Introduction to Load Balancing:
Wayne Wolf Dept. of EE Princeton University
Parallel Programming By J. H. Wang May 2, 2017.
Parallel Objects: Virtualization & In-Process Components
Lecture 21 Concurrency Introduction
Parallel Algorithm Design
Real-time Software Design
HCI in the software process
Parallel Programming in C with MPI and OpenMP
Model-Driven Analysis Frameworks for Embedded Systems
Introduction to cosynthesis Rabi Mahapatra CSCE617
CSCI1600: Embedded and Real Time Software
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Objective of This Course
CS 425/625 Software Engineering Architectural Design
Software Architecture
CS310 Software Engineering Dr.Doaa Sami
What is Concurrent Programming?
CS 584.
Chapter 1 Introduction.
HCI in the software process
Utility-Function based Resource Allocation for Adaptable Applications in Dynamic, Distributed Real-Time Systems Presenter: David Fleeman {
Linköping University, IDA, ESLAB
Presented By: Darlene Banta
Human Computer Interaction Lecture 14 HCI in Software Process
Timing analysis research
Tools for the Automation of large distributed control systems
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
CSE 373: Data Structures and Algorithms
FAST: Frequency-Aware Static Timing Analysis
CSCI1600: Embedded and Real Time Software
What Are Performance Counters?
Anand Bhat*, Soheil Samii†, Raj Rajkumar* *Carnegie Mellon University
From Use Cases to Implementation
Presentation transcript:

CHaRy Software Synthesis for Hard Real-Time Systems Peter Altenbernd C-LAB (= Siemens IC & Uni Paderborn) Paderborn, GERMANY peter@c-lab.de http://www.c-lab.de/~peter/CHaRy

Outline Real-Time Systems CHaRy - Software Synthesis SEA & Software Circuits CHaRy++ = CHaRy + Statecharts

Real-Time Systems ? Real-Time = Fast RT = PREDICTABLE SOFT STATIC DYNAMIC HARD 6

Why? Do You fly on Jets? “Advanced jet engines can BLOW up if Motivation Why? Do You fly on Jets? “Advanced jet engines can BLOW up if correct control inputs are not applied every 20-50 ms” 5

Claim!! Many RTS cannot be designed with traditional (non-RT) methods We need to provide a priori guarantees “provable correct designs” 4

Saving Cost by Real-Time Designs "Using NRTA's Volcano CAN controller software, based on fundamental real-time research results, Volvo safes 10$ per car, because cheaper devices are sufficient." K.Tindell, NRTA, during his presentation at the "Automotive Seminar" in Göteborg, April 23, 1998

Automation of Controller Design High-Level Frontend (e.g. SEA)

CHaRy's Benefits Software Synthesis: The application is described on a high level, whereas the implementation is left to CHaRy Suitable for both parallel and distributed systems Proper real-time handling throughout the system The user can focus on the actual problem: the application The user can try different HW architectures (network, processors) Front-end, back-end, HW to be used, and objective function are customisable

CHaRy: The C-LAB Hard Real-Time System Problem decomposition: Use of efficient heuristics for each sub-problem

Partitioning Abstract: Decomposing a program into a number of independent but communicating tasks Motivation: Finding a reasonable trade-off between task granularity and communication overhead Based on average computation time of statements and average communication cost Simple heuristic to minimize the average response time of each controller (including OS overhead)

Code Generation & Partitioning

Timing Analysis Abstract: Estimating worst-case execution time, WCET of each task Motivation: Is needed to guarantee deadlines If underestimated: serious failures If overestimated: waste of resources Independend from input data, without user annotations Low-level: caching & pipelining analysis High-level: Longest Executable Path Search (LEPS)

Timing Analysis of Straight-Line Code Efficient sequence: Caching Analysis - Pipelining Analysis - LEPS Caching Analysis: Unique handling of both data and instruction caches Relatively HW-independent (caches are easy to describe) Pipeline-independent Pipelining Analysis: Abstract description of each Basic Block is used concatenate BBs to paths Quite HW-dependent

Allocation Abstract: Static allocation algorithm for periodic hard real-time tasks Motivation: Allocation problem is NP-hard Separated allocation & scheduling Definable objective function (including both event-driven and time-triggered parts) Combination of "Slack Method" and Simulated Annealing

Schedulability Analysis Abstract: Checking whether hard real-time conditions are met Motivation: Needed during simulated annealing to analyse scheduling (e.g. DMS) Accurately computing all maximum response times (i.e longest time from period begin to completion) to check them against the corresponding deadlines Can include both event-driven and time-triggered tasks

Timing Analysis, Scheduling & Allocation Task Graph: Task Assignments:

SEA Environment Offline Simulation and Animation Modeling of Heterogenous Systems Predicate/Transition Nets Abstract Graphical Representation for Interfaces User Defined Graphical Libraries (Components) User Defined Interactions (Panels) Interactive Animation 1

SEA & Software Circuits 1

CHaRy++ = CHaRy + Statecharts 1

Conclusion SW synthesis for hard real-time systems CHaRy: customisable architecture SEA: customisable front-end CHaRY++: context of sychronous languages Real-time research results: HW-level timing analysis SW-level timing analysis allocation & schedulability testing analysis of sychronous languages Consulting for code generation problems