NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Design of Embedded Systems:

Slides:



Advertisements
Similar presentations
SAFe Automotive aRchItecture SAFARI. SAFARI_Presentation_Short_v1.ppt 2 / /P. Cuenot/ © Continental AG ARTEMIS/Call2 R&D Project Proposal Project.
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Introduction Designing cost-sensitive real-time control systems for safety-critical applications requires a careful analysis of the cost/fault-coverage.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.
System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
February 23, 2012 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, EECS Thomas.
Define Embedded Systems Small (?) Application Specific Computer Systems.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chess Review May 10, 2004 Berkeley, CA Platform-based Design for Mixed Analog-Digital Designs Fernando De Bernardinis, Yanmei Li, Alberto Sangiovanni-Vincentelli.
Copyright  1999 Daniel D. Gajski IP – Based Design Methodology Daniel D. Gajski University of California
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI NSF Model-Based Design DSML.
Center for Hybrid and Embedded Software Systems Jonathan Sprinkle Executive Director, CHESS Center for Hybrid and Embedded Software Systems UC Berkeley.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
1 Platform-Based Design A paper by Alberto Sangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai.
Defining Platform-Based Design. 2 Outline u A brief history of GSRC Platform-based Design u Principles: Latest view u Metropolis u Two examples s Pico-radio.
Platform-based Design for Mixed Analog-Digital Designs Fernando De Bernardinis, Yanmei Li, Alberto Sangiovanni-Vincentelli May 10, 2004 Analog Platform.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Gautam Biswas and Ken.
11  Describe & verify product behavior  Describe product architectures  Explore HW/SW design tradeoffs s Map behavior to architecture s Use performance.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
Computer Organization
EECE **** Embedded System Design
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
Brussels, 1 June 2005 WP Strategic Objective Embedded Systems Tom Bo Clausen.
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Architecting Web Services Unit – II – PART - III.
F Networked Embedded Applications and Technologies Lab Department of Computer Science and Information Engineering National Cheng Kung University, TAIWAN.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
1 of 14 1/15 Synthesis-driven Derivation of Process Graphs from Functional Blocks for Time-Triggered Embedded Systems Master thesis Student: Ghennadii.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Enterprise Systems Architectures EGN 5621 Enterprise Systems Collaboration (Professional MSEM) Fall, 2012.
Encapsule Systems Reducing Software Development Costs.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2012.
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley
February 11, 2016 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley.
System-on-Chip Design
ITEA3 Project: ACOSAR Advanced Co-Simulation Open System Architecture
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Software Design Methodology
IP – Based Design Methodology
An overview of the CHESS Center
HIGH LEVEL SYNTHESIS.
An overview of the CHESS Center
Mark McKelvin EE249 Embedded System Design December 03, 2002
Presentation transcript:

NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Design of Embedded Systems: Methodologies, Tools and Applications Alberto Sangiovanni-Vincentelli Dept. of EECS University of California Berkeley

Chess/ISIS/MSI 2 Disaggregation: Electronic Systems Design Chain Design Science Manufacturing Implementation System Design Platforms IP Interfaces Fabrics

Chess/ISIS/MSI 3 Outline Automotive Applications Distributed System Design Methodology and Flow Platform-based Design UAV Control Example Metropolis

Chess/ISIS/MSI 4 The Automotive Electronic Design Chain Product Definition IP Design And Assembly Platforms Interfaces

Chess/ISIS/MSI 5  Product Specification & Architecture Definition (e.g., determination of Protocols and Communication standards)  System Partitioning and Subsystem Specification  Critical Software Development  System Integration Automotive Supply Chain: Car Manufacturers

Chess/ISIS/MSI 6 Electronics for the Car: A Distributed System Information Systems Telematics Fault Tolerant Body Electronics Body Functions Fail Safe Fault Functional Body Electronics Driving and Vehicle Dynamic Functions Mobile CommunicationsNavigation Fire Wall Access to WWW DAB Gate Way Theft warning Door Module Light Module Air Conditioning Shift by Wire Engine Management ABS Steer by Wire Brake by Wire MOST Firewire CAN Lin CAN TTCAN FlexRay Today, more than 80 Microprocessors and millions of lines of code

Chess/ISIS/MSI 7 1 Transmission ECU 2 Actuation group 3 Engine ECU 4DBW 5 Active shift display 6/7 Up/Down buttons 8City mode button 9Up/Down lever 10Accelerator pedal position sensor 11Brake switch  Subsystem Partitioning  Subsystem Integration  Software Design: Control Algorithms, Data Processing  Physical Implementation and Production Automotive Supply Chain: Tier 1 Subsystem Providers

Chess/ISIS/MSI 8 HW layer SW Platform layer (> 60% of total SW) SW Platform layer (> 60% of total SW) Application Platform layer (  10% of total SW) Application Platform layer (  10% of total SW)  Controllers Library OSEK RTOS OSEK COM I/O drivers & handlers (> 20 configurable modules) Application Programming Interface Boot Loader Sys. Config. Transport KWP 2000 CCP Application Specific Software Speedometer Tachometer Water temp. Speedometer Tachometer Odometer Application Libraries Nec78k HC12 HC08 H8S26 MB90 Customer Libraries Automotive Supply Chain: Tier 2 Platform & IP Providers  “Software” platform : RTOS and communication layer  “Hardware” platform : Hardware and IO drivers ST10

Chess/ISIS/MSI 9 Complexity, Quality, Time-to-Market: TODAY MEMORY256 KB128 KB184 KB8 MB LINES OF CODE CHANGING RATE3 YEARS2 YEARS1 YEAR< 1 YEAR DEV. EFFORT40 MAN-YEAR12 MAN-YEAR30 MAN-YEAR200 MAN-YEAR VALIDATION TIME5 MONTHS1 MONTH2 MONTHS TIME TO MARKET24 MONTHS18 MONTHS12 MONTHS< 12 MONTHS PWT UNIT BODY GATEWAY TELEMATIC UNIT INSTRUMENT CLUSTER PRODUCTIVITY6 LINES/DAY10 LINES/DAY6 LINES/DAY10 LINES/DAY* RESIDUAL DEFECT END OF DEV 3000 PPM2500 PPM2000PPM 1000 PPM * C ++ CODE FABIO ROMEO, Magneti-Marelli Design Automation Conference, Las Vegas, June 20th, 2001

Chess/ISIS/MSI 10 Embedded Software Design: Our Take Embedded Software Design must not be seen as a problem in isolation, it is an, albeit essential, aspect of EMBEDDED SYSTEM DESIGN Our vision is to change the way in which ESW is developed today by linking it: –Upwards in the abstraction layers to system functionality –Downwards in the programmable platforms that support it thus providing the means to verify whether the constraints posed on Embedded Systems are met.

Chess/ISIS/MSI 11 Outline Automotive Applications Distributed System Design Methodology and Flow Platform-based Design UAV Control Example Metropolis

Chess/ISIS/MSI 12 now real virtual real virtual Fct 1 Spec & Sim. Fct n Spec & Sim. Integration ECU 1 ECU n real virtual real virtual Fct 1 Spec & Sim. Fct n Spec & Sim. Integration ECU 1 ECU n tomorrow Integration VirtualIntegration Fct 1 Spec & Sim. Fct n Spec & Sim. ECU 1 ECU k analysis system design implementation production & after sales specification calibration ECU 1 ECU k Fct 1 Spec & Sim. Fct n Spec & Sim. Virtual Integration is key for Distributed System Design Source BMW Communication Protocol Adoption and Validation Safety Concept Proof via Fault Injection ECU Optimization/Derivative Design ECU SW Scheduling Adoption and Validation Functional Network Definition and Validation (Timed and un-Timed)

Chess/ISIS/MSI 13 Design Flow Physical Prototyping Requirement Specification Mapping Synthesis Export Algorithm Design Performance Simulation Algorithms Architectural IPs Algorithm Specifications Behavioral Modeling Architecture IP Authoring Distributed Architecture Analysis Algorithm Analysis ECU Scheduling Analysis SW platform SW tasks Communication Protocol Configuration Behavior IPs System Model Architectural Modeling Compile/Link /Load Algorithm Performance Load Virtual Prototyping Environment-Test Bench Modeling

Chess/ISIS/MSI 14 Focus on Safety-Critical Real Time Most challenging problem Needs tight integration between algorithms and implementation Constraints include timing and fault tolerance Fault tolerance can be addressed at all levels of abstraction

Chess/ISIS/MSI 15 f f f ff CPU+ Host (uC) RAM HW Int. Sensors Actuators Task1 Task2 Safety Critical Issues: Fault Analysis OS CPUI/O Tasks Dev. Driv. Bus Interface Network Communication Controller (CC) Bus Guardian (BG) Bus Driver (BD) Safety Concept Proof via Fault Injection (HW, SW, Bus..)

Chess/ISIS/MSI 16 DRAFTS: Distributed Real-time Applications Fault Tolerant Scheduling Automatic (off-line) synthesis of fault tolerant schedules for periodic algorithms on a distributed architecture Automatic (off-line) verification that all intended faults are covered Long-term goals: Design Methodology for Safety Critical Distributed Systems Manage the design complexity of modern Drive- By-Wire applications C. Pinello, UCB, T. Demmeler and J. Ehret, BMW

Chess/ISIS/MSI 17 DRAFTS Strategy Identify critical functionality and possible faults Replicate critical functionality to withstand faults Exploit architecture redundancy to speed- up execution (in absence of faults) Functional Verification that all intended faults are covered

Chess/ISIS/MSI 18 Outline Automotive Applications Distributed System Design Methodology and Flow Platform-based Design UAV Control Example Metropolis

Chess/ISIS/MSI 19 ASV Triangles Platform Design-Space Export Platform Mapping Architectural Space Application Space Application Instance Platform Instance System Platform (HW and SW)

Chess/ISIS/MSI 20 Platforms: Evolution In general, a platform is an abstraction layer that covers a number of possible refinements into a lower level. The platform representation is a library of components including interconnects from which the lower level refinement can choose. Platform Mapping Tools Platform Platform stack {

Chess/ISIS/MSI 21 Principles of Platform methodology: Meet-in-the-Middle Top-Down: –Define a set of abstraction layers –From specifications at a given level, select a solution (controls, components) in terms of components (Platforms) of the following layer and propagate constraints Bottom-Up: –Platform components (e.g., micro-controller, RTOS, communication primitives) at a given level are abstracted to a higher level by their functionality and a set of parameters that help guiding the solution selection process. The selection process is equivalent to a covering problem if a common semantic domain is used.

Chess/ISIS/MSI 22 Outline Automotive Applications Distributed System Design Methodology and Flow Platform-based Design UAV Control Example Metropolis

Chess/ISIS/MSI 23 Synchronous Platform Based UAV Design Platform- Based Design I UAV System II Synchronous Embedded Control III Platform-Based Design of Unmanned Aerial Vehicles (source: J. Liebman)

Chess/ISIS/MSI 24 INS R-50 Hovering Goal: basic autonomous flight Need: UAV with allowable payload Need: combination of GPS and Inertial Navigation System (INS) GPS (senses using triangulation) Outputs accurate position data Available at low rate & has jamming INS (senses using accelerometer and rotation sensor) Outputs estimated position with unbounded drift over time Available at high rate Fusion of GPS & INS provides needed high rate and accuracy GPS Card GPS Antenna UAV System: Sensor Overview

Chess/ISIS/MSI 25 dd GPS INS Software Request Software GPS INS Pull Configuration Shared memory Push Configuration Sensors may differ in: Data formats, initialization schemes (usually requiring some bit level coding), rates, accuracies, data communication schemes, and even data types Differing Communication schemes requires the most custom written code per sensor UAV System: Sensor Configurations

Chess/ISIS/MSI 26 Platform Based Design for UAVs Sensors: INS, GPS Actuators: Servo Interface Vehicles: Yamaha R-50/R- Max Control Applications (Matlab) Goal –Abstract details of sensors, actuators, and vehicle hardware from control applications Application Space Architectural Space Synchronous Embedded Programming (Giotto) How? - Synchronous Embedded Programming Language (i.e. Giotto) Platform

Chess/ISIS/MSI 27 Platform Based Design for UAVs Device Platform –Isolates details of sensor/actuators from embedded control programs –Communicates with each sensor/actuator according to its own data format, context, and timing requirements –Presents an API to embedded control programs for accessing sensors/actuators Language Platform –Provides an environment in which synchronous control programs can be scheduled and run –Assumes the use of generic data formats for sensors/actuators made possible by the Device Platform Sensors: INS, GPS Actuators: Servo Interface Vehicles: Yamaha R-50/R- Max Synchronous Embedded Programming (Giotto) Control Applications (Matlab) Application Space Architectural Space Virtual Avionics Platform Device Platform Language Platform

Chess/ISIS/MSI 28 Outline Automotive Applications Distributed System Design Methodology and Flow Platform-based Design UAV Control Example Metropolis

Chess/ISIS/MSI 29 Metropolis Framework Infrastructure Metropolis meta-model - language - modeling mechanisms Meta-model compiler Meta-model Library Models of computation Meta-model Library Architecture platforms Tools Simulator QSS PIG STARS SPIN … Application-specific methodologies Multi-media, wireless communication, mechanical controls, processors

Chess/ISIS/MSI 30 Metropolis Project: main participants UC Berkeley (USA): methodologies, modeling, formal methods Cadence Berkeley Labs (USA): methodologies, modeling, formal methods Politecnico di Torino (Italy): modeling, formal methods Universitat Politecnica de Catalunya (Spain): modeling, formal methods Philips Research (Netherlands): methodologies (multi-media) Nokia (USA, Finland): methodologies (wireless communication) BWRC (USA): methodologies (wireless communication) BMW (USA): methodologies (fault-tolerant automotive controls) Intel (USA): methodologies (microprocessors) STMicroelectronics (France, Italy): methodologies (wireless platforms) Cypress (USA): methodologies (network processors, pSOC, all projects) etropolis

Chess/ISIS/MSI 31 Metropolis meta-model Computation : f : X  Z Communication : state evaluation and manipulation Coordination : constraints over concurrent actions - process : generates a sequence of events - medium : defines states and methods - quantity : annotation of each event (time, energy, memory, …) - logic : relates events and quantities, defines axioms on quantities - quantity-manager : algorithm to realize annotation subject to relational constraints Concurrent specification with a formal execution semantics: Key difference with respect to UML, SystemC, …!!! Concurrent specification with a formal execution semantics:

Chess/ISIS/MSI 32 Must describe objects at different levels of abstraction –Do not commit to the semantics of any particular model of computation Define a set of “building blocks” –specifications with many useful MoCs can be described using the building blocks –Processes, communication media and schedulers separate computation, communication and coordination P1 P2 M S P1.pZ.write( )  P2.pX.read( ) pX pZpXpZ M’ Computation CommunicationCoordination Metropolis Meta-Model

Chess/ISIS/MSI 33 Supporting Theory Provide a semantic foundations for integrating different models of computation –Independent of the design language –Not just specific to the Metropolis meta-model Maximize flexibility for using different levels of abstraction –For different parts of the design –At different stages of the design process –For different kinds of analysis Support many forms of abstraction –Model of computation (model of time, synchronization, etc.) –Scoping –Structure (hierarchy)

Chess/ISIS/MSI 34 Concluding Remarks Applications are critical to drive research and to test quality of results Safety-critical Real Time emphasis Rigorous methodology for distributed systems General framework to express designs at all levels of hierarchy and to support integration of foreign tools and designs

Chess/ISIS/MSI 35 Embedded Software: Today

Chess/ISIS/MSI 36 Embedded Software: Future?