Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software...

42
Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing, Seattle July 31, 2003 Chess Board of Directors Tom Henzinger Edward A. Lee Alberto Sangiovanni- Vincentelli Shankar Sastry Other key faculty Dave Auslander Ruzena Bajcsy Raz Bodik Karl Hedrick Kurt Keutzer George Necula Masayoshi Tomizuka Pravin Varaiya
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    1

Transcript of Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software...

Page 1: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Model-Based Designin the Ptolemy Project

A Chess ProjectCenter for Hybrid and Embedded Software Systems

Edward A. LeeUC Berkeley

Presented at Boeing, SeattleJuly 31, 2003

Chess Board of DirectorsTom HenzingerEdward A. LeeAlberto Sangiovanni-VincentelliShankar Sastry

Other key facultyDave AuslanderRuzena BajcsyRaz BodikKarl HedrickKurt KeutzerGeorge NeculaMasayoshi TomizukaPravin Varaiya

Page 2: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 2

Mission of Chess

To provide an environment for graduate research on the design issues necessary for supporting next-generation embedded software systems.

– Model-based design– Tool-supported methodologies

For– Real-time– Fault-tolerant– Robust– Secure– Heterogeneous– Distributed

Software

The fate of computers lacking interaction with physical processes.

We are on the line to create a “new systems science” that is at once computational and physical.

Page 3: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 3

A Traditional Systems Science –Feedback Control Systems

• Models of continuous-time dynamics• Sophisticated stability analysis

• But not accurate for software controllers

Page 4: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 4

Discretized Model – A Step Towards Software

• Numerical integration techniques provided sophisticated ways to get from the continuous idealizations to computable algorithms.

• Discrete-time signal processing techniques offer the same sophisticated stability analysis as continuous-time methods.

• But it’s still not accurate for software controllers

Page 5: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 5

Hybrid Systems –Reconciliation of Continuous & Discrete

• UCB researchers have contributed hugely to the theory and practice of blended discrete & continuous models.

• But it’s still not accurate for software controllers

Page 6: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 6

Timing in Software is More Complex Than What the Theory Deals With

An example, due to Jie Liu, models two controllers sharing a CPU under an RTOS. Under preemptive multitasking, only one can be made stable (depending on the relative priorities). Under non-preemptive multitasking, both can be made stable.

Where is the theory for this?

Page 7: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 7

Another Traditional Systems Science -

Computation, Languages, and Semantics

States = Bits*

results + state out

sequence f : States States

Everything “computable” can be given by a terminating sequential program.

• Functions on bit patterns• Time is irrelevant• Non-terminating programs are defective

Alan Turing

Page 8: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 8

Current fashion – Pay Attention to “Non-functional properties”

• Time• Security• Fault tolerance• Power consumption• Memory management

But the formulation of the question is very telling:

How is it that when a braking system applies the brakes is any less a function of the braking system than how much braking it applies?

Page 9: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 9

Processes and Process Calculi

incoming message

outgoing message

Infinite sequences of state transformations are called “processes” or “threads”

In prevailing software practice, processes are sequences of external interactions (total orders).

And messaging protocols are combined in ad hoc ways.

Various messaging protocols lead to various formalisms.

Page 10: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 10

stalled for rendezvous

stalled by precedence

timing dependence

Interacting Processes –Concurrency as Afterthought

Software realizing these interactions is written at a very low level (semaphores and mutexes). Very hard to get it right.

Page 11: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 11

Interacting Processes –Not Compositional

An aggregation of processes is not a process (a total order of external interactions). What is it?

Many software failures are due to this ill-defined composition.

Page 12: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 12

What Will Replace This Approach?

• Synchronous languages(e.g. Esterel)?• Time-driven languages (e.g. Simulink, Giotto)?• Push/Pull component interactions?• Hybrid systems?• Timed process networks?• Discrete-event formalisms?• Timed CSP?

We intend to find out.

Page 13: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 13

Ptolemy Project within Chess

• Objective is to unify:– modeling– specification– design– programming

• Define modeling & design “languages” with:– syntaxes that aid understanding– composable abstractions– understandable concurrency and time– predictable behavior– robust behavior

All of these tasks are accomplished by the system designers.

Page 14: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 14

Ptolemy Project ParticipantsPtolemy Project ParticipantsDirector:Director:• Edward A. LeeEdward A. Lee

Staff:Staff:• Christopher HylandsChristopher Hylands• Susan Gardner (Chess)Susan Gardner (Chess)• Nuala MansardNuala Mansard• Mary P. StewartMary P. Stewart• Neil E. Turner (Chess)Neil E. Turner (Chess)• Lea Turpin (Chess)Lea Turpin (Chess)

Postdocs, Etc.:Postdocs, Etc.:• Joern Janneck, PostdocJoern Janneck, Postdoc• Rowland R. Johnson, Visiting Scholar Rowland R. Johnson, Visiting Scholar • Kees Vissers, Visiting Industrial FellowKees Vissers, Visiting Industrial Fellow• Daniel Lázaro Cuadrado, Visiting ScholarDaniel Lázaro Cuadrado, Visiting Scholar

Graduate Students:Graduate Students:

• J. Adam CataldoJ. Adam Cataldo• Chris ChangChris Chang• Elaine CheongElaine Cheong• Sanjeev KohliSanjeev Kohli• Xiaojun LiuXiaojun Liu• Eleftherios D. MatsikoudisEleftherios D. Matsikoudis• Stephen NeuendorfferStephen Neuendorffer• James YehJames Yeh• Yang ZhaoYang Zhao• Haiyang ZhengHaiyang Zheng• Rachel ZhouRachel Zhou

Page 15: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 15

At Work in the Chess Software At Work in the Chess Software LabLab

Page 16: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 16

Software Legacy of the Project

• Gabriel (1986-1991)– Written in Lisp– Aimed at signal processing– Synchronous dataflow (SDF) block diagrams – Parallel schedulers– Code generators for DSPs– Hardware/software co-simulators

• Ptolemy Classic (1990-1997)– Written in C++– Multiple models of computation– Hierarchical heterogeneity– Dataflow variants: BDF, DDF, PN– C/VHDL/DSP code generators– Optimizing SDF schedulers– Higher-order components

• Ptolemy II (1996-2022)– Written in Java– Domain polymorphism– Multithreaded– Network integrated– Modal models– Sophisticated type system– CT, HDF, CI, GR, etc.

Each of these served us, first-and-foremost, as a laboratory for investigating design.

• PtPlot (1997-??)– Java plotting package

• Tycho (1996-1998)– Itcl/Tk GUI framework

• Diva (1998-2000)– Java GUI framework

Page 17: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 17

Ptolemy Classic Example

Ptolemy application developed by Uwe Trautwein, Technical University of Ilmenau, Germany

Page 18: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 18

Modelin

g

Synth

esi

s

Heterogeneous,problem-leveldescription

Heterogeneous,implementation-level description Relating the problem

level with the implementation level

Page 19: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 19

Foundations

Our contributions:• Hierarchical Heterogeneity• Behavioral Types• Domain Polymorphism• Responsible Frameworks• Hybrid Systems Semantics• Tagged Signal Model• Discrete-Event Semantics• Starcharts and Modal Model Semantics• Continuous-Time Semantics• Dataflow Semantics (SDF, BDF, DDF, PN, CI)

Giving structure to the notion of“models of computation”

Page 20: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 20

Hierarchical Heterogeneity

In Ptolemy, the semantics of a block diagram is defined by a “director,” which is a component that the model builder places in the model. An “abstract semantics” defines the interaction across levels of hierarchy where the semantics differ.

continuous environment

modal model

discrete controller

example Ptolemy II model: hybrid control system

Page 21: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 21

Actor-Oriented DesignActors with Ports and Attributes

P ortP ort

A ctor A ctor

L inkR elation

A ctor

P ort

connection

connection conn

ectio

n

L ink

Link

A ttribu tes A ttribu tes

A ttribu tes

Model of Computation:

• Messaging schema• Flow of control• Concurrency

Examples:

• Push/Pull• Time triggered• Process networks• Discrete-event systems• Dataflow systems• Publish & subscribe

Key idea: The model of computation is part of the framework within which components are embedded rather than part of the components themselves.

Page 22: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 22

Actor View ofProducer/Consumer Components

Models of Computation:

• push/pull• continuous-time• dataflow• rendezvous• discrete events• synchronous• time-driven• publish/subscribe•…

Actor

IOPort

IORelation

P2P1

E1

E2

send(0,t) receiver.put(t) get(0)

token tR 1

Basic Transport:

Receiver(inside port)

Many actor-oriented frameworks assume a producer/consumer metaphor for component interaction.

Page 23: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 23

Examples of Actor-OrientedComponent Frameworks

• Easy5 (Boeing)• Simulink (The MathWorks)• Labview (National Instruments)• Modelica (Linkoping)• OCP, open control platform (Boeing)• GME, actor-oriented meta-modeling (Vanderbilt)• SPW, signal processing worksystem (Cadence)• System studio (Synopsys)• ROOM, real-time object-oriented modeling (Rational)• Port-based objects (U of Maryland)• I/O automata (MIT)• VHDL, Verilog, SystemC (Various)• Polis & Metropolis (UC Berkeley)• Ptolemy & Ptolemy II (UC Berkeley)• …

Page 24: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 24

Models of ComputationPrinciples of Model Driven

Architecture• Continuous-time models• Dataflow

– synchronous dataflow– boolean/integer dataflow– dynamic dataflow– heterochronous dataflow

• Push/pull models• Discrete-event models• Synchronous/reactive models• CSP models• Discrete-time models• Time-triggered models (TTA, Giotto)

• Modal models are possible in all cases

Page 25: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 25

Ptolemy Project Principles

Director from a library defines component interaction semantics

Large, domain-polymorphic component library.

Basic Ptolemy II infrastructure:

Page 26: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 26

Continuous-Time ModelsSoft Walls Avionics System

aircraft model

criticality calculation

pilot model

bias control

the w

all

Page 27: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 27

Synchronous Dataflow (SDF)

SDF offers feedback, multirate, static scheduling, deadlock analysis, parallel scheduling, static memory allocation.

Page 28: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 28

Parallel Scheduling of SDF Models

A

C

D

B

Sequential (software) Parallel (hardware)

SDF is suitable for automated mapping onto parallel processors

Page 29: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 29

Other Dataflow ModelsProcess Networks

Challenge problem under DARPA Mobies (Model-based design of embedded software),

Detection of unknown signal (PSK in this case)

Output data sequence, at detected baud rate. (not known apriori)

First Symbol

Expected Symbol Drift caused by error in estimation

Page 30: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 30

Discrete-Event ModelsSensor Nets Modeling

Ptolemy II model where actor icons depict sensor range and connectivity is not shown with wires

This model shows the results of a power optimization where the green node issues a broadcast signal and the red ones retransmit to relay the signal.

Page 31: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 31

Heterogeneous Models: Periodic/Time-Driven Control Inside Continuous Time

Giotto directorindicates a new model ofcomputation.

Domain-polymorphic component.

Domains can be nested and mixed.

Page 32: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 32

Heterogeneous ModelsModal Controller

Periodic, time-driven tasks

Modes (normal & faulty)

Controller task

Page 33: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 33

Heterogeneous ModelsHybrid Systems

HyVisual is a branded tool based on Ptolemy II designed for hybrid system modeling.

Page 34: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 34

Distributed Models, Middlewareand Systems of Systems

Currently, components are designed to the middleware APIs. Our objective is to define the components with middleware-polymorphic interfaces that declare precisely the assumptions and guarantees of the components.

Actor

IOPort

IORelation

P2P1

E1

E2

send(0,t) receiver.put(t) get(0)

token tR 1

Basic Transport:

Receiver(inside port)

Middleware mediates communication.

Platform 1 Platform 2

Middleware

Page 35: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 35

Distributed Models UsingMobile Models

Model-based distributed task management:

MobileModel actor accepts a StringToken containing an XML description of a model. It then executes that model on a stream of input data.

PushConsumer actor receives pushed data provided via CORBA, where the data is an XML model of a signal analysis algorithm.

Authors:Yang ZhaoSteve NeuendorfferXiaojun Liu

A significant challenge here is achieving type safety and security.

Page 36: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 36

MoML XML Schema Used to Transport Models

Ptolemy II designs are represented in XML:

... <entity name="FFT" class="ptolemy.domains.sdf.lib.FFT"> <property name="order" class="ptolemy.data.expr.Parameter" value="order"> </property> <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort"> ... </port> ... </entity> ... <link port="FFT.input" relation="relation"/> <link port="AbsoluteValue2.output" relation="relation"/> ...

Page 37: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 37

Verification & ValidationWhat Many People Say They Want

Push Me

A button that they can push that when pushed will tell them whether or not the design is correct.

Page 38: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 38

Behavioral Types –A More Practical Approach

• Capture the dynamic interaction of components in types

• Obtain benefits analogous to data typing.• Call the result behavioral types.

produceractor

consumeractor

IOPort

Receiver

Director

• Communication has– data types– behavioral types

• Components have– data type signatures– domain type signatures

• Components are– data polymorphic– domain polymorphic

Page 39: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 39

Receiver Interface

«Interface»Receiver

+get() : Token+getContainer() : IOPort+hasRoom() : boolean+hasToken() : boolean+put(t : Token)+setContainer(port : IOPort)

These polymorphic methods implement the communication semantics of a domain in Ptolemy II. The receiver instance used in communication is supplied by the director, not by the component.

produceractor

consumeractor

IOPort

Receiver

Director

Domain polymorphism is the idea that components can be defined to operate with multiple models of computation and multiple middleware frameworks.

Page 40: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 40

Key to Domain Polymorphism:Receiver Object Model

IOPort

FIFOQueue

1..1

1..1

«Interface»Receiver

+get() : Token+getContainer() : IOPort+hasRoom() : boolean+hasToken() : boolean+put(t : Token)+setContainer(port : IOPort)

0..1 0..n

QueueReceiver

NoRoomException

throws

NoTokenExceptionthrows

PNReceiver

«Interface»ProcessReceiver

CSPReceiver

SDFReceiver

ArrayFIFOQueue

1..11..1

DEReceiverMailbox

CTReceiver

Page 41: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 41

Behavioral Type System

executioninterface

communicationinterface

A type signature for a consumer actor.

• We capture patterns of component interaction in atype system framework.

• We describe interaction types and component behavior using interface automata.

• We do type checking through automata composition (detect component incompatibilities)

• Subtyping order is given by the alternating simulation relation, supporting domain polymorphism.

Page 42: Model-Based Design in the Ptolemy Project A Chess Project Center for Hybrid and Embedded Software Systems Edward A. Lee UC Berkeley Presented at Boeing,

Chess, UC Berkeley, E. A. Lee 42

Conclusion – What to Remember

• A new systems science– physical + computational

• Actor-oriented design– concurrent components interacting via ports

• Models of computation– principles of component interaction

• Hierarchical heterogeneity– principled mixing of models of computation

• Behavioral types– a practical approach to verification and interface definition

• Domain polymorphism– defining components for use in multiple contexts

http://ptolemy.eecs.berkeley.eduhttp://chess.eecs.berkeley.edu