Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Modelos de Computação Básicos Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Architecture Representation
Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Overview of PTIDES Project
2/11/2010 BEARS 2010 On PTIDES Programming Model John Eidson Jeff C. Jensen Edward A. Lee Slobodan Matic Jia Zou PtidyOS.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
SCORE - Stream Computations Organized for Reconfigurable Execution Eylon Caspi, Michael Chu, Randy Huang, Joseph Yeh, Yury Markovskiy Andre DeHon, John.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
A denotational framework for comparing models of computation Daniele Gasperini.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Models of Computation for Embedded System Design Alvise Bonivento.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
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.
Mahapatra-A&M-Sprong'021 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
1 H ardware D escription L anguages Modeling Digital Systems.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
ECE-C662 Lecture 2 Prawat Nagvajara
Verification & Validation By: Amir Masoud Gharehbaghi
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Secure Composition of Untrusted Code: Wrappers and Causality Types Kyle Taylor.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
CS223: Software Engineering
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Analysis Classes Unit 5.
ASIC Design Methodology
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Dynamic Modeling Lecture # 37.
Presentation transcript:

Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”

Mahapatra-Texas A&M-Spring'032 Our Design Approach Start design process before hw-sw partitioning Sequence of steps are vital –system specification unbiased to implementation describe system behavior at high level –Initial functional design –verification –mapping to target architecture Thus, function-architecture codesign is key approach

Mahapatra-Texas A&M-Spring'033 Proposed design strategy Behaviorial Library Capture Behavior Verify behavior Architecture Libraries Verify architecture Behavioral Library Map behavior to Architecture Verify performance Refine HW/SW micro-architect Link to HW/SW implementation Link to micro- arch verification Performance Back Annotation Capture behavior Capture Architecture Functional Level Mapping Level Taken from Ref. Of reading assignment. Architecture Level

Mahapatra-Texas A&M-Spring'034 Design conception to design description At functional level, behavior of a system to be implemented is selected and analyzed against a set of specifications –Specifications vs.. behavior? Specs:I/O relation, set of constraints, system goals behavior: algorithm to realize the function -Specs: algorithm itself! (another view) Purists view: Algorithm is the result of implementation decision

Mahapatra-Texas A&M-Spring'035 Examples Example1: Let f(x) = 0 is a system to be implemented. It is a design decision to use either Newton-Raphson or Gauss-SeidelS relaxation algorithm! Example2: MPEG Encoder design Spec: Encoding of compressed stream of data. Any implementation that creates it from the stream is correct. Here the design decision is already there.

Mahapatra-Texas A&M-Spring'036 Algorithm Design and Analysis Algorithm development: Key aspect of system design at functional level little work has been done on selection of algorithm based on specifications have to have strong correctness properties in critical operations Algorithm analysis is more general concept than simulation Important to decide on mathematical model for designer that will support algorithm analysis

Mahapatra-Texas A&M-Spring'037 Algorithm Implementation Need of intermediate step: transform an algorithm to a set of tractable functional components The functional components are to be formally defined to capture the algorithm’s properties MoC is key answer to the above! Selection of MoC is to be done carefully. (FSM, DF, DES, Comm Seq. Process)

Mahapatra-Texas A&M-Spring'038 Optimization across MoCs Possible to optimize your design across MoC boundaries –Encapsulation: interaction between objects in each pair of models who can understand –Encompassing Framework: residence of models –Orthogonalize concerns: to separate different design aspects such as functions from communication

Mahapatra-Texas A&M-Spring'039 MoCs Basic Concepts MoC is composed of a description mechanism (syntax) and rules for computation of behavior given the syntax (semantics) It is chosen for its suitability: compactness, ability to synthesize, optimize the behavior of implementation Most MoCs Permit distributed system of description ( a collection of communicating modules), and gives rules of computation of each module (function), and how they communicate.

Mahapatra-Texas A&M-Spring'0310 MoC Primitives Functions: combination of Boolean functions and synchronous state machines Communications: queues, buffers, and schedulers

Mahapatra-Texas A&M-Spring'0311 Tagged Signal Model A high level abstraction model: Defines processes and their interaction using signals Denotational view without any language Fundamental entity of TSM: Event (value/tag pair) –Tags: temporal behavior –A set of events is a signal Ex: An event “temperature” may occur any time the sensor interrupts indicating a value ( say a range of all possible values in 0-50 degree) at certain intervals. Do all events have a value to share all the time?

Mahapatra-Texas A&M-Spring'0312 TSM Tags, Events, Signals Given a set of values V and a set of tags T, an event is TXV A signal s is a set of events A functional (or deterministic) signal is a (possibly partial) function from T to V set of all s = S, a tuple of n signals = s, set of all such tuples = S n In timed system, T is totally ordered and in untimed system, T is partially ordered

Mahapatra-Texas A&M-Spring'0313 TSM Processes Process P with n signals is a subset of the set of all n-tuples of signals S n s  S n satisfy the process if s  P –an s that satisfies the process is called behavior of the process. So process is a “set of possible behaviors” or constraints on the set of legal signals. Process in a system operate concurrently and constraints imposed are communication or synchronization.

Mahapatra-Texas A&M-Spring'0314 TSM Processes Signals associated with a process may be divided as input and output –process does not determine its input –process does determine its output Process defines a relation between input and output signals Ex. Say, p = {s1,s2,s3,s4} p inputs outputs s1 s2 s3 s4

Mahapatra-Texas A&M-Spring'0315 TSM Process composition Definition: Process composition in TSM is defined by the intersection of the constraints each process imposes on each signal Properties of process preserved by composition: –functionality ( unique output n-tuples for every input n- tuple) –complete specification ( for every input n-tuple, there exists a unique output n-tuple)

Mahapatra-Texas A&M-Spring'0316 Process composition p1 p2 Q s1s1 s2s2 s3s3 s4s4 s5s5 s6s6 s7s7 s8s8 Q = {s1, s2, s3, …,s8)

Mahapatra-Texas A&M-Spring'0317 TSM Process composition Given a formal model of functional specification and of the properties, three situations may arise: –property is inherent for model of specification –property can be verified syntactically for given specification –property must be verified semantically, for given specification

Mahapatra-Texas A&M-Spring'0318 Functional property examples Any design described by Dataflow Network is functional and hence this property need not be checked for this MoC. (Inherent) If above design is in FSM, even if the components are functional and completely specified, the result of composition may be either incompletely specified or nonfunctional. –This is due to feed-back loop in the composition –A syntactical check can find the feed-back paths With Petrinets, functionality is difficult to prove. –Exhaustive simulation required for checking functionality

Mahapatra-Texas A&M-Spring'0319 Comparing MoC System behavior – functional behavior, communication behavior, each as of TSM processes Process – functional behavior and timing behavior Function  how inputs are used for computing output Time  the order in which things happen (assignment of Tags to each event) Distinction between Function and Time is not clear in every context as in FSM

Mahapatra-Texas A&M-Spring'0320 Comparing MoC Process function: Boolean –control dominated: BDD or DAG –data dominated: Data Flow actors, or FFT Process State: – state is implemented by feedback. –behavior  state transition sequences

Mahapatra-Texas A&M-Spring'0321 Concurrency and communication ES has several coordinated concurrent processes with communication among them communication: –Explicit: sender forces an order on the events –Implicit: sharing of tags, this forces common partial order of events and common notion of state. (common clock)

Mahapatra-Texas A&M-Spring'0322 ES are usually real-time systems Two events are synchronous if they have the same tag. Two signals are synchronous if each event in one signal is synchronous with an event in other signal and vice versa Basic Time

Mahapatra-Texas A&M-Spring'0323 Treatment of Time in Systems Discrete-event System : A timed system where the tags in each signal are ordered-isomorphic with natural numbers. ( Verilog, VHDL) Synchronous System: System in which every signal in the system is synchronous with every other signal in the system Discrete-Time System: Synchronous discrete-event system Asynchronous System: No two events can have the same tag –Asynchronous Interleaved (tags totally ordered) –Asynchronous concurrent (partially ordered tags)

Mahapatra-Texas A&M-Spring'0324 Causality A casual process has a non-negative time delay from inputs to outputs. Strictly casual process has a positive time delay from inputs to outputs.

Mahapatra-Texas A&M-Spring'0325 Communication primitives Unsynchronized: no coordination, no guarantee of valid read or not overwrite Read-modify-write: locks data structure during data access (In TSM, events are totally ordered, R-M-W action is one event) Unbounded FIFO buffered: point-to-point, produced token is consumed only after generated. (TSM context: simple connection where signal is constrained to have totally ordered. If consumer process has unbounded FIFOs on all inputs, all inputs have a total order imposed upon them. Bounded FIFO buffered: Each input and output signals are internally totally ordered. For buffer size = 1, input and output events must interleaved. For larger size, impose the maximum difference between input or output events occuring in succession.

Mahapatra-Texas A&M-Spring'0326 Models of Computation for reactive systems Main MoCs: Finite State Machines (FSM) Data Flow Process Networks Petri Nets Discrete Event Codesign Finite State Machines Some main Languages: –Esterel, StateCharts, Dataflow Networks