CS 310 Embedded Computer Systems DESIGN
|
|
- Brett Martin
- 5 years ago
- Views:
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 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 informationLecture 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 informationChapter 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 informationSpecifications 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 informationIntroduction 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 informationEarly 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 informationSpecifications 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 informationModeling 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 informationModeling 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 informationModeling 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 informationCSE 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 informationSpecifications 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 informationfakultä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 informationHardware 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 informationSystem 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 informationHardware 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 informationSDL. 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 informationHardware 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 informationEmbedded 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 informationFSMs & 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 informationModels 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 informationHARDWARE 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 informationImperative 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 informationExercise 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 informationStatecharts 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 informationfakultä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 informationEC-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 informationEL6483: 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 informationIntroduction 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 informationBy: 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 informationCA314 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 informationImperative 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 informationEE382V: 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 informationConcurrent 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 informationIntegrated 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)
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 informationCodesign 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 informationDiscrete 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 informationStateflow 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 informationInformation 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 informationEmbedded 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 informationSystem 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 informationIntroduction 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 informationFinite 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 informationQuick 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 informationUnified 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 informationChapter 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 informationDiscrete 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 informationIntroduction 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 informationComputer 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 informationComputer 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 informationContemporary 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 informationSE 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 informationLecture 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 informationSpecifications 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 informationECE 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 informationHardware 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 informationAnalysis 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 informationHardware/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 informationMULTILANGUAGE 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 informationI 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 informationHierarchical 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 informationComparison 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 informationFusing 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 informationEmbedded 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 informationMotivation 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 informationFrom 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 informationEECS150 - 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 informationPetri 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 informationANSI 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 informationHybrid 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 informationLaboratory 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 informationFAQ: 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 informationIn 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 informationIn 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 informationHandout 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 informationfakultä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 informationDynamic 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 informationComputer 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 information1 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 informationComposition 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 informationRegister 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 informationSoC 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 informationModeling 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 informationAn 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 informationHardware-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 informationEE249 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 informationArchitectural 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 informationSubject: 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 informationInteraction 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 informationIntroduction 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 informationRecalling 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 informationTKT-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 informationModal 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 informationTwo 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 informationConcurrent 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 informationEECS 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 informationSoftware 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 informationProcess 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 informationA 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