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

Slides:



Advertisements
Similar presentations
A component- and message-based architectural style for GUI software
Advertisements

An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
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.
2/11/2010 BEARS 2010 On PTIDES Programming Model John Eidson Jeff C. Jensen Edward A. Lee Slobodan Matic Jia Zou PtidyOS.
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.
SRC ETAB Summer Study Colorado Springs, June 25-26, 2001 Model-Based Approaches to Embedded Software Design Edward A. Lee UC Berkeley & GSRC.
Berkeley, CA, March 12, 2002 Modal Models in Vehicle-Vehicle Coordination Control Xiaojun Liu The Ptolemy Group EECS Department, 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.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
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.
Hybrid Workgroup Pam Binns Magnus Carlsson David Corman Bonnie Heck Tom Henzinger Gokhan Inalhan Gabor Karsai, co-chair Wallace Kelly Edward A. Lee, chair.
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.
Ptolemy II - Heterogeneous Modeling and Design in Java The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded.
Hybrid/OCP Workgroup. Issues Heterogeneous model semantics (common principles, differences) – Ptolemy II – FRP – CHIRP – Simulink/Stateflow/Matlab – Giotto/Masaccio.
One.box Distributed home service interface. Core Components Pop3 client Router Storage Pop3 Server.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
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.
Modeling Heterogeneous Systems Edward Lee UC Berkeley Design for Safety Workshop NASA Ames Research Center Mountain View, CA 11 October, Design.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
MoBIES PI-Meeting, July 2001, Jackson Hole Controller Design Using Multiple Models of Computation Edward Lee Johan Eker with thanks to Paul Griffiths,
Hierarchical Reconfiguration of Dataflow Graphs Stephen Neuendorffer UC Berkeley Poster Preview May 10, 2004.
Run-Time Models for Measurement & Control Systems and Their Support in Ptolemy II Jie Liu EECS, UC Berkeley 9/13/2000 Agilent Technologies.
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.
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 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.
Center for Hybrid and Embedded Software Systems Jonathan Sprinkle Executive Director, CHESS Center for Hybrid and Embedded Software Systems UC Berkeley.
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.
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
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.
SEC PI Meeting San Antonio, Nov. 13-5, 2001 Integrated Design and Analysis Tools for Software Based Control Systems Principal Investigator: Tom Henzinger.
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.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Composing Models of Computation in Kepler/Ptolemy II
Kaifei Chen, Siyuan He, Beidi Chen, John Kolb, Randy H. Katz, David E
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Ptolemy Tutorial What is Ptolemy? How it works? What is the development environment for you Show demo and former simulation work.
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.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
T.R.I.D.E Simon Overell (seo01) Supervisor: Keith Clark.
MetaOS Concept MetaOS developed by Ambient Computing to coordinate the function of smart, networked devices Smart networked devices include processing.
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
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
Embedded Systems: A Focus on Time
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Distributed Control Applications Within Sensor Networks
Hybrid and Embedded Systems: Generalized Hybrid Systems
Presentation transcript:

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 Win Williams UC Berkeley

Hierarchical, Heterogeneous Modeling and Design A model of computation governs the interaction of components at each level of the hierarchy. A submodel exposes a domain-polymorphic interface that governs the inter-domain semantics. sensors leader Br Acc Ba bang-bang PID follower controller actuators S

Ptolemy II 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

Domains Status Domains we understand well: – Dataflow – Process networks – CSP – Discrete events – Continuous time – Synchronous reactive – Finite state machines Domains we are working on: – Publish & subscribe – Time triggered Our focus is particularly on how these domains support real-time QOS

Concept Demonstration Networked sensors and actuators Multiple, networked controllers, controllees Hierarchical, heterogeneous design Domain polymorphic components Discovery Mutable systems

Experimental Setup Ethernet Hub Agilent NCAP Telemonitor Tilt sensor

Networked Smart Sensors Ethernet Agilent NCAP Telemonitor Tilt sensor HTTP interface HTTP queries

Abstraction of the Sensor as a Software Component Ethernet Agilent NCAP Telemonitor Tilt sensor HTTP queries

Smart Sensor + Ptolemy II Tilt sensor connected to a plotter.

Issues Raised Concurrency management with I/O – Separate thread handles communication – Rendezvous with computational thread – How to maintain time consistency? – How to ensure no deadlock?

Planned - Discovery Ethernet Agilent NCAP Telemonitor Tilt sensor Hub JINI Register a Service

Planned - Discovery Ethernet Agilent NCAP Telemonitor Tilt sensor Hub JINI Discover a Service

Planned - Discovery Ethernet Agilent NCAP Telemonitor Tilt sensor Hub JINI Download Interface Software

Planned - Discovery Ethernet Agilent NCAP Telemonitor Tilt sensor Hub JINI Communicate This would provide a vendor- neutral software component.

Actuator Setup Proxy serial port IR tower Lego Mindstorm

Linking the Tilt Sensor and Actuators

Mutations – Dynamic Structural Changes to the Model Thread-safe Ptolemy II kernel – Mutual exclusion protocol in the Workspace object. Domains control when mutations are committed. – Mutations are queued with the Manager object. – Manager executes mutations between iterations. – Meaning of “iteration” is domain-dependent. In this example: – The event thread in the UI queues mutation requests – The executing model commits the mutations at safe points.

Publish and Subscribe Use Jini to discover the publish/subscribe fabric. – Our current realization returns a JavaSpaces interface. – Future realization will use OCP Real time – Prioritized delivery, handling – QOS is not part of JavaSpaces.

Clock Publisher/Subscriber

Distributed Lego Controller Tilt sensor data published, controller subscribes. left = 4 * xTilt - 2 * yTilt right = 4 * xTilt + 2 * yTilt

Other Examples We Have Implemented Other Lego models: – Modal controller for navigation – Feedback of sensor data Hybrid systems: – Car tracking example – Helicopter multi-modal controller Pioneer robot control – Multi-agent coordination – Jini discovery of robots – Publish-and-subscribe task distribution

Styles of Publish and Subscribe Interactions time stamped events? globally time stamped? reliable delivery? ordered delivery? signal coordination? synchronous delivery? blending of multiple publishers? dynamic redirection/resourcing? persistence? history?

A Key Idea We need a variety of interaction mechanisms. In the prototype, – Jini delivers an interaction mechanism service by delivering code that realizes that interaction mechanism. A "meta OCP" could similarly deliver any of several interaction mechanisms.

Example 1 Component says: – "I need a reliable stream-based delivery mechanism to get sampled data from here to there." Meta-OCP says: – "OK, here's some code for you and the recipient of your data." Delivered code uses TCP/IP and sockets, bypassing any central infrastructure. – E.g., Transporting audio data.

Example 2 Component says: – "I need a shared data repository visible to a number of components." Meta-OCP says: – "OK, here's some code for you and the recipient of your data." Delivered code interacts with a Linda-style tuple space. – E.g., reading the current temperature from a sensor.

Example 3 Component says: – "I need to send time-stamped data that must be delivered and dealt with within 3 msec." Meta-OCP says: – "OK, here's some code for you and the recipient of your data." Delivered code interacts with TAO. – E.g., deliver motion control data.

Next Steps OCP integration Define publish and subscribe semantics Discovery of sensor/actuator services Abstraction of sensor/actuator services Real-time QOS Time-driven domain (Masaccio) Multi-robot coordination Improved UI (particularly to help debugging)

The Demo Builders… Chamberlain Fong Christopher Hylands Jie Liu Xiaojun Liu Steve Neuendorffer Sonia Sachs Win Williams