Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.

Slides:



Advertisements
Similar presentations
Topic 2: Balance between formal and informal methods, engineering and artistry, evolution and rebuild Edward A. Lee Professor UC Berkeley Center for Hybrid.
Advertisements

Object-Oriented Analysis and Design
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-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
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.
Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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.
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.
Understandable and Scalable Concurrency Christopher Brooks Programmer/Analyst, University of California, Berkeley Edward A. Lee Robert S. Pepper Distinguished.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
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.
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.
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
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
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
Understandable Concurrency Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS Director, CHESS: Center for Hybrid and Embedded Software Systems.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
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.
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.
Process-Based Software Components Final Mobies Presentation Edward A. Lee Professor UC Berkeley PI Meeting, Savannah, GA January 21-23, 2004 PI: Edward.
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)
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.
Panel: What Comes After C++ in System-Level Specification Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages.
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.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Composing Models of Computation in Kepler/Ptolemy II
Introduction To System Analysis and Design
Copyright © 2013 Curt Hill UML Unified Modeling Language.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Part VII: Design Continuous
The 14 th IEEE Real-Time and Embedded Technology and Applications Symposium, April 2008 Real-Time Distributed Discrete-Event Execution with Fault Tolerance.
Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based.
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
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
UML (Unified Modeling Language)
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
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Presentation transcript:

Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design Languages (FDL) Frankfurt, Sept. 26, 2003

UC Berkeley, Edward Lee 2 Platforms A platform is a set of designs (the rectangles at the right, e.g., the set of all x86 binaries). Model-based design is specification of designs in platforms with useful modeling properties (e.g., Simulink block diagrams for control systems).

UC Berkeley, Edward Lee 3 Platforms Where the Action Has Been: Giving the red platforms useful modeling properties (e.g. UML, MDA) Getting from red platforms to blue platforms.

UC Berkeley, Edward Lee 4 Platforms Where the Action Will Be: Giving the red platforms useful modeling properties (via models of computation) Getting from red platforms to blue platforms.

UC Berkeley, Edward Lee 5 Design Framework A design framework is a collection of platforms and realizable relations between platforms where at least one of the platforms is a set of physically realizable designs, and for any design in a user platform, the transitive closure of the relations from that design includes at least one physically realizable design. In model-based design, a specification is a point in a platform with useful modeling properties.

UC Berkeley, Edward Lee 6 Focus on Actor-Oriented Design (vs. trying to give useful modeling properties to program-level designs) 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 7 Examples of Frameworks with Actor-Oriented Mechanisms Simulink (The MathWorks) Labview (National Instruments) Modelica (Linkoping) SystemC + Comm Libraries (Various) VHDL, Verilog (Various) SPW, signal processing worksystem (Cadence) System studio (Synopsys) ROOM, real-time object-oriented modeling (Rational) OCP, open control platform (Boeing) Easy5 (Boeing) Port-based objects (U of Maryland) I/O automata (MIT) Polis & Metropolis (UC Berkeley) Ptolemy & Ptolemy II (UC Berkeley) …

UC Berkeley, Edward Lee 8 Example of Actor-Oriented Design (in this case, with a visual syntax) Director from a library defines component interaction semantics Large, behaviorally-polymorphic component library. Ptolemy II example: Key idea: The model of computation is part of the framework within which components are embedded rather than part of the components themselves. Thus, components need to declare behavioral properties. Model of Computation: Messaging schema Flow of control Concurrency Component

UC Berkeley, Edward Lee 9 Contrast Actor Orientation with 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 orientedObject oriented

UC Berkeley, Edward Lee 10 Actor Orientation vs. Object Orientation Object Orientation –procedural interfaces –a class is a type (static structure) –type checking for composition –separation of interface from implementation –subtyping –polymorphism Actor Orientation –concurrent interfaces –a behavior is a type –type checking for composition of behaviors –separation of behavioral interface from implementation –behavioral subtyping –behavioral polymorphism This is a vision of the future: Few actor- oriented frameworks fully offer this view. Eventually, all will.

UC Berkeley, Edward Lee 11 Will Actor-Oriented Design Yield Better Designs? Not necessarily. “Why isn’t the answer UML, or XML, or IP, or something like that?” Direct quote from a high- ranking decision maker at a large embedded systems company with global reach. The Box, Eric Owen Moss Mandating use of the wrong platform is far worse than tolerating the use of multiple platforms. Source: Contemporary California Architects, P. Jodidio, Taschen, 1995 “New” is not better than “good” Has the hardware design community been lead astray by the software engineering community?

UC Berkeley, Edward Lee 12 Better Architecture is Enabled but not Guaranteed by Actor-Oriented Design Understandable concurrency Systematic heterogeneity More re-usable component libraries Two Rodeo Drive, Kaplan, McLaughlin, Diaz Source: Kaplan McLaughlin Diaz, R. Rappaport, Rockport, 1998