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

Similar documents
Advanced Tool Architectures

Actor-Oriented Design: Concurrent Models as Programs

The Ptolemy II Framework for Visual Languages

Process-Based Software Components Final Mobies Presentation

Hybrid System Modeling: Operational Semantics Issues

Modal Models in Ptolemy

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

The Gigascale Silicon Research Center

System-Level Design Languages: Orthogonalizing the Issues

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

Concurrent Models of Computation for Embedded Software

Simulation of LET Models in Simulink and Ptolemy

The Future of the Ptolemy Project

Component-Based Design of Embedded Control Systems

A Solution Based on Modeling and Code Generation for Embedded Control System

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

Process-Based Software Components. Subcontractors and Collaborators

Classes and Inheritance in Actor- Oriented Models

Concurrent Component Patterns, Models of Computation, and Types

Ptolemy II The automotive challenge problems version 4.1

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

Component-Based Design of Embedded Control Systems

UC Berkeley Mobies Technology Project

Model-Based Design in the Ptolemy Project

Design Specification of Cyber-Physical Systems: Towards a Domain-Specific Modeling Language based on Simulink, Eclipse Modeling Framework, and Giotto

Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II

By: Chaitanya Settaluri Devendra Kalia

Predictable Timing of Cyber-Physical Systems Future Research Challenges

Towards the Compositional Specification of Semantics for Heterogeneous DSML-s

Graphical Editor for the Metropolis Meta-model

Model-Integrated Computing

Integrated Design and Analysis Tools for Software Based Control Systems

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING

Embedded Software from Concurrent Component Models

Hierarchical FSMs with Multiple CMs

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema

ANNUAL REPORT FOUNDATIONS OF HYBRID AND EMBEDDED SYSTEMS AND SOFTWARE NSF/ITR PROJECT AWARD NUMBER: CCR

Model-based Design and Network Centric Systems

Metaprogrammable Toolkit for Model-Integrated Computing

An Overview of the Ptolemy Project. Organizational

Classes and Subclasses in Actor-Oriented Design

Compositionality in system design: interfaces everywhere! UC Berkeley

Embedded Real-Time Systems

An Overview of the Ptolemy Project and Actor-Oriented Design

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

ExCAPE. Expeditions in Computer Augmented Program Engineering

Hardware/Software Co-design

ANNUAL REPORT FOUNDATIONS OF HYBRID AND EMBEDDED SYSTEMS AND SOFTWARE NSF/ITR PROJECT AWARD NUMBER: CCR

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

Exploring Trade-off s Between Centralized versus Decentralized Automotive Architectures Using a Virtual Integration Environment

Foundations of Hybrid and Embedded Software Systems. Experimental Research

Semantic Specifications for Domain-Specific Modeling Languages

Understandable Concurrency

Compositional Model Based Software Development

Decoupling Among Design Concerns

Concurrent Models of Computation for Embedded Software

Semantic Anchoring with Model Transformations

Introduction to Embedded Systems

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

Concurrent Models of Computation

Overview of the Ptolemy Project

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

ModHel X: A Component-Oriented Approach to Multi-Formalism Modeling

Embedded Software Engineering

Model driven Engineering & Model driven Architecture

Interface Automata and Actif Actors

Graphical System Design. David Fuller LabVIEW R&D Section Manager

Communication Systems Design in Practice

Evaluation and comparison of inter-processor communication techniques in model-based design flows/tools

From MetroII to Metronomy, Designing Contract-based Function-Architecture Co-simulation Framework for Timing Verification of Cyber-Physical Systems

Concurrent Models of Computation

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Model-Based Synthesis and Analysis of Fault Tolerant Data Flow Models

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.

Portable Real-Time Code from PTIDES Models

A Graduate Embedded System Education Program

Distributed Systems Programming (F21DS1) Formal Verification

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

PTIDES: A Discrete-Event-Based Programming Model for Distributed Embedded Systems

Metamodeling with Metamodels. Using. UML/MOF including OCL

Imperative model of computation

SysteMoC. Verification and Refinement of Actor-Based Models of Computation

System-level Synthesis of Dataflow Applications for FPGAbased Distributed Platforms

Communication Systems Design in Practice

C Code Generation from the Giotto Model of Computation to the PRET Architecture

Future Directions in Simulation Modeling. C. Dennis Pegden

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

Model Based Software Engineering, Graph Grammars and Graph Transformations

MoCC - Models of Computation and Communication SystemC as an Heterogeneous System Specification Language

Introduction to Dependable Systems: Meta-modeling and modeldriven

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

Composition of State Machines

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

Architectural Design

Model-Based Design for Signal Processing Systems

Simulink/Stateflow. June 2008

Transforming UML Collaborating Statecharts for Verification and Simulation

Actor-Oriented Design and The Ptolemy II framework

Paradigms of computer programming

Transcription:

Advanced Tool Architectures Edited and Presented by Edward A. Lee, Co-PI UC Berkeley Chess Review May 10, 2004 Berkeley, CA Tool Projects Concurrent model-based design Giotto (Henzinger) E machine & S machine (Henzinger) NP-Click (Keutzer) Streambit (Bodik) Metropolis (Sangiovanni-Vincentelli) Ptolemy II (Lee) Meta modeling GME (Sztipanovits, Vanderbilt) investigator in charge GREAT=Language,Engine,C/G,Debugger (Karsai, Vanderbilt) MOF-based Metamodeling (Sztipanovits, Vanderbilt) Verification Blast (Henzinger) CCured (Necula) Chic (Henzinger) SMoLES (Karsai, Vanderbilt) Chess Review, May 10, 2004 2

Emphasis of Each Tool Concurrent model -based design Meta modeling Verification Giotto E/S machines NP-Click Streambit Metropolis Ptolemy II UML-OCL/GME GReAT/GME, GRE,C/G MOF/GME Blast CCured SMOLES Chic A particular concurrent, timed model of computation (MoC) O/S neutral run-time virtual machine Programming model for network processors Domain-specific language for bit stream processing Design refinement and mapping. MoCs and visualization of design. Modeling the modeling languages using UML class diagrams and OCL Modeling Model transformations using the GReAT Language, Transformation engine, Code Generator, Debugger Metamodeling using the Meta-Object Facility Model checking C programs. Making C programs more reliable. Simple Modeling Language for Embedded Systems with Timing Analysis (using Timed Automata) Checking interface compatibility in component compositions. Chess Review, May 10, 2004 3 A Common Approach in Many of These: Actor-Oriented Design Object orientation: class name data methods call return Actor orientation: actor name data (state) parameters ports Input data Output data What flows through an object is sequential control What flows through an object is streams of data A key theme is to identify the fundamentals of actor-oriented design and to show how to leverage a solid actor-oriented foundation to create domainspecific modeling languages (DSMLs) Chess Review, May 10, 2004 4

Actor-Oriented Platforms Actor oriented models compose concurrent components according to a model of computation. Time and concurrency become key parts of the programming model. Chess Review, May 10, 2004 5 Actor Interfaces: Ports and Parameters input ports parameters: a 1 = value a 2 = value output port Example: p 1 p 2 p 3 input/output port port Chess Review, May 10, 2004 6

Our Actor-Oriented Domain-Specific Modeling Languages: DSMLs Giotto time-triggered hard-real-time periodic tasks deterministic mode switching NP-Click push/pull semantics combines application modeling language with target architecture abstraction targeted towards network processors HyVisual continuous-time semantics with mode changes intended for hybrid systems modeling GME-generated languages (Vanderbilt) meta modeling synthesis of domain-specific visual languages Chess Review, May 10, 2004 7 Giotto and xgiotto: Time-Driven Languages Giotto Periodic hard-real-time tasks with precise mode changes. Lower frequency task: xgiotto Extended to support event triggering Higher frequency Task Deterministic task interaction. t t t+5ms t+5ms t+10ms t+10ms Giotto compiler targets the E Machine/S Machine Giotto model of computation also implemented in Ptolemy II Chess Review, May 10, 2004 8

Giotto with a Visual Syntax The Giotto Director in Ptolemy II gives the diagram Giotto semantics. tasks defined using another MoC hierarchical modes Chess Review, May 10, 2004 9 Distributed E and S Machines A major challenge with embedded real-time systems is preserving predictability in distributed implementations. The E & S machine platforms provide such predictability. Chess Review, May 10, 2004 10

NP-Click: A Programming Model for Network Processors Concurrent composition of elements for packet processing Elements communicate via ports that pass packets push: initiated by source element pull: initiated by sink element Salient features of target architecture threads data layout arbitration of shared resources Thread 0 FromDevice(0) ToDevice(0) Lookup IPRoute FromDevice(1) ToDevice(1) Thread 1 Thread 2 Chess Review, May 10, 2004 11 Click Router Application The Click director in Ptolemy II gives the diagram push/pull semantics. Chess Review, May 10, 2004 12

StreamBit: Sketching bitstream programs What is StreamBit? language for developing bit-stream programs (e.g., crypto) but mainly, a case study in programming by sketching What is programming by sketching? separate Specification and Implementation Specification (correctness): an SDF-based DSL Implementation (performance): implementation strategy is only sketched; the compiler will derive the missing details What does this mean for the programmer? First, program without concern for performance Next, experiment with implementations w/out introducing bugs Sketching used to implement DES: a brief sketch achieved 600% performance increase over naïve implementation (within ¾ of a hand-tuned library) Chess Review, May 10, 2004 13 Frameworks Metropolis Unified model of computation (MoC) Formal semantics given w.r.t. this MoC Emphasis on joint modeling of hardware architecture and application Modeling of design constraints and assertions Ptolemy II Framework for experimentation with MoCs Many MoCs have been implemented discrete-event, continuous-time, dataflow, push/pull, process networks, CSP, FSMs, Emphasis on heterogeneous mixing of domainspecific MoCs. Chess Review, May 10, 2004 14

Metropolis Framework Function Specification Design Constraints and Assertions Architecture (Platform) Specification Metropolis Infrastructure Design methodology Meta model of computation Base tools - Design imports - Meta-model compiler - Simulation Joint modeling of function, constraints, and implementation platform. Synthesis/Refinement Compile-time scheduling of concurrency Communication-driven hardware synthesis Protocol interface generation Analysis/Verification Static timing analysis of reactive systems Invariant analysis of sequential programs Refinement verification Formal verification of embedded software Chess Review, May 10, 2004 15 Ptolemy II Framework Basic Ptolemy II infrastructure: Director from a library defines component interaction semantics Type system Large, domain-polymorphic component library. Hierarchical components Visual editor Chess Review, May 10, 2004 16

Hierarchical Heterogeneity continuous environment modal model Hierarchy allows distinct models of computation at distinct levels of the hierarchy. An abstract semantics defines the interaction across levels of hierarchy where the semantics differ. discrete controller example Ptolemy II model: hybrid control system Chess Review, May 10, 2004 17 Actor-Oriented Classes Objective is to bring modern modularity mechanisms to actor-oriented design: classes subclasses inheritance interfaces subtypes aspects Early, highly experimental prototype in Ptolemy II includes: classes, inheritance, inner classes interactive editing of class relationships Chess Review, May 10, 2004 18

Example Using Actor-Oriented Classes local class definition execution instance instance inherited actors override actors subclass Chess Review, May 10, 2004 19 Meta Modeling Specifying and Integrating Tool Chains DSML Meta-Modeling Transformation Meta-Modeling Validation & Verification META-MODELING DESIGN FLOW AND TOOL CHAIN Meta-Generators Domain-Specific Tool Chains Meta-Models Transformation Meta-Models Valid Meta-Models Model Transformation Tools Design Feedback UML-OCL MOF/GME UMT/GME GRE GR-DEBUG C/G Automotive Others Modeling Controller Synthesis System Analysis Code Generation DOMAIN-SPECIFIC DESIGN FLOWS AND TOOL CHAIN Validation Verification Platform Models Target Analysis Platform Test Vectors Plant Model Integrated Model Valid Model Code/Model Valid Code/ Model Download Design Feedback Valid Model Design Feedback Ptolemy II Metropolis GME HyVisual DESERT Ptolemy II Metropolis Ptolemy II Metropolis Giotto Chic Blast CCured E/S machines O/S Processor Chess Review, May 10, 2004 20

GReAT: Model Transformation Tool Chain Meta-models MetaModel of Source uses MetaModel of Domain-to-Target Mapping uses MetaModel of Target Metaprogrammable tools configures Meta-Programmable Modeling Tool configures Code Generator generates C/G GRE GME describes creates Meta-Programmable Transformation Tool describes DEBUG Debugger Generated tool (Generated) Transformation Tool Models and applications Source Models Target/Executable Models Target Platform Tools: Tools: UMT UMT Language, Language, GRE GRE (engine), (engine), C/G, C/G, GR-DEBUG GR-DEBUG http://www.isis.vanderbilt.edu Chess Review, May 10, 2004 21 Verification Blast Scalable verification through lazy refinement of the state space. CCured Static analysis of C programs for type safety. Where static analysis fails, run-time checks are added automatically. Chic Expresses assumptions made by module about environment, and guarantees made by module if assumptions are satisfied. Checks compatibility of interfaces of composed components. Both based on CIL (C Intemediate Language), a representation of C code along with a set of tools that permit easy analysis and source-tosource transformation. Chess Review, May 10, 2004 22

Many In-Depth Talks have a Tools Element 10:10-11:10 a.m. Event-driven Real-Time Programming (Arkadeb Ghosal and Tom Henzinger) A Comparison of Network Processor Programming Environments (William Plishker and Kurt Keutzer) Classes and Inheritance in Actor-Oriented Models (Stephen Neuendorffer and Edward A. Lee) 2:00-3:00 p.m. Metropolis, an Environment for System-level Design (Abhijit Davare and Alberto Sangiovanni-Vincentelli) StreamBit: Sketching Implementations for Bitstream Programs (Armando Solar-Lezama and Ras Bodik) Verifying Data Structure Invariants in Device Drivers (Scott McPeak and George Necula) Chess Review, May 10, 2004 23 Many Posters have a Tools Element Wireless Sensor Network Design Methodology galsc: A Language for Event-Driven Embedded Systems Metamodeling Infrastructure for Model-Integrated Computing Distributed Diagnosis Algorithm Multiple Aspect Modeling Front-End for SIGNAL Online supervisory control Platform-based Design for Mixed Analog-Digital Designs Distributing Giotto Hierarchical Reconfiguration of Dataflow Models Fault Tolerant Design of Distributed Automotive Systems Modeling of Sensor Nets in Ptolemy II Chess Review, May 10, 2004 24