18
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

Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

1

NSF

Foundations of Hybrid and Embedded Software Systems

UC Berkeley: ChessVanderbilt University: ISISUniversity of Memphis: MSI

Design of Embedded Systems: Methodologies, Tools and Applications

Alberto Sangiovanni-VincentelliDept. of EECSUniversity of CaliforniaBerkeley

Chess/ISIS/MSI 2

Disaggregation:Electronic Systems Design Chain

Design Science

Manufacturing

Implementation

System Design

Platforms

IP

InterfacesFabrics

Page 2: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

2

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 DefinitionProduct Definition

IPIPDesign And AssemblyDesign And Assembly

Platforms

Interfaces

Page 3: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

3

Chess/ISIS/MSI 5

Product Specification & Architecture Definition(e.g., determination of Protocols and Communication standards)System Partitioning and Subsystem SpecificationCritical Software DevelopmentSystem Integration

Automotive Supply Chain:Car Manufacturers

Chess/ISIS/MSI 6

Electronics for the Car: A Distributed System

InformationSystems

Tele

mat

ics

Fau

lt T

oler

ant

Body Electronics B

ody

Fun

ctio

ns

Fail

Safe

Fau

ltFu

nct

iona

l

Body Electronics

Dri

vin

g an

d V

ehic

leD

ynam

ic F

un

ctio

ns

Mobile Communications Navigation

FireWall

Access to WWWDAB

GateWay

GateWay

Theft warning

Door Module Light Module

AirConditioning

Shift by Wire

EngineManagement

ABS

Steer by Wire

Brake by Wire

MOSTMOSTFirewireFirewire

CANCANLinLin

CANCANTTCANTTCAN

FlexRayFlexRay

Today, morethan 80Microprocessors and millions of lines of code

Page 4: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

4

Chess/ISIS/MSI 7

1 Transmission ECU2 Actuation group3 Engine ECU4 DBW5 Active shift display6/7 Up/Down buttons 8 City mode button9 Up/Down lever10 Accelerator pedal

position sensor11 Brake switch

Subsystem Partitioning Subsystem IntegrationSoftware Design: Control Algorithms, Data ProcessingPhysical Implementation and Production

Automotive Supply Chain:Tier 1 Subsystem Providers

Chess/ISIS/MSI 8

HW layerHW 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

OSEKRTOS

OSEKCOMI/O drivers & handlers

(> 20 configurable modules)

Application Programming Interface

Boot LoaderSys. Config.

TransportKWP 2000

CCP

ApplicationSpecificSoftware

Speedometer

Tachometer

Water tem

p.

Speedometer

Tachometer

Odom

eter---------------

ApplicationLibraries

Nec78kNec78k HC12HC12HC08HC08 H8S26H8S26 MB90MB90

CustomerLibraries

Automotive Supply Chain:Tier 2 Platform & IP Providers

“Software” platform: RTOS and communication layer“Hardware” platform: Hardware and IO drivers

ST10ST10

Page 5: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

5

Chess/ISIS/MSI 9

Complexity, Quality, Time-to-Market: TODAY

MEMORY 256 KB 128 KB 184 KB 8 MB

LINES OF CODE 50.000 30.000 45.000 300.000

CHANGING RATE 3 YEARS 2 YEARS 1 YEAR < 1 YEAR

DEV. EFFORT 40 MAN-YEAR 12 MAN-YEAR 30 MAN-YEAR 200 MAN-YEAR

VALIDATION TIME 5 MONTHS 1 MONTH 2 MONTHS 2 MONTHS

TIME TO MARKET 24 MONTHS 18 MONTHS 12 MONTHS < 12 MONTHS

PWT UNIT BODY GATEWAY TELEMATICUNIT

INSTRUMENTCLUSTER

PRODUCTIVITY 6 LINES/DAY 10 LINES/DAY 6 LINES/DAY 10 LINES/DAY*

RESIDUAL DEFECTRATE @ END OF DEV 3000 PPM 2500 PPM 2000PPM 1000 PPM

* C++ CODE FABIO ROMEO, Magneti-MarelliDesign 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.

Page 6: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

6

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

real

virtu

al

virtu

al

Fct1

Spec&

Sim.

Fctn

Spec&

Sim.

IntegrationIntegrationECU1 ECUn

real

real

virtu

al

virtu

al

Fct1

Spec&

Sim.

Fctn

Spec&

Sim.

IntegrationIntegrationECU1 ECUn

tomorrow

IntegrationIntegration

VirtualVirtual

IntegrationIntegration

Fct1

Spec&

Sim.

Fctn

Spec&

Sim.

ECU1 ECUk

analysisanalysis

system designsystem design

implementationimplementation

production & after sales

specificationspecification

calibrationcalibrationECU1 ECUk

Fct1

Spec&

Sim.

Fctn

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)

Page 7: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

7

Chess/ISIS/MSI 13

Design Flow

Physical Prototyping

Requirement SpecificationRequirement Specification

MappingMapping

Synthesis Export

Synthesis Export

Algorithm DesignAlgorithm Design

Performance SimulationPerformance Simulation

Algorithms

Architectural IPs

Algorithm Specifications

Behavioral Modeling

Architecture IP

Authoring

Architecture IP

Authoring

Distributed Architecture Analysis

Distributed Architecture Analysis

Algorithm AnalysisAlgorithm Analysis

ECU Scheduling Analysis

ECU Scheduling Analysis

SW platform SW tasks CommunicationProtocol

Configuration

Behavior IPs

System Model

Architectural ModelingArchitectural Modeling

Compile/Link/Load

Compile/Link/Load

Algorithm PerformanceAlgorithm

PerformanceLoadLoad

Virtual Prototyping

Environment-Test Bench Modeling

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

Page 8: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

8

Chess/ISIS/MSI 15

f f fff

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)

BusDriver (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

Page 9: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

9

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

Page 10: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

10

Chess/ISIS/MSI 19

ASV Triangles

PlatformDesign-Space

Export

PlatformMapping

Architectural Space

Application SpaceApplication Instance

Platform Instance

SystemPlatform (HW and SW)

Chess/ISIS/MSI 20

Platforms: EvolutionIn 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 {

Page 11: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

11

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

Page 12: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

12

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

Page 13: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

13

Chess/ISIS/MSI 25

d dGPSINS

Software Request Software

GPSINS

Pull Configuration

Sharedmemory

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, GPSActuators: Servo InterfaceVehicles: Yamaha R-50/R-

Max

Control Applications (Matlab)

• Goal– Abstract details of

sensors, actuators, and vehicle hardware from control applications

Application SpaceArchitectural

Space

Synchronous Embedded

Programming(Giotto)

• How?- Synchronous Embedded Programming Language (i.e. Giotto) Platform

Page 14: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

14

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, GPSActuators: Servo InterfaceVehicles: Yamaha R-50/R-

Max

Synchronous Embedded

Programming(Giotto)

Control Applications (Matlab)

Application SpaceArchitectural

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

Page 15: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

15

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

Page 16: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

16

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 torelational 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 P2M

S

P1.pZ.write( ) ◆ P2.pX.read( )

pX pZ pX pZ

M’ M’

Computation

Communication

Coordination

Metropolis Meta-Model

Page 17: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

17

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

Page 18: Design of Embedded Systems: Methodologies, Tools and ......Design Automation Conference, Las Vegas, June 20th, 2001 Chess/ISIS/MSI 10 Embedded Software Design: Our Take • Embedded

18

Chess/ISIS/MSI 35

Embedded Software: Today

Chess/ISIS/MSI 36

Embedded Software: Future?