Process-Based Software Components Final Mobies Presentation Edward A. Lee Professor UC Berkeley PI Meeting, Savannah, GA January 21-23, 2004 PI: Edward.

Slides:



Advertisements
Similar presentations
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Advertisements

A code generator for the CAL actor language Lars Wernli Supervisor: Joern Janneck, UC Berkeley Professor: Lothar Thiele, ETH Zuerich.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
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.
Component Technologies for Embedded Systems Johan Eker.
Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley.
Advanced Tool Architectures Supporting Interface-Based Design
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
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.
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.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
Mobies Phase 1 UC Berkeley 1 Process-Based Software Components Mobies Phase 1, UC Berkeley Edward A. Lee and Tom Henzinger (with contributions from Steve.
Are “Embedded Systems" Just Systems Made with Small Computers? Chess: Center for Hybrid and Embedded Software Systems Invited Talk Artist International.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
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.
Unified Modeling (Part I) Overview of UML & Modeling
An Extensible Type System for Component-Based Design
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
The Gigascale Silicon Research Center Edward A. Lee UC Berkeley The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli.
Models of Computation for Embedded System Design Alvise Bonivento.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
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.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Program Review May 10,
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.
Tool Integration of Ptolemy II EE290N Class Project Haiyang Zheng May
Embedded Software Challenges for the Next 10 Years Chess: Center for Hybrid and Embedded Software Systems Infineon Embedded Software Days Munich, Sept.
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
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.
Composing Models of Computation in Kepler/Ptolemy II
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Actor Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
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
Retargetable Model-Based Code Generation in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Concurrent Models of Computation for Embedded Software
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Presentation transcript:

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, , Co-PI: Tom Henzinger, , PM: John Bay Agent: Dale Vancleave, Award end date: December, 2003 Contract number: F C-1703 AO #: J655

Lee, UC Berkeley 2 Ptolemy Project Participants Director: Edward A. Lee Staff: Christopher Hylands Susan Gardner (Chess) Nuala Mansard Mary P. Stewart Neil E. Turner (Chess) Lea Turpin (Chess) Postdocs, Etc.: Joern Janneck, Postdoc Rowland R. Johnson, Visiting Scholar Kees Vissers, Visiting Industrial Fellow Daniel L á zaro Cuadrado, Visiting Scholar Graduate Students: J. Adam Cataldo Chris Chang Elaine Cheong Sanjeev Kohli Xiaojun Liu Eleftherios D. Matsikoudis Stephen Neuendorffer James Yeh Yang Zhao Haiyang Zheng Rachel Zhou

Lee, UC Berkeley 3 Project Goals and Problem Description Our focus is on component-based design using principled models of computation and their runtime environments for embedded systems. The emphasis of this project is on the dynamics of the components, including the communication protocols that they use to interface with other components, the modeling of their state, and their flow of control. The purpose of the mechanisms we develop is to improve robustness and safety while promoting component-based design.

Lee, UC Berkeley 4 Where We Are Major Accomplishments Actor-oriented design Behavioral types Component specialization (vs. code generation) Hierarchical heterogeneous models Hierarchical modal models Hybrid systems operational semantics Hybrid system modeling and simulation with HSIF import Giotto and timed-multitasking models of computation Network integrated models (P&S, push-pull, discovery) Actor definition language principles

Lee, UC Berkeley 5 Where We Are Going Current Efforts Actor-oriented classes, inheritance, interfaces and aspects Security with distributed and mobile models Higher-order components Model-based lifecycle management Behavioral and resource Interfaces for practical verification Modeling of Wireless Sensor nets Construction of Scientific Workflows

Lee, UC Berkeley 6 Platforms A platform is a set of designs. Relations between platforms represent design processes. big gap

Lee, UC Berkeley 7 Progress Many useful technical developments amounted to creation of new platforms. microarchitectures operating systems virtual machines processor cores configurable ISAs

Lee, UC Berkeley 8 Desirable Properties From above: modeling expressiveness From below: correctness efficiency

Lee, UC Berkeley 9 Model-Based Design Model-based design is specification of designs in platforms with “useful modeling properties.”

Lee, UC Berkeley 10 Recent Action Giving the red platforms useful modeling properties (e.g. verification, SystemC, UML, MDA) Getting from red platforms to blue platforms (e.g. correctness, efficiency, synthesis of tools)

Lee, UC Berkeley 11 Better Platforms Platforms with modeling properties that reflect requirements of the application, not accidental properties of the implementation.

Lee, UC Berkeley 12 How to View This Design From above: Signal flow graph with linear, time- invariant components. From below: Synchronous concurrent composition of components

Lee, UC Berkeley 13 Embedded Platforms The modeling properties of these platforms are about the application problem, not about the implementation technology.

Lee, UC Berkeley 14 Embedded Platforms The modeling properties of these platforms are about the application problem, not about the implementation technology.

Lee, UC Berkeley 15 Actor-Oriented Platforms Actor oriented models compose concurrent components according to a model of computation. Time and concurrency become key parts of the programming model.

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

Lee, UC Berkeley 17 Actor Orientation vs. Object Orientation Identified problems with object orientation: Says little or nothing about concurrency and time Concurrency typically expressed with threads, monitors, semaphores Components tend to implement low-level communication protocols Re-use potential is disappointing Actor orientation offers more potential for useful modeling properties, and hence for model-based design. 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” Actor oriented Object oriented

Lee, UC Berkeley 18 But… New Design Methods Need to Offer Best-Of-Class Methods Abstraction procedures/methods classes Modularity subclasses inheritance interfaces polymorphism aspects Correctness type systems

Lee, UC Berkeley 19 Example of an Actor-Oriented Framework: Simulink basic abstraction mechanism is hierarchy.

Lee, UC Berkeley 20 Less Conventional Actor-Oriented Framework: VisualSense Based on Ptolemy II Connectivity is wireless Customized visualization Location-aware models Channel models include: packets losses power attenuation distance limitations collisions Component models include: Antenna gains Terrain models Jamming model of a sensor node model of a channel

Lee, UC Berkeley 21 Also Uses Hierarchy for Abstraction These 49 sensor nodes are actors that are instances of the same class, defined as:

Lee, UC Berkeley 22 Observation By itself, hierarchy is a very weak abstraction mechanism.

Lee, UC Berkeley 23 Tree Structured Hierarchy Does not represent common class definitions. Only instances. Multiple instances of the same hierarchical component are copies. hierarchical component copy leaf components: instances of an OO class container

Lee, UC Berkeley 24 Using Copies for Instances is Awkward Models become unmaintainable. Changes have be performed on all 49 copies of this:

Lee, UC Berkeley 25 Alternative Hierarchy: Roles and Instances class role hierarchy (“design-time” view) instance hierarchy (“run time” view) instance one definition, multiple containers

Lee, UC Berkeley 26 Role Hierarchy Multiple instances of the same hierarchical component are represented by classes with multiple containers. This makes hierarchical components are more similar to leaf components. hierarchical class

Lee, UC Berkeley 27 Example Ptolemy II now supports a role hierarchy. The definition below is a class and objects at the left are instances, not copies. Making these objects instances of a class rather than copies reduced the XML representation of the model from 1.1 Mbytes to 87 kBytes, and offered a number of other advantages.

Lee, UC Berkeley 28 Subclasses, Inheritance? Interfaces, Subtypes? Aspects? Now that we have classes, can we bring in more of the modern programming world? subclasses? inheritance? interfaces? subtypes? aspects?

Lee, UC Berkeley 29 Actor Interfaces: Ports and Parameters input ports output port p1p1 p2p2 p3p3 parameters: a 1 = value a 2 = value input/output port Example:

Lee, UC Berkeley 30 Subclasses? Inheritance? Interfaces? Subtypes? Aspects? Yes We Can! Actor-oriented design: subclasses and inheritance hierarchical models that inherit structure from a base class interfaces and subtypes ports and parameters of actors form their interface aspects heterarchical models interweave multiple hierarchies, providing true multi-view modeling. All of these operate at the abstract syntax level, and are independent of the model of computation, and therefore can be used with any model of computation! Thus, they become available in domain-specific actor-oriented languages. These are a part of what the Berkeley Center for Hybrid and Embedded Software Systems (Chess) is doing.

Lee, UC Berkeley 31 Example A Simple Resource Interface out : Double in : Double out : Double subtype relation power : Double energy : Double EnergyConsumer interface has a single output port that produces a Double representing the energy consumed by a firing. Filter interface for a stream transformer component. in : Double EnergyConsumingFilter composed interface. in : Event

Lee, UC Berkeley 32 Ethereal Sting OEP: Lessons on Dataflow Design Patterns Solution to E0 Challenge Problem E1 Challenge Problem Components Input data sequence, at samplingFrequency Hz Output data sequence, at detected baud rate. (not known apriori)

Lee, UC Berkeley 33 SDF is More Flexible Than We Realized The Synchronous Dataflow (SDF) model of computation can be easily augmented to make it much more expressive without sacrificing static analyzability. Model-based lifecycle management can provide systematic ways to construct supervisory structures (resource management, task management).

Lee, UC Berkeley 34 Dataflow Taxonomy Synchronous dataflow (SDF) Balance equation formalism Statically schedulable Decidable resource requirements Heterochronous Dataflow (HDF) Combines state machines with SDF graphs Very expressive, yet decidable Scheduling complexity can be high Boolean & Integer Dataflow (BDF, IDF) Balance equations are solved symbolically Turing-complete expressiveness Undecidable, yet often statically schedulable Process Networks (PN) Turing-complete expressiveness Undecidable (schedule and resource requirements) Thread scheduling with interlocks provably executes with bounded resources when that is possible. With higher-order components and modal models, SDF is sufficiently expressive for the SW radio OEP.

Lee, UC Berkeley 35 SDF Principles Fixed production/consumption rates Balance equations (one for each channel): Schedulable statically Decidable: buffer memory requirements deadlock fire B { … consume M … } fire A { … produce N … } channel N M number of tokens consumed number of firings per “iteration” number of tokens produced

Lee, UC Berkeley 36 Undecidability: What SDF Avoids (Buck ’93) Sufficient set of actors for undecidability: boolean functions on boolean tokens switch and select initial tokens on arcs Undecidable: deadlock bounded buffer memory existence of an annotated schedule boolean function select switch initial token b 1- b b T F T F

Lee, UC Berkeley 37 Resampling Design Pattern Using Token Routing This pattern requires the use of a semantically richer dataflow model than SDF because the BooleanSwitch is not an SDF actor. This has a performance cost and reduces the static analyzability of the model.

Lee, UC Berkeley 38 Resampling Design Pattern using Modal Models Uses transition refinements All SDF + FSM Can be captured in a higher-order component that makes the pattern easy to use.

Lee, UC Berkeley 39 Scalability of Visual Syntaxes Iteration by Replication naïve approach: 8 tones 8 signal paths hard to build hardwired scale distributor: converts an array of dimension 8 to a sequence of 8 tokens. array inelements out

Lee, UC Berkeley 40 Scalability of Visual Syntaxes Iteration by Dataflow Although sometimes useful, this design pattern has limitations: array size must be statically fixed actor to iterate must be stateless, or desired semantics must be to carry state across array elements

Lee, UC Berkeley 41 Structured Programming in SDF A library of actors that encapsulate common design patterns: IterateOverArray: Serialize an array input and provide it sequentially to the contained actor. MapOverArray: Provide elements of an array input to distinct instances of the contained actor. Zip, Scan, Case, … Like the higher-order functions of functional languages, but unlike functions, actors can have state. The implementation leverages the abstract semantics of Ptolemy II.

Lee, UC Berkeley 42 Abstract Semantics – The Key To Hierarchical Heterogeneity flow of control Initialization Execution Finalization communication Structure of signals Send/receive protocols preinitialize() declare static information, like type constraints, scheduling properties, temporal properties, structural elaboration initialize() initialize variables

Lee, UC Berkeley 43 Abstract Semantics – The Key To Hierarchical Heterogeneity flow of control Initialization Execution Finalization communication Structure of signals Send/receive protocols iterate()

Lee, UC Berkeley 44 Abstract Semantics – The Key To Hierarchical Heterogeneity flow of control Initialization Execution Finalization communication Structure of signals Send/receive protocols iterate() prefire() fire() postfire() stopFire()

Lee, UC Berkeley 45 Lifecycle Management It is possible to hierarchically compose the Ptolemy II abstract semantics. Actors providing common patterns: RunCompositeActor is a composite actor that, instead of firing the contained model, executes a complete lifecycle of the contained model. ModelReference is an atomic actor whose function is provided by a complete execution of a referenced model in another file or URL. Provides systematic approach to building systems of systems.

Lee, UC Berkeley 46 Hierarchical Composition of the Ptolemy II Abstract Semantics flow of control Initialization Execution Finalization communication Structure of signals Send/receive protocols iterate() prefire() fire() postfire() stopFire() initialization Execution Finalization

Lee, UC Berkeley 47 Conclusion We aren’t done yet… Stay tuned…