The Future of the Ptolemy Project

Similar documents
Component-Based Design of Embedded Control Systems

The Ptolemy II Framework for Visual Languages

Concurrent Component Patterns, Models of Computation, and Types

Component-Based Design of Embedded Control Systems

Embedded Software from Concurrent Component Models

Hybrid System Modeling: Operational Semantics Issues

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

Hierarchical FSMs with Multiple CMs

UC Berkeley Mobies Technology Project

Building Unreliable Systems out of Reliable Components: The Real Time Story

Actor-Oriented Design: Concurrent Models as Programs

Overview of the Ptolemy Project

Modal Models in Ptolemy

The Gigascale Silicon Research Center

An Overview of the Ptolemy Project and Actor-Oriented Design

System-Level Design Languages: Orthogonalizing the Issues

Imperative model of computation

Model-Based Design in the Ptolemy Project

Ptolemy II The automotive challenge problems version 4.1

Actor-Oriented Design and The Ptolemy II framework

System-Level Design Languages: Orthogonalizing the Issues. Kees Vissers

Concurrent Models of Computation

Understandable Concurrency

Fusing Dataflow with Finite State Machines

Disciplined Concurrent Models of Computation for Parallel Software

Process-Based Software Components Final Mobies Presentation

The Problem With Threads

Documentation Programmer-Oriented

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08

Integrated Design and Analysis Tools for Software Based Control Systems

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING

Hardware/Software Co-design

EE382N.23: Embedded System Design and Modeling

World Wide Web Server.

The Ptolemy Project. Modeling and Design of Reactive Systems. Presenter: Praveen Murthy, PhD Postdoc and Presenter

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Future Directions. Edward A. Lee. Berkeley, CA May 12, A New Computational Platform: Ubiquitous Networked Embedded Systems. actuate.

Process-Based Software Components. Subcontractors and Collaborators

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

The Ptolemy Kernel Supporting Heterogeneous Design

Discrete-Event Modeling and Design of Embedded Software

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II

Embedded Tutorial CPS Foundations

Specifications and Modeling

Specifications and Modeling

System-level Synthesis of Dataflow Applications for FPGAbased Distributed Platforms

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15

VOLUME 1: INTRODUCTION TO PTOLEMY II. Document Version 3.0 for use with Ptolemy II 3.0 July 16, 2003

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

A Heterogeneous Approach for Wireless Network Simulations

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund

EE382V: Embedded System Design and Modeling

An Overview of the Ptolemy Project. Organizational

Building Synchronous DataFlow graphs with UML & MARTE/CCSL

Classes and Inheritance in Actor- Oriented Models

Concurrent Semantics without the Notions of State or State Transitions

Predictable Timing of Cyber-Physical Systems Future Research Challenges

The Waveform Description Language. Overview

A Framework for the Design of Mixed-Signal Systems with Polymorphic Signals

Model-Driven Analysis of Security, Reliability, Test, Privacy, Safety and Trust of IoE Services. Eugenio Villar University of Cantabria

By: Chaitanya Settaluri Devendra Kalia

Java Code Generation. Outline. Steve Neuendorffer UC Berkeley. Motivation Code generation architecture Component Specialization

Comparison of models. Peter Marwedel Informatik 12, TU Dortmund, Germany 2010/11/07. technische universität dortmund

Model-Driven Development From Object-Oriented Design to Actor-Oriented Design

Concurrent Models of Computation for Embedded Software

Course Development. Recall the Goal. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Chess Review November 18, 2004 Berkeley, CA

Concurrent Models of Computation

Interface Automata and Actif Actors

Concurrent Models of Computation

FSMs & message passing: SDL

fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik /11/07

Extending POLIS with User-Defined Data Types

Concurrency Demands New Foundations for Computing

Balance between Formal and Informal Methods, Engineering and Artistry, Evolution and Rebuild

Concurrent Models of Computation for Embedded Software

Static Analysis of Actor Networks

Hardware Description Languages & System Description Languages Properties

SimWORKS, A Hybrid Java/C++ Simulation Platform

Simulation of LET Models in Simulink and Ptolemy

Temporal Semantics in Concurrent and Distributed Software

Distributed Middleware. Distributed Objects

An Introduction to Network Simulation Using Ptolemy Software Tool

Applying Models of Computation to OpenCL Pipes for FPGA Computing. Nachiket Kapre + Hiren Patel

Specifications Part 1

Lecture 2: Models of Computation

System-Level Modeling Environment: MLDesigner

09. Component-Level Design

Embedded Real-Time Systems

A Generic RTOS Model for Real-time Systems Simulation with SystemC

Making Concurrency Mainstream

Part 2: Principles for a System-Level Design Methodology

Embedded Software. Edward A. Lee,

HW/SW Design Space Exploration on the Production Cell Setup

Application-Platform Mapping in Multiprocessor Systems-on-Chip

Giotto Domain. 5.1 Introduction. 5.2 Using Giotto. Edward Lee Christoph Kirsch

Imperative model of computation

Communication Systems Design in Practice

LabVIEW Based Embedded Design [First Report]

Transcription:

The Future of the Ptolemy Project Edward A. Lee UC Berkeley With thanks to the entire Ptolemy Team. Ptolemy Miniconference Berkeley, CA, March 22-23, 2001 The Problem Composition Decomposition Corba? TAO? OCP? DCOM? UML? XML? Simulink? Esterel? TTA? Giotto? Java Beans? Java Spaces? JINI? Rosetta? System C? How do components interact? Ptolemy Miniconference, Berkeley, 2 1

Approaches Do it my way Do it your way Do it the right way Claim: The right way is often neither your way nor my way. Ptolemy Miniconference, Berkeley, 3 Do It My Way I have an xxx for you. xxx = language xxx = OO framework xxx = model of computation xxx = tool It s really cool. It gives you yyy. yyy = a really cool GUI yyy = approval of your program manager yyy = expressiveness yyy = formal verification Ptolemy Miniconference, Berkeley, 4 2

Obstacles Most engineers resist new languages Can be tough to learn new tricks Not used to thinking that way The way they did the last project was just fine New syntaxes are particularly scary New languages are more specialized than claimed Requires rethinking applications Most of the tough decisions are at the MoC level Consider for example a real-time O/S application redone in Esterel a Matlab script redone in real-time embedded software Ptolemy Miniconference, Berkeley, 5 Overcoming the Obstacles Fool the people Masquerade as a familiar language do system-level design in C++! e.g. System C Claim that your approach avoids programming Use a block-diagram syntax e.g. Simulink Gentle persuasion Build a really cool GUI Ptolemy Miniconference, Berkeley, 6 3

Do It Your Way Do whatever you want, wherever you want Build infinite flexibility into the tools If your design is incomprehensible, then it serves you right for not doing it my way This approach is incremental, as small changes are made to previous methodologies. Thus, embedded software will remain a problem of tweaking priorities in a real-time OS, and battling priority inversion. Ptolemy Miniconference, Berkeley, 7 Do it the Right Way Requires thinking about designs at a meta level What model(s) of computation should be used? CSP? Publish/Subscribe? Dataflow? Statecharts? Requires that designers understand the alternatives How to partition the design Which model of computation to use in which partition? Requires rethinking tools and languages Cannot assume they are it (interoperability!) How to mix models of computation? Real designs are complex and heterogeneous Ptolemy Miniconference, Berkeley, 8 4

Example Hierarchical nesting of Time driven architecture for real-time Priority-driven publish & subscribe for fault handling & reconfig. Synchronous model for user interface & control logic Dataflow model for signal processing ODEs for continuous dynamics Rendezvous for resource management The research challenge: How do we get these modeling strategies to work together in an understandable way? How to make them efficient? Ptolemy Miniconference, Berkeley, 9 Making Sense of the Options: Component Interfaces Represent not just data types, but interaction types as well. Double DE1 value conversion behavior conversion Int SDF1 Resulting system-level type system can be used to define domain polymorphic components Ptolemy Miniconference, Berkeley, 10 5

Our Goal Domain Polymorphic Interfaces actor actor polymorphic interfaces Ptolemy Miniconference, Berkeley, 11 Hierarchical Heterogeneity: H 2 A B C XXX domain domain polymorphic interface D ZZZ domain x y x y z z YYY domain E F G E F G Ptolemy Miniconference, Berkeley, 12 6

Domain Exploration Exploration of models of computation is a major part of what we do. BDF/IDF boolean/integer dataflow (Buck) DDF dynamic dataflow with threaded actors HDF heterochronous dataflow IA interface automata (de Alfaro) PDF parameterized dataflow (Bhattacharyya) RTOS priority-driven real-time scheduling SR synchronous/reactive Blue domains in progress Ptolemy Miniconference, Berkeley, 13 Getting Efficiency: Code Generators Code generator produces code from block diagrams. Ptolemy Miniconference, Berkeley, 14 7

Code Generator Tasks Back end languages: C C++ Embedded Java VHDL, Specific targets: TTA VxWorks FPGAs, Domains FSM RTOS Giotto PDF, There is enough work here to keep many people busy for a long time Ptolemy Miniconference, Berkeley, 15 Improving the Expressiveness of Visual Syntaxes Higher-Order Functions Token whose value is a model An actor with ports and parameters Parameter values can be models Apply actor with model parameter Apply actor with model input port Map combinator actor Zip combinator actor Meta modeling Generation of customized visual syntaxes Modeling domains in Ptolemy II Modeling Ptolemy II in Ptolemy II Ptolemy Miniconference, Berkeley, 16 8

Framework Tasks Community building PtNapster for actor libraries? Domain community eptolemy CORBA-based distributed modeling IP-protected libraries Parallelized simulation: Ptolemy @ home screensavers? Support ptolemy-hackers@ptolemy.eecs.berkeley.edu comp.soft-sys.ptolemy newsgroup Agile Design, Inc. Ptolemy Miniconference, Berkeley, 17 Conclusion Stay tuned. Ptolemy Miniconference, Berkeley, 18 9