Overview of Ptolemy II Edward A. Lee Professor UC Berkeley October 9, 2003.

Slides:



Advertisements
Similar presentations
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With thanks to Xioajun.
Advertisements

UC Berkeley Mobies Technology Project PI: Edward Lee CoPI: Tom Henzinger Process-Based Software Components for Networked Embedded Systems.
ACM SIGPLAN 2001 Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES'2001) Jun 22-23, 2001, Snowbird, Utah, USA Embedded Software from.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Process-Based Software Components for Networked Embedded Systems Edward A. Lee, PI UC Berkeley Core Technical Team (Mobies, SEC, and GSRC): Christopher.
SRC ETAB Summer Study Colorado Springs, June 25-26, 2001 Model-Based Approaches to Embedded Software Design Edward A. Lee UC Berkeley & GSRC.
Advanced Tool Architectures Supporting Interface-Based Design
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
Mobies Phase 1 UC Berkeley 1 Agenda 8:00-8:30 Continental breakfast 8:30-9:00 Overview of Mobies Phase 1 effort (Edward A. Lee) 9:00-9:40 Introduction.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Behavioral Types for Actor-Oriented Design Edward A. Lee.
Behavioral Types as Interface Definitions for Concurrent Components Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley.
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.
Ptolemy Miniconference May 9, 2003 Berkeley, CA Ptolemy Project Status and Overview Edward A. Lee Professor Ptolemy Project Director.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
Component-Based Design of Embedded Control Systems Luca Dealfaro Chamberlain Fong Tom Henzinger Christopher Hylands John Koo Edward A. Lee Jie Liu Xiaojun.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
Heterogeneous Modeling and Design in Ptolemy II Johan Eker UC Berkeley with material courtesy of Edward Lee and the Ptolemy group ECE Seminar Series, Carnegie.
6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 Ptolemy Project Status and Overview Edward A. Lee Ptolemy Project Director, UC Berkeley.
Modeling Heterogeneous Systems Edward Lee UC Berkeley Design for Safety Workshop NASA Ames Research Center Mountain View, CA 11 October, Design.
Mobies Phase 1 UC Berkeley 1 Process-Based Software Components Mobies Phase 1, UC Berkeley Edward A. Lee and Tom Henzinger PI Meeting, Boca Raton January.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Actor-Oriented Design: A focus on domain-specific languages for embedded systems Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded.
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.
An Extensible Type System for Component-Based Design
Defining Domains Edward A. Lee Professor, UC Berkeley Ptolemy Ptutorial, Feb. 12, 2007.
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,
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
The Gigascale Silicon Research Center Edward A. Lee UC Berkeley The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli.
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With special thanks.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
MoBIES PI-Meeting, July 2001, Jackson Hole Controller Design Using Multiple Models of Computation Edward Lee Johan Eker with thanks to Paul Griffiths,
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Process-Based Software Components Final Mobies Presentation Edward A. Lee Professor UC Berkeley PI Meeting, Savannah, GA January 21-23, 2004 PI: Edward.
Concurrent Models of Computation in System Level Design Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages.
State of the Art Lecture IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001 Computing for Embedded Systems Edward.
Embedded Software: Leveraging Concurrent Models of Computation Edward A. Lee Professor, UC Berkeley Center for Hybrid and Embedded Software Systems (CHESS)
Ptolemy Project 1 Streaming Models of Computation in The Ptolemy Project Edward A. Lee Professor UC Berkeley Workshop on Streaming Systems, Endicott House,
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
Embedded Software Challenges for the Next 10 Years Chess: Center for Hybrid and Embedded Software Systems Infineon Embedded Software Days Munich, Sept.
Panel: What Comes After C++ in System-Level Specification Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages.
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Model-Driven Development From Object-Oriented Design to Actor-Oriented Design Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
An Overview of the Ptolemy Project and Actor-Oriented Design Edward A. Lee Professor UC Berkeley Center for Hybrid and embedded software systems OMG Technical.
Embedded Software: Building the Foundations Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center for Hybrid and Embedded Software.
Composing Models of Computation in Kepler/Ptolemy II
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based.
Satisfying Requirements BPF for DRA shall address: –DAQ Environment (Eclipse RCP): Gumtree ISEE workbench integration; –Design Composing and Configurability,
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
TRUST:Team for Research in Ubiquitous Secure Technologies
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Code Generation for Ptolemy II
Retargetable Model-Based Code Generation in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Presentation transcript:

Overview of Ptolemy II Edward A. Lee Professor UC Berkeley October 9, 2003

UC Berkeley, Edward Lee 2 Ptolemy Project Participants Director: Edward A. LeeEdward A. LeeStaff: 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.: Joern Janneck, PostdocJoern Janneck, Postdoc Rowland R. Johnson, Visiting ScholarRowland 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: 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

UC Berkeley, Edward Lee 3 At Work in the Chess Software Lab

UC Berkeley, Edward Lee 4 Software Legacy of the Project Gabriel ( ) –Written in Lisp –Aimed at signal processing –Synchronous dataflow (SDF) block diagrams –Parallel schedulers –Code generators for DSPs –Hardware/software co-simulators Ptolemy Classic ( ) –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 ( ) –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 ( ) –Itcl/Tk GUI framework Diva ( ) –Java GUI framework All open source. All truly free software (cf. FSF).

UC Berkeley, Edward Lee 5 Layered Software Architecture Ptolemy II packages have carefully constructed dependencies and interfaces PN CSP CT DE FSM SDF Kernel Data ActorMath Graph

UC Berkeley, Edward Lee 6 Design Document Volume 1: User-Oriented Volume 2: Developer-Oriented Volume 3: Researcher-Oriented

UC Berkeley, Edward Lee 7 Kernel – Abstract Syntax Entities, Ports, Relations and Attributes The Ptolemy II kernel provides an abstract syntax - clustered graphs - that is well suited to a wide variety of component- based modeling strategies, ranging from state machines to process networks.

UC Berkeley, Edward Lee 8 MoML XML Schema for this Abstract Syntax Ptolemy II designs are represented in XML:

UC Berkeley, Edward Lee 9 Hierarchy Composite Components toplevel CompositeEntity transparent CompositeEntity AtomicEntity Relation dangling transparent Port transparent Port opaque Port

UC Berkeley, Edward Lee 10 Kernel Classes Support the Abstract Syntax

UC Berkeley, Edward Lee 11 Actor Package Supports Producer/Consumer Components Services in the Infrastructure: broadcast multicast busses mutations clustering parameterization typing polymorphism

UC Berkeley, Edward Lee 12 Focus on Actor-Oriented Design Object orientation: class name data methods call return What flows through an object is sequential control Actor orientation: actor name data (state) ports Input data parameters Output data What flows through an object is streams of data

UC Berkeley, Edward Lee 13 Actor-Oriented vs. Object-Oriented Interface Definitions Actor Oriented OO interface definition gives procedures that have to be invoked in an order not specified as part of the interface definition. TextToSpeech initialize(): void notify(): void isReady(): boolean getSpeech(): double[] actor-oriented interface definition says “Give me text and I’ll give you speech” Object Oriented

UC Berkeley, Edward Lee 14 Examples of Actor-Oriented Component Frameworks Simulink (The MathWorks) Labview (National Instruments) Modelica (Linkoping) OCP, open control platform (Boeing) GME, actor-oriented meta-modeling (Vanderbilt) Easy5 (Boeing) 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) …

UC Berkeley, Edward Lee 15 Ptolemy Project Principles Director from a library defines component interaction semantics Large, polymorphic component library. Basic Ptolemy II infrastructure:

UC Berkeley, Edward Lee 16 Polymorphic Components - Component Library Works Across Data Types and Domains Data polymorphism: –Add numbers (int, float, double, Complex) –Add strings (concatenation) –Add composite types (arrays, records, matrices) –Add user-defined types Behavioral polymorphism: –In dataflow, add when all connected inputs have data –In a time-triggered model, add when the clock ticks –In discrete-event, add when any connected input has data, and add in zero time –In process networks, execute an infinite loop in a thread that blocks when reading empty inputs –In CSP, execute an infinite loop that performs rendezvous on input or output –In push/pull, ports are push or pull (declared or inferred) and behave accordingly –In real-time CORBA, priorities are associated with ports and a dispatcher determines when to add By not choosing among these when defining the component, we get a huge increment in component re- usability. But how do we ensure that the component will work in all these circumstances?

UC Berkeley, Edward Lee 17 Ptolemy II Component Library UML package diagram of key actor libraries included with Ptolemy II. Data polymorphic components Domain polymorphic components

UC Berkeley, Edward Lee 18 Domains – Provide semantic models for component interactions CI – Push/pull component interaction CSP – concurrent threads with rendezvous CT – continuous-time modeling DE – discrete-event systems DDE – distributed discrete events FSM – finite state machines DT – discrete time (cycle driven) Giotto – synchronous periodic GR – 2-D and 3-D graphics PN – process networks SDF – synchronous dataflow SR – synchronous/reactive TM – timed multitasking

UC Berkeley, Edward Lee 19 Continuous-Time Models Soft Walls Avionics System aircraft model criticality calculation pilot model bias control the wall

UC Berkeley, Edward Lee 20 Synchronous Dataflow (SDF) SDF offers feedback, multirate, static scheduling, deadlock analysis, parallel scheduling, static memory allocation.

UC Berkeley, Edward Lee 21 Parallel Scheduling of SDF Models A C D B Sequential (software)Parallel (hardware) SDF is suitable for automated mapping onto parallel processors

UC Berkeley, Edward Lee 22 Other Dataflow Models Process 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

UC Berkeley, Edward Lee 23 Discrete Event Models The DE domain uses an event queue to process events in chronological order, as in VHDL, Verilog, and a number of network simulation languages (e.g. NS). DE domain authors: Lukito Muliadi Jie Liu

UC Berkeley, Edward Lee 24 Heterogeneous Models Hybrid Systems The FSM domain can be combined with other domains to create modal models.

UC Berkeley, Edward Lee 25 Hierarchical Heterogeneity P6 P3 P2 P5 P1 E1 E2 E4 E0 M: Manager D1: local director D2: local director P4 P7 E3 E5 Opaque Composite Actor Transparent Composite Actor Directors are domain-specific. A composite actor with a director becomes opaque. The Manager is domain-independent.

UC Berkeley, Edward Lee 26 Object Model for Executable Components

UC Berkeley, Edward Lee 27 Actor View of Producer/Consumer Components The send() and get() methods on ports are polymorphic. Their implementation is provided by an object implementing the Receiver interface. The Receiver is supplied by the director and implements the communication semantics of a model of computation.

UC Berkeley, Edward Lee 28 Object Model for Communication Infrastructure

UC Berkeley, Edward Lee 29 Object-Oriented Approach to Achieving Behavioral Polymorphism 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. Recall: Behavioral polymorphism is the idea that components can be defined to operate with multiple models of computation and multiple middleware frameworks.

UC Berkeley, Edward Lee 30 Extension Exercise Exercise Build a director that subclasses SDFDirector to allow substitution of receiver classes in place of the default SDFReceiver. Such substitutions are to be specified by attaching a parameter named “receiverClass” to an input port whose (string) value is the class name of a receiver. This illustrates a simple mechanism that could be used to support communication refinement.

UC Berkeley, Edward Lee 31 Examples of Extensions Self-Repairing Models Concept demonstration built together with Boeing to show how to write actors that adaptively reconstruct connections when the model structure changes.

UC Berkeley, Edward Lee 32 Examples of Extensions Sensor Nets Model of a network with a sound and radio channel. Wireless block diagram Parameterized icons Multiple channels Extends DE domain Authors: Xiaojun Liu and Philip Baldwin, based on work by Cheng Tien Ee, Sanjeev Kohli, and Vinay Krishnan.

UC Berkeley, Edward Lee 33 Example Extensions Python Actors and Cal Actors Cal is an experimental language for defining actors that is analyzable for key behavioral properties.

UC Berkeley, Edward Lee 34 Example Extensions Using Models to Control Models This is an example of a “higher- order component,” or an actor that references one or more other actors.

UC Berkeley, Edward Lee 35 Examples of Extensions Mobile 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 Zhao Steve Neuendorffer Xiaojun Liu Data and domain type safety will help make such models secure

UC Berkeley, Edward Lee 36 Examples of Extensions Hooks to Verification Tools New component interfaces to Chic verification tool Authors: Arindam Chakrabarti Eleftherios Matsikoudis

UC Berkeley, Edward Lee 37 Examples of Extensions Hooks to Verification Tools Authors: Arindam Chakrabarti Eleftherios Matsikoudis Synchronous assume/guarantee interface specification for Block1

UC Berkeley, Edward Lee 38 Examples of Extensions Hooks to Verification Tools

UC Berkeley, Edward Lee 39 Branding Ptolemy II configurations are Ptolemy II models that specify welcome window contents help menu contents library contents File->New menu contents default model structure etc. A configuration can identify its own “brand” independent of the “Ptolemy II” name and can have more targeted objectives. An example is HyVisual, a tool for hybrid system modeling.

UC Berkeley, Edward Lee 40 Configurable Tool Architecture actors packaged tool editors directors MATLAB Jython Jacl docs and help files kernel actor package Java libraries configuration (MoML/XML) Ptolemy II configurations enable the construction of specialized tools with customized interfaces and selected portions of the infrastructure.