Integrated HW/SW Systems: Requirements

Similar documents
Integrated HW/SW Systems: Requirements

Development of Integrated Hard- and Software Systems: Tasks and Processes

Development of Integrated Hard- and Software Systems: Tasks and Processes

Introduction to Formal Methods

CS4514 Real-Time Systems and Modeling

OMG Smart Transducer Specification (I)

Hardware Description Languages & System Description Languages Properties

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Evaluation of Temporal and Performance Aspects

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

CORBA in the Time-Triggered Architecture

Introduction to Embedded Systems

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

Time Triggered and Event Triggered; Off-line Scheduling

Specifications Part 1

Specifications and Modeling

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

Process and data flow modeling

Hardware Description Languages & System Description Languages Properties

Hardware/Software Co-design

Part 2: Principles for a System-Level Design Methodology

3. Quality of Service

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Architectural Design

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

By: Chaitanya Settaluri Devendra Kalia

Overall Structure of RT Systems

EE382V: System-on-a-Chip (SoC) Design

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

HW/SW Co-Design for Embedded Systems

2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS

Subsystem Hazard Analysis (SSHA)

Environment: dictates timeliness requirements, to which the internal system has to react on time.

Issues in Programming Language Design for Embedded RT Systems

Hardware-Software Codesign. 6. System Simulation

Concurrent Models of Computation

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

Architectural Design

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

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

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.

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

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

Imperative model of computation

ISO/IEC INTERNATIONAL STANDARD. Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation

Embedded Systems CS - ES

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Software Architecture

Architectural Styles and Non- Functional Requirements

Optimal Implementation of Simulink Models on Multicore Architectures with Partitioned Fixed Priority Scheduling

The Embedded Systems Design Challenge. EPFL Verimag

CS 310 Embedded Computer Systems DESIGN

Hierarchical FSMs with Multiple CMs

Simulink/Stateflow. June 2008

Semantics-Based Integration of Embedded Systems Models

Techniques for the unambiguous specification of software

Safety and Reliability of Embedded Systems. (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Safety and Reliability Analysis Models: Overview

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

FPGA for Software Engineers

SE 1: Software Requirements Specification and Analysis

Specifications and Modeling

Distributed Systems Programming (F21DS1) Formal Verification

Introduction to Software Engineering

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

IN4343 Real-Time Systems

Concepts of Real-Time Computer Control Systems

A DEVS LIBRARY FOR LAYERED QUEUING NETWORKS

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems

Design of Real-Time Software

Chapter 2 Overview of the Design Methodology

FSMs & message passing: SDL

MONIKA HEINER.

Real Time Operating Systems and Middleware

An Information Model for High-Integrity Real Time Systems

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

Applied Formal Methods - From CSP to Executable Hybrid Specifications

A Model-Driven Approach to Embedded Control System Implementation

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

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

Real-Time Systems and their Programming Languages

Classification of RTS. RTS Definitions. RTS Definitions

Real-Time Operating Systems Design and Implementation. LS 12, TU Dortmund

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

EE382N.23: Embedded System Design and Modeling

EE249 Lab September 30 h, 2008 Hugo A. Andrade

Part 2: Basic concepts and terminology

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10

A Modelling and Analysis Environment for LARES

Composition of State Machines

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

Basic Concepts of Reliability

Embedded Software Engineering

Conventionel versus Petri Net Modeling of a Transport Process in Postal Automation

COMPLEX EMBEDDED SYSTEMS

Real-Time Systems 1. Basic Concepts

Transcription:

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 requirements Safety and reliability Principles and elements of requirements analysis

System Development Process The Theory Analysis Waterfall model Design Implementation Development is not a pure top-down process use of subcomponents from the shelf => bottom-up lack of accurate estimation in early phases => feedback lack of confidence in feasibility => feasibility studies, prototyping Integration Maintenance => in practice the development process is a mixture of bottom-up and top-down design 2

Analysis Phase and Subphases Problem analysis Analysis Feasibility study Requirements analysis The goals of the analysis phase are to identify the purpose, merit and risks of developing the product, and to identify the purpose of the product and to understand its exact requirements 3

Review of the Development Process Problem analysis Analysis Feasibility study Requirements analysis Design The requirements analysis is a detailed study of the requirements of the system as seen from its environment. Major tasks are to identify, analyze and classify the requirements of the product to be built 4

Requirements Definition: Contents Identification of the system (interfaces to the environment) Functional requirements (functionality provided at the interfaces) Temporal and performance requirements (throughput, response time, delay, jitter) Fault-tolerance and reliability Quality (absence of errors) Safety Operating platform (OS, general HW) Power consumption Heat disipation Operating environment (operating temperature, shock-, dust-resistance, etc.) Size Mechanical construction EMC Maintainability Extendability Support Documentation Cost (development, deployment and operation) Date of completion... => let s take a look at some details 5

The Importance of Requirements Proper definition of the requirements is vital to ensure quality! 6

Functional Requirements Definition of the exact behavior of the system as seen at its interfaces Description technique highly depends on the kind of system: (state) control system -> state machine transformational system -> data flow model (e.g. audio encoder) => see section on behavioral models for details Example of control system: seat belt control Example of transformational system: FIR filter o(n) = c1 * i(n) + c2 * i(n-1) i(n) KEY_ON => START_TIMER WAIT i(n) * c1 OFF KEY_OFF or BELT _ON => END_TIMER_10 or BELT_ON or KEY_OFF => ALARM_OFF ALARM END_TIMER_5 => ALARM_ON S i(n-1) * c2 c2 * i(n-1) + c1 * i(n) o(n) 7

Performance Requirements Important performance requirements Capacity Response time Jitter Examples of performance requirements: capacity: number (and kind) of events processed per second response-time: time to process an event (95% percentile) The performance of the system depends on the load imposed on it, i.e. the traffic model response time load The performance is highly influenced by the design, especially the module/component design the available processing and communication resources the scheduling strategy Performance cannot be added on to the implementation 8

Real-time (Temporal) Requirements usefulness of result hard or firm real-time requirement soft real-time requirement deadline time Definitions: If the result is useful even after the deadline, we call the deadline soft. If the result is of no use after the deadline has passed, the deadline is called firm. If a catastrophe could result if a strict deadline is missed, the deadline is called hard. A real-time computer system that has to meet at least one hard deadline is called a hard real-time system. System design for hard- and soft real-time systems is fundamentally different. 9

Real-time (Temporal) Requirements Examples: soft deadlines public transportation system airport luggage transport system firm deadlines audio processing video processing hard deadlines control of nuclear or chemical processes (chain reaction) railway traffic control air traffic control 10

Real-time Systems Classification On the basis of the external requirements hard/firm real-time versus soft real-time fail safe vs. fail operational (e.g. train control system vs. fly-by-wire system) On the basis of the design and implementation guaranteed timeliness vs. best effort resource adequacy vs. no resource adequacy (sufficient computational resources to handle all specified peak loads and fault scenarios) event triggered vs. time triggered 11

Time Triggered (TT) vs. Event Triggered (ET) Systems A system is Time Triggered (TT) if the control signals, such as sending and receiving of messages recognition of an external state change are derived solely from the progression of a (global) notion of time. A system is Event Triggered (ET) if the control signals are derived solely from the occurrence of events, e.g., termination of a task reception of a message an external interrupt. Note that the triggering method is often an attribute of the implementation and not necessarily a requirement. 12

Safety Requirements: Fail-Safe vs. Fail-Operational Safety requirements define the action taken in the case of a failure. A system is fail-safe if there is a safe state in the environment that can be reached in case of a system failure, e.g. ABS, train signaling system. In a fail-safe application a computer has to have a high error detection coverage. Fail safeness is a characteristic of the application, not the computer system. A system is fail-operational, if no safe state can be reached in case of a system failure, e.g. a flight control system aboard an airplane. In fail-operational applications the computer system has to provide a minimum level of service, even after the occurrence of a fault. 13

Reliability Requirements Reliability denotes the probability for a failure or absence from failure of a system Examples of reliability figures are MTTF (mean time to failure) MTBF (mean time between failures) probability for up-time (e.g. 99.995%) The reliability of the system can be estimated/calculated (in theory) from the reliability of its components A system that ensures that it still functions correctly even in the case of failure of some components is called a fault tolerant system (i.e. it is able to tolerate faults of single components of the system) 14

Predictability in Rare Event Situations A rare event is an important event that occurs very infrequently during the lifetime of a system, e.g. the rupture of a pipe in a nuclear reactor. A rare event can give rise to many correlated service requests (e.g. an alarm shower). In a number of applications, the merit of a system depends on the predictable performance in rare event scenarios, e.g. a flight control system. In most cases, typical workload testing will not cover the rare event scenario. 15

Principles and Elements of the Analysis Model Guidelines for the analysis: understand the problem first! (before you begin to create the analysis model) record origin and reason for every requirement use multiple views of requirements (data model, functional model, behavioral models) prioritize requirements eliminate ambiguities Elements of the analysis model: data dictionary process specification (data-flow diagram) control specification (state-transition diagram) data object description (entity-relationship diagram) functional specification (sequence diagram) Specific methods and tools for various application areas have been proposed, e.g. real-time systems, transformational systems, control systems, communication systems, etc. 16

References H. Balzert: Lehrbuch der Software-Technik Band 1: Softwareentwicklung. Spektrum-Verlag, 2001. R. S. Pressman: Software Engineering A Practicioner s Approach. Fourth Edition, 1997. (Chapter 12: Analysis Modeling) A. Mitschele-Thiel: Systems Engineering with SDL Developing Performance- Critical Communication Systems. Wiley, 2001. B. Thomé (Editor): Systems Engineering Principles and Practice of Computer-based Systems Engineering, Wiley, 1993. 17

TECHNISCHE UNIVERSITÄT ILMENAU Behavioral Models and Specification Languages Integrated Communication Systems http://www.tu-ilmenau.de/iks Behavioral Models Finite State Machine (FSM) NDFSM composed FSM Petri Net (PN) Data Flow Graph (DFG) Control Flow Graph (CFG) Control/Data Flow Graph (CDFG) Basic Concepts concurrency hierarchy communication synchronisation exception handling non-determinism timing Specification Languages StateCharts SDL VHDL SystemC...

Why do we need Behavioral Models? Models abstract from the real world to some extent (describing part of the system from a specific view) Models may serve very different purposes, e.g. to describe, document or reason about the behavior of a system the performance of a system or some other purpose (safety, reliability, shock, temperature,...) Behavioral Models (or Models of Computation) represent formal frameworks to describe the behavior of systems or parts hereof Formal definitions ease reasoning and refinement The description of the behavior may be abstract or concrete, e.g. an abstract state machine describing the behavior of an elevator control a C program, assembler program or VHDL description Behavioral models may concentrate on the externally-visibly behavior (analysis phase) or/and the internal details of the system (design and implementation phase) 19

Behavioral Models and Specification Languages Behavior models (e.g. FSM, PN, DFG) represent well defined basic mechanisms with underlying syntax and semantics to model specific aspects of a system or parts hereof Specification languages (e.g. Statecharts, SDL, VHDL) employ a set of basic modeling mechanisms useful to specify systems of a specific application domain Behavioral models and specification languages allow to: capture unambiguously the required functionality verify correctness of the functional specification wrt. given properties synthesize part of the specification use a variety of tools Important characteristics of behavior models and specification languages Expressiveness Generality/applicability Simplicity Compilability/synthesizability Verifiability 20

Behavioral Models (discrete time and state) State-oriented models (behavior) Finite State Machines reactive Petri Nets systems Hierarchical concurrent FSM Action-oriented models (behavior) data flow graph control flow graph Structural Models Structure-oriented models component connectivity graph Data-oriented models entity relationship diagram Jackson s diagram transformational systems Heterogeneous models control/data flow graph structure chart programming language paradigm object-oriented model program-state machine queueing model 21

More Models and Languages... to complete the confusion! More models... continuous time continuous state structure-oriented data-oriented... Each of these provides a formal framework for reasoning about certain aspects of the system Focus here behavior rather that structure Tower of Babel, Bruegel, 1563 discrete time rather than continuous discrete state (digital) rather than continuous (analog) 22

Behavioral Models Application Needs Telecommunication Heterogeneous specifications including data processing control functions Data processing, e.g. encryption, forward error correction, computations done at regular (often short) intervals efficiently specified and synthesized using Data Flow models Control functions (data-dependent and real-time) say when and how data computation is done efficiently specified and synthesized using FSM models Need a common model to perform global system analysis and optimization Reactive Real-Time Systems react to external environment maintain permanent interaction ideally never terminate timing constraints (real-time) As opposed to transformational systems interactive systems 23

Finite State Machines (FSM) Functional decomposition into states of operation finite states transitions between states event triggered transitions neither concurrency nor time (sequential FSMs) Typical applications: reactive (control) systems protocols (telecom, computers,...) 24

FSM Example: Seat Belt Control Informal specification: If the driver turns on the key and does not fasten the seat belt within 5 seconds then an alarm beeps for 5 seconds, or until the driver fastens the seat belt, or until the driver turns off the key Formal specification: KEY_ON => START_TIMER OFF KEY_OFF or BELT _ON => END_TIMER_10 or BELT_ON or KEY_OFF => ALARM_OFF WAIT ALARM Interpretation: Conditional expression => Output If none of the conditions is satisfied, implicit self-loop in the current state END_TIMER_5 => ALARM_ON 25

Non-deterministic FSM (NDFSM): Incomplete Specification Example: parity error checking and synchronization after 8 bit Partially specified (incomplete): BIT or not BIT => BIT or not BIT => BIT or not BIT => ERR 0 1... 7 8 BIT or not BIT => SYNC => Focus on synchronization after 8th bit, not on parity More completely specified as even parity: not BIT => p1 not BIT =>... p7 BIT => ERR BIT => not BIT => 0 BIT => BIT => not BIT => ERR d1... d7 not BIT => BIT => 8 SYNC => 26

NDFSM: Unknown parts of the Behavior Modeling the environment Nondeterminism is useful to: optimize (don t care conditions) verify (exclude impossible cases) Example: driver model KEY_ON => START_TIMER OFF KEY_OFF or BELT _ON => WAIT END_TIMER_10 or BELT_ON or ALARM KEY_OFF => ALARM_OFF END_TIMER_5 => ALARM_ON s0 1 => KEY_ON or KEY_OFF or BELT_ON Can be refined e.g. introducing timing constraints (minimum reaction time of 0.1 s between actions) 27

NDFSM: Time Range Special case of unspecified/unknown behavior, but so common to deserve special treatment for efficiency Example: nondeterministic delay (between 6 and 10 s) START => SEC => SEC => SEC => 1 2 3 4 START => SEC => END 0 9 SEC => END SEC => END SEC => END 6 SEC => 8 SEC => 7 SEC => SEC => 5 SEC => 28

NDFSMs and FSMs Formally FSMs and NDFSMs are equivalent (Rabin-Scott construction, Rabin 59) In practice, NDFSMs are often more compact (exponential blowup for determinization) Example: non-deterministic selection of transition a in state s1 Equivalent deterministic FSM s1 a s1 a c c a s2,s3 b c s3 s2 b s3 a b a a s2 29

Finite State Machines Discussion Advantages: Easy to use (graphical languages) Powerful algorithms for synthesis (SW and HW) verification Disadvantages: Sometimes over-specify implementation (sequencing is fully specified) Number of states can be unmanageable Numerical computations cannot be specified compactly (need Extended FSMs) 30