SRC ETAB Summer Study Colorado Springs, June 25-26, 2001 Model-Based Approaches to Embedded Software Design Edward A. Lee UC Berkeley & GSRC.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Discrete-Event Modeling and Design of Embedded Software Edward Lee UC Berkeley Workshop on Discrete Event Systems WODES 2000 Ghent, Belgium August,
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.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
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.
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.
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.
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.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
Hybrid/OCP Workgroup. Issues Heterogeneous model semantics (common principles, differences) – Ptolemy II – FRP – CHIRP – Simulink/Stateflow/Matlab – Giotto/Masaccio.
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.
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.
Are “Embedded Systems" Just Systems Made with Small Computers? Chess: Center for Hybrid and Embedded Software Systems Invited Talk Artist International.
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.
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.
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.
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.
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.
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.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Embedded Software: Building the Foundations Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center for Hybrid and Embedded Software.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Composing Models of Computation in Kepler/Ptolemy II
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
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.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
February 11, 2016 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
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
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:

SRC ETAB Summer Study Colorado Springs, June 25-26, 2001 Model-Based Approaches to Embedded Software Design Edward A. Lee UC Berkeley & GSRC

Edward A. Lee, Berkeley, 2 Why is Embedded Software an Issue for Semiconductor Manufacturers? Silicon without software is getting rarer. Time-to-volume is often dominated by SW development. Software requirements affect hardware design. Embedded SW design is getting harder (networking, complexity). Mainstream SW engineering is not addressing embedded SW well. prime example today

Edward A. Lee, Berkeley, 3 Why is Embedded SW not just Software on Small Computers? Interaction with physical processes sensors, actuators, processes Critical properties are not all functional real-time, fault recovery, power, security, robustness Heterogeneous hardware/software, mixed architectures Concurrent interaction with multiple processes Reactive operating at the speed of the environment These feature look more like hardware!

Edward A. Lee, Berkeley, 4 Why not Leave This Problem to the Software Experts? E.g. Object-Oriented Design Call/return imperative semantics Concurrency is via ad-hoc calling conventions band-aids: futures, proxies, monitors Poorly models the environment which does not have call/return semantics Little to say about time Object modeling emphasizes inheritance and procedural interfaces. We need to emphasize concurrency, communication, and temporal abstractions.

Edward A. Lee, Berkeley, 5 Why not Leave This Problem to the Software Experts (cont)? E.g. Real-Time Corba Component specification includes: worst case execution time typical execution time cached execution time priority frequency importance This is an elaborate prayer…

Edward A. Lee, Berkeley, 6 Hardware Experts Have Something to Teach to the Software World Concurrency the synchrony abstraction event-driven modeling Reusability cell libraries interface definition Reliability leveraging limited abstractions leveraging verification Heterogeneity mixing synchronous and asynchronous designs resource management

Edward A. Lee, Berkeley, 7 Alternative View of SW Architecture: Actors with Ports and Attributes Model of Computation: Messaging schema Flow of control Concurrency Examples: Synchronous circuits Time triggered Process networks Discrete-event systems Dataflow systems Publish & subscribe Key idea: The model of computation is part of the framework within which components are embedded rather than part of the components themselves.

Edward A. Lee, Berkeley, 8 Examples of Actors+Ports Software Architectures VHDL, Verilog, SystemC (Various) Simulink (The MathWorks) Labview (National Instruments) OCP, open control platform (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) Polis & Metropolis (UC Berkeley) Ptolemy & Ptolemy II (UC Berkeley) …

Edward A. Lee, Berkeley, 9 What an Embedded Program Might Look Like

Edward A. Lee, Berkeley, 10 Simple Example: Controlling an Inverted Pendulum with Embedded SW The Furuta pendulum has a motor controlling the angle of an arm, from which a free-swinging pendulum hangs. The objective is to swing the pendulum up and then balance it.

Edward A. Lee, Berkeley, 11 Metaphor for Disk drive controllers Manufacturing equipment Automotive: Drive-by-wire devices Engine control Antilock braking systems, traction control Avionics Fly-by-wire devices Navigation flight control Certain “software radio” functions Printing and paper handling Signal processing (audio, video, radio) …

Edward A. Lee, Berkeley, 12 Execution An execution of the model displays various signals and at the bottom produces a 3-D animation of the physical system. Model by Johan Eker

Edward A. Lee, Berkeley, 13 Top-Level Model The top-level is a continuous-time model that specifies the dynamics of the physical system as a set of nonlinear ordinary differential equations, and encapsulates a closed loop controller. Framework by Jie Liu

Edward A. Lee, Berkeley, 14 A Modal Controller The controller itself is modal, with three modes of operation, where a different control law is specified for each mode. Framework by Xiaojun Liu

Edward A. Lee, Berkeley, 15 The Discrete Controllers Three discrete submodels (dataflow models) specify control laws for each of three modes of operation. Framework by Steve Neuendorffer

Edward A. Lee, Berkeley, 16 This is System-Level Modeling SRC funding in system-level modeling, simulation, and design work 5-10 years ago has had demonstrable impact via: SystemC VSIA standards efforts Cadence SPW & VSS Synopsys Cocentric Studio Agilent ADS (RF + DSP) … Much of this work is now starting to address embedded software issues.

Edward A. Lee, Berkeley, 17 The Key Idea Components are actors with ports Interaction is governed by a model of computation flow of control messaging protocols non-functional properties (timing, resource management, …) So what is a model of computation? It is the “laws of physics” governing the interaction between components It is the modeling paradigm

Edward A. Lee, Berkeley, 18 Model of Computation What is a component? (ontology) States? Processes? Threads? Differential equations? Constraints? Objects (data + methods)? What knowledge do components share? (epistemology) Time? Name spaces? Signals? State? How do components communicate? (protocols) Rendezvous? Message passing? Continuous-time signals? Streams? Method calls? Events in time? What do components communicate? (lexicon) Objects? Transfer of control? Data structures? ASCII text?

Edward A. Lee, Berkeley, 19 Domains – Realizations of Models of Computation CSP – concurrent threads with rendezvous CT – continuous-time modeling DE – discrete-event systems DDE – distributed discrete-event systems DT – discrete time (cycle driven) FSM – finite state machines Giotto – time driven cyclic models GR – graphics PN – process networks SDF – synchronous dataflow xDF – other dataflow Each of these defines a component ontology and an interaction semantics between components. There are many more possibilities!

Edward A. Lee, Berkeley, 20 Domain Hierarchical, Compositional Models Actors with ports are better than objects with methods for embedded system design.

Edward A. Lee, Berkeley, 21 Heterogeneity – Hierarchical Mixtures of Models of Computation Modal Models FSM + anything Hybrid systems FSM + CT Mixed-signal systems DE + CT DT + CT Complex systems Resource management Signal processing Real time

Edward A. Lee, Berkeley, 22 Key Advantages Domains are specialized lean targeted optimizable understandable Domains are mixable (hierarchically) structured disciplined interaction understandable interaction

Edward A. Lee, Berkeley, 23 Model = Design We need modeling “languages” for humans to realize complex functionality understand the design formulate the questions predict the behavior The issue is “model” or “design” not “hardware” or “software” Invest in: modeling “languages” for systems finding the useful abstractions computational systems theory composable abstractions expressing time, concurrency, power, etc.

Edward A. Lee, Berkeley, 24 Composing Systems We need systematic methods for composing systems component frameworks composition semantics on-the-fly composition, admission control legacy component integration Invest in: methods and tools reference implementations semantic frameworks and theories defining architectural frameworks strategies for distribution, partitioning strategies for controlling granularity and modularity

Edward A. Lee, Berkeley, 25 Transformations We need theory of transformations between abstractions relationships between abstractions generators (transformers, synthesis tools) multi-view abstractions model abstractors (create reduced-order models) abstractions of physical environments verifiable transformations Invest in: open generator infrastructure (methods, libraries) theories of generators methods for correct by construction transformers co-compilation

Edward A. Lee, Berkeley, 26 Conclusions Semiconductor manufacturers should not ignore embedded software. Software experts are unlikely to solve the embedded software problem on their own. Actors with ports are better than objects with methods for embedded system design. Well-founded models of computation matter a great deal, and specialization can help.