Hierarchical FSMs with Multiple CMs

Similar documents
Concurrent Models of Computation

Fusing Dataflow with Finite State Machines

The Ptolemy II Framework for Visual Languages

Parameterized Modeling and Scheduling for Dataflow Graphs 1

By: Chaitanya Settaluri Devendra Kalia

Modal Models in Ptolemy

Overview of Dataflow Languages. Waheed Ahmad

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

Hybrid System Modeling: Operational Semantics Issues

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING

Introduction to Embedded Systems

The Future of the Ptolemy Project

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

UC Berkeley Mobies Technology Project

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II

Software Synthesis from Dataflow Models for G and LabVIEW

Specifications and Modeling

Concurrent Models of Computation

System-Level Design Languages: Orthogonalizing the Issues

Overview of the Ptolemy Project

Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs

FSMs & message passing: SDL

Component-Based Design of Embedded Control Systems

Design of Embedded Systems: Formal Models, Validation, and Synthesis

Embedded Software from Concurrent Component Models

Process-Based Software Components Final Mobies Presentation

EE382N.23: Embedded System Design and Modeling

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

Embedded Systems CS - ES

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

The Gigascale Silicon Research Center

LabVIEW Based Embedded Design [First Report]

Embedded System Design and Modeling EE382V, Fall 2008

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

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

Simulation of LET Models in Simulink and Ptolemy

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Ptolemy II The automotive challenge problems version 4.1

METROII AND PTOLEMYII INTEGRATION. Presented by: Shaoyi Cheng, Tatsuaki Iwata, Brad Miller, Avissa Tehrani

Synchronous Statecharts. Christian Motika

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Reliable Embedded Multimedia Systems?

Interaction Testing. Chapter 15

Process and data flow modeling

Dynamic Dataflow Modeling in Ptolemy II. by Gang Zhou. Research Project

Concurrent Models of Computation

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

MODELING OF BLOCK-BASED DSP SYSTEMS

Composition of State Machines

Lecture 4: Synchronous Data Flow Graphs - HJ94 goal: Skiing down a mountain

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

A Code Generation Framework for Actor-Oriented Models with Partial Evaluation

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

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN

ThreadedComposite: A Mechanism for Building Concurrent and Parallel Ptolemy II Models

Concurrent Models of Computation for Embedded Software

Finite State Machines and Modal Models in Ptolemy II

Interaction Testing! Chapter 15!!

Discrete-Event Modeling and Design of Embedded Software

Review Sources of Architecture. Why Domain-Specific?

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

System-level Synthesis of Dataflow Applications for FPGAbased Distributed Platforms

Concurrent Component Patterns, Models of Computation, and Types

Hierarchical Reconfiguration of Dataflow Models

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Compositionality in system design: interfaces everywhere! UC Berkeley

A Survey of Co-Design Ideas and Methodologies

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

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

EE382V: System-on-a-Chip (SoC) Design

LabVIEW: Visual Programming Using a Dataflow Model Extended With Graphical Control Structures. Outline

System Design, Modeling, and Simulation using Ptolemy II

Computational Models for Concurrent Streaming Applications

Cover Page. The handle holds various files of this Leiden University dissertation

HETEROGENOUS SIMULATION MIXING DISCRETE-EVENT MODELS WITH DATAFLOW

EE382N.23: Embedded System Design and Modeling

Embedded Systems 8. Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines

EE382V: Embedded System Design and Modeling

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

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

Dynamic Dataflow. Seminar on embedded systems

FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications

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

An Overview of the Ptolemy Project. Organizational

Cosimulation II. How to cosimulate?

Specifications and Modeling

Hardware Description Languages & System Description Languages Properties

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation

A Verification Approach for GALS Integration of Synchronous Components

Embedded software design with Polychrony

Lecture 2: Models of Computation

World Wide Web Server.

Parameterized Dataflow Modeling for DSP Systems

Disciplined Concurrent Models of Computation for Parallel Software

Cosimulation II. Cosimulation Approaches

Building Synchronous DataFlow graphs with UML & MARTE/CCSL

System level modelling with open source tools

Hardware/Software Co-design

Specifications Part 1

Transcription:

Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung Lee and Edward A. Lee. IEEE Trans. On Computer-Aided Design of Integrated Circuits and Systems, VOL. 18, No. 6, June 1999.

Outline of my presentation What does the paper talk about? Why are these ideas useful? Some FSM definitions Combining FSMs and MOCs: preliminaries, semantics and subtle behaviour Verification and Synthesis Ptolemy II Summary

What does the paper talk about? * charts: Advocates decoupling the concurrency model from the hierarchical Finite State Machine (FSM) semantics FSM semantics: Pure FSM and Hierarchical FSMs Semantics of combining FSMs with Models of Computation (MOCs)

Scalable approach to design Why are these ideas useful? Models will be compositional and support heterogeneity Side effect of heterogeneity: specialized MOCs become more useful

FSM = {Q,,, σ,q 0 } Some FSM definitions FSMs considered in this paper are deterministic and reactive Multiple Input Multiple Output (MIMOs): 1 x 2 x... x M = Input to the FSM consists of M signals ith signal is a sequence of events from i Multiple outputs defined in the same way

Pure FSM Pure FSMs

Hierarchical FSM (HFSM) Semantics: If the current state is not refined, HFSM behaves like a basic FSM If current state is refined, then first the corresponding slave reacts and then master reacts An output event is present if the action of the master or the slave FSM below it emits an event on that output No Collisions: An action does not explicitly emit the symbol for the absence of an event

Goals Combining HFSMs with MOCs A HFSM can be embedded as a module within an MOC A state in an FSM can be refined to an MOC Termination MOCs may not terminate, however the reaction of an FSM will need a finite time Get around this difficulty by defining iteration of an MOC: Divide execution of a non terminating system into a set of iterations. Each iteration can be associated with the reaction of an FSM

Preliminaries Synchronous Data Flow (SDF) Standard definitions of DFs: actor, firings and tokens Why SDFs and not general DFs? Iteration: seek a finite solution to the balance equation for each arc: r i p i = r j c j Arc is assumed to go from actor i to actor j, p is the number of tokens produced, c is the number consumed and r is the number of firings We will deal with homogeneous first, then extend the idea to non homogenuous SDFs

HFSMs inside homogenuous SDFs Semantics: FSM is a slave and externally obeys SDF semantics: each input to the SDF actor provides a single data token to the FSM, which takes on values from FSM's input alphabet Subtle behaviour: absent event is not a well defined testable condition in SDF. Incorporate the absent even by encoding presence and absence using boolean-valued tokens

HFSMs inside non homogenuous SDFs Semantics: Syntactic sugar: each token of a given input is differentiated by concatinating its occurance to its name: a denotes the most recent token consumed from the input a$1 is syntactic sugar for the next most recent consumed

Semantics: SDFs inside HFSMs If an SDF graph refines the state of an FSM, when that state is the current state, the next reaction will consist of one iteration of the SDF graph followed by the reaction of the FSM If the slave SDF graph is homogenuous, the model fits naturally with the pure FSM model we adopted. Because, on each iteration one token is consumed and one is produced However, if slave SDF graph is not homogenuous, semantics are more subtle:

Heterochronous Dataflow (HDFs) In order to overcome this difficulty, invent a new model of computation called heterochronous dataflow (HDF) Semantics: In an HDF, an actor has a finite number of type signatures, where each type signature specifies the number of tokens consumed and produced When such an actor fires, a well-defined type signature is in effect, but type signatures are allowed to change between firings So, when an HDF system starts execution, there is an initial type signature in effect for each actor. Use these type signatures to solve the balance equations and find an iteration. The FSM components do not change state during the iteration After the iteration, a new type signature is in effect, the balance equations are solved again and a new iteration starts

HDF example

An Application: Value FSMs In a valued FSM, the input and output alphabets are factored into signal alphabets, but at least one of these signal alphabets has size greater than two (it might even be infinite) However, value FSMs can be simplified to pure FSMs with our heterogenuous *chart models Example

Preliminaries Discrete Events (DEs) Concept of a global time value An event carries both a value and a time stamp that indicates the time at which the event occurs Mathematical properties of DEs based on constructing a metric space with the Cantor metric

! # $ HFSMs inside DEs Semantics: " An FSM that refines a DE actor fires when there is an event at one of its inputs and the event has the smallest time stamp of all the events in the queue If the event has a value, the value is made available to the FSM. Absence of an event is represented in a DE with the absence of a token In order to accommodate the output of the FSM with a DE, we assume the FSM to be a zero-delay actor

% & ' DEs inside HFSMs ASSUMPTION: Environment of an FSM is DE. Semantics are simple: The FSM will react when any of the inputs is present. The input that triggers the firing will have as its time stamp of the current time of the environment If the current state refines to a DE subsystem, then that subsystem will be simulated until the current time matches that of the environment. In the meantime, the events that it may emit will become outputs to the environment with time stamps equal to the current time

( ) Subtle behaviour in DEs Incomplete specification Zero delay Removing incomplete specification is easy Number of solutions to removing zero-delay: intrinsic property of the DE

* -. / 0 1 2 Preliminaries Synchronous/Reactive (SR) Systems + Models only the discrete steps, not only time continuum, Hence, notion of a clock tick Execution of SR system occurs at a sequence of ticks At each tick, signal either has no event (is absent) or has an event (is present, possibly with a value) At each tick, signals are related by functions that have signals as arguments and define signals At each tick, signals are defined by a set of simultaneous equations using these functions A solution is called a fixed point and the task of a compiler is to generate code that will find such a fixed point Functions are allowed to change between ticks. Hence, a module in SR has two distinct behaviours: produce and transition. In the produce phase, the current function is evaluated and in the transition phase, it is changed

3 4 5 6 Simple FSM inside SR System Semantics: First, invoke the produce phase for each FSM however many times is needed to either define the outputs or reach a fixed point If any signals remain undefined, signal a causality loop Invoke the transition function of every FSM in the SR system

7 8 Semantics: SR inside FSM If the current state of an FSM refines to an SR subsystem, then the semantics of the SR are simply exported to the boundary of the FSM

9 : ; < Synthesis and Verification Synthesis of hardware or software from FSMs, SDFs and SRs is standard. DE is used more for modeling, synthesis is not much of an issue Verification of FSMs, SDFs have been well studied However, synthesis and verification for the composition semantics in this paper is much more difficult Yet, the advantage of this approach is the decoupling of the MOCs from the FSMs. Hence, determinancy can be checked and this helps in validating the composite model through simulation

= >? Ptolemy II The Ptolemy project studies modeling, simulation and design of concurrent, embedded real-time systems They have developed a Java based GUI called Ptolemy II that can be used to study hetergenuous compositions of MOCs Tool can be obtained from http://ptolemy.eecs.berkeley.edu

@ A B Summary Paper combined FSMs with MOCs Talked about semantics and subtle behaviour Looked at Ptolemy II environment