Component Technologies for Embedded Systems Johan Eker.

Slides:



Advertisements
Similar presentations
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Advertisements

Generative Programming for a Component-based Framework of Distributed Embedded Software Systems Xu Ke, Krzysztof Sierszecki Mads Clausen Institute for.
Rule Based Operational Semantics Specification in Ptolemy Yanwar Asrigo COMP 763B - Modeling and Simulation Based Design 30 th April 2008.
A code generator for the CAL actor language Lars Wernli Supervisor: Joern Janneck, UC Berkeley Professor: Lothar Thiele, ETH Zuerich.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
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.
Overview of PTIDES Project
Process-Based Software Components for Networked Embedded Systems Edward A. Lee, PI UC Berkeley Core Technical Team (Mobies, SEC, and GSRC): Christopher.
Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 Java Code Generation Steve Neuendorffer UC Berkeley.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
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.
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.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 C AL - An actor language Jörn W. Janneck The Ptolemy Group University of California, 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.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
An Extensible Type System for Component-Based Design
The Ptolemy Group University of California at Berkeley Jörn W. Janneck Actors, actor composition, and an actor language describing the semantics of (some)
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
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,
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
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.
The Caltrop Actor Language Johan Eker UC Berkeley MoBIES group, Carnegie Mellon, November 30, 2001.
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 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
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.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Models of Computation as Program Transformations Chris Chang
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
What’s Ahead for Embedded Software? - Edward A. Lee (2000) Wednesday November 10, 2010 Hokeun Kim.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
Composing Models of Computation in Kepler/Ptolemy II
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
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 Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
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
Martin Kruliš by Martin Kruliš (v1.0)1.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems.
Linear Analysis and Optimization of Stream Programs Masterworks Presentation Andrew A. Lamb 4/30/2003 Professor Saman Amarasinghe MIT Laboratory for Computer.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Code Generation for Ptolemy II
Compositionality in Synchronous Data Flow
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Retargetable Model-Based Code Generation in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Jörn W. Janneck The Ptolemy Group University of California, Berkeley
CSP-Style Rendezvous Communication Thomas Feng, Edward Lee, Yang Zhao
The Caltrop Actor Language a short introduction
Presentation transcript:

Component Technologies for Embedded Systems Johan Eker

Ptolemy II A Software Laboratory Ptolemy II – Actor based models – Implemented in Java – Graphical modeling and simulation environment – Multiple “models of computation” – Hierarchical & heterogeneous models – Code generation

The Caltrop Actor Language a language for writing dataflow actors. It is designed as a domain-specific language. It compiles against the Ptolemy API (Pt/Java).

Component Technology Examples: Java beans, VB-components, etc Rationale –Encapsulation –Reuse –Divide complexity Successful in many areas Problems with concurrent components –Threads are not components –Priorities are global parameters Difficult to design embedded systems component with state-of-the art technology

Multipurpose tools Express almost anything, guarantee almost nothing You only need to know one programming language –Quick starts, but sometimes slower endings Programmers+language, a lifelong marriage Examples: –Java –C/C++ with RTOS, ADA, Modula-2 –RMA & EDF scheduling

Sharpen your tools Use problem specific tools –Constrain the solutions Choice of tools, a major design decision Combine several tools

Hierarchical, Heterogeneous Modeling and Design in Ptolemy II sensors leader Br Acc Ba bang-bang PID follower controller actuators S Models of computation

Actor Interaction Semantics Are actors active? passive? How is the flow of control determined? Are communications timed? synchronized? buffered? How is the communications mediated?

Ptolemy II Basics A model is a a set of interconnected actors and one director Actor –Input & output ports, states, & parameters –Atomic or composite –Communicates using tokens –When it is fired it produces and consumes tokens producer actor consumer actor Ports

Ptolemy II Basics Director –Manages the data flow and the scheduling of the actors –The director fires the actors Receiver –Defines the semantics of the port buffers Models of Computation –Define the interaction semantics –Implemented in Ptolemy II by a domain Director + Receiver

Key: Orthogonalizing the Concerns Write your actors so that communication and scheduling can be factored out Requires stylized Java and many informal contracts Solution: generate Java actors from a more abstract description such as Caltrop Communication Scheduling Algorithm

Caltrop Actor Language Imperative, but with a functional flavor Ports, states, parameters & actions Operates on token streams A:[1,2,3,...], B: [1,2,3,...] C: [2,4,6,...] Embedded in a host language actor Add () double A, double B  double C: action [a], [b]  [c]: c := a + b; end Input port Output port Input patternOutput expression Action body

States actor B () Double Input ==> Double Output: Integer n := 0; Double sum := 0; action [a] ==> [sum / n] : n := n + 1; sum := sum + a; end

Multiple actions, action conditions actor C () Double Input ==> Double Output: action [a] ==> [a] where a >= 0 end action [a] ==> [-a] where a < 0 end end actor D () Double Input ==> Double Output: action [a] ==> [abs(a)] end end

Port patterns actor PairwiseSwap [T] () T Input ==> T Output: action [a, b] ==> [b, a] end end examples –[a, b, c] –[a, b, c | s] –[| s]

Channel selectors actor Switch [T] () multi T Data, Integer Select ==> T Output: action [a] at i, [i] ==> [a] end end

Action tags, action selectors actor FairMerge [T] () T Input1, T Input2 ==> T Output: A: action [a], [] ==> [a] end B: action [], [a] ==> [a] end selector (A B)* end other selectors are conceivable, e.g. (A B)* | (B A)* ( (A B) | (B A) )*

Caltrop implementation —the big picture. Caltrop CalCore Caltrop (0) Caltrop (n) parsing Caltrop (1) transformation, annotation code generation source text Caltrop AST target platform Ptolemy IIMosesKoala OSMatlab/PålsjöDSP/FPGA split-phase CalCore 

The Rest of Caltrop Expressions are side effect free Lambda, block and actor closures Statements –foreach, while, if-then-else Few built-in types: list, map, set Immutable variable & no aliasing Allows analysis –Deadlock, schedulability, memory consumption

Summary “Don’t get it right, keep it right” Embedded system components Realized in the Ptolemy II framework Compiler is being developed at UCB More information –Edward Lee “What’s Ahead for Embedded Computing?”, IEEE Computer, Sept – –