Specifications Part 1
|
|
- Edwin Atkins
- 5 years ago
- Views:
Transcription
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,
2 Specification of embedded systems: Requirements for specification techniques (1) Hierarchy Humans not capable to understand systems containing more than ~5 objects. Most actual systems require more objects Hierarchy Behavioral hierarchy proc proc Examples: states, processes, procedures. proc Structural hierarchy Examples: processors, racks, printed circuit boards Compositional behavior Must be easy to derive behavior from behavior of subsystems Concurrency, Synchronization and communication 12, Requirements for specification techniques (2) Timing Timing behavior: timing requirements must be captured into specifications Essential for connecting to physical environment Additional information (periods, dependences, scenarios, use cases) welcome Also, the speed of the underlying platform must be known Four types of timing specs required, according to [Burns 1990]: 1. Measure elapsed time Check, how much time has elapsed since last call? execute t 12,
3 Requirements for specification techniques (3) Timing (2) 2. Means for delaying processes t 3. Possibility to specify timeouts Stay in a certain state a maximum time. 4. Methods for specifying deadlines Not available or in separate control file. execute t 12, Requirements for specification techniques (4): Support for designing reactive systems State-oriented behavior Required for reactive systems; classical automata insufficient to model timing and hierarchy Event-handling (external events or internal events) Exception-oriented 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. 12,
4 Requirements for specification techniques (5): Support for designing reactive systems Support for the design of dependable systems Unambiguous semantics capable to describe in a formal way non-functional requirements such as fault tolerance, disposability, EMC properties, weight, size, user friendliness, extendibility, expected life time, power consumption Concurrency real life systems are intrinsically concurrent Synchronization and communication Components have to communicate! Presence of programming elements Such as loops and function calls should be available Executability (no algebraic specification) to verify the system at the early stages of the design 12, Requirements for specification techniques (6) Support for the design of large systems ( OO) Domain-specific support Readability Portability on several HW platforms Flexibility Small changes of the system features should require small changes to the specifications Termination It should be clear at which time all computations are completed Support for non-standard I/O devices direct access to switches, displays, etc. Adequate model of computation 12,
5 Models of computation - Definition - What does it mean, to compute? Models of computation define: Components and an execution model for computations for each component Communication model for exchange of information between components. Shared memory Message passing C-1 C-2 12, Components (1) Von Neumann model of sequential computing Sequential execution, program memory etc. Discrete event model: ordered sequence of events a 56 b 7 c 8 queue a:=5 b:=7 c:=8 a:=6 a:=9 time action 12,
6 Components (2) Finite state machines Differential equations 2 x = b 2 t 12, Communication Shared memory Variables accessible to several tasks. Suitable for local (non-distributed) systems Comp-1 Memory Comp-2 Message passing Transmission of messages over channels Suitable for distributed systems Asynchronous message passing Synchronous message passing 12,
7 Shared memory Potential race conditions ( inconsistent results possible) Critical sections = sections at which exclusive access to resource r (e.g. shared memory) must be guaranteed. process a {.. P(S) //obtain lock process b {.. P(S) //obtain lock.. // critical section.. // critical section V(S) //release lock V(S) //release lock } } Race-free access to shared memory protected by S possible This model may be supported by: mutual exclusion for critical sections cache coherency protocols 12, Non-blocking/Asynchronous message passing Processes communicate by sending messages through channels that can buffer the messages Sender does not have to wait until message has arrived Potential problem: buffer overflow send () receive () 12,
8 Blocking/Synchronous message passing rendez-vous Processes communicate in atomic actions called rendez-vous Sender will wait until receiver has received message send () receive () 12, Extended rendez-vous Explicit acknowledge from receiver required. Receiver can do checking before sending acknowledgement. send () receive () ack 12,
9 Facing reality No single language that meets all language requirements using compromises The choice of specification language/formalism depends on the application domain language/formalism established by specific application domain Need of unified system-level model composition format 12, Ptolemy Ptolemy (UC Berkeley) is an environment for simulating multiple models of computation. 12, 2008 Ptolemy simulations
10 Models of computation Communication/ Computations Shared memory Message passing Synchronous Asynchronous Communicating StateCharts SDL Finite State Machines Data flow model Computational graphs Not useful Simulink Kahn process networks SDF Sequence diagram Petri nets Von Neumann model C, C++, Java C, C++, Java with libraries CSP, ADA Discrete event (DE) model VHDL, Verilog Only experimental systems, e.g. distributed DE in Ptolemy 12, StateCharts 12,
11 StateCharts Used here as a (prominent) example of a model of computation based on shared memory communication. appropriate only for local (nondistributed) systems 12, StateCharts: recap of classical automata (FSMs) Classical automata (Finite State Machines) input X Internal state t Z output t Y clock Next state Z + computed by function δ Output computed by function λ Moore- + 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 12,
12 StateCharts Classical automata not useful for complex systems (complex graphs cannot be understood by humans). Introduction of hierarchy StateCharts [Harel, 1987] StateChart = the only unused combination of flow or state with diagram or chart 12, StateCharts Used for modeling state-oriented behavior To describe extended FSMs Processes described as state machines The key extension is HIERARCHY introduced by means of the concept of super-states StateCharts = Hierarchical FSMs + Concurrency + Actions 12,
13 Introducing hierarchy FSM will be in exactly one of the substates of S if S is active (either in A or in B or..) Suitable for compact representation of exceptions (such as k) 12, Definitions 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 si, the super-state S containing si is called ancestor state. Super-states S are called OR-super-states, if exactly one of the sub-states of S is active whenever S is active. superstate ancestor state of E substates 12,
14 Default state mechanism Try to hide internal structure from outside world! Default state Filled circle indicates sub-state entered whenever super-state is entered. Not a state by itself! 12, History mechanism km (behavior different from last slide) 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 first time, the default mechanism applies. History and default mechanisms can be used hierarchically. 12,
15 Combining history and default state mechanism same meaning 12, Concurrency Convenient ways of describing concurrency are required. AND-super-states: FSM is in all (immediate) sub-states of a super-state; Example: 12,
16 Types of states In StateCharts, states are either basic states, or AND-super-states, or OR-super-states. 12, Timers 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. 12,
17 Example: using timers in an answering machine. 12, General form of edge labels 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 12,
18 The StateCharts simulation phases (StateMate Semantics) How are edge labels evaluated? 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. 12, Example In phase 2, variables a and b are assigned to temporary variables (a :=b; b :=a). In phase 3, these are assigned to a and b (a:=a ; b:=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. 12,
19 Reflects model of clocked hardware In an actual clocked (synchronous) 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. 12, Steps Execution of a StateMate 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 (StateMate semantics) Status phase 2 Other implementations of StateCharts do not have these 3 phases (and hence are nondeterministic)! 12,
20 Broadcast mechanism 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 ( implicit shared memory communication other implementations would be very inefficient -). StateCharts is appropriate for local control systems ( ), but not for modeling distributed applications for which updating variables might take some time ( ). 12, Evaluation of StateCharts (1) Pros: Hierarchy allows arbitrary nesting of AND- and OR-super states. Suitable for control-dominated systems. Large number of commercial simulation tools available (StateMate, StateFlow by MathWorks, BetterState,...) Available back-ends automatically translate StateCharts into equivalent descriptions in C or VHDL, thus enabling SW and/or HW implementations. 12,
21 Evaluation of StateCharts (2) 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 C-code used to represent program constructs 12, Synchronous vs. asynchronous languages (2) Synchronous models of computation implicitly assume the presence of a (global) clock. Each clock tick, all inputs are considered, new outputs and states are calculated and then the transitions are made. This requires a broadcast mechanism for all parts of the model 12,
22 Abstraction of delays Let f(x): some function computed from input x, (f(x)): the delay for this computation δ: some abstraction of the real delay (e.g. a safe upper bound) Consider compositionality: f(x)=g(h(x)) Then, the sum of the delays of g and h would be a safe upper bound on the delay of f. Two solutions: 1. δ =0, always synchrony 2. δ =? (hopefully bounded) asynchrony Based p. on marwedel, slide 15 of N. Halbwachs: Synchronous Programming of Reactive Systems, ARTIST2 12, Summer 2008 School on Embedded Systems, Florianopolis, Compositionality At the abstract level, a single FSM reacts immediately At the abstract level, reaction of connected other automata is immediate Based on slide 16 of N. Halbwachs: Synchronous Programming of Reactive Systems, ARTIST2 Summer School on Embedded Systems, Florianopolis, ,
23 Concrete Behavior The abstraction of synchronous languages is valid, as long as real delays are always shorter than the clock period. Reference: slide 17 of N. Halbwachs: Synchronous Programming of Reactive Systems, ARTIST2 Summer School on Embedded Systems, Florianopolis, , Synchronous languages The synchronous semantic requires a broadcast mechanism for all parts of the model. Idealistic view of concurrency. Have the advantage of guaranteeing deterministic behavior. StateCharts (using StateMate semantics) is an almost synchronous language [Halbwachs]. Immediate communication is the lacking feature which would make StateCharts a fully synchronous language. 12,
24 Synchronous languages: several implementation and specification models For synchronous languages, the implementation model is that of finite state machines (FSMs). The specification may use different notational styles Imperative : Esterel (textual) SyncCharts: graphical version of Esterel Data-flow : Lustre (textual) SCADE (graphical) is a mix containing elements from multiple styles Nevertheless, specifications always include a close link to the generated FSMs (i.e., imperative does not have semantics close to von-neumann languages) 12, Applications SCADE Suite, including the SCADE KCG Qualified Code Generator, is used by AIRBUS and many of its main suppliers for the development of most of the A380 and A400M critical on board software, and for the A /600 Secondary Flying Command System, aircraft in operational use since August François Pilarski, Systems Engineering Framework - Senior Manager Engineering,Systems & Integration Tests; Airbus France. Instance of model-based design Source: 12,
25 Summary on StateCharts StateCharts as an example of Communicating FSM based on shared memory communication AND-states OR-states Timer Broadcast Semantics multi-phase models single-phase models Synchronous languages Based on clocked finite state machine view Based on 0-delay (valid as long as real delays are small enough) 12, Models of computation Communication/ Computations Shared memory Message passing Synchronous Asynchronous Communicating StateCharts SDL Finite State Machines Data flow model Computational graphs Not useful Simulink Kahn process networks SDF Sequence diagram Petri nets Von Neumann model C, C++, Java C, C++, Java with libraries CSP, ADA Discrete event (DE) model VHDL, Verilog Only experimental systems, e.g. distributed DE in Ptolemy 12,
26 SDL 12, SDL Used here as a (prominent) example of a Communicating FSM model of computation based on asynchronous message passing communication. appropriate also for distributed systems 12,
27 SDL Language designed for specification of distributed systems. Dates back to early 70s, Formal semantics defined in the late 80s, Defined by ITU (International Telecommunication Union): Z.100 recommendation in 1980 Updates in 1984, 1988, 1992, 1996 and 1999 See also 12, SDL Provides textual and graphical formats Just like StateCharts, it is based on the Communicating FSM model of computation; each FSM is called a process, However, it uses asynchronous message passing communication instead of shared memory for communications, SDL supports operations on data. 12,
28 A process in SDL is an extended FSM, that can use and manipulate data stored in local variables SDL-representation of FSMs state input output 12, Operations on data Variables can be declared locally for processes. Their type can be predefined or defined in SDL itself. SDL supports abstract data types (ADTs). Examples: Sequential statements and/or variables assignments locally into a process 12,
29 Communication among SDL-FSMs Communication between FSMs (or processes ) is based on message-passing, assuming a potentially indefinitely large FIFO-queue. Each process fetches next entry from FIFO, checks if input enables transition, if yes: transition takes place, if no: input is ignored (exception: SAVEmechanism). Concurrent FSMs (processes) 12, Deterministic? Let tokens be arriving at FIFO at the same time: Order in which they are stored, is unknown: All orders are legal: simulators can show different behaviors for the same input, all of which are correct. 12,
30 Basic system structure A system definition is structured into a hierarchy of block definitions and process definitions The root block is called system. A system contains one or more blocks interconnected with each other and with the boundary by channels 12, Hierarchy in SDL A block can be partitioned into (sub)blocks interconnected with channels Repeated block partitioning results in a block tree structure (with the system as a root block) A block can contains processes interconnected by signals Processes cannot contain other processes, unlike in StateCharts 12,
31 Hierarchy in SDL: an example 12, Process interaction diagrams Interaction between processes can be described in process interaction diagrams (block diagrams). In addition to processes, these diagrams contain channels and declarations of local signals. Example: B, 12,
32 Timers Timers can be declared locally. Elapsed timers put signal into queue (not necessarily processed immediately). RESET removes timer (also from FIFO-queue). 12, Additional language elements SDL includes a number of additional language elements, like procedures creation and termination of processes advanced description of data More features added for SDL-2000 (not well accepted) 12,
33 Evaluation Suitable for distributed applications (used for ISDN), Commercial tools available from SINTEF, Telelogic, Cinderella (// dk) Not necessarily deterministic (order, in which FSMs are reading input is unknown) no synchronous language, Implementation requires bound for the maximum length of FIFOs; may be very difficult to compute, Timer concept adequate just for soft deadlines, Limited way of using hierarchies, Limited programming language support, No description of non-functional properties, Becoming less popular 12, Summary SDL Model of Computation: finite state machine components + non-blocking message passing communication Representation of processes Communication & block diagrams Timers and other language elements Example: Vending machine Evaluation 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 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 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 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 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 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 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 informationCS 310 Embedded Computer Systems DESIGN
1 EMBEDDED SYSTEM DESIGN Embedded System Design 2 3 Specification Introduction 4 Describing embedded d system s processing behavior Can be extremely difficult Complexity increasing with increasing IC capacity
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 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 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 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 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 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 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 informationSpecifications Part 2
pm4 12 Specifications Part 2 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Models of computation Communication/
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 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 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 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 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 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 informationImperative model of computation
12 Imperative model of computation Peter Marwedel Informatik 12 TU Dortmund Germany Springer, 2010 2012 年 11 月 07 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models
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 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 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 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 informationSimulink/Stateflow. June 2008
Simulink/Stateflow Paul Caspi http://www-verimag.imag.fr/ Pieter Mosterman http://www.mathworks.com/ June 2008 1 Introduction Probably, the early designers of Simulink in the late eighties would have been
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 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 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 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 informationProgramming Languages for Real-Time Systems. LS 12, TU Dortmund
Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.
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 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 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 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 informationAutomatic Code Generation from Stateflow Models
Automatic Code Generation from Stateflow Models Andres Toom IB Krates OÜ / Institute of Cybernetics at TUT Based on the Master s Thesis 05.2007 Supervisors: Tõnu Näks, Tarmo Uustalu TUT Department of Computer
More informationEE414 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 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 informationSynchronous Statecharts. Christian Motika
Execution (KlePto) Esterel to transformation (KIES) Synchronous Statecharts for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science
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 informationFrom synchronous models to distributed, asynchronous architectures
From synchronous models to distributed, asynchronous architectures Stavros Tripakis Joint work with Claudio Pinello, Cadence Alberto Sangiovanni-Vincentelli, UC Berkeley Albert Benveniste, IRISA (France)
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 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 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 informationProf. Dr. Reinhard von Hanxleden. Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and Embedded Systems Group
Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 4a Prof. Dr. Reinhard von Hanxleden Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and
More informationSpecification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin
Specification and design of distributed embedded middleware applications with SDL-2000 Dr. Eckhardt Holz Humboldt-Universität zu Berlin SDL-2000 ITU-T Specification and Description Language graphical language
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 informationProgramming Embedded Systems
Programming Embedded Systems Lecture 10 An introduction to Lustre Wednesday Feb 15, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/34 Course topic: programming lang. Which language to
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 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 informationSCXML State Chart XML
SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions
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 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 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 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 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 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 informationEmbedded & Real-time Operating Systems Communication Libraries
Embedded & Real-time Operating Systems Communication Libraries Jian-Jia Chen (Slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2017 年 11 月 28 日 These slides use Microsoft
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 informationInteractive Esterel to SyncCharts Transformation. Christian Motika
Interactive Esterel to SyncCharts Transformation for executing Esterel with Ptolemy Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität
More informationExecuting SyncCharts with Ptolemy
Executing SyncCharts with Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität zu Kiel, Germany KIEL ER SYNCHRON Workshop 2010 Frejús,
More informationSynchronous Dataflow Processong
Synchronous Dataflow Processong Claus Traulsen and Reinhard von Hanxleden Christian-Albrechts Universität zu Kiel Echtzeitsysteme / Eingebettete Systeme March 00 CAU Claus Traulsen / 8 Outline Motivation
More informationECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN
/ ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN Gerard Berry Ed Harcourt Luciano Lavagno Ellen Sentovich Abstract We propose a new specification environment for system-level design called ECL.
More informationSection 8. The Basic Step Algorithm
Section 8. The Basic Step Algorithm Inputs The status of the system The current time A list of external changes presented by the environment since the last step Comments Scheduled action appears in the
More informationvisualstate Reference Guide
COPYRIGHT NOTICE Copyright 2000 2014 IAR Systems AB. No part of this document may be reproduced without the prior written consent of IAR Systems. The software described in this document is furnished under
More informationEmbedded system design with multiple languages
Embedded system design with multiple languages Rolf Ernst Institut für Datenverarbeitungsanlagen Technical University of Braunschweig Hans-Sommer-Str. 66 D-38106 Braunschweig Germany Tel.: ++49 531 391
More informationDiscrete Event Models
12 Discrete Event Models Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2011 年 11 月 06 日 These slides use Microsoft clip arts. Microsoft copyright restrictions
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 informationQ Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.
Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction
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 informationDesign of Embedded Systems: Formal Models, Validation, and Synthesis
Design of Embedded Systems: Formal Models, Validation, and Synthesis STEPHEN EDWARDS, MEMBER, IEEE, LUCIANO LAVAGNO, MEMBER, IEEE, EDWARD A. LEE, FELLOW, IEEE, AND ALBERTO SANGIOVANNI VINCENTELLI, MEMBER,
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 informationSWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems
SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University
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 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 informationSCXML State Chart XML. Previously, in this course...
SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions
More informationLast Time. Introduction to Design Languages. Syntax, Semantics, and Model. This Time. Syntax. Computational Model. Introduction to the class
Introduction to Design Languages Prof. Stephen A. Edwards Last Time Introduction to the class Embedded systems Role of languages: shape solutions Project proposals due September 26 Do you know what you
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 informationRemote Control. IMMS.de
Remote Control Statecharts Kurzdefinition [Harel88]: Statecharts = state-diagrams + depth + orthogonality + broadcast communication Statecharts Elements (1) Events (e.g. txt)» Typeless» no value (it exists
More informationBuilding Synchronous DataFlow graphs with UML & MARTE/CCSL
Building Synchronous DataFlow graphs with UML & MARTE/CCSL F. Mallet, J. DeAntoni, C. André, R. de Simone Aoste - INRIA/I3S Université de Nice Sophia Antipolis UML & Formal methods Ambiguity and structural
More informationA Deterministic Concurrent Language for Embedded Systems
A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A Deterministic Concurrent Language for Embedded Systems p. 1/30 Definition
More informationA DEVS LIBRARY FOR LAYERED QUEUING NETWORKS
A DEVS LIBRARY FOR LAYERED QUEUING NETWORKS Dorin B. Petriu and Gabriel Wainer Department of Systems and Computer Engineering Carleton University, 1125 Colonel By Drive Ottawa, Ontario K1S 5B6, Canada.
More informationHW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999
HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system
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 information7 Fault Tolerant Distributed Transactions Commit protocols
7 Fault Tolerant Distributed Transactions Commit protocols 7.1 Subtransactions and distribution 7.2 Fault tolerance and commit processing 7.3 Requirements 7.4 One phase commit 7.5 Two phase commit x based
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 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 informationFSM-based Digital Design using Veriiog HDL
FSM-based Digital Design using Veriiog HDL Peter Minns lan Elliott Northumbria University, UK John Wiley & Sons, Ltd Contents Preface Acknowledgements xi xv 1 Introduction to Finite-State Machines and
More informationXEVE, an ESTEREL Verification Environment
XEVE, an ESTEREL Verification Environment Amar Bouali INRIA, B.P. 93, F-06902 Sophia-Antipolis cedex amar@sophia, inria, fr Abstract. We describe the verification methods and tools we are currently developing
More informationSoftware Synthesis from Dataflow Models for G and LabVIEW
Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu
More informationCSE Traditional Operating Systems deal with typical system software designed to be:
CSE 6431 Traditional Operating Systems deal with typical system software designed to be: general purpose running on single processor machines Advanced Operating Systems are designed for either a special
More informationA Deterministic Concurrent Language for Embedded Systems
SHIM:A A Deterministic Concurrent Language for Embedded Systems p. 1/28 A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A
More informationOutline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04
Outline Petri nets Introduction Examples Properties Analysis techniques 1 Petri Nets (PNs) Model introduced by C.A. Petri in 1962 Ph.D. Thesis: Communication with Automata Applications: distributed computing,
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 informationExperiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL
Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL 1 SAAB BOFORS DYNAMICS Anders Eriksson Senior Software Systems Engineer
More informationA Deterministic Concurrent Language for Embedded Systems
A Deterministic Concurrent Language for Embedded Systems Stephen A. Edwards Columbia University Joint work with Olivier Tardieu SHIM:A Deterministic Concurrent Language for Embedded Systems p. 1/38 Definition
More informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday
More informationSystem-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10
System-level simulation (/SW co-simulation) Outline Problem statement Simulation and embedded system design functional simulation performance simulation POLIS implementation partitioning example implementation
More information