Grundlagen des Software Engineering Fundamentals of Software Engineering
|
|
- Kevin Malone
- 5 years ago
- Views:
Transcription
1 Software Engineering Research Group: Processes and Measurement Fachbereich Informatik TU Kaiserslautern Grundlagen des Software Engineering Fundamentals of Software Engineering Winter Term 2011/12 Prof. Dr. Dr. h. c. Dieter Rombach Chapter 4.2: Software Application Engineering Requirements Engineering for Last update: 21/11/2011
2 Goals (ES) for ES The goals of this chapter are to be able to characterize embedded systems (ES) identify and define issues relevant for engineering ES identify requirements categories for ES Use a simple model for documenting functional ES requirements Literature David Parnas and Jan Madey. Functional Documents for Computer Science. Science of Computer Programming, Elsevier, 1995 Stacy J. Prowell, Carmen J. Trammell, Richard C. Linger, and Jesse H. Poore Cleanroom Software Engineering: Technology and Process. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 1
3 Characteristics (ES) Interaction With User always? With environment always! for ES Complex functionality Specific tasks (does not imply trivial!!) Limited memory Application specific control logic Special hardware (ASIC/ FPGA/ Microcontroller) Low power Often battery operated (autonomous) Power issues (heat management) Low manufacturing cost (mass products) Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 3
4 Requirements categories (ES) Functional Domain-dependent User-dependent for ES Non-functional Performance Resource consumption (e.g., power) Dependability Safety Reliability Availability Maintainability? Integrity? Inverse All safety critical issues (Design Constraints) Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 4
5 Some example properties of interest in software for ES (ES) for ES Functional Real-time (soft hard!): Button X is pressed do task in deadline s. Response to external events (event-driven/reactive): Button X is pressed do task Temporal: safety and liveness Safety: Something bad will never happen Liveness: Something good will eventually happen. Communication and concurrency Heterogeneity Non-functional Performance: Component X processes Y requests / hour Resources: Available memory is 128 KB Dependability: Failure rate of the component 10-4 failures / month E.g., Fault tolerance? Is this really a property / requirement? A means for achieving higher dependability Other means include prevention, removal and forecasting However, fault tolerance is often needed e.g., networked ES Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 5
6 Requirement for ES - A closer look at an ES (ES) for ES Microcontroller / Microprocessor ASIC / FPGA Memory (Software) CMOS Light (Sensor) Electronic shutter (Actuator) A/D (D/A) conversion Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 6
7 Requirement for ES - A closer look to an ES: Block diagram (ES) for ES System input Control Logic (Hardware + Software) D/A System output Actuators Sensor A/D Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 7
8 Requirement for ES - A closer look to an ES: Block diagram (ES) for ES How do we begin? Identify system boundary Interfaces Input Output Define what is true at system boundary Relation between input and output Define constraints on the system Also a relation between input and output Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 8
9 Requirement for ES - Logical model (ES) for ES Monitored value m(t) i(t) Control Logic (Hardware + Software) O(t) D/A Controlled value c(t) Actuators Sensor A/D Output device Input device Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 9
10 (ES) for ES System requirements document Black-box view of the system Description of the environment Constraints from the environment e.g., physical laws Constraints relevant for the system to be built Assumptions Document whose content is defined by mathematical relations Before we continue, Elementary set-theoretic concepts: Relation AH: Set of {Age, Height}: {{20, 170}, {25,170}, {30,180}, {35,185}} Function NA: Set of {Name, Age}: {{A, 20}, {B, 25}, {C, 30}, {D, 35}} A well-behaved relation Domain Range For a function f or a relation r domain Dom (f) or Dom (r) : X-values Dom(AH): {20, 25, 30, 35} For a function f or a relation r range Ran (f) or Ran (r) : Y-values Ran(NA): {20, 25, 30, 35} Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 10
11 4 Variables model (ES) for ES Monitored value m i (t) SOF Controlled value c i (t) O i (t) Actuators Sensor i i (t) Output device Input device Logical System boundary REQ Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 11
12 4 Variables model - Monitored and Controlled variables (ES) for ES Monitored variables: (Sensor) Variables whose values influence output of the machine / system Controlled variables: (Actuator) Variables whose values are determined by the system Exist (are visible) outside the system boundary Often physical quantities Values often vary with time Mathematically Monitored variables m i (t) m(t): R Value m : function assigning a time dependent real value. M(t) : {m 1 (t), m 2 (t),, m n (t)} : Vector of monitored variables Controlled variables c i (t) c(t): R Value c : function assigning a time dependent real value. C(t) : {c 1 (t), c 2 (t),, c n (t)} : Vector of controlled variables Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 12
13 4 Variables model - Input and Output variables (ES) for ES Input variables Input variables i i (t) Variables whose values are the result of measurement of m i (t) Output variables o i (t) Variables whose values are the result of computation by the machine For all ( ) m i (t) there exists ( ) a corresponding i i (t) c i (t) o i (t) Vice-versa need not be true Often i i (t) and o i (t) will be discrete and digital If the machine is HW/SW control logic Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 13
14 4 Variables model - Relations (ES) NATural constraints expressed as a relation between the vectors of monitored variables M(t) and controlled variables C(t) Dom (NAT): values of M(t) Ran (NAT): values of C(t) {M(t), C(t)} NAT if and only if (iff) environment (nature) permits the behavior for ES REQuirements specified as a relation between the vectors of monitored variables M(t) and controlled variables C(t) Dom (REQ): values of M(t) Ran (REQ): values of C(t) {M(t), C(t)} REQ iff system should permit the behavior INput device description is a relation between monitored variables M(t) and Input variables I(t) OUTput device description is a relation between output variables O(t) and controlled variables C(t) SOFtware requirements specified as a relation between Input variables I(t) and output variables O(t) Dom (SOF): values of I(t) Ran (SOF): values of O(t) {I(t), O(t)} SOF iff software should permit the behavior Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 14
15 4 Variables model - Properties (ES) This should ALWAYS be true Dom (REQ) (is a subset of) Dom (NAT) or document is incomplete If (Dom (NAT REQ) = Dom (NAT) Dom (REQ)) also holds then REQ is considered feasible with respect to NAT Else system breaks laws of nature for ES Software behavior is acceptable if M(t), C(t), I(t), O(t) [IN(M(t), I(t)) & SOF(I(t),O(t)) & OUT(O(t), C(t)) & NAT(M(t), C(t))] REQ(M(t), C(t)) Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 15
16 4 Variables model - Summary (ES) NAT for ES MON REQ CON IN OUT INPUT SOF OUTPUT Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 16
17 4 Variables models (ES) for ES We now know: What to document in an system requirement specification of embedded systems What properties it must satisfy Completeness, feasibility, acceptability (of software) Abstraction How do we go about documenting this? Natural language Common practice Can be imprecise and ambiguous Critical systems demand usage of formalized notation where syntax and semantics are precisely defined Known example SBS Software cost reduction Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 17
18 Sequence Based (ES) for ES Tag requirements Define system boundary Identify stimuli Identify responses Choice of appropriate abstraction Stimuli and responses could change depending on the level of abstraction Systematic enumeration of Stimuli Sequence Response and Stimuli Sequence equivalence Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 18
19 Sequence Based (ES) for ES Tag requirements Tag 1 Requirements The security alarm has a detector that sends a trip signal when motion is detected 2 The security alarm is activated by pressing the SET button 3 The SET button is illuminated when the security alarm is set 4 If a trip signal occurs while the security alarm is set, a tone (alarm) is emitted 5 A three-digit code must be entered to silence the alarm tone 6 Correct entry of the code deactivates the security alarm 7 If a mistake is made when entering the code, the user must press the CLEAR button before the code can be reentered Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 19
20 Sequence Based (ES) for ES Define system boundary Identify stimuli Stimulus Description Symbol Trace Set Device activator S 2 Trip Signal from detector T 1 BadDigit Incorrect entry of a digit in the code B 7 Clear Clear entry C 7 GoodDigit A digit that is part of the correct entry of the 3-digit code that deactivates the alarm and the device G 5,6 Identify responses Response Description Trace Light On Set button illuminated 3 Light Off Set button not illuminated 6 Alarm On Alarm tone activated 4 Alarm Off Alarm tone deactivated 5 Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 20
21 Sequence Based (ES) for ES Systematic enumeration of Stimuli Sequence Response and Stimuli Sequence equivalence Rule: Do not extend the sequence IF the response is illegal OR IF the sequence is declared equivalent to a previous sequence ELSE extend Sequences of length 0 and 1 Sequence Response Equivalence Trace λ (empty) null D1 S Light On 2, 3 T Illegal D1 B Illegal D1 C Illegal D1 G Illegal D1 D1 The security alarm is initially deactivated Derived requirements Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 21
22 Sequence Based (ES) for ES Systematic enumeration of Stimuli Sequence Response and Stimuli Sequence equivalence Sequences of length 2 Sequence Response Equivalence Trace SS null S D2 ST Alarm On 4 SB null D3 SC null S D4 SG null D5 D2 D3 D4 D5 After the device has been set, the Set button has no further effect until the device has been deactivated The device produces no external response to an erroneous entry The device produces no external response to a Clear entry The device produces no external response to correct entry of a GoodDigit until all three digits of the code have been entered Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 22
23 Sequence Based (ES) Systematic enumeration of Stimuli Sequence Response and Stimuli Sequence equivalence Rule: The enumeration is complete if there are no more sequences to extend for ES Sequences of length 5 Sequence Response Equivalence Trace STGGS null STGG D2 STGGT null STGG D6 STGGB null STB D3 STGGC null ST D4 STGGG Alarm Off Light Off λ 3, 5, 6 Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 23
24 Software cost reduction (SCR) (ES) for ES Developed at the US Naval Research Labs during the development of the A-7 aircraft Tabular representation of state changes Uses 2 of the relations from the 4 variable model (NAT, REQ) Synchronous model One set of inputs processed in a state before processing the inputs at next state One input assumption Only one input changes at a time SCR mainly deals with this part NAT MON REQ MON IN OUT INPUT SOF OUTPUT Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 24
25 Elements of the SCR model (ES) for ES System is a state machine (S, S 0, E m,t) consisting of States S, initial state S 0 E m : set of monitored events T : allowable transitions Function mapping monitored event (e E m ) and the current state (s S) to the next state (s S) System mode class: An equivalence class of system states (a set of states) Values of a mode class are called modes Condition: Predicate defined on a single system state Predicate is often a Boolean-valued function Event: Predicates on two system states Occurrence: An event occurs if a condition changes Conditioned WHEN TRUE: c WHEN FALSE: c becomes False Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 25
26 Types of SCR tables (ES) Variable Tables: Definition of monitored & controlled variable values Mode Condition Table: Definition of modes based on monitored variables for ES Mode Transition Table: Mode transitions described as a function of current mode and monitored variables i.e. (conditioned) monitored events Event Table: Definition of values of a controlled variable given (conditioned) monitored events and modes Functions should be total i.e. defined for all possible inputs Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 26
27 Software Cost (ES) for ES System mvar mset mtrip mnumber[1,2,3] mclear Req Clight calarm cvar I Sof O SW-System Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 27
28 Variable tables monitored variables (ES) mset Event / Condition Values mtrip Event / Condition Values for ES Initial correct digits entered!) when pushes setbutton!) $off$ mtrip = $off$ Initial correct digits entered!) when mtrip = $on$ $on$ $off$ mnumber[i=1..3] mclear Event / Condition Values Event / Condition Values Initial pushes the right digit number pushes the right digit number i!) $F$ pushes clear button!) when mset = $on$ Initial entered a digit!) $on$ $off$ Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 28
29 Variable tables controlled variables (ES) for ES clight Event / Condition Initial = Values $off$ $on$ calarm Event / Condition Initial OR i=1,2,3: mnumber[i] = when $mset$ = $on$ Values $off$ $on$ Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 29
30 Contition table (ES) Describe Modes (= externally visible states) Informal Mode condition table for ES Example of a mode condition table: mode *off* *on* condition mset = $off$ mset = $on$ AND - *passive* mtrip = $off$ AND - *pas_0* - *pas_1* mnumber[1] = $T$ - *pas_2* mnumber[2] = $T$ - *active* mtrip = $on$ AND - *act_0* - *act_1* mnumber[1] = $T$ - *act_2* mnumber[2] = $T$ Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 30
31 Mode transition table (ES) Describe Mode transitions Informal Mode transition matrix for ES Example of mode transition matrix (automobile): input mode * off * * inactive * output mode * off * * inactive nvar = nvar = $on ) Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 31
32 Mode transition table (ES) I / O *off* * act_0 * *act_1* *act_2* *pas_0* *pas_1* *pas_2* *off* Req. Categories *act_0* *act_1* for ES r[2] = r[1] = $F$) r[2] = $F$) $on$) = $on$) = $on$) r[3] = = r[1] = r[2] = = r[1] = r[2] = $T$) Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 32
33 Event table (ES) Give time-independent specification of the sw function Mode Conditions *X* Cond 1 Cond 2 Cond 3 for ES mode *off* *pas_0* *pas_1* *pas_2* *act_0* *act_1* *act_2* --- T T T T T T *automatic on* caccelerat e T Conditions!too slow!.!increase speed! T T T T T T T clight $on$ $off$ calarm $on$ $off$ Prof. Dr. Dr. h. c. Dieter Rombach, Fundamentals of Software Engineering, Winter Term 2011/12 33
RE for Embedded Systems - Part 1
REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr RE for Embedded Systems - Part 1 Fraunhofer IESE Lecture Outline Embedded systems and their characteristics Requirements specifications (for embedded
More informationSequence-Based Specification
Sequence-Based Specification Tom Swain tomswain@comcast.net Specification Objectives Completeness Consistency a response is defined for every stimulus history each stimulus history maps to only one response
More informationRelational Specification of Interface Modules for Real-time Systems
Relational Specification of Interface Modules for Real-time Systems By c Yingzi Wang, B. Eng. A Thesis Submitted to the School of Graduate Studies in Partial Fulfilment of the Requirements for the Degree
More informationRequirements Specifications
ACM Transactions on Software Engineering and Methodology, 1996. Automated Consistency Checking of Requirements Specifications CONSTANCE L. HEITMEYER, RALPH D. JEFFORDS, BRUCE G. LABAW JUNBEOM YOO Dependable
More informationLecture 7: Requirements Modeling III. Formal Methods in RE
Lecture 7: Requirements Modeling III Last Last Week: Week: Modeling Modeling and and (II) (II) Modeling Modeling Functionality Functionality Structured Structured Object Object Oriented Oriented This This
More informationInput Space Partitioning
Input Space Partitioning Instructor : Ali Sharifara CSE 5321/4321 Summer 2017 CSE 5321/4321, Ali Sharifara, UTA 1 Input Space Partitioning Introduction Equivalence Partitioning Boundary-Value Analysis
More informationTHE APPLICATION OF SEQUENCE ENUMERATION TO THE AXIOMATIC DESIGN PROCESS
Proceedings of ICAD2013 ICAD-2013-28 THE APPLICATION OF SEQUENCE ENUMERATION TO THE AXIOMATIC DESIGN PROCESS Brandon Woolley brandon.woolley@ttu.edu Zhen Li zhen.li@ttu.edu Derrick Tate d.tate@ttu.edu
More informationSafety and Reliability of Software-Controlled Systems Part 14: Fault mitigation
Safety and Reliability of Software-Controlled Systems Part 14: Fault mitigation Prof. Dr.-Ing. Stefan Kowalewski Chair Informatik 11, Embedded Software Laboratory RWTH Aachen University Summer Semester
More informationSafety-critical embedded systems, fault-tolerant control systems, fault detection, fault localization and isolation
Fault detection in safety-critical embedded systems nomen VERBER i, MA TJAl COLNARIC i, AND WOLFGANG A. HALANG 2 JUniversity of Maribor, Faculty of Electrical Engineering and Computer Science, 2000 Maribor,
More informationCS4514 Real-Time Systems and Modeling
CS4514 Real-Time Systems and Modeling Fall 2015 José M. Garrido Department of Computer Science College of Computing and Software Engineering Kennesaw State University Real-Time Systems RTS are computer
More informationGradational conception in Cleanroom Software Development
Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,
More informationPierce Ch. 3, 8, 11, 15. Type Systems
Pierce Ch. 3, 8, 11, 15 Type Systems Goals Define the simple language of expressions A small subset of Lisp, with minor modifications Define the type system of this language Mathematical definition using
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 informationIntroduction to Software Testing Chapter 4 Input Space Partition Testing
Introduction to Software Testing Chapter 4 Input Space Partition Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/ softwaretest/ Ch. 4 : Input Space Coverage Four Structures for Modeling
More informationFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 4. Testing
4. vs. Model Checking (usually) means checking the correctness of source code Model Checking means verifying the properties of a model given in some formal (not program code) notation Attention: things
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 informationFormal Methods in Software Engineering. Lecture 07
Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness
More informationQuality Assurance in Software Development
Quality Assurance in Software Development Qualitätssicherung in der Softwareentwicklung A.o.Univ.-Prof. Dipl.-Ing. Dr. Bernhard Aichernig Graz University of Technology Austria Summer Term 2017 1 / 47 Agenda
More informationAn Algorithm for Forward Reduction in Sequence-Based Software Specification
An Algorithm for Forward Reduction in Sequence-Based Software Specification Lan Lin, Yufeng Xue Ball State University Department of Computer Science Muncie, IN 47396, USA {llin4, yxue2}@bsu.edu Abstract
More informationKey Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC
Cleanroom attempt to mathematically-based, scientific engineering process of software development Cleanroom software engineering yields software that is correct by mathematically sound design, and software
More informationSoftware Lifecycle Context (Waterfall Model) Software Requirements. The Requirements Engineering Problem
Software Lifecycle Context (Waterfall Model) David S. Rosenblum ICS 221 Winter 2001 Design Implementation Integration Validation Deployment The Engineering Problem Difficult even when a working implementation
More informationBehavioral Requirements
Functional Requirements: Behavioral Requirements Overview Decision-oriented Behavioral Models State-oriented Behavioral Models Finite State Machines (Protocol Validation & Verification) Statecharts SCR
More informationAnnouncements. The current topic: Scheme. Review: BST functions. Review: Representing trees in Scheme. Reminder: Lab 2 is due on Monday at 10:30 am.
The current topic: Scheme! Introduction! Object-oriented programming: Python Functional programming: Scheme! Introduction! Numeric operators, REPL, quotes, functions, conditionals! Function examples, helper
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 informationResource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems
Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of
More informationPrinciples of Testing and Analysis. COMP 4004 Fall Notes Adapted from Dr. A. Williams
Principles of Testing and Analysis COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec 3 1 Principles of Testing and Analysis Sensitivity Redundancy Restriction Partition
More informationCOMPLEX EMBEDDED SYSTEMS
COMPLEX EMBEDDED SYSTEMS Embedded System Design and Architectures Summer Semester 2012 System and Software Engineering Prof. Dr.-Ing. Armin Zimmermann Contents System Design Phases Architecture of Embedded
More informationFormal modelling and verification in UPPAAL
Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Critical Embedded Systems Formal modelling and verification in UPPAAL
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu
More informationApplications of Formal Verification
Applications of Formal Verification Model Checking: Introduction to PROMELA Prof. Dr. Bernhard Beckert Dr. Vladimir Klebanov SS 2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State
More informationApplications of Formal Verification
Applications of Formal Verification Model Checking: Introduction to PROMELA Prof. Dr. Bernhard Beckert Dr. Vladimir Klebanov SS 2012 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationSystem Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements
System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,
More informationCS 242. Fundamentals. Reading: See last slide
CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language
More informationBackground Project Purpose & Goals. SW Reliability Statistical Testing Model Based Specification and Testing
NDIA 8th Annual Systems Engineering Conference Automated Software Testing Increases Test Quality and Coverage Resulting in Improved Software Reliability. October 25, 2005 Frank Salvatore High Performance
More informationCS 320: Concepts of Programming Languages
CS 320: Concepts of Programming Languages Wayne Snyder Computer Science Department Boston University Lecture 02: Bare Bones Haskell Syntax: Data == Abstract Syntax Trees Functions == Rewrite Rules on ASTs
More informationIntroduction to Software Fault Tolerance Techniques and Implementation. Presented By : Hoda Banki
Introduction to Software Fault Tolerance Techniques and Implementation Presented By : Hoda Banki 1 Contents : Introduction Types of faults Dependability concept classification Error recovery Types of redundancy
More informationA Tutorial on Runtime Verification and Assurance. Ankush Desai EECS 219C
A Tutorial on Runtime Verification and Assurance Ankush Desai EECS 219C Outline 1. Background on Runtime Verification 2. Challenges in Programming Robotics System Drona). 3. Solution 1: Combining Model
More informationAutomation Systems Discrete Event Control Systems and Networked Automation Systems
Automation Systems Discrete Event Control Systems and Networked Automation Systems 2 nd Lecture Control Design Process System theory or Software-Engineering? System Theory Starting point: mathematical
More informationHW/SW Design Space Exploration on the Production Cell Setup
HW/SW Design Space Exploration on the Production Cell Setup Communicating Process Architectures 2009, Formal Methods Week Eindhoven University of Technology, The Netherlands, 04-11-2009 Marcel A. Groothuis,
More informationLL(k) Parsing. Predictive Parsers. LL(k) Parser Structure. Sample Parse Table. LL(1) Parsing Algorithm. Push RHS in Reverse Order 10/17/2012
Predictive Parsers LL(k) Parsing Can we avoid backtracking? es, if for a given input symbol and given nonterminal, we can choose the alternative appropriately. his is possible if the first terminal of
More informationMONIKA HEINER.
LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25
More informationWorking with recursion
Working with recursion Readings: HtDP, sections 11, 12, 13 (Intermezzo 2). We can extend the idea of a self-referential definition to defining the natural numbers, which leads to the use of recursion in
More informationEmbedded Software Engineering
Embedded Software Engineering 3 Unit Course, Spring 2002 EECS Department, UC Berkeley Christoph Kirsch www.eecs.berkeley.edu/~fresco/giotto/course-2002 It s significant $4 billion development effort >
More informationDependability tree 1
Dependability tree 1 Means for achieving dependability A combined use of methods can be applied as means for achieving dependability. These means can be classified into: 1. Fault Prevention techniques
More informationIntroductory logic and sets for Computer scientists
Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario
More informationA Short Introduction to Formal Specifications
A Short Introduction to Formal Specifications Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg 30.11.2000 Methods
More informationDeriving safety requirements according to ISO for complex systems: How to avoid getting lost?
Deriving safety requirements according to ISO 26262 for complex systems: How to avoid getting lost? Thomas Frese, Ford-Werke GmbH, Köln; Denis Hatebur, ITESYS GmbH, Dortmund; Hans-Jörg Aryus, SystemA GmbH,
More informationCOMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University
Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics
More informationFrom MC/DC to RC/DC: Formalization and Analysis of Control-Flow Testing Criteria
1 From MC/DC to RC/DC: Formalization and Analysis of Control-Flow Testing Criteria Sergiy A. Vilkomir and Jonathan P. Bowen, Member, IEEE Computer Society Abstract This paper describes an approach to formalization
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 informationComputer Science Technical Report
Computer Science Technical Report Feasibility of Stepwise Addition of Multitolerance to High Atomicity Programs Ali Ebnenasir and Sandeep S. Kulkarni Michigan Technological University Computer Science
More information! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !
What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,
More informationCIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)
By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable
More informationSpecifying and Proving Broadcast Properties with TLA
Specifying and Proving Broadcast Properties with TLA William Hipschman Department of Computer Science The University of North Carolina at Chapel Hill Abstract Although group communication is vitally important
More informationFormal Approach in Software Testing
Formal Approach in Software Testing #Abhishek Dixit, #Shivani Goel 1 csed, TIET biodatadixit@yahoo.co.in 2 csed, TIET shivani@tiet.ac.in Abstract Testing is an important activity for checking the correctness
More informationSFWR ENG 3S03: Software Testing
(Slide 1 of 52) Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on [?] Techniques (Slide 2 of 52) 1 2 3 4 Empirical
More informationA REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM
A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM 1. Relational model I still remember it is my first time to read such an academic article in detail. I have to say that it s really a hard time for me at
More informationSoftware Specification Refinement and Verification Method with I-Mathic Studio
Communicating Process Architectures 2006 297 Peter Welch, Jon Kerridge, and Fred Barnes (Eds.) IOS Press, 2006 2006 The authors. All rights reserved. Software Specification Refinement and Verification
More informationWhat are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software
What are Embedded Systems? 1 Lecture 1 Introduction to Embedded Systems & Software Roopa Rangaswami October 9, 2002 Embedded systems are computer systems that monitor, respond to, or control an external
More informationAn Evolution of Mathematical Tools
An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.
More informationStatic Program Analysis
Static Program Analysis Lecture 1: Introduction to Program Analysis Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ws-1415/spa/
More informationPart I: Preliminaries 24
Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................
More informationAutomatic Generation of Test Vectors for SCR-Style Specifications
Automatic Generation of Test Vectors for SCR-Style Specifications Mark R. Blackburn Software Productivity Consortium blackbur@software.org Abstract This paper provides the basis for integrating the Software
More informationLecture 7: Type Systems and Symbol Tables. CS 540 George Mason University
Lecture 7: Type Systems and Symbol Tables CS 540 George Mason University Static Analysis Compilers examine code to find semantic problems. Easy: undeclared variables, tag matching Difficult: preventing
More informationSoftware Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives
Software Testing Fundamentals Software Testing Techniques Peter Lo Software Testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding.
More informationExtending BPEL with transitions that can loop
Extending BPEL with transitions that can loop ActiveVOS linksaretransitions BPEL Extension AN ACTIVE ENDPOINTS PAPER AUTHOR: DR MICHAEL ROWLEY 2009 Active Endpoints Inc. ActiveVOS is a trademark of Active
More informationDecision Making in C
Decision Making in C Decision making structures require that the programmer specify one or more conditions to be evaluated or tested by the program, along with a statement or statements to be executed
More informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Preliminaries Outline of Lecture 1 Preliminaries Introduction
More informationCorrectness Criteria Beyond Serializability
Correctness Criteria Beyond Serializability Mourad Ouzzani Cyber Center, Purdue University http://www.cs.purdue.edu/homes/mourad/ Brahim Medjahed Department of Computer & Information Science, The University
More informationA Michael Jackson presentation. CSE503: Software Engineering. The following slides are from his keynote at ICSE 1995
A Michael Jackson presentation CSE503: Software Engineering The following slides are from his keynote at ICSE 1995 David Notkin University of Washington Computer Science & Engineering Spring 2006 1 2 3
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 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 informationChapter 27 Formal Specification
Chapter 27 Formal Specification Chapter 27 Formal Specification Slide 1 Objectives To explain why formal specification helps discover problems in system requirements. To describe the use of: Algebraic
More informationThe syntax and semantics of Beginning Student
The syntax and semantics of Beginning Student Readings: HtDP, Intermezzo 1 (Section 8). We are covering the ideas of section 8, but not the parts of it dealing with section 6/7 material (which will come
More informationThe syntax and semantics of Beginning Student
The syntax and semantics of Beginning Student Readings: HtDP, Intermezzo 1 (Section 8). We are covering the ideas of section 8, but not the parts of it dealing with section 6/7 material (which will come
More informationSystem Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)
Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07
More informationFoundations. Yu Zhang. Acknowledgement: modified from Stanford CS242
Spring 2013 Foundations Yu Zhang Acknowledgement: modified from Stanford CS242 https://courseware.stanford.edu/pg/courses/317431/ Course web site: http://staff.ustc.edu.cn/~yuzhang/fpl Reading Concepts
More informationGEMÜ 1235 Electrical position indicator
Electrical position indicator Features Communication and programming interface IO-Link Adjustable switch point tolerances Speed-AP function for fast mounting and initialisation High visibility position
More informationBasics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011
Basics of Java: Expressions & Statements Nathaniel Osgood CMPT 858 February 15, 2011 Java as a Formal Language Java supports many constructs that serve different functions Class & Interface declarations
More informationCS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University
CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [ELECTION ALGORITHMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Does a process
More informationCSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018
CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018 Deliverables: Your code (submit to PLC server). A13 participation survey (on Moodle, by the day after the A13 due date). This is
More informationCORBA in the Time-Triggered Architecture
1 CORBA in the Time-Triggered Architecture H. Kopetz TU Wien July 2003 Outline 2 Hard Real-Time Computing Event and State Messages The Time Triggered Architecture The Marriage of CORBA with the TTA Conclusion
More informationEmbedded Systems Programming
Embedded Systems Programming Introduction (Module 1) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Course Syllabus Course Goals: fundamental issues as well as practical
More informationFriends, Romans, countrymen use your EARS & Improve your requirements
Friends, Romans, countrymen use your EARS & Improve your requirements (Not from Julius Caesar by William Shakespeare ) siemens.co.uk Introduction I Work for Siemens within the Rail Automation business.
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationSubsystem Hazard Analysis (SSHA)
Subsystem Hazard Analysis (SSHA) c "!$#%! Examine subsystems to determine how their Normal performance Operational degradation Functional failure Unintended function Inadvertent function (proper function
More informationNote that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.
CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.
More informationWorking with recursion. From definition to template. Readings: HtDP, sections 11, 12, 13 (Intermezzo 2).
Working with recursion Readings: HtDP, sections 11, 12, 13 (Intermezzo 2). We can extend the idea of a self-referential definition to defining the natural numbers, which leads to the use of recursion in
More informationChapter 4 Fuzzy Logic
4.1 Introduction Chapter 4 Fuzzy Logic The human brain interprets the sensory information provided by organs. Fuzzy set theory focus on processing the information. Numerical computation can be performed
More informationStructuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C
Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C David Bühler CEA LIST, Software Safety Lab Frama-C & SPARK Day 2017 May 30th, 2017 David
More informationExpressing Environment Assumptions and Real-time Requirements for a Distributed Embedded System with Shared Variables
Expressing Environment Assumptions and Real-time Requirements for a Distributed Embedded System with Shared Variables Simon Tjell and João M. Fernandes Abstract In a distributed embedded system, it is
More informationLECTURE 18. Control Flow
LECTURE 18 Control Flow CONTROL FLOW Sequencing: the execution of statements and evaluation of expressions is usually in the order in which they appear in a program text. Selection (or alternation): a
More informationAn Open System Framework for component-based CNC Machines
An Open System Framework for component-based CNC Machines John Michaloski National Institute of Standards and Technology Sushil Birla and C. Jerry Yen General Motors Richard Igou Y12 and Oak Ridge National
More informationSCADE S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R
SCADE 1 S E M I N A R I N S O F T W A R E E N G I N E E R I N G P R E S E N T E R A V N E R B A R R What is SCADE? Introduction 2 Software Critical Application Development Environment, a Lustrebased IDE
More informationOperational Semantics 1 / 13
Operational Semantics 1 / 13 Outline What is semantics? Operational Semantics What is semantics? 2 / 13 What is the meaning of a program? Recall: aspects of a language syntax: the structure of its programs
More informationThe Design Recipe Fall 2017
CS17 Integrated Introduction to Computer Science Hughes The Design Recipe Fall 2017 Contents 1 Design Recipe Steps 1 2 An OCaml Example 6 1 Design Recipe Steps This PDF outlines the steps to writing the
More informationGrundlagen des Software Engineering Fundamentals of Software Engineering
Project Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2016 Slide 1 Organizer Prof. Dieter Rombach rombach@informatik.uni-kl.de 32-423 Malte
More informationCSC 501 Semantics of Programming Languages
CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this
More informationOMG Smart Transducer Specification (I)
1 OMG Smart Transducer Specification (I) H. Kopetz TU Wien July 2003 The Time-Triggered Architecture 2 Take Time from the Problem Domain And move it into the Solution Domain Basic Concepts 3 RT System
More information