Embedded software may end up like this as it scales up.

Size: px
Start display at page:

Download "Embedded software may end up like this as it scales up."

Transcription

1 Ptolemy II - Heterogeneous Modeling and Design in Java The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of welldefined models of computation that govern the interaction between components. Principal Investigator Edward A. Lee Technical Staff Christopher Hylands Mary P. Stewart Postdocs and Researchers Jorn Janneck Sonia Sachs Grad Students Elaine Cheong Brian Vogel Chamberlain Fong Paul Whitaker Jie Liu Yuhong Xiong Xiaojun Liu Steve Neuendorffer Embedded Systems Telephones Pagers Cars Audio equipment Aircraft Trains Appliances Toys Security systems Games PDAs Medical diagnostics Weapons Pacemakers Television Network switches... The fate of computers lacking interaction with physical processes. only 2% of computers today are first and foremost computers What we are trying to avoid: Embedded software may end up like this as it scales up. Poor common infrastructure. Weak specialization. Poor resource management and sharing. Poor planning. Elegant Federation Elegant federation of heterogeneous models. Two Rodeo Drive, Kaplan, McLaughlin, Diaz Source: Kaplan McLaughlin Diaz, R. Rappaport, Rockport,

2 Example: An Engine Control System Component-Based Design engine Finite E State H Machine C I fuel air Discrete Event embedded controller power train Continuous Time sensors Location transparency Hierarchy Modularity Reusability Scalability Component & Composition controller car model One Class of Semantic Models: Producer / Consumer H I E engine C power train process { write(); channel port port receiver process { read(); Are s active? passive? reactive? Are communications timed? synchronized? buffered? 2

3 Domains Provide semantic models for component interactions What is a domain? CSP concurrent threads with rendezvous CT continuous-time modeling DE discrete-event systems DT discrete time (cycle driven) PN process networks SDF synchronous dataflow SR synchronous/reactive Globally Asynchronous communication in Polis Each of these defines a component ontology and an interaction semantics between components. There are many more possibilities! Ontology: What is a component? States? Processes? Threads? Differential equations? Constraints? Objects (data + methods)? Epistemology: What knowledge do components have? Time? Name spaces? Signals? State? Protocols: How do components communicate? Rendezvous? Message passing? Continuous-time signals? Streams? Method calls? Lexicon: What do components communicate? Objects? Transfer of control? Data structures? ASCII text? Ptolemy II Our Software Laboratory Ptolemy II Provides Ptolemy II Java based, network integrated Many domains implemented Multi-domain modeling XML syntax for persistent data Block-diagram GUI Extensible type system Code generator on the way Component Architecture Execution Interface Infrastructure Support Expression language Type system Math package Graph package Plot package GUI package library 3

4 Example: Pendulum Ptolemy II Infrastructure CT DDE DE CSP FSM SDF Giotto RTP moml data lang Kernel math gui graph plot PN GR Author: Chamberlain Fong kernel Component Component kernel.util ComponentRelation Attribute Composite CrossRefList IllegalActionException InternalErrorException Relation InvalidStateException KernelException NameDuplicationException Nameable NamedList NamedObj NoSuchItemException PtolemyThread Workspace kernel.event TopologyChangeFailedException TopologyChangeRequest TopologyEvent TopologyListener TopologyMulticaster Listener.util Atomic Composite CQComparator DefaultExecutionListener CalendarQueue Director DoubleCQComparator Executable FIFOQueue ExecutionEvent ExecutionListener IO IORelation Mailbox Manager NoRoomException NoTokenException QueueReceiver Receiver TypeConflictException TypeTerm.lib Typed Add TypedAtomic Const TypedComposite Demux TypedIO Expression TypedIORelation FunctionGenerator.process Gain Multiply NotifyThread Mux ProcessDirector Plot ProcessReceiver Print ProcessThread Repeat TerminateProcessException Select Switch.sched XYPlot NotSchedulableException Scheduler StaticSchedulingDirector graph CPO math DirectedAcyclicGraph ArrayMath DirectedGraph Complex Graph ExtendedMath Inequality Fraction InequalitySolver SignalProcessing InequalityTerm data BooleanMatrixToken BooleanToken data.expr ComplexMatrixToken ASCII_CharStream ComplexToken ASTPtBitwiseNode DoubleMatrixToken ASTPtFunctionNode DoubleToken ASTPtFunctionalIfNode IntMatrixToken ASTPtLeafNode IntToken ASTPtLogicalNode LongMatrixToken ASTPtMethodCallNode LongToken ASTPtProductNode MatrixToken ASTPtRelationalNode Numerical ASTPtRootNode ObjectToken ASTPtSumNode ScalarToken ASTPtUnaryNode StringToken JJTPtParserState Token Node TypeLattice Parameter ParameterEvent ParameterListener ParseException PtParser PtParserConstants PtParserTokenManager PtParserTreeConstants SimpleNode Token TokenMgrError UtilityFunctions plot schematic LogicAnalyzer Domain LogicAnalyzerFrame Type Message Icon Plot IconLibrary PlotApplet PTMLParser PlotApplication PTMLPrinter PlotBox PtolemySystem PlotDataException Schematic PlotFrame SchematicElement PlotLive Schematic PlotLiveApplet SchematicParameter PlotPoint Schematic Pxgraph SchematicRelation XMLElement media Audio AudioViewer Ptolemy II Packages kernel (clusterd graphs) (executable models) data (tokens, expressions) moml (persistent model ) graph (graph algorithms) math (math algorithms) plot (plotting utilities) kernel Component Component ComponentRelation Composite Relation Basic Kernel Classes Attribute NamedObj _container : -_relationslist : CrossRefList +() container +(w : Workspace) n +(container :, name : String) link -_portlist : NamedList +connecteds() : Enumeration +() containee +islinked(r : Relation) : boolean 0..n +isopaque() : boolean +(name : String) +(w : Workspace, name : String) +linkedrelations() : Enumeration +connecteds() : Enumeration +link(r : Relation) +connectionschanged(p : ) +numlinks() : int +setcontainer(c : ) +get(name : String) : +unlink(r : Relation) +gets() : Enumeration +unlinkall() +linkedrelations() : Enumeration +new(name : String) : #_link(r : Relation) +removealls() #_add(p : ) #_remove(p : ) CrossRefList Relation -_portlist : CrossRefList +Relation() 0..n +Relation(name : String) +Relation(w : Workspace, name : String) link +linkeds() : Enumeration +linkeds(except : ) : Enumeration +numlinks() : int +unlinkall() #_check(p : ) #_getlist() : CrossRefList 4

5 Kernel Package Clustering connection Relation Link Link connection Link connection The Ptolemy II kernel provides an abstract syntax - clustered graphs - that is well suited to a wide variety of domains, ranging from state machines to process networks. Here is a simple graph with three interrelated entities. Relation Atomic opaque dangling transparent transparent transparent Composite toplevel Composite The ports deeply connected to the red port are the blue ones. Composite entities and ports in Ptolemy II provide a simple and powerful, domainindependent abstraction mechanism Mutations The kernel.event package provides support for Queuing requests for topology changes Processing requests for topology changes Registering listeners Notifying listeners of changes Thus, models with dynamically changing topologies are cleanly supported, and the in each domain can control when mutations are implemented. Package Basic Transport: send(0,t) receiver.put(t) get(0) E1 P1 R1 IO P2 IORelation token t E2 Receiver (inside port) Services Message passing Executable interface Topology caching Clustering Parameterization Typing Polymorphism 5

6 Executable Interface Manager and Directors execution preinitialize() initialize() iteration () () fire() () Hierarchical Heterogeneity: E0 E1 M: Manager D1: local P1 E2 P2 Opaque Composite D2: local E4 P5 P6 P3 Transparent Composite E3 P4 Directors are domain-specific. A composite with a becomes opaque. The Manager is domainindependent. E5 P7 Hierarchical Heterogeneity vs. Amorphous Heterogeneity Execution Sequencing Execution Sequence: Manager.run() initialization no no execution Amorphous Hierarchical Manager initialize process mutations check types ready? yes fire done? yes Composite initialize fire not ready no Director initialize s select an fire... done? transfer outputs s no more s opaque Composite initialize request transfer inputs fire request transfer outputs Color is a communication protocol only, which interacts in unpredictable ways with the flow of control. Color is a domain, which defines both the flow of control and interaction protocols. Director initialize s transfer inputs fire no... done? s 6

7 Creating a Model Vergil An Extensible Visual Editor Choose applet or application Choose Vergil, MoML, or Java code Pick one or more domains Drag and drop s and make connections Design control interface Soon: Choose distribution architecture Ptolemy II uses features in JDK 1.3, and hence requires use of the Java plug-in with current released browsers. Live editor with XML persistent file format. XML Model Specification (MoML) HTML Internet explorer and Netscape have different plug-in architectures :-( <?xml version="1.0" standalone="no"?> <!DOCTYPE model SYSTEM "DTD location"> <model class="classname"> <entity name="a" class="classname"></entity> <entity name="b" class="classname"></entity> <entity name="c" class="classname"></entity> <relation name="r1"></relation> <OBJECT classid="clsid:8ad9c e-11d1-b3e f499d93" width="700" height="300" codebase=" <PARAM NAME="code" VALUE="doc.tutorial.TutorialApplet.class"> <PARAM NAME="codebase" VALUE="../.."> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.2"> <COMMENT> <EMBED type="application/x-java-applet;version=1.3" width="700" height="300" code="doc/tutorial/tutorialapplet.class" <relation name="r2"></relation> <link port="a.out" relation="r1"/> <link port="b.in" relation="r1"/> <link port="c.out" relation="r2"/> <link port="b.in" relation="r2"/> </model> A B out out r1 r2 in C codebase="../.." pluginspage=" </COMMENT> <NOEMBED> No JDK 1.3 support for applet! </NOEMBED> </EMBED> </OBJECT> 7

8 Simple Applet Directly in Java Compiling and Running package doc.tutorial; import ptolemy.domains.de.gui.deapplet; import ptolemy..lib.clock; import ptolemy..gui.timedplotter; public class TutorialApplet extends DEApplet { public void init() { super.init(); try { Clock clock = new Clock(_toplevel,"clock"); TimedPlotter plotter = new TimedPlotter(_toplevel,"plotter"); _toplevel.connect(clock.output, plotter.input); catch (Exception ex) { cd $PTII/doc/tutorial cp TutorialApplet1.java TutorialApplet.java javac -classpath../.. TutorialApplet.java appletviewer tutorial.htm Example: Sticky Masses Sticky Masses: Block Diagram out = k 1 *(y 1 - in)/m 1 C P:=P1 V:=(V 1 *m 1 +V 2 *m 2 )/(m 1 +m 2 ) s:=5 out = (k 1 *y 1 + k 2 *y 2 - in)/(m 1 +m 2 ) P 1 P 1 V 1 P 2 P 1 =? C V 2 out = k 1 *(y 1 -in) - k 2 *(y 2 - in) F s V P 2 Plot P 2 -s S t The stickiness is exponentially decaying with respect to time. out = k 2 *(y 2 - in)/m 2 F s >S t P 1 :=P P 2 :=P V 1 :=V V 2 :=V 8

9 Sticky Masses: Simulation Nascent Generator Infrastructure Domain semantics defines communication, flow of control Ptolemy II model All s will be given in Java, then translated to embedded Java, C, VHDL, etc. First version created by Jeff Tsay. if block parser method call method call block abstract syntax tree scheduler code generator Schedule: - fire Gaussian0 -fire Ramp1 -fire Sine2 -fire AddSubtract5 - fire SequenceScope10 for (int i = 0; i < plus.getwidth(); i++) { if (plus.hastoken(i)) { if (sum == null) { sum = plus.get(i); else { sum = sum.add(plus.get(i)); target code Generator Approach Experimental Result: Orthogonalcom system libraries are built and maintained in Java more maintainable, easier to write polymorphic libraries are rich and small Java + Domain translates to target language concurrent and imperative semantics Efficiency gotten through code transformations specialization of polymorphic types code substitution using domain semantics removal of excess exception handling Interpreted performance increase between 2.5x and 10x, depending on JIT Statically compiled version has additional 2x performance gain with GCJ Code size reduction around 10x 9

10 e-ptolemy: A Distributed Embedded Software Framework Location Transparent Components Location Transparent Components Publish and Subscribe Message Passing Federation of Networked Embedded Systems UAV s Landing Deck network wireless network Ground Robots Base-Station Publish and Subscribe Design in an Abstract Universe controller fault detection UI Commu nication controller fault detection subscribe UI Commu nication When choosing syntax and semantics, we can invent the laws of physics that govern the interaction of components. sensors Event channel publish sensors As with any such laws, their utility depends on our ability to understand models governed by the laws. Magritte, Gelconde 10

The Ptolemy II Framework for Visual Languages

The Ptolemy II Framework for Visual Languages The Ptolemy II Framework for Visual Languages Xiaojun Liu Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University of California at Berkeley Ptolemy II - Heterogeneous

More information

System-Level Design Languages: Orthogonalizing the Issues. Kees Vissers

System-Level Design Languages: Orthogonalizing the Issues. Kees Vissers System-Level Design Languages: Orthogonalizing the Issues Tom Henzinger Jörn W. Janneck Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli Kees Vissers Kees Vissers Ptolemy Miniconference Berkeley,

More information

UC Berkeley Mobies Technology Project

UC Berkeley Mobies Technology Project UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom Henzinger Heterogeneous Modeling Discrete-Event RAM mp I/O DSP DXL ASIC Hydraulic

More information

-PTOLEMY II - HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA

-PTOLEMY II - HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA -PTOLEMY II - HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA John Davis, II Christopher Hylands Bart Kienhuis Edward A. Lee Jie Liu Xiaojun Liu Lukito Muliadi Steve Neuendorffer Jeff Tsay Brian Vogel

More information

Actor-Oriented Design and The Ptolemy II framework

Actor-Oriented Design and The Ptolemy II framework Actor-Oriented Design and The Ptolemy II framework http://ptolemy.eecs.berkeley.edu/ 1 Ptolemy II objectives Supports modeling, simulation and design of concurrent systems Promotes component-based modeling,

More information

System-Level Design Languages: Orthogonalizing the Issues

System-Level Design Languages: Orthogonalizing the Issues System-Level Design Languages: Orthogonalizing the Issues The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli Kees Vissers Edward A. Lee UC Berkeley What

More information

Embedded Software from Concurrent Component Models

Embedded Software from Concurrent Component Models Embedded Software from Concurrent Component Models Edward A. Lee UC Berkeley with Shuvra Bhattacharyya, Johan Eker, Christopher Hylands, Jie Liu, Xiaojun Liu, Steve Neuendorffer, Jeff Tsay, and Yuhong

More information

Ptolemy II The automotive challenge problems version 4.1

Ptolemy II The automotive challenge problems version 4.1 Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks to Jie Liu, Paul Griffiths, and Steve Neuendorffer MoBIES Working group meeting, 27-28 September 2001, Dearborn

More information

Component-Based Design of Embedded Control Systems

Component-Based Design of Embedded Control Systems Component-Based Design of Embedded Control Systems Luca Dealfaro Chamberlain Fong Tom Henzinger Christopher Hylands John Koo Edward A. Lee Jie Liu Xiaojun Liu Steve Neuendorffer Sonia Sachs Shankar Sastry

More information

Concurrent Component Patterns, Models of Computation, and Types

Concurrent Component Patterns, Models of Computation, and Types Concurrent Component Patterns, Models of Computation, and Types Edward A. Lee Yuhong Xiong Department of Electrical Engineering and Computer Sciences University of California at Berkeley Presented at Fourth

More information

Overview of the Ptolemy Project

Overview of the Ptolemy Project Overview of the Ptolemy Project Edward A. Lee Robert S. Pepper Distinguished Professor and Chair of EECS, UC Berkeley EECS 249 Guest Lecture Berkeley, CA September 20, 2007 Elevator Speech The Ptolemy

More information

The Gigascale Silicon Research Center

The Gigascale Silicon Research Center The Gigascale Silicon Research Center The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli Kees Vissers Edward A. Lee UC Berkeley What is GSRC? The MARCO/DARPA

More information

Discrete-Event Modeling and Design of Embedded Software

Discrete-Event Modeling and Design of Embedded Software Discrete-Event Modeling and Design of Embedded Software Workshop on Discrete Event Systems WODES 2000 Edward Lee UC Berkeley Ghent, Belgium 21-23 August, 2000 Heterogeneous Modeling Discrete-Event RAM

More information

Component-Based Design of Embedded Control Systems

Component-Based Design of Embedded Control Systems Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire Berkeley and Boeing SEC teams SEC PI Meeting Annapolis, May 8-9, 2001 Precise Mode Change

More information

Giotto Domain. 5.1 Introduction. 5.2 Using Giotto. Edward Lee Christoph Kirsch

Giotto Domain. 5.1 Introduction. 5.2 Using Giotto. Edward Lee Christoph Kirsch Chapter 5 from: C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng "Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains)," Technical Memorandum UCB/ERL M04/17,

More information

Integration of OpenModelica in Ptolemy II

Integration of OpenModelica in Ptolemy II Mana Mirzaei Lena Buffoni Peter Fritzson Department of Computer and Information Science (IDA), Linköping University, Division SE-581 83, Linköping, Sweden Abstract In this paper we present the work done

More information

Actor Package. 2.1 Concurrent Computation. Christopher Hylands Jie Liu Lukito Muliadi Steve Neuendorffer Neil Smyth Yuhong Xiong Haiyang Zheng

Actor Package. 2.1 Concurrent Computation. Christopher Hylands Jie Liu Lukito Muliadi Steve Neuendorffer Neil Smyth Yuhong Xiong Haiyang Zheng Chapter 2 from: C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng "Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture)," Technical Memorandum

More information

The Problem With Threads

The Problem With Threads The Problem With Threads Edward A. Lee Robert S. Pepper Distinguished Professor and Chair of EECS UC Berkeley -and - Senior Technical Adviser, director, and co-founder of BDTI Class #: ESC-211 Embedded

More information

SDF Domain. 3.1 Purpose of the Domain. 3.2 Using SDF Deadlock. Steve Neuendorffer

SDF Domain. 3.1 Purpose of the Domain. 3.2 Using SDF Deadlock. Steve Neuendorffer Chapter 3 from: C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng "Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains)," Technical Memorandum UCB/ERL M04/7,

More information

Rich Client Viewer (applet)

Rich Client Viewer (applet) Rich Client Viewer (applet) Viewer Applet Html Code Minimal HTML required to view as applet (mydisplay.html):

More information

Process-Based Software Components Final Mobies Presentation

Process-Based Software Components Final Mobies Presentation Process-Based Software Components Final Mobies Presentation Edward A. Lee Professor UC Berkeley PI Meeting, Savannah, GA January 21-23, 2004 PI: Edward A. Lee, 510-642-0455, eal@eecs.berkeley.edu Co-PI:

More information

Model-Based Design in the Ptolemy Project

Model-Based Design in the Ptolemy Project 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

More information

Heterogeneous Modeling and Design - Edward A. Lee (PI) -

Heterogeneous Modeling and Design - Edward A. Lee (PI) - Heterogeneous Modeling and Design - Edward A. Lee (PI) - Staff Jennifer Basler Christopher Hylands Mary P. Stewart Postdoctoral Researchers H. John Reekie Students Albert Chen John Davis, II Mudit Goel

More information

An Overview of the Ptolemy Project and Actor-Oriented Design

An Overview of the Ptolemy Project and Actor-Oriented Design An Overview of the Ptolemy Project and Actor-Oriented Design Edward A. Lee Professor UC Berkeley OMG Technical Meeting Feb. 4, 2004 Anaheim, CA, USA Special thanks to the entire Ptolemy Team. Center for

More information

Extending Ptolemy II

Extending Ptolemy II Extending Ptolemy II Edward A. Lee Robert S. Pepper Distinguished Professor and Chair of EECS, UC Berkeley EECS 249 Guest Lecture Berkeley, CA September 20, 2007 Ptolemy II Extension Points Define actors

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

Designing Actors. 5.1 Overview. Edward A. Lee Jie Liu Xiaojun Liu Steve Neuendorffer Yuhong Xiong Winthrop Williams

Designing Actors. 5.1 Overview. Edward A. Lee Jie Liu Xiaojun Liu Steve Neuendorffer Yuhong Xiong Winthrop Williams Chapter 5 from: C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng "Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II)," Technical Memorandum UCB/ERL

More information

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II Johan Eker, Chamberlain Fong, Jörn W. Janneck, Jie Liu Department of Electrical Engineering and Computer Sciences University of California

More information

VOLUME 2: PTOLEMY II SOFTWARE ARCHITECTURE. Document Version 5.0 for use with Ptolemy II 5.0 July 15, 2005

VOLUME 2: PTOLEMY II SOFTWARE ARCHITECTURE. Document Version 5.0 for use with Ptolemy II 5.0 July 15, 2005 PTOLEMY II HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA Edited by: Christopher Brooks, Edward A. Lee, Xiaojun Liu, Steve Neuendorffer, Yang Zhao, Haiyang Zheng VOLUME 2: PTOLEMY II SOFTWARE ARCHITECTURE

More information

Interface Automata and Actif Actors

Interface Automata and Actif Actors Interface Automata and Actif Actors H. John Reekie Dept. of Electrical Engineering and Computer Science University of California at Berkeley johnr@eecs.berkeley.edu Abstract This technical note uses the

More information

VOLUME 1: INTRODUCTION TO PTOLEMY II. Document Version 3.0 for use with Ptolemy II 3.0 July 16, 2003

VOLUME 1: INTRODUCTION TO PTOLEMY II. Document Version 3.0 for use with Ptolemy II 3.0 July 16, 2003 PTOLEMY II HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA Edited by: Christopher Hylands, Edward A. Lee, Jie Liu, Xiaojun Liu, Steve Neuendorffer, Yuhong Xiong, Haiyang Zheng VOLUME 1: INTRODUCTION

More information

The Future of the Ptolemy Project

The Future of the Ptolemy Project The Future of the Ptolemy Project Edward A. Lee UC Berkeley With thanks to the entire Ptolemy Team. Ptolemy Miniconference Berkeley, CA, March 22-23, 2001 The Problem Composition Decomposition Corba? TAO?

More information

Model-Driven Development From Object-Oriented Design to Actor-Oriented Design

Model-Driven Development From Object-Oriented Design to Actor-Oriented Design Model-Driven Development From Object-Oriented Design to Actor-Oriented Design Edward A. Lee Professor UC Berkeley Invited Talk Workshop on Software Engineering for Embedded Systems From Requirements to

More information

Future Directions. Edward A. Lee. Berkeley, CA May 12, A New Computational Platform: Ubiquitous Networked Embedded Systems. actuate.

Future Directions. Edward A. Lee. Berkeley, CA May 12, A New Computational Platform: Ubiquitous Networked Embedded Systems. actuate. Future Directions Edward A. Lee 6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 A New Computational Platform: Ubiquitous Networked Embedded Systems sense actuate control Ptolemy II support

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Master Thesis Integration of OpenModelica into the Multi-paradigm Modeling Environment of Ptolemy II by Mana Mirzaei LIU-IDA/LITH-EX-A--13/065--SE

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

Building Unreliable Systems out of Reliable Components: The Real Time Story

Building Unreliable Systems out of Reliable Components: The Real Time Story Building Unreliable Systems out of Reliable Components: The Real Time Story Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center for Hybrid and Embedded Software Systems UC Berkeley

More information

The Kernel. 1.1 Abstract Syntax

The Kernel. 1.1 Abstract Syntax Chapter 1 from: C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng "Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture)," Technical Memorandum

More information

An Overview of the Ptolemy Project. Organizational

An Overview of the Ptolemy Project. Organizational An Overview of the Ptolemy Project Edward A. Lee Professor and Principal Investigator UC Berkeley Dept. of EECS Copyright 1997, The Regents of the University of California All rights reserved. Organizational

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-11, Edward A. Lee, All rights reserved

More information

The Ptolemy Project. Modeling and Design of Reactive Systems. Presenter: Praveen Murthy, PhD Postdoc and Presenter

The Ptolemy Project. Modeling and Design of Reactive Systems. Presenter: Praveen Murthy, PhD Postdoc and Presenter The Ptolemy Project Modeling and Design of Reactive Systems Presenter: Praveen Murthy, PhD Postdoc and Presenter Edward A. Lee Professor and PI UC Berkeley Dept. of EECS Copyright 1997, The Regents of

More information

Advanced Tool Architectures

Advanced Tool Architectures Advanced Tool Architectures Edited and Presented by Edward A. Lee, Co-PI UC Berkeley Chess Review November 18, 2004 Berkeley, CA Tool Projects Concurrent model-based design E machine & S machine (Henzinger)

More information

Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture)

Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture) Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture) Christopher Brooks Edward A. Lee Xiaojun Liu Stephen Neuendorffer Yang Zhao Haiyang Zheng Electrical Engineering

More information

Concurrent Models of Computation for Embedded Software

Concurrent Models of Computation for Embedded Software Concurrent Models of Computation for Embedded Software Edward A. Lee Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights reserved

More information

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA Advanced Tool Architectures Edited and Presented by Edward A. Lee, Co-PI UC Berkeley Chess Review May 10, 2004 Berkeley, CA Tool Projects Concurrent model-based design Giotto (Henzinger) E machine & S

More information

Mobies Ethereal Sting OEP The Ptolemy II Experiment. E0 Implementation in Ptolemy II. Edward A. Lee Professor UC Berkeley

Mobies Ethereal Sting OEP The Ptolemy II Experiment. E0 Implementation in Ptolemy II. Edward A. Lee Professor UC Berkeley Mobies Ethereal Sting OEP The Ptolemy II Experiment Edward A. Lee Professor UC Berkeley Ethereal Sting Working Group Meeting June 10, 2003 Arlington, VA E0 Implementation in Ptolemy II Authors: Mark Oliver

More information

Hybrid System Modeling: Operational Semantics Issues

Hybrid System Modeling: Operational Semantics Issues Hybrid System Modeling: Operational Semantics Issues Edward A. Lee Professor UC Berkeley OMG Technical Meeting Feb. 4, 2004 Anaheim, CA, USA Special thanks to Jie Liu, Xiaojun Liu, Steve Neuendorffer,

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 290n Advanced Topics in Systems Theory Concurrent Models of Computation Spring 2009 Copyright 2009,

More information

SimWORKS, A Hybrid Java/C++ Simulation Platform

SimWORKS, A Hybrid Java/C++ Simulation Platform SimWORKS, A Hybrid Java/C++ Simulation Platform N. Stoffel, D. Richards, K. Thangaiah, H. Korada, R. Scarmozzino, B. Whitlock RSoft Design Group, Inc. Work supported in part by the NIST Advanced Technology

More information

Automatic Transformation from Geospatial Conceptual Workflow to Executable Workflow Using GRASS GIS Command Line Modules in Kepler *

Automatic Transformation from Geospatial Conceptual Workflow to Executable Workflow Using GRASS GIS Command Line Modules in Kepler * Automatic Transformation from Geospatial Conceptual Workflow to Executable Workflow Using GRASS GIS Command Line Modules in Kepler * Jianting Zhang, Deana D. Pennington, and William K. Michener LTER Network

More information

An Extensible Type System for Component-Based Design

An Extensible Type System for Component-Based Design An Extensible Type System for Component-Based Design Yuhong Xiong and Edward A. Lee {yuhong, eal}@eecs.berkeley.edu Abstract. We present the design and implementation of the type system for Ptolemy II,

More information

Vergil: Component-Based Design Environment

Vergil: Component-Based Design Environment Vergil: Component-Based Design Environment Steve Neuendorffer Ptolemy Miniconference Berkeley, CA, March 22-23, 2001 Graph Editor editable model visualization A library of actors and directors hierarchical

More information

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5 In summary, the key idea in the Ptolemy project is to mix models of computation, rather than trying to develop one, all-encompassing model. The rationale is that specialized models of computation are (1)

More information

The Ptolemy Kernel Supporting Heterogeneous Design

The Ptolemy Kernel Supporting Heterogeneous Design February 16, 1995 The Ptolemy Kernel Supporting Heterogeneous Design U N T H E I V E R S I T Y A O F LET THERE BE 1868 LIG HT C A L I A I F O R N by The Ptolemy Team 1 Proposed article for the RASSP Digest

More information

Process-Based Software Components. Subcontractors and Collaborators

Process-Based Software Components. Subcontractors and Collaborators Process-Based Software Components Mobies Phase 1, UC Berkeley Edward A. Lee and Tom Henzinger (with contributions from Steve Neuendorffer, Christopher Hylands, Jie Liu, Xiaojun Liu, and Haiyang Zheng)

More information

VOLUME 1: INTRODUCTION TO PTOLEMY II. Document Version 5.0 for use with Ptolemy II 5.0 July 15, 2005

VOLUME 1: INTRODUCTION TO PTOLEMY II. Document Version 5.0 for use with Ptolemy II 5.0 July 15, 2005 PTOLEMY II HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA Edited by: Christopher Brooks, Edward A. Lee, Xiaojun Liu, Steve Neuendorffer, Yang Zhao, Haiyang Zheng VOLUME 1: INTRODUCTION TO PTOLEMY

More information

Dynamic Dataflow Modeling in Ptolemy II. by Gang Zhou. Research Project

Dynamic Dataflow Modeling in Ptolemy II. by Gang Zhou. Research Project Dynamic Dataflow Modeling in Ptolemy II by Gang Zhou Research Project Submitted to the Department of Electrical Engineering and Computer Sciences, University of California at Berkeley, in partial satisfaction

More information

Process Networks in Ptolemy II

Process Networks in Ptolemy II Process Networks in Ptolemy II by Mudit Goel mudit@eecs.berkeley.edu Technical Memorandum UCB/ERL M98/69 Electronics Research Laboratory, Berkeley, CA 94720 December 16, 1998 A dissertation submitted in

More information

Documentation Programmer-Oriented

Documentation Programmer-Oriented Documentation Programmer-Oriented Volume 3 Programmer s Manual software organization writing stars infrastructure data types Tcl/Tk domains code generation Volume 4 Kernel Manual detailed documentation

More information

An Extensible Type System for Component-Based Design

An Extensible Type System for Component-Based Design An Extensible Type System for Component-Based Design Yuhong Xiong and Edward A. Lee {yuhong, eal}@eecs.berkeley.edu Abstract. We present the design and implementation of the type system for Ptolemy II,

More information

Java Code Generation. Outline. Steve Neuendorffer UC Berkeley. Motivation Code generation architecture Component Specialization

Java Code Generation. Outline. Steve Neuendorffer UC Berkeley. Motivation Code generation architecture Component Specialization Java Code Generation Steve Neuendorffer UC Berkeley 5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 Outline Motivation Code generation architecture Component Specialization Parameter Type

More information

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15 12 Specifications Peter Marwedel TU Dortmund, Informatik 12 2008/11/15 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course Application Knowledge 3: Embedded System HW 2: Specifications

More information

A Model-Driven Approach to Embedded Control System Implementation

A Model-Driven Approach to Embedded Control System Implementation A Model-Driven Approach to Embedded Control System Implementation Jan F. Broenink, Marcel A. Groothuis, Peter M. Visser, Bojan Orlic Control Engineering, CTIT, Faculty EE-M-CS,, Enschede, Netherlands e-mail:

More information

Actor-Oriented Design: Concurrent Models as Programs

Actor-Oriented Design: Concurrent Models as Programs Actor-Oriented Design: Concurrent Models as Programs Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded Software Systems (CHESS) Parc Forum Palo Alto, CA May 13, 2004 Abstract

More information

Experiment 6 SIMULINK

Experiment 6 SIMULINK Experiment 6 SIMULINK Simulink Introduction to simulink SIMULINK is an interactive environment for modeling, analyzing, and simulating a wide variety of dynamic systems. SIMULINK provides a graphical user

More information

Kepler: An Extensible System for Design and Execution of Scientific Workflows

Kepler: An Extensible System for Design and Execution of Scientific Workflows DRAFT Kepler: An Extensible System for Design and Execution of Scientific Workflows User Guide * This document describes the Kepler workflow interface for design and execution of scientific workflows.

More information

Simulation of LET Models in Simulink and Ptolemy

Simulation of LET Models in Simulink and Ptolemy Simulation of LET Models in Simulink and Ptolemy P. Derler, A. Naderlinger, W. Pree, S. Resmerita, J. Templ Monterey Workshop 2008, Budapest, Sept. 24-26, 2008 C. Doppler Laboratory Embedded Software Systems

More information

Review Sources of Architecture. Why Domain-Specific?

Review Sources of Architecture. Why Domain-Specific? Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design

More information

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING Frédéric Boulanger Supélec Département Informatique, 3 rue Joliot-Curie, 91192 Gif-sur-Yvette cedex, France Email: Frederic.Boulanger@supelec.fr Guy

More information

BEA WebLogic Server. Using Applets with WebLogic Server

BEA WebLogic Server. Using Applets with WebLogic Server BEA WebLogic Server Using Applets with WebLogic Server BEA WebLogic Server Version 6.1 Document Date: December 19, 2001 Copyright Copyright 2001 BEA Systems, Inc. All Rights Reserved. Restricted Rights

More information

An Approach to Executing Ptolemy Classic Models under Ptolemy II

An Approach to Executing Ptolemy Classic Models under Ptolemy II An Approach to Executing Ptolemy Classic Models under Ptolemy II Ned Stoffel Dwight Richards Neil Smyth (currently with Altio) Matt Goodman Marcus Pang Gee Ng Ptolemy Miniconference March 23rd, 2001 Work

More information

Using Vergil. This section shows how to start Vergil, how to execute and explore pre-built models, and how to construct your own models.

Using Vergil. This section shows how to start Vergil, how to execute and explore pre-built models, and how to construct your own models. Chapter 2 from: C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng "Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II)," Technical Memorandum UCB/

More information

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08 12 Data flow models Peter Marwedel TU Dortmund, Informatik 12 2009/10/08 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Models of computation considered in this course Communication/ local computations

More information

World Wide Web Server.

World Wide Web Server. World Wide Web Server Complete distribution of version 0.5.2, including all source code. Distribution of Ptiny Ptolemy, a small demonstration version. An evolving quick tour of Ptolemy with animations

More information

Modeling, Simulation, and Design of Concurrent Real-Time Embedded Systems Using Ptolemy

Modeling, Simulation, and Design of Concurrent Real-Time Embedded Systems Using Ptolemy Modeling, Simulation, and Design of Concurrent Real-Time Embedded Systems Using Ptolemy Edward A. Lee Robert S. Pepper Distinguished Professor EECS Department UC Berkeley Ptutorial EECS 249, Sept. 13,

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

VOLUME 3: PTOLEMY II DOMAINS. Document Version 5.0 for use with Ptolemy II 5.0 July 15, 2005

VOLUME 3: PTOLEMY II DOMAINS. Document Version 5.0 for use with Ptolemy II 5.0 July 15, 2005 PTOLEMY II HETEROGENEOUS CONCURRENT MODELING AND DESIGN IN JAVA Edited by: Christopher Brooks, Edward A. Lee, Xiaojun Liu, Steve Neuendorffer, Yang Zhao, Haiyang Zheng VOLUME 3: PTOLEMY II DOMAINS Authors:

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 2009/10/20 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course 2: Specification Design repository Design Application

More information

Java Applets. Last Time. Java Applets. Java Applets. First Java Applet. Java Applets. v We created our first Java application

Java Applets. Last Time. Java Applets. Java Applets. First Java Applet. Java Applets. v We created our first Java application Last Time v We created our first Java application v What are the components of a basic Java application? v What GUI component did we use in the examples? v How do we write to the standard output? v An

More information

Jupiter: A Modular and Extensible JVM

Jupiter: A Modular and Extensible JVM Jupiter: A Modular and Extensible JVM Patrick Doyle and Tarek Abdelrahman Edward S. Rogers, Sr. Department of Electrical and Computer Engineering University of Toronto {doylep tsa}@eecg.toronto.edu Outline

More information

Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II)

Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II) Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II) Christopher Brooks Edward A. Lee Xiaojun Liu Stephen Neuendorffer Yang Zhao Haiyang Zheng Electrical Engineering

More information

C Code Generation from the Giotto Model of Computation to the PRET Architecture

C Code Generation from the Giotto Model of Computation to the PRET Architecture C Code Generation from the Giotto Model of Computation to the PRET Architecture Shanna-Shaye Forbes Ben Lickly Man-Kit Leung Electrical Engineering and Computer Sciences University of California at Berkeley

More information

The Waveform Description Language. Overview

The Waveform Description Language. Overview 1 The Waveform Description Language Moving from Implementation to Specification in Ptolemy II E.D.Willink, Thales Research Limited, Ed.Willink@rrl.co.uk, http://www.thalesresearch.com/projects/wdl/wdl.html

More information

AFRL-RI-RS-TR

AFRL-RI-RS-TR AFRL-RI-RS-TR-2010-192 AN EXTENSIBLE MODEL AND ANALYSIS FRAMEWORK University of California, Berkeley November 2010 FINAL TECHNICAL REPORT APPROVED FOR PUBLIC RELEASE; DISTRIBUTION UNLIMITED. STINFO COPY

More information

Understandable Concurrency

Understandable Concurrency Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS Director, CHESS: Center for Hybrid and Embedded Software Systems Director, Ptolemy Project UC Berkeley Chess Review November 21, 2005 Berkeley,

More information

Automatic Specialization of Actor-oriented Models in Ptolemy II by Stephen Neuendorffer. Research Project

Automatic Specialization of Actor-oriented Models in Ptolemy II by Stephen Neuendorffer. Research Project Automatic Specialization of Actor-oriented Models in Ptolemy II by Stephen Neuendorffer Research Project Submitted to the Department of Electrical Engineering and Computer Sciences, University of California

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

Compositionality in system design: interfaces everywhere! UC Berkeley

Compositionality in system design: interfaces everywhere! UC Berkeley Compositionality in system design: interfaces everywhere! Stavros Tripakis UC Berkeley DREAMS Seminar, Mar 2013 Computers as parts of cyber physical systems cyber-physical ~98% of the world s processors

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Embedded Systems 8. Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines

Embedded Systems 8. Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines Embedded Systems 8 - - Dataflow modeling Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines processes (activities that transform data from one

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

METROII AND PTOLEMYII INTEGRATION. Presented by: Shaoyi Cheng, Tatsuaki Iwata, Brad Miller, Avissa Tehrani

METROII AND PTOLEMYII INTEGRATION. Presented by: Shaoyi Cheng, Tatsuaki Iwata, Brad Miller, Avissa Tehrani METROII AND PTOLEMYII INTEGRATION Presented by: Shaoyi Cheng, Tatsuaki Iwata, Brad Miller, Avissa Tehrani INTRODUCTION PtolemyII is a tool for design of component-based systems using heterogeneous modeling

More information

Disciplined Heterogeneous Modeling

Disciplined Heterogeneous Modeling Disciplined Heterogeneous Modeling Invited Paper Edward A. Lee EECS, UC Berkeley eal@eecs.berkeley.edu Abstract. Complex systems demand diversity in the modeling mechanisms. One way to deal with a diversity

More information

Model-Driven Verifying Compilation of Synchronous Distributed Applications

Model-Driven Verifying Compilation of Synchronous Distributed Applications Model-Driven Verifying Compilation of Synchronous Distributed Applications Sagar Chaki, James Edmondson October 1, 2014 MODELS 14, Valencia, Spain Copyright 2014 Carnegie Mellon University This material

More information

Modeling Stream-Based Applications using the SBF model of computation

Modeling Stream-Based Applications using the SBF model of computation Modeling Stream-Based Applications using the SBF model of computation Bart Kienhuis and Ed F. Deprettere Leiden University, LIACS, Niels Bohrweg 1, 2333 CA, Leiden The Netherlands kienhuis,edd @liacs.nl

More information

Static Analysis of Actor Networks

Static Analysis of Actor Networks 0 0DA IfA Nr. 8911 Static Analysis of Actor Networks Diploma Thesis presented by Ernesto Wandeler ETH Zürich, Switzerland Supervisors: Dr. Jörn W. Janneck EECS Department University of California at Berkeley

More information

HYVISUAL: A HYBRID SYSTEM VISUAL MODELER

HYVISUAL: A HYBRID SYSTEM VISUAL MODELER HYVISUAL: A HYBRID SYSTEM VISUAL MODELER Authors 1 : Christopher Hylands Edward A. Lee Jie Liu Xiaojun Liu Steve Neuendorffer Haiyang Zheng Version 2.2-beta 2 UCB ERL Memorandum M03/1 January 28, 2003

More information

Embedded Software. Edward A. Lee,

Embedded Software. Edward A. Lee, www.hostemostel.com Embedded Software Edward A. Lee, eal@eecs.berkeley.edu To appear in Advances in Computers (M. Zelkowitz, editor), Vol. 56, Academic Press, London, 2002 Abstract Revised from UCB ERL

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced

More information

Imperative model of computation

Imperative model of computation 12 Imperative model of computation Jian-Jia Chen (Slides are based on Peter Marwedel) Informatik 12 TU Dortmund Germany Springer, 2010 2016 年 11 月 09 日 These slides use Microsoft clip arts. Microsoft copyright

More information