The Gigascale Silicon Research Center Edward A. Lee UC Berkeley The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli.

Slides:



Advertisements
Similar presentations
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
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.
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.
Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee 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.
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
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.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
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.
An Extensible Type System for Component-Based Design
Defining Domains Edward A. Lee Professor, UC Berkeley Ptolemy Ptutorial, Feb. 12, 2007.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
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.
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.
CSE S. Tanimoto Syntax and Types 1 Representation, Syntax, Paradigms, Types Representation Formal Syntax Paradigms Data Types Type Inference.
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.
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.
P t o l e m y A Framework For Simulating and Prototyping Heterogeneous Systems by Joseph Buck, Soonhoi Ha, Edward A. Lee & David G. Messerschmitt P r e.
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
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.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Composing Models of Computation in Kepler/Ptolemy II
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Chad Berkley NCEAS National Center for Ecological Analysis and Synthesis (NCEAS), University of California Santa Barbara Long Term Ecological Research.
Introduction to Object Oriented Programming CMSC 331.
©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
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.
Ptolemy & Models of Computation -by Hao Chen, Zhuang Fan, Jin Xiao School of Computer Science University of Waterloo Claudius Ptolemaeus, the second century.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Structured Component Composition Frameworks for Embedded System Design Sandeep Shukla, Virginia Tech. Frederic Doucet, Rajesh Gupta University of California,
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Satisfying Requirements BPF for DRA shall address: –DAQ Environment (Eclipse RCP): Gumtree ISEE workbench integration; –Design Composing and Configurability,
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Object Oriented Programming CMSC 331. Concept of Abstraction “An abstraction is a view or representation of an entity that includes only the attributes.
SysML v2 Formalism: Requirements & Benefits
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Web Service Modeling Ontology (WSMO)
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Code Generation for Ptolemy II
Retargetable Model-Based Code Generation in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Concurrent Models of Computation for Embedded Software
Multiple Aspect Modeling of the Synchronous Language Signal
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
A Semantic Type System and Propagation
Presentation transcript:

The Gigascale Silicon Research Center Edward A. Lee UC Berkeley The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli Kees Vissers

© 2000 Edward A. Lee, UC Berkeley What is GSRC? The MARCO/DARPA Gigascale Silicon Research Center – keep the fabs full – close the productivity gap – rebuild the RTL foundation – enable scaleable, heterogeneous, component-based design Participants: – UC Berkeley – CMU – Stanford – Princeton – UCLA – UC Santa Barbara – UC San Diego – Purdue – Michigan – UC Santa Cruz

© 2000 Edward A. Lee, UC Berkeley What is System Level? A D Analog RF Timing recovery JVM ARQ UI Ctr Fltrs Adap Ant Eqmud Accelerators (bit level) analogdigital DSP core uC core (ARM) Logic Logic and Memory Source: Berkeley Wireless Research Center Embedded Software

© 2000 Edward A. Lee, UC Berkeley Focus on Capabilities, not Languages Modeling Simulation Visualization Synthesis Verification Modularization The problem we are here to address is interoperability and design productivity. Not standardization.

© 2000 Edward A. Lee, UC Berkeley Component-Based Design interoperability hierarchy modularity reusability

© 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.

© 2000 Edward A. Lee, UC Berkeley Principle: Orthogonalize Concerns in SLDLs Abstract Syntax Concrete Syntax Syntactic Transformations Type System Component Semantics Interaction Semantics Do this first, since without it, we won’t get anywhere

© 2000 Edward A. Lee, UC Berkeley Abstract Syntax hierarchy connectivity

© 2000 Edward A. Lee, UC Berkeley Not Abstract Syntax Semantics of component interactions Type system File format (a concrete syntax) API (another concrete syntax) An abstract syntax is the logical structure of a design. What are the pieces, and how are they related?

© 2000 Edward A. Lee, UC Berkeley Must Be Able to Specify Netlists Block diagrams Hierarchical state machines Object models Dataflow graphs Process networks

© 2000 Edward A. Lee, UC Berkeley Interfaces and Ports A partially ordered set Interfaces A set Ports A function ports: Interfaces   (Ports) s.t. – if i < j then ports( i )  ports( j )

© 2000 Edward A. Lee, UC Berkeley Properties A set Properties A function properties: Interfaces   (Properties) s.t. – if i < j then properties ( i )  properties( j )

© 2000 Edward A. Lee, UC Berkeley Inheritance Hierarchy Interfaces a partial ordering relation “<” Ports ports: Interfaces   (Ports) Properties properties: Interfaces   (Properties)

© 2000 Edward A. Lee, UC Berkeley Entities and Containment Hierarchy A set Entities A member root  Entities A function interface: Entities  Interfaces A function containedEntities: Entities   (Entities)

© 2000 Edward A. Lee, UC Berkeley Internal Links A function internalLinks: Entities   (Entities  Ports  Entities  Ports) – (e 1, p 1, e 2, p 2 )  internalLinks (e)  p 1  ports(interface(e 1 )) p 2  ports(interface(e 2 )) e 1  containedEntities (e) e 2  containedEntities (e) e1e1 e2e2 e p1p1 p2p2

© 2000 Edward A. Lee, UC Berkeley Interface Links A function interfaceLinks: Entities   (Ports  Entities  Ports) – (p, e 2, p 2 )  interfaceLinks (e)  p  ports(interface(e )) p 2  ports(interface(e 2 )) e 2  containedEntities (e) e2e2 e p2p2 p

© 2000 Edward A. Lee, UC Berkeley Instance and Role Hierarchies A function isSingleton: Entities  Boolean – isSingleton (root) = true An instance hierarchy is a containment hierarchy where –  e  Entities, isSingleton (e) = true A role hierarchy is any other containment hierarchy – Every role hierarchy can be unrolled to a unique instance hierarchy.

© 2000 Edward A. Lee, UC Berkeley Unrolling non-singleton role hierarchy instance hierarchy singleton

© 2000 Edward A. Lee, UC Berkeley Recursive Containment non-singleton role hierarchy instance hierarchy non-singleton singleton …

© 2000 Edward A. Lee, UC Berkeley The GSRC Abstract Syntax Models hierarchical connected components – block diagrams, object models, state machines, … – abstraction and refinement Supports classes and instances – object models – inheritance – static and instance variables Supports multiple simultaneous hierarchies – structure and function – objects and concurrency

© 2000 Edward A. Lee, UC Berkeley Concrete Syntaxes Persistent file formats Close to the abstract syntax Make it extensible to capture other aspects Enable design data exchange – without customization of the tools Most language discussions focus on concrete syntaxes, which are arguably the least important part of the design

© 2000 Edward A. Lee, UC Berkeley MoML – An XML Concrete Syntax

© 2000 Edward A. Lee, UC Berkeley MoML DTD <!ATTLIST model name CDATA #REQUIRED class CDATA #REQUIRED> <!ATTLIST attribute class CDATA #IMPLIED name CDATA #REQUIRED value CDATA #IMPLIED> <!ATTLIST class name CDATA #REQUIRED extends CDATA #REQUIRED> <!ATTLIST director name CDATA "director" class CDATA #REQUIRED> <!ATTLIST entity name CDATA #REQUIRED class CDATA #REQUIRED> <!ATTLIST link port CDATA #REQUIRED relation CDATA #REQUIRED vertex CDATA #IMPLIED> <!ATTLIST location x CDATA #REQUIRED y CDATA #IMPLIED z CDATA #IMPLIED> <!ATTLIST port name CDATA #REQUIRED class CDATA #REQUIRED direction (input | output | both) "both"> <!ATTLIST relation name CDATA #REQUIRED class CDATA #REQUIRED> <!ATTLIST vertex name CDATA #REQUIRED pathTo CDATA #IMPLIED> <!ATTLIST link port CDATA #REQUIRED relation CDATA #REQUIRED vertex CDATA #IMPLIED> Modeling Markup Language Since this document type definition captures only the abstract syntax, it is very small and simple. Other information is embedded using distinct XML DTDs.

© 2000 Edward A. Lee, UC Berkeley Syntactic Transformations A set of operations on models – creation of ports, relations, links, and entities – mutation Applications – visual editors – higher-order functions – instantiation – unrolling recursion

© 2000 Edward A. Lee, UC Berkeley Where We Are… Abstract Syntax Concrete Syntax Syntactic Transformations Type System Component Semantics Interaction Semantics logical structure meaning

© 2000 Edward A. Lee, UC Berkeley Type Systems General String Scalar Boolean Complex Double Long Int NaT entity need compatible data types Type lattice represents subclassing & ad-hoc convertibility.

© 2000 Edward A. Lee, UC Berkeley Desirable Properties in a Type System Strong typing Polymorphism Propagation of type constraints Composite types (arrays, records) User-defined types Reflection Higher-order types Type inference Dependent types We can have compatible type systems without compatible languages (witness CORBA)

© 2000 Edward A. Lee, UC Berkeley Component Semantics Entities are: States? Processes? Threads? Differential equations? Constraints? Objects?

© 2000 Edward A. Lee, UC Berkeley process { … read(); … } One Class of Semantic Models: Producer / Consumer process { … write(); … } channel port receiver Are actors active? passive? reactive? Are communications timed? synchronized? buffered?

© 2000 Edward A. Lee, UC Berkeley Particular Consumer/Producer Frameworks (Domains) 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 Each of these defines a component ontology and an interaction semantics between components. There are many more possibilities!

© 2000 Edward A. Lee, UC Berkeley Interfaces Represent not just data types, but interaction types as well. value conversionbehavior conversion

© 2000 Edward A. Lee, UC Berkeley GSRC Current Approach – System-Level Types General String Scalar Boolean Complex Double Long Int NaT actor represent interaction semantics as types on these ports. Need a new type lattice representing subclassing & ad-hoc convertibility.

© 2000 Edward A. Lee, UC Berkeley Type Lattice Simulation relation Achievable properties: Strong typing Polymorphism Propagation of type constraints User-defined types Reflection

© 2000 Edward A. Lee, UC Berkeley System-Level Types Declare dynamic properties of component interfaces Declare timing properties of component interfaces Benefits: Ensure component compatibility Clarify interfaces Provide the vocabulary for design patterns Detect errors sooner Promote modularity Promote polymorphic component design

© 2000 Edward A. Lee, UC Berkeley Our Hope – Polymorphic Interfaces actor polymorphic interfaces

© 2000 Edward A. Lee, UC Berkeley Approach Used by Others – Interface Synthesis actor protocol adapter rigid, pre-defined interfaces

© 2000 Edward A. Lee, UC Berkeley Where We Are… Abstract Syntax Concrete Syntax Syntactic Transformations Type System Component Semantics Interaction Semantics

© 2000 Edward A. Lee, UC Berkeley Benefits of Orthogonalization Modularity in language design – e.g. can build on existing abstract syntax Different levels of tool interoperability – e.g. visualization tool needs only the abstract syntax Terminology independent of concrete syntax – e.g. design patterns Focus on frameworks instead of languages – dealing with heterogeneity Issue-oriented not ASCII-oriented

© 2000 Edward A. Lee, UC Berkeley Ptolemy Project – Sanity Check Ptolemy II – – A reference implementation – Testbed for abstract syntax – Block diagram MoML editor – Mutable models – Extensible type system – Testbed for system-level types