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.

Slides:



Advertisements
Similar presentations
Timed Automata.
Advertisements

Ethereal Sting Working Group Meeting June 10, 2003 Arlington, VA Mobies Ethereal Sting OEP The Ptolemy II Experiment Edward A. Lee Professor UC Berkeley.
The Operational Semantics of Hybrid Systems Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS, UC Berkeley With contributions from: Adam.
Overview This project applies the tagged-signal model to explain the semantics of piecewise continuous signals. Then it illustrates an operational way.
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.
Mobies Phase 1 UC Berkeley 1 Process-Based Software Components Mobies Phase 1, UC Berkeley Edward A. Lee and Tom Henzinger PI Meeting, New York July 24,
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.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 Java Code Generation Steve Neuendorffer 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.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
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.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Component-Based Design of Embedded Control Systems Luca Dealfaro Chamberlain Fong Tom Henzinger Christopher Hylands John Koo Edward A. Lee Jie Liu Xiaojun.
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.
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.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
February 23, 2012 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, EECS Thomas.
6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 Operational Semantics of Hybrid Systems Haiyang Zheng and Edward A. Lee With contributions.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Chess Review May 11, 2005 Berkeley, CA Operational Semantics of Hybrid Systems Haiyang Zheng and Edward A. Lee With contributions from the Ptolemy group.
Hybrid System Modeling: Operational Semantics Issues Edward A. Lee Professor UC Berkeley Center for Hybrid and embedded software systems OMG Technical.
EECE Hybrid and Embedded Systems: Computation T. John Koo, Ph.D. Institute for Software Integrated Systems Department of Electrical Engineering and.
An Extensible Type System for Component-Based Design
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Models of Computation for Embedded System Design Alvise Bonivento.
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.
Ptolemy Miniconference May 9, 2003 Berkeley, CA Ptolemy Project Plans for the Future Edward A. Lee Professor Ptolemy Project Director.
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.
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.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
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.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Program Review May 10,
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Composing Models of Computation in Kepler/Ptolemy II
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
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
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Presentation transcript:

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 Neuendorffer, Christopher Hylands, Jie Liu, Xiaojun Liu, Yang Zhao, and Haiyang Zheng) PI Meeting, Seattle, WA July 29-31, 2003 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

Mobies Phase 1 UC Berkeley 2 Subcontractors and Collaborators Subcontractor –Univ. of Maryland (C code generation) Collaborators –Ford/GM/Berkeley (HSIF + automotive OEP) –Southwest Research Institute (SW radio OEP) –UCB Chess (center for hybrid and embedded software systems) –Caltech SEC (fan-driven platform) –UCB SEC (helicopters) –Kestrel (code generation technology) –Vanderbilt (HSIF) –Penn (HSIF) –CMU (HSIF) –Research in Motion Limited –Brigham Young University (hardware generation)

Mobies Phase 1 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.

Mobies Phase 1 UC Berkeley 4 Technical Approach Summary Models of computation –supporting heterogeneity –supporting real-time computation –codifications of design patterns –definition as behavioral types Co-compilation and Component Specialization –specialization of components for a particular use –vs. code generation –supporting heterogeneity Ptolemy II –our open-architecture software laboratory –shed light on models of computation & co-compilation –by prototyping modeling frameworks and techniques our tool

Mobies Phase 1 UC Berkeley 5 Review Of Ptolemy Project Principles Director from a library defines component interaction semantics Large, domain-polymorphic component library. Effective tool interchange requires more narrowly defined semantics and more targeted component libraries. Basic Ptolemy II infrastructure:

Mobies Phase 1 UC Berkeley 6 Accomplishments Highlighted Here Software Radio OEP –Created E0 challenge problem in Ptolemy II –Demonstrated model-based task management –Created E1 challenge problem in Ptolemy II –Identified dataflow variants required Hybrid Systems Semantics –Guards must be triggers, not enablers –Discontinuous signals must have zero transition times. –Discrete signals should have values only at discrete times –Transient states must be active for zero time. –Sampling of discontinuous signals must be well-defined. –Transient states must be active for zero time. Spinoff Projects –Verification by interface checking –Sensor nets –Network integrated modeling

Mobies Phase 1 UC Berkeley 7 Ethereal Sting OEP E1 Challenge Problem 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)

Mobies Phase 1 UC Berkeley 8 Carrier Detection and Demodulation Synchronous Dataflow: Allows for static scheduling and code generation Array expression creates carrier signal in one line Executes once for every input sample Executes only once for each complete signal actor created by Mark Oliver of WPAFB

Mobies Phase 1 UC Berkeley 9 Resampling Process Network model: NOT statically scheduled, since output rate not known. Outputs true when incoming signal should be sampled. Switch drops input tokens when control token is false.

Mobies Phase 1 UC Berkeley 10 Execution PSK, 200 Hz carrier, 1KHz symbol rate First Symbol Expected Symbol Drift caused by error in estimation Solved E1 Challenge Problem Working on code generation support for components with unknown data rates. Model completed in a short afternoon.

Mobies Phase 1 UC Berkeley 11 Synchronous Dataflow (SDF) Balance equations (one for each channel): F A N = F B M Schedulable statically (parallel or sequential) Decidable resource requirements fire B { … consume M … } fire A { … produce N … } channel NM

Mobies Phase 1 UC Berkeley 12 Resampling Violates SDF Process Network model: NOT statically scheduled, since output rate not known. Outputs true when incoming signal should be sampled. Switch drops input tokens when control token is false. Code generation in Ptolemy II currently only supports components with known data rates.

Mobies Phase 1 UC Berkeley 13 Carrier Detection and Demodulation Obeys SDF Synchronous Dataflow: Allows for static scheduling and code generation Array expression creates carrier signal in one line Executes once for every input sample Executes only once for each complete signal

Mobies Phase 1 UC Berkeley 14 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. Our solution uses these two We are implementing this, which works for this problem. This has been implemented in Ptolemy Classic

Mobies Phase 1 UC Berkeley 15 Supervisory Structure Mobile Models Transported via CORBA Model-based 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 an SA algorithm. Authors: Yang Zhao Steve Neuendorffer Xiaojun Liu We described this at the Ethereal Sting Working Group meeting in June. A significant challenge here is achieving type safety and security.

Mobies Phase 1 UC Berkeley 16 Accomplishments Highlighted Here Software Radio OEP –Created E0 challenge problem in Ptolemy II –Demonstrated model-based task management –Created E1 challenge problem in Ptolemy II –Identified dataflow variants required Hybrid Systems Semantics –Guards must be triggers, not enablers –Discontinuous signals must have zero transition times. –Discrete signals should have values only at discrete times –Transient states must be active for zero time. –Sampling of discontinuous signals must be well-defined. –Transient states must be active for zero time. Spinoff Projects –Verification by interface checking –Sensor nets –Network integrated modeling

Mobies Phase 1 UC Berkeley 17 HyVisual – Hybrid System Modeling Tool Based on Ptolemy II HyVisual was first released at the Mobies PI meeting in January 2003.

Mobies Phase 1 UC Berkeley 18 Operational Semantics of Hybrid Systems (How to Build Simulators) If you are going to rely on simulation results, then you need an operational semantics. –Hybrid system semantics tend to be denotational. A simulator cannot ignore nondeterminism. –It is incorrect to choose one trajectory. –Creating deterministic models must be easy. –Nondeterministic models must be explored either exhaustively or using Monte Carlo methods. –Must avoid unnecessary nondeterminism. Should not use continuous-time models to represent discrete behaviors. –Inaccurate for software. –Heterogeneous models are better.

Mobies Phase 1 UC Berkeley 19 What we Have Learned from HyVisual Guards must be triggers, not enablers –Avoid unnecessary nondeterminism. Discontinuous signals must have zero transition times. –Precise transition times. –Accurate model of Zeno conditions. –Avoid unnecessary nondeterminism. Discrete signals should have values only at discrete times –Accurately heterogeneous model (vs. continuous approximation) Sampling of discontinuous signals must be well-defined. –Avoid unnecessary nondeterminism. Transient states must be active for zero time. –Properly represent glitches.

Mobies Phase 1 UC Berkeley 20 Discontinuous Signals Timed automaton generating a piecewise constant signal. Correct output: RK 2-3 variable-step solver and breakpoint solver determine sample times: Incorrect output: First version of HyVisual would have non-zero transition times under certain conditions. Note two values at the same time:

Mobies Phase 1 UC Berkeley 21 Sampling Discontinuous Signals Samples must be deterministically taken at t- or t+. Our choice is t-, inspired by hardware setup times. Note that in HyVisual, unlike Simulink, discrete signals have no value except at discrete points.

Mobies Phase 1 UC Berkeley 22 Transient States and Glitches If an outgoing guard is true upon entering a state, then the time spent in that state is identically zero. This can create glitches.

Mobies Phase 1 UC Berkeley 23 Accomplishments Highlighted Here Software Radio OEP –Created E0 challenge problem in Ptolemy II –Demonstrated model-based task management –Created E1 challenge problem in Ptolemy II –Identified dataflow variants required Hybrid Systems Semantics –Guards must be triggers, not enablers –Discontinuous signals must have zero transition times. –Discrete signals should have values only at discrete times –Transient states must be active for zero time. –Sampling of discontinuous signals must be well-defined. –Transient states must be active for zero time. Spinoff Projects –Verification by interface checking –Sensor nets –Network integrated modeling

Mobies Phase 1 UC Berkeley 24 Verification & Validation What 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.

Mobies Phase 1 UC Berkeley 25 Spinoff to Chess NSF/ITR (& Escher?) Verification by Interface Checking New component interfaces to Chic verification tool

Mobies Phase 1 UC Berkeley 26 Interfaces Specified as Attributes Multiple Interface Theories can Co-Exist Synchronous assume/guarantee interface specification for Block1

Mobies Phase 1 UC Berkeley 27 Compatibility Checking Via the Chic Component

Mobies Phase 1 UC Berkeley 28 Limitations of Interface Checking Further Work under NSF/ITR (& Escher?) Chic currently only runs on Linux –Uses a non-portable BDD package “Synchronous” semantics doesn’t match SR –State-dependent output only –Does match Giotto Interface automata composition not yet there –Implemented in Ptolemy II, but not as part of a general interface checker like Chic –Prefer visual specification of behavioral types We don’t yet know what sorts of interface theories and interfaces will be useful –But we now have the experimental framework to try things out.

Mobies Phase 1 UC Berkeley 29 Spinoff to Chess (NSF/ITR) Sensor 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.

Mobies Phase 1 UC Berkeley 30 Spinoff to ??? (Unfunded) Distributed Actor-Oriented Middleware Model-based distributed computing and middleware: Domain-specific middleware (distributed Ptolemy domains) Actor-oriented middleware (concurrent models of computation) Behavioral interface definitions for components & middleware Middleware-polymorphic components Failure management Security (authentication, encryption, capability management) Mobile model for SW radio task management is an early instance of this technology Note that IMHO this is probably a better topic for Mobies to OMG tech transfer than HSIF.

Mobies Phase 1 UC Berkeley 31 Plans (Most of the Tech Team Moves on in August) Software radio OEP target: E2 and model-based task management –Handle failures of mobile model –Secure execution of mobile model –Encrypted communication of models & data –Authenticated access to MobileModels Transition interface definition/checking work to Chess –Generalize Chic methods to true synchronous models –Integrate interface automata composition framework –Identify useful interface theories Wrap up code generation –Support PN code generation Hybrid system semantics and HSIF –Resolve remaining semantics questions –Ensure HyVisual compliance with HSIF –Transition this work to Chess - Toyota, Daimler-Chrysler (and Escher?)

Mobies Phase 1 UC Berkeley 32 Technology Transition Key Activities Since January Ptolemy II chosen as workflow design/execution environment for –NSF SEEK project ( –DOE SDM project ( Ptolemy II version 3.0-beta and (first released here) –Major release with many enhancements HyVisual version (first released here) –Branded, domain-specific tool based on Ptolemy II Ptolemy Miniconference, May 9, 2003 –90 attendees from 43 organizations worldwide Commercializations and commercial applications –RIM: Blackberry handheld –MLDesign Technologies: MLDesigner software modeling –Thales: Distributed process networks and native C components –RSoft: LambdaSIM, optical network modeling –Comenius University, Slovakia: VT11: microcomputer interfacing education Many third party contributions to software