Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©

Slides:



Advertisements
Similar presentations
Technische universität dortmund fakultät für informatik informatik 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Graphics: © Alexandra.
Advertisements

Peter Marwedel TU Dortmund, Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund Resource Access Protocols Peter Marwedel Informatik 12 TU Dortmund Germany 2008/12/06.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
FSMs & message passing: SDL
Fakultät für informatik informatik 12 technische universität dortmund Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Additional compiler optimizations Peter Marwedel TU Dortmund Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Petri Nets Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Fakultät für informatik informatik 12 technische universität dortmund Petri Nets Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Evaluation and Validation
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Fakultät für informatik informatik 12 technische universität dortmund Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques Peter Marwedel Informatik 12 TU Dortmund Germany.
Fakultät für informatik informatik 12 technische universität dortmund SDL Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine.
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Peter Marwedel TU Dortmund, Informatik 12 Germany
Communicating finite state machines
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik
Embedded Systems & Parallel Programming P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems.
Chapter 7 System Models.
Requirements Engineering Process
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Embedded System, A Brief Introduction
fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Technische universität dortmund fakultät für informatik informatik 12 Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems Peter.
Chapter 1 Introduction Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Introduction Abstract Views of an Operating System.
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Software testing.
By Waqas Over the many years the people have studied software-development approaches to figure out which approaches are quickest, cheapest, most.
Use Case Diagrams.
Database System Concepts and Architecture
© 2012 National Heart Foundation of Australia. Slide 2.
Chapter 10 Software Testing
Executional Architecture
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
Fakultät für informatik informatik 12 technische universität dortmund Finite state machines + message passing: SDL Peter Marwedel TU Dortmund, Informatik.
Technische universität dortmund fakultät für informatik informatik 12 Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems Jian-Jia.
Håkan Sundell, Chalmers University of Technology 1 Evaluating the performance of wait-free snapshots in real-time systems Björn Allvin.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Petri Nets Jian-Jia Chen (slides are based on Peter Marwedel)
Technische universität dortmund fakultät für informatik informatik 12 Specifications, Modeling, and Model of Computation Jian-Jia Chen (slides are based.
(slides are based on Peter Marwedel)
technische universität dortmund fakultät für informatik informatik 12 Early design phases Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Modeling Main issues: What do we want to build How do we write this down.
Technische universität dortmund fakultät für informatik informatik 12 Limits of von-Neumann (thread-based) computing Jian-Jia Chen (Slides are based on.
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
Fakultät für informatik informatik 12 technische universität dortmund Specifications - Session 5 - Peter Marwedel TU Dortmund Informatik 12 Germany Slides.
fakultät für informatik informatik 12 technische universität dortmund Early design phases Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Actual design flows and tools.
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
- 1 - Embedded Systems—State charts Specifications.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Specifications.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Some general properties of languages 1. Synchronous vs. asynchronous languages.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
StateCharts Peter Marwedel Informatik 12 Univ. Dortmund Germany.
Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany 2013 年 12 月 02 日 These slides use Microsoft clip arts. Microsoft copyright.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
technische universität dortmund fakultät für informatik informatik 12 Early design phases Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
Technische universität dortmund fakultät für informatik informatik 12 Finite state machines & message passing: SDL Peter Marwedel TU Dortmund, Informatik.
2. Specification and Modeling
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Embedded System Design Specifications and Modeling
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Specifications and Modeling
Presentation transcript:

technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, /05/04 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

- 2 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Hypothetical design flow 2: Specification 3: ES-hardware 4: System software (RTOS, middleware, …) 8. Test * 5: Evaluation & Validation (energy, cost, performance, …) 7: Optimization 6: Application mapping Application Knowledge Design repository * Could be integrated into loop Design Numbers denote sequence of chapters

- 3 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Motivation for considering specs Why considering specs? If something is wrong with the specs, then it will be difficult to get the design right, potentially wasting a lot of time. Typically, we work with models of the system under design (SUD) What is a model anyway? time

- 4 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Models Definition: A model is a simplification of another entity, which can be a physical thing or another model. The model contains exactly those characteristics and properties of the modeled entity that are relevant for a given task. A model is minimal with respect to a task if it does not contain any other characteristics than those relevant for the task. [Jantsch, 2004]: Which requirements do we have for our models?

- 5 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Requirements for specification techniques: Hierarchy Hierarchy Humans not capable to understand systems containing more than ~5 objects. Most actual systems require more objects Hierarchy Behavioral hierarchy Examples: states, processes, procedures. Structural hierarchy Examples: processors, racks, printed circuit boards proc

- 6 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Requirem. for specification techniques (2): Component-based design Systems must be designed from components Must be easy to derive behavior from behavior of subsystems Work of Sifakis, Thiele, Ernst, … Concurrency Synchronization and communication

- 7 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Requirements for specification techniques (3): Timing Timing behavior Essential for embedded and cy-phy systems! Additional information (periods, dependences, scenarios, use cases) welcome Also, the speed of the underlying platform must be known Far-reaching consequences for design processes! The lack of timing in the core abstraction (of computer science) is a flaw, from the perspective of embedded software [Lee, 2005]

- 8 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Requirements for specification techniques (3): Timing (2) 4 types of timing specs required, according to Burns, 1990: t ? execute 1.Measure elapsed time Check, how much time has elapsed since last call 2.Means for delaying processes t

- 9 - technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Requirements for specification techniques (3): Timing (3) 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. t execute

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Specification of ES (4): Support for designing reactive systems State-oriented behavior Required for reactive systems; classical automata insufficient. Event-handling (external or internal events) 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.

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Requirements for specification techniques (5) Presence of programming elements Executability (no algebraic specification) Support for the design of large systems ( OO) Domain-specific support Readability Portability and flexibility Termination Support for non-standard I/O devices Non-functional properties Support for the design of dependable systems No obstacles for efficient implementation Adequate model of computation What does it mean to compute?

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Problems with classical CS theory and von Neumann computing Even the core … notion of computable is at odds with the requirements of embedded software. In this notion, useful computation terminates, but termination is undecidable. In embedded software, termination is failure, and yet to get predictable timing, subcomputations must decidably terminate. What is needed is nearly a reinvention of computer science. Edward A. Lee: Absolutely Positively on Time, IEEE Computer, July, 2005 Search for non-thread-based, non-von-Neumann MoCs; Which are the requirements for specification techniques?

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Models of computation 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. C-1 C-2

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Dependence graph Definition Def.: A dependence graph is a directed graph G =( V, E ) in which E V V is a relation. If ( v 1, v 2 ) E, then v 1 is called an immediate predecessor of v 2 and v 2 is called an immediate successor of v 1. Suppose E * is the transitive closure of E. If ( v 1, v 2 ) E *, then v 1 is called a predecessor of v 2 and v 2 is called a successor of v 1. Nodes could be programs or simple operations Sequence constraint

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Dependence graph Timing information Dependence graphs may contain additional information, for example: Timing information Arrival timedeadline

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Dependence graph I/O-information

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Dependence graph Shared resources

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Dependence graph Periodic schedules A job is single execution of the dependence graph Periodic dependence graphs are infinite

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Dependence graph Hierarchical task graphs

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Communication Shared memory memoryComp-1Comp-2 Variables accessible to several components/tasks. Model mostly restricted to local systems.

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 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. task a {.. P(S) //obtain lock.. // critical section V(S) //release lock } task b {.. P(S) //obtain lock.. // critical section V(S) //release lock } Race-free access to shared memory protected by S possible P(S) and V(S) are semaphore operations, allowing at most n accesses, n =1 in this case (mutex, lock)

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Non-blocking/asynchronous message passing Sender does not have to wait until message has arrived; … send () … receive () … Potential problem: buffer overflow

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Blocking/synchronous message passing - rendez-vous Sender will wait until receiver has received message … send () … receive () … No buffer overflow, but reduced performance.

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Organization of computations within the components (1) Finite state machines Data flow (models the flow of data in a distributed system) to be discussed next week Petri nets (models synchronization in a distributed system) to be discussed next week

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Organization of computations within the components (2) Discrete event model abcabc time action a:=5 b:=7 c:=8 a:=6 a:=9 queue Von Neumann model Sequential execution, program memory etc.

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Organization of computations within the components (3) Differential equations

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Models of computation considered in this course Communication/ local computations Shared memory Message passing Synchronous | Asynchronous Communicating finite state machines StateChartsSDL Data flow(Not useful)Kahn networks, SDF Petri nets C/E nets, P/T nets, … Discrete event (DE) model VHDL*, Verilog*, SystemC*, … Only experimental systems, e.g. distributed DE in Ptolemy Von Neumann modelC, C++, JavaC, C++, Java with libraries CSP, ADA | * Classification based on implementation with centralized data structures

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Combined models - languages presented later in this chapter - SDL FSM+asynchronous message passing StateCharts FSM+shared memory CSP, ADA von Neumann execution+synchronous message passing …. See also Work by Edward A. Lee, UCB Axel Jantsch: Modeling Embedded Systems and Soc's: Concurrency and Time in Models of Computation, Morgan-Kaufman, 2004

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Ptolemy Ptolemy (UC Berkeley) is an environment for simulating multiple models of computation. Available examples are restricted to a subset of the supported models of computation. Ptolemy simulations Newtons craddle

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Facing reality No language that meets all language requirements using compromises

technische universität dortmund fakultät für informatik P.Marwedel, Informatik 12, 2011 Summary Requirements for specification languages Hierarchy.. Appropriate model of computation Models of computation = models for communication -Shared memory -Message passing models of components -finite state machines (FSMs) -data flow, …. Task graphs