CS 310 Embedded Computer Systems DESIGN

Size: px
Start display at page:

Download "CS 310 Embedded Computer Systems DESIGN"

Transcription

1 1 EMBEDDED SYSTEM DESIGN

2 Embedded System Design 2

3 3 Specification

4 Introduction 4 Describing embedded d system s processing behavior Can be extremely difficult Complexity increasing with increasing IC capacity Past: washing machines, small games, etc. Hundreds of lines of code Today: TV set-top boxes, Cell phone, etc. Hundreds of thousands of lines of code Desired behavior often not fully understood in beginning Many implementation bugs due to description mistakes/omissions English (or other natural language) common starting point Precise description difficult to impossible Example: Motor Vehicle Code thousands of pages long...

5 5 An example of trying to be precise in English California Vehicle Code Right-of-way of crosswalks (a) The driver of a vehicle shall yield the right-of-way to a pedestrian crossing the roadway within any marked crosswalk or within any unmarked crosswalk at an intersection, except as otherwise provided in this chapter. (b) The provisions of this section shall not relieve a pedestrian from the duty of using due care for his or her safety. No pedestrian shall suddenly leave a curb or other place of safety and walk or run into the path of a vehicle which is so close as to constitute an immediate hazard. No pedestrian shall unnecessarily stop or delay traffic while in a marked or unmarked crosswalk. (c) The provisions of subdivision (b) shall not relieve a driver of a vehicle from the duty of exercising due care for the safety of any pedestrian within any marked crosswalk or within any unmarked crosswalk at an intersection. All that just for crossing the street (and there s much more)!

6 Models 6 Many different activities iti from initial iti idea to physical implementation all these activities operate on models and not on the real physical object. Model a simplification on another entity (physical thing or another model) contains exactly those characteristics and properties of the modeled entity that are relevant for a given task minimal wrt a task if it does not contain any other characteristics than those relevant for the task

7 Modeling and Design 7 Modeling Act of representing a system or subsystem formally Mathematical model Viewed as a set of assertions about properties of the system such as its functionality or physical dimensions Constructive model Defines a computational procedure that mimics a set of properties of the system Executable models Design Act of defining a system or subsystem Defining one or more models of the system Refining the models until the desired functionality is obtained within a set of constraints

8 Models 8 How can we (precisely) capture behavior? We may think of languages (C, C++) sequential program computation model Computation model is the key increasing complexity of ES functionality requires more advanced computation model Common computation models: Sequential program model Statements, rules for composing statements, semantics for executing them Communicating process model Multiple sequential programs running concurrently State machine model For control dominated systems, monitors control inputs, sets control outputs Dataflow model For data dominated d systems, transforms input data streams into output t streams Object-oriented model For breaking complex software into simpler, well-defined pieces

9 Models vs. languages 9 Models Poetry Recipe Story State Sequent. machine program Dataflow Languages English Spanish Japanese C C++ Java Recipes vs. English Sequential programs vs. C Computation models describe system behavior Conceptual notion, e.g., recipe, sequential program Languages capture models Concrete form, e.g., English, C Variety of languages can capture one model E.g., sequential program model C,C++, C++ Java One language can capture variety of models E.g., C++ sequential program model, object-oriented model, state machine model Certain languages better at capturing certain computation models

10 Models of computation - Definition - 10 Models of computation ti define [Lee, UCB, 1999]: What it means to be a component: Subroutine? Process? Thread? rules for composing those components The mechanisms by which components interact: Message passing? Rendez-vous? Possibly also: What components know about each other (global variables? Implicit behavior of other components)

11 11 Introductory example: An elevator controller Simple elevator controller Partial English description System interface Request Resolver resolves various floor requests into single requested floor Unit Control moves elevator to this requested floor Move the elevator either up or down to reach the requested floor. Once at the requested floor, open the door for at least 10 seconds, and keep it open until the requested floor changes. Ensure the door is never open while moving. Don t change directions unless there are no higher requests when moving up or no lower requests when moving down Unit Control req Request Resolver... b1 b2 bn up down open floor buttons inside elevator Try capturing in C up1 up2 dn2 up3 dn3 up/down buttons on each floor dnn

12 12 Elevator controller using a sequential program model Sequential program model Inputs: int floor; bit b1..bn; up1..upn-1; dn2..dnn; Outputs: bit up, down, open; Global variables: int req; void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1;} else {down = 1;} while (req!= floor); up = down = 0; open = 1; delay(10); } } Partial English description Move the elevator either up or down to reach the requested floor. Once at the requested floor, open the door for at least 10 seconds, and keep it open until the requested floor changes. Ensure the door is never open while moving. Don t change directions unless there are no higher requests when moving up or no lower requests when moving down void RequestResolver() { while (1)... req = p } void main() { Call concurrently: UnitControl() and RequestResolver() } more precise than the English description for the UnitControl process Unit Control req Request Resolver System interface b1 b2 bn up1 up2 dn2 up3 dn3 dnn up down open floor buttons inside elevator up/down buttons on each floor

13 Finite-state machine (FSM) model 13 Trying to capture this behavior as sequential ential program is a bit awkward Instead, we might consider an FSM model, describing the system as: Possible states E.g., Idle, GoingUp, GoingDn, DoorOpen Possible transitions from one state to another based on input E.g., req > floor Actions that occur in each state E.g., In the GoingUp state, u,d,o,t,, = 1,0,0,0,, (up = 1, down, open, and timer_start = 0) Try it...

14 Finite-state machine (FSM) model 14 UnitControl process using a state machine req > floor u,d,o, t = 1,0,0,0 GoingUp!(req > floor) u,d,o,t = 0,0,1,0 req == floor req >fl floor!(timer < 10) Idle req < floor DoorOpen timer < 10 u,d,o,t = 0,0,1,1 u,d,o,t = 0,1,0,0 GoingDn req < floor!(req<floor) u is up, d is down, o is open t is timer_start

15 Formal definition 15 An FSM is a 6-tuple F<S, I, O, F, H, s0> S is a set of all states {s 0, s 1,, s l } I is a set of inputs {i 0,i 1,,i m } O is a set of outputs {o 0, o 1,, o n } F is a next-state function (S x I S) H is an output function (S O) s 0 is an initial state Moore-type Associates outputs with states (as given above, H maps S O) Mealy-type Associates outputs with transitions (H maps S x I O)

16 16 Finite-state machine with datapath model (FSMD) FSMD extends FSM: complex data types and variables for storing data FSMs use only Boolean data types and operations, no variables We described UnitControl as an FSMD FSMD: 7-tuple <S, I, O, V, F, H, s 0 > S is a set of states {s 0, s 1,, s l } I is a set of inputs {i 0, i 1,, i m } O is a set of outputs {o 0, o 1,, o n } u,d,o, t = 1,0,0,0 req > floor u,d,o,t = 0,0,1,0 req > floor GoingUp V is a set of variables {v 0, v 1,, v n } Idle F is a next-state function (S x I x V S) H is an action function (S O + V) s 0 is an initial state req == floor u,d,o,t = 0,1,0,0 GoingDn req < floor req < floor!(req > floor)!(timer < 10) DoorOpen!(req<floor) timer < 10 u,d,o,t = 0,0,1, u is up, d is down, o is open t is timer_start I,O,V may represent complex data types (i.e., integers, floating point, etc.) F,H may include arithmetic operations H is an action function, not just an output function Describes variable updates as well as outputs Complete system state now consists of current state, s i, and values of all variables

17 17 Describing a system as a state machine 1. List all possible states 2. Declare all variables (none in this example) 3. For each state, list possible transitions, with conditions, to other states 4. For each state and/or transition, list associated actions 5. For each state, ensure exclusive and complete exiting transition conditions No two exiting conditions can be true at same time Otherwise nondeterministic state machine One condition must be true at any given time Reducing explicit transitions should be avoided when first learning u,d,o, t = 1,0,0,0 udot=0010 u,d,o,t 0,0,1,0 req == floor u,d,o,t = 0,1,0,0 req > floor GoingUp!(req > floor) req > floor timer < 10 Idle GoingDn req < floor req < floor!(timer < 10)!(req<floor) DoorOpen u is up, d is down, o is open t is timer_start u,d,o,t = 0,0,1,1

18 18 State machine vs. sequential program model Different thought ht process used with each model State machine: Encourages designer to think of all possible states and transitions among states based on all possible input conditions Sequential program model: Designed to transform data through series of instructions that may be iterated and conditionally executed State machine description excels in many cases More natural means of computing in those cases Not due to graphical representation (state diagram) Would still have same benefits if textual t language age used (i.e., state table) Besides, sequential program model could use graphical representation (i.e., flowchart)

19 HCFSM and the Statecharts language 19 Hierarchical/concurrent state machine model (HCFSM) Extension to state machine model to support hierarchy and concurrency States can be decomposed into another state machine With hierarchy has identical functionality as Without hierarchy, but has one less transition (z) Known as ORdecomposition States can execute concurrently Known as ANDdecomposition Without hierarchy With hierarchy A1 x A2 z A y w A1 z B x y z A2 Concurrency B C D C1 D1 x y u v C2 D2 w B

20 UnitControl with FireMode 20 u,d,o = 1,0,0 u,d,o = 0,0,1 req==floor u,d,o = 0,1,0 req>floor GoingUp req>floor Idle!(req>floor) timeout(10) DoorOpen fire req<floor!(req<floor) fire fire GoingDn FireGoingDn fire req<floor floor>1!fire UnitControl u,d,o = 0,0,1 u,d,o = 0,1,0 floor==1 u,d,o = 0,0,1 FireDrOpen fire FireMode When fire is true, move elevator to 1 st floor and open door w/o hierarchy: Getting messy! w/ hierarchy: Simple! With hierarchy Without hierarchy req>floor NormalMode UnitControl ElevatorController UnitControl RequestResolver NormalMode...!fire fire FireMode With concurrent RequestResolver u,d,o = 1,0,0 GoingUp!(req>floor) req>floor u,d,o = 0,0,1 Idle DoorOpen u,d,o do= 001 0,0,1 req==floor timeout(10) req<floor!(req>floor) u,d,o = 0,1,0 GoingDn req<floor fire FireMode FireGoingDn u,d,o = 0,1,0!fire floor==1 u,d,o = 0,0,1 floor>1 FireDrOpen fire

21 Program-state machine model (PSM): HCFSM plus sequential program model 21 Program-state s s actions can be FSM or sequential program Designer can choose most appropriate Stricter hierarchy than HCFSM used in Statecharts transition between sibling states only, single entry Program-state may complete Reaches end of sequential program code, OR FSM transition to special complete substate PSM has 2 types of transitions Transition-immediately (TI): taken regardless of source program-state Transition-on-completion (TOC): taken only if condition UnitControl NormalMode up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1;} else {down = 1;} while (req!= floor); open = 1; delay(10); } }!fire fire is true AND source program- state is complete SpecCharts: extension of VHDL to capture PSM model SpecC: extension of C to capture PSM model FireMode up = 0; down = 1; open = 0; while (floor > 1); up = 0; down = 0; open = 1; ElevatorController int req; RequestResolver... req = NormalMode and FireMode described as sequential programs Black square originating within FireMode indicates!fire is a TOC transition Transition from FireMode to NormalMode only after FireMode completed

22 22 Role of appropriate model and language Finding appropriate model to capture embedded system is an important step Model shapes the way we think of the system Originally thought of sequence of actions, wrote sequential program First wait for requested floor to differ from target floor Then, we close the door Then, we move up or down to the desired floor Then, we open the door Then, we repeat this sequence To create state machine, we thought in terms of states and transitions among states When system must react to changing inputs, state machine might be best model HCFSM described FireMode easily, clearly Language should capture model easily Ideally should have features that directly capture constructs of model FireMode would be very complex in sequential program Checks inserted throughout code Other factors may force choice of different model Structured techniques can be used instead E.g., Template for state machine capture in sequential program language

23 23 Requirements for specification techniques (1) Hierarchy Humans not capable to understand systems containing more than ~5 objects. Most actual systems require more objects Behavioral hierarchy Examples: states, processes, procedures. Structural hierarchy Examples: processors, racks, printed circuit boards Timing behavior State-oriented behavior Required for reactive systems; classical automata insufficient.

24 24 Requirements for specification techniques (2) Event-handling (external or internal events) ents) No obstacles for efficient implementation Support for the design of dependable systems Unambiguous semantics,... Exception-oriented behavior Not acceptable to describe exceptions for every state. We will see, how all the arrows labeled k can be replaced by a single one..

25 25 Requirements for specification techniques (3) Concurrency Real-life systems are concurrent Synchronization and communication Components have to communicate! Presence of programming elements For example, arithmetic operations, loops, and function calls should be available Executability Support for the design of large systems ( OO) Domain-specific support

26 26 Requirements for specification techniques (4) Readability Portability and flexibility Termination It should be clear, at which time all computations are completed Support for non-standard I/O devices Direct access to switches, displays,... Non-functional properties fault-tolerance, disposability, EMC-properties, weight, size, user friendliness, extendibility, expected life time, power consumption... Adequate model of computation

27 27 Models of computation - Examples (1) - Communicating finite state machines (CFSMs): Discrete event model (VHDL, Verilog) a b c queue a:=5 b:=7 c:=8 a:=6 a:=9 time action

28 28 Models of computation - Examples (2) - Differential equations (Analog circuits, Physical Systems) 2 x 2 t b Asynchronous message passing (Kahn Process networks, dataflow models) Synchronous message passing (CSP, ADA: rendez-vous)

29 Models of Computation 29 State t Machine models FSM, StateCharts, SDL, CFSM focused on the state and the observable input-output behaviour Petri nets concurrency Communicating Processes Kahn processes, Communicating Sequential Processes (CSP) Dataflow models DFG, SDFG Discrete Event Systems VHDL, Verilog, SystemC, SpecC HW Models Unified Modeling Language g (UML) 2009 Fall CS310 Embedded Computer Systems

30 30 StateCharts: recap of classical automata t Classical automata: input X clock Internal state Z output Y Next state Z + computed by function Output computed by function Moore or Mealy automata = finite state machines (FSMs) Moore-automata: Y = (Z); Z + = (X, Z) Mealy-automata Y = (X, Z); Z + = (X, Z) Z0 e=1 Z1 0 1 e=1 e=1 Z3 Z2 3 e=1 2

31 StateCharts 31 Classical automata not useful for complex systems complex graphs cannot be understood by humans Introduction of hierarchy StateCharts [Harel, 1987]

32 Introducing hierarchy 32 FSM will be in exactly one of the substates of S if S is active (either in A or in B or..) superstate substates

33 Definitions 33 Current states of FSMs are also called active states. States which are not composed of other states are called basic states. States containing other states are called super-states. For each basic state s, the super-states containing s are called ancestor states. Super-states S are called OR-super-states, if exactly one of the sub-states states of S is active whenever S is active. ancestor state of E

34 Default state mechanism 34 Filled circle indicates substate entered whenever super-state is entered. Allows internal structure to be hidden for outside world.

35 History mechanism 35 For input m, S enters the state it was in before S was left (can be A, B, C, D, or E). If S is entered for the very first time, the default mechanism applies. History and default mechanisms can be used hierarchically. (behavior different from last slide)

36 36 Combining history and default state mechanism same meaning

37 Concurrency 37 Convenient ways of describing concurrency are required. AND-super-states: t FSM is in all (immediate) sub-states of a super-state; Example:

38 Entering and leaving AND-super-states states 38 Line-monitoring and key-monitoring are entered and left, when service switch is operated. incl.

39 Types of states 39 In StateCharts, states are either basic states, or AND-super-states, or OR-super-states.

40 Timers 40 Since time needs to be modeled in embedded systems, timers need to be modeled. In StateCharts, special edges can be used for timeouts. If event a does not happen while the system is in the left state for 20 ms, a timeout will take place.

41 Using timers in answering machine 41

42 General form of edge labels 42 event [condition] / reaction Events: Exist only until the next evaluation of the model Can be either internally or externally generated Conditions: Refer to values of variables that keep their value until they are reassigned Reactions: Can either be assignments for variables or creation of events Example: service-off [not in Lproc] / service:=0

43 The StateCharts simulation phases 43 How are edge labels evaluated? ated? Three phases: 1. Effect of external changes on events and conditions is evaluated, 2. The set of transitions to be made in the current step and right hand sides of assignments are computed, 3. Transitions become effective, variables obtain new values. Separation into phases 2 and 3 guarantees deterministic and reproducible behavior.

44 Example 44 In phase 2, variables a and b are assigned to temporary variables. In phase 3, these are assigned to a and b. As a result, variables a and b are swapped. In a single phase environment, executing the left state first would assign the old value of b (=0) to a and b. Executing the right state first would assign the old value of a (=1) to a and b. The execution would be non-deterministic.

45 Reflects model of clocked hardware 45 In an actual clocked (synchronous) (y hardware system, both registers would be swapped as well. Same separation into phases found in other languages as well, especially those that are intended to model hardware.

46 Steps 46 Execution of a StateChart t t model consists of a sequence of (status, step) pairs Status= values of all variables + set of events + current time Step = execution of the three phases Status phase 2

47 Broadcast mechanism 47 Values of variables are visible to all parts of the StateChart model. New values become effective in phase 3 of the current step and are obtained by all parts of the model in the following step. StateCharts implicitly assumes a broadcast mechanism for variables. StateCharts is appropriate for local control systems (), but not for distributed applications for which updating variables might take some time ().

48 Lifetime of events 48 Events live until the step following the one in whi ch they are generated ( one shot-events ).

49 Evaluation of StateCharts (1) 49 Pros: Hierarchy allows arbitrary nesting of AND- and OR- superstates. Semantics defined in a follow-up paper to original paper. Large number of commercial simulation tools available (StateMate, StateFlow, BetterState,...) Available back-ends translate StateCharts into C or VHDL, thus enabling software or hardware implementations.

50 Evaluation of StateCharts (2) 50 Cons: Generated C programs frequently inefficient, Not useful for distributed applications, No program constructs, No description of non-functional behavior, No object-orientation, No description of structural hierarchy. Extensions: Module charts for description of structural hierarchy.

EE414 Embedded Systems Ch 9. State Machines

EE414 Embedded Systems Ch 9. State Machines EE414 Embedded Systems Ch 9. State Machines Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Outline State Machine Model 9.1 Introduction 9.2 Models vs.

More information

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) ECE 474A/57A Computer-Aided Logic Design Outline Models vs. Languages Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) State Machine Model FSM/FSMD HCFSM and Statecharts Language Program-State

More information

Chapter 8: Computation models 8-1

Chapter 8: Computation models 8-1 Chapter 8: Computation models 8-1 Chapter 8 Computation models 8.1 Introduction We implement a system s processing behavior with processors. But to accomplish this, we must have first described that processing

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems EHB326E Lectures Prof. Dr. Müştak E. Yalçın Istanbul Technical University mustak.yalcin@itu.edu.tr Prof. Dr. Müştak E. Yalçın (İTÜ) EHB326E (V: 0.1) September, 2018 1 /

More information

Early design phases. Peter Marwedel TU Dortmund, Informatik /10/11. technische universität dortmund. fakultät für informatik informatik 12

Early design phases. Peter Marwedel TU Dortmund, Informatik /10/11. technische universität dortmund. fakultät für informatik informatik 12 12 Early design phases Peter Marwedel TU Dortmund, Informatik 12 2010/10/11 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Graphics: Alexandra Nolte, Gesine Marwedel, 2003

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. Modeling Embedded Systems Department of Computer Science and Engineering University of California, San Diego. 1 ES Design Hardware components Hardware Verification and Validation 2 Models, Languages and

More information

Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. Modeling Embedded Systems Department of Computer Science and Engineering University of California, San Diego. 1 ES Design Hardware components Hardware Verification and Validation 2 Models, Languages and

More information

Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. Modeling Embedded Systems Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. 1 ES Design Hardware components Hardware 2 Tajana Simunic Rosing Verification

More information

CSE 237A Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

CSE 237A Modeling Embedded Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego. CSE 237A Modeling Embedded Systems Department of Computer Science and Engineering University of California, San Diego. 1 ES Design Hardware components Hardware Verification and Validation 2 Models, Languages

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 2009/10/20 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course 2: Specification Design repository Design Application

More information

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

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15 12 Specifications Peter Marwedel TU Dortmund, Informatik 12 2008/11/15 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course Application Knowledge 3: Embedded System HW 2: Specifications

More information

Hardware Software Codesign

Hardware Software Codesign Hardware Software Codesign 2. Specification and Models of Computation Lothar Thiele 2-1 System Design Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis

More information

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

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

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund 12 SDL Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 2017 年 10 月 18 日 Springer, 2010 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced

More information

FSMs & message passing: SDL

FSMs & message passing: SDL 12 FSMs & message passing: SDL Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 30 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models of computation

More information

Models of computation

Models of computation 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Springer, 2010 2012 年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models of computation What

More information

HARDWARE SOFTWARE CO-DESIGN

HARDWARE SOFTWARE CO-DESIGN HARDWARE SOFTWARE CO-DESIGN BITS Pilani Dubai Campus Dr Jagadish Nayak Models and Architecture BITS Pilani Dubai Campus Models and Architecture Model: a set of functional objects and rules for composing

More information

Imperative model of computation

Imperative model of computation 12 Imperative model of computation Jian-Jia Chen (Slides are based on Peter Marwedel) Informatik 12 TU Dortmund Germany Springer, 2010 2016 年 11 月 09 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming

More information

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

fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel TU Dortmund, Informatik /10/08 12 Data flow models Peter Marwedel TU Dortmund, Informatik 12 2009/10/08 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Models of computation considered in this course Communication/ local computations

More information

EC-821 Advanced Embedded Systems (3+0)

EC-821 Advanced Embedded Systems (3+0) EC-821 Advanced Embedded Systems (3+0) Lecture 2 Specifications and Modelling I Requirements Dr Hashim Ali Spring - 2019 Department of Computer Science and Engineering HITEC University Taxila!1 Hypothetical

More information

EL6483: Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo

EL6483: Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo : Basic Concepts of Embedded System Modeling and Hardware-In-The-Loop Simulation Spring 2016 : Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo 2016 1 / 26 Overall system : Basic

More information

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

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 CA314 Object Oriented Analysis & Design - 7 File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 Table of Contents 7. UML State & Activity Diagrams (see ref 1, Chap. 11, 12)...3 7.1 Introduction...3

More information

Imperative model of computation

Imperative model of computation 12 Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010/10/28 These slides use Microsoft clip arts. Microsoft copyright restrictions

More information

EE382V: Embedded System Design and Modeling

EE382V: Embedded System Design and Modeling EE382V: Embedded System Design and Models of Computation Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu : Outline Models of Computation (MoCs)

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights

More information

Integrated HW/SW Systems: Requirements

Integrated HW/SW Systems: Requirements TECHNISCHE UNIVERSITÄT ILMENAU Integrated HW/SW Systems: Requirements Integrated Communication Systems http://www.tu-ilmenau.de/iks Analysis process Functional requirements Performance requirements Real-time

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

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.

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. 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. Embedded Processor Types General Purpose Expensive, requires

More information

Discrete Event Models

Discrete Event Models 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2016 年 11 月 08 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Stateflow Best Practices By Michael Burke

Stateflow Best Practices By Michael Burke Stateflow Best Practices By Michael Burke 2012 The MathWorks, Inc. 1 Topics Background Overview of terms Readability Stateflow hierarchy Modeling tips Basic rules: MAAB style guide 2 Background Objective

More information

Information System Design (IT60105)

Information System Design (IT60105) Information System Design (IT60105) Lecture 26 Object-Oriented System Testing Lecture #23 Procedural vs OO paradigms Why not Traditional Testing? Issues Methodology 2 Procedural Vs OO p Procedural Vs OO

More information

Embedded System Design and Modeling EE382V, Fall 2008

Embedded System Design and Modeling EE382V, Fall 2008 Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 3 The SpecC System-Level Design Language Dates: Sep 9&11, 2008 Scribe: Mahesh Prabhu Languages: Any language would have characters, words

More information

System Level Design Flow

System Level Design Flow System Level Design Flow What is needed and what is not Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski System Level Design Flow What is

More information

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/softwa retest/ Design Specifications A design specification

More information

Finite State Machines and Statecharts

Finite State Machines and Statecharts Finite State Machines and Statecharts Hassan Gomaa Dept of Information & Software Engineering George Mason University Reference: H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time

More information

Quick Introduction to SystemVerilog: Sequental Logic

Quick Introduction to SystemVerilog: Sequental Logic ! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 State machines 109 History and predecessors 1950 s: Finite State Machines Huffmann, Mealy, Moore 1987: Harel Statecharts conditions hierarchical (and/or) states history states

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

Discrete Event Models

Discrete Event Models 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 10 月 28 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

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

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

Lecture 2: Models of Computation

Lecture 2: Models of Computation COEN 691B: Embedded System Design Lecture 2: Models of Computation Samar Abdi (slides courtesy of A. Gerstlauer, D. Gajski and R. Doemer) Assistant Professor Electrical and Computer Engineering Concordia

More information

Specifications Part 3

Specifications Part 3 pm4 12 Specifications Part 3 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Models of computation considered

More information

ECE 551: Digital System *

ECE 551: Digital System * ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 Explicit

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Analysis and Design with the Universal Design Pattern

Analysis and Design with the Universal Design Pattern Analysis and Design with the Universal Design Pattern by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable. Software

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN

MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN A.A. JERRAYA, M. ROMDHANI, PH. LE MARREC, F. HESSEL, P. COSTE, C. VALDERRAMA, G.F. MARCHIORO, J.M.DAVEAU, N.-E. ZERGAINOH TIMA Laboratory 46 avenue

More information

I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

I 3 I 2. ! Language of logic design  Logic optimization, state, timing, CAD tools Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

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

Comparison of models. Peter Marwedel Informatik 12, TU Dortmund, Germany 2010/11/07. technische universität dortmund 12 Comparison of models Peter Marwedel Informatik 12, TU Dortmund, Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

More information

Fusing Dataflow with Finite State Machines

Fusing Dataflow with Finite State Machines May 3, 1996 U N T H E I V E R S I T Y A O F LE T TH E R E B E 1 8 6 8 LIG H T C A L I A I F O R N Fusing Dataflow with Finite State Machines Department of Electrical Engineering and Computer Science Bilung

More information

Embedded Systems 7. Models of computation for embedded systems

Embedded Systems 7. Models of computation for embedded systems Embedded Systems 7 - - Models of computation for embedded systems Communication/ local computations Communicating finite state machines Data flow model Computational graphs Von Neumann model Discrete event

More information

Motivation State Machines

Motivation State Machines Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES 49. Internationales Wissenschaftliches Kolloquium Technische Universität Ilmenau 27.-30. September 2004 Holger Rath / Horst Salzwedel ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES Abstract

More information

Hybrid System Modeling: Operational Semantics Issues

Hybrid System Modeling: Operational Semantics Issues Hybrid System Modeling: Operational Semantics Issues Edward A. Lee Professor UC Berkeley OMG Technical Meeting Feb. 4, 2004 Anaheim, CA, USA Special thanks to Jie Liu, Xiaojun Liu, Steve Neuendorffer,

More information

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based

More information

FAQ: Object-Oriented Programming

FAQ: Object-Oriented Programming Question 1: How would you define flowchart thinking? Answer 1: Flowcharts are used for describing the steps and functions in a process, equation, or function. The focus is on what happens first, second,

More information

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design 1 In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired

More information

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

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

fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik /11/07 12 Peter Marwedel TU Dortmund, Informatik 12 2009/11/07 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Modeling levels Levels of hardware modeling Possible set of levels (others exist) System level Algorithmic

More information

Dynamic Modeling - Finite State Machines

Dynamic Modeling - Finite State Machines Dynamic Modeling - Finite State Machines SWE 321 Fall 2014 Rob Pettit 1 Finite State Machines Finite number of states Only in one state at a time Transition Change of state Caused by event Transition to

More information

Computer Science 520/620 Spring 2014 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2014 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2014 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

1 Statecharts language and Statemate Magnum

1 Statecharts language and Statemate Magnum 1 Statecharts language and Statemate Magnum 1. 1 Introduction The language of Statecharts has been developed to deal with the problems of specification and design of large reactive systems. The basic foundation

More information

Composition of State Machines

Composition of State Machines Chapter 5 Composition of State Machines Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline Concurrent

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

SoC Design for the New Millennium Daniel D. Gajski

SoC Design for the New Millennium Daniel D. Gajski SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski Outline System gap Design flow Model algebra System environment

More information

Modeling Hybrid Systems with Petri Nets

Modeling Hybrid Systems with Petri Nets Modeling Hybrid Systems with Petri Nets Debjyoti Bera, Kees van Hee and Henk Nijmeijer Abstract The behavior of a hybrid system is a mixture of continuous behavior and discrete event behavior. The Simulink/Stateflow

More information

An Introduction to Lustre

An Introduction to Lustre An Introduction to Lustre Monday Oct 06, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/35 ES Programming languages Which language to write embedded software in? Traditional: low-level

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

EE249 Lab September 30 h, 2008 Hugo A. Andrade

EE249 Lab September 30 h, 2008 Hugo A. Andrade High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart EE249 Lab September 30 h, 2008 Hugo A. Andrade Graphical System Design Platform Linux Macintosh Windows Real-Time FPGA Micro

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases

More information

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly

More information

Interaction Testing! Chapter 15!!

Interaction Testing! Chapter 15!! Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 3: Discrete Dynamics,

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information

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

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation TKT-1527 Digital System Design Issues Tero Arpinen Introduction to SoC modeling and Models of Computation 1 Reference material A. Jantsch and I. Sander, Models of computation and languages for embedded

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

Concurrent Models of Computation

Concurrent Models of Computation Chapter 5 Concurrent Models of Computation Contents 5.1 Structure of Models....................... 117 5.2 Synchronous-Reactive Models................. 118 Sidebar: Actor Networks as a System of Equations.......

More information

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

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics Process Modelling Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems

More information

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version The Synchronous Language Prof. Stephen. Edwards Simple Example The specification: The output O should occur when inputs and have both arrived. The R input should restart this behavior. First Try: n FSM

More information