Panel: What Comes After C++ in System-Level Specification Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages.

Slides:



Advertisements
Similar presentations
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With thanks to Xioajun.
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.
Introduction To System Analysis and Design
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.
Advanced Tool Architectures Supporting Interface-Based Design
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
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.
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.
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.
System-Level Design Languages: Orthogonalizing the Issues Edward A. Lee UC Berkeley The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Unified Modeling (Part I) Overview of UML & Modeling
An Extensible Type System for Component-Based Design
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.
Discrete Event Models: Getting the Semantics Right Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With special thanks.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
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.
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.
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.
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
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.
Embedded Software: Building the Foundations Edward A. Lee Professor, Chair of EE, and Associate Chair of EECS CHESS: Center for Hybrid and Embedded Software.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Composing Models of Computation in Kepler/Ptolemy II
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
Design Jon Walker. More UML ● What is UML again?
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Computing For Embedded System IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, Author : Edward A. Lee UC.
Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Software Engineering Lecture 8 Object-Oriented Analysis.
Ptolemy & Models of Computation -by Hao Chen, Zhuang Fan, Jin Xiao School of Computer Science University of Waterloo Claudius Ptolemaeus, the second century.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 UML and OOAD Unified Modeling Language Object Oriented Analysis and.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
PTII Model  VHDL Codegen Verification Project Overview 1.Generate VHDL descriptions for Ptolemy models. 2.Maintain bit and cycle accuracy in implementation.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Communication DIAGRAM
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
Review CSE116 2/21/2019 B.Ramamurthy.
Presentation transcript:

Panel: What Comes After C++ in System-Level Specification Edward Lee UC Berkeley Forum on Design Languages Workshop on System Specification & Design Languages September 4-8, Tübingen, Germany

© 2000 Edward A. Lee, UC Berkeley What is C++ Object-oriented language – Abstract data types – Polymorphism – Inheritance No concurrency – Sequential flow of control It is not a system-level specification language!

© 2000 Edward A. Lee, UC Berkeley What About Java? Has (very low level) concurrency – threads – monitors Threads are hard to use! Sun says in the on-line Java tutorial: “The first rule of using threads is this: avoid them if you can. Threads can be difficult to use, and they tend to make programs harder to debug.” Threads are a poor model for concurrent hardware.

© 2000 Edward A. Lee, UC Berkeley What is System C? An elaborate design pattern – happens to be defined as a set of C++ classes – has semantics well beyond those of C++ – is more properly viewed as a new language than as C++ A concurrency model – cycle driven (discrete-time) – multirate (some discrete-event flavor) This is a system-level specification language, but it is not C++. – Is it the right SLDL? – Is it sufficient?

© 2000 Edward A. Lee, UC Berkeley Using the syntax of C++ does not mean you are programming in C++! Many languages use the Roman alphabet, but that does not make them Latin. The warm, fuzzy familiarity of the syntax of C++ is a marketing tool, not a technical tool. Tower of Babel, by Bruegel, 1563

© 2000 Edward A. Lee, UC Berkeley Proposed Focus: Component Frameworks 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? Thomas Kuhn, originator of the paradigm paradigm

© 2000 Edward A. Lee, UC Berkeley action { … read(); … } A Class of Concurrent Frameworks: Producer / Consumer action { … write(); … } channel port Are actors active? passive? reactive? cycle-driven? Are communications timed? synchronized? buffered?

© 2000 Edward A. Lee, UC Berkeley Concurrent Component Frameworks CSP – concurrent threads with rendezvous CT – continuous-time modeling DE – discrete-event systems DT – discrete time (cycle driven) PN – process networks SDF – synchronous dataflow SR – synchronous/reactive There are many more possibilities! A concurrent flow of control An interaction protocol. Survival of the fittest is the only reasonable way to choose among these.

© 2000 Edward A. Lee, UC Berkeley Interoperability Levels Code can be written to translate the data from one tool to be used by another. Tools can open each other’s files and extract useful information (not necessarily all useful information). Tools can interoperate dynamically, exchanging information at run time. Syntax alone achieves none of these.

© 2000 Edward A. Lee, UC Berkeley Conclusions This is socket science! "Strategy is better than strength” – proverb from the Hausa culture of Nigeria Any nice unified system-level design language is destined to be a drowning cathedral.

© 2000 Edward A. Lee, UC Berkeley What is UML? A family of graphical notations – object models – interaction diagrams – statecharts – package diagrams – use diagrams Very weak at expressing concurrency (except its statecharts model, which has a specialized form of concurrency)