CSI5118 W2001 Outline –Review Verification & Validation –Introduction to EFSM Models –Introduction to SDL e.g. EggTimer –Principles of Validation & Verification.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
UPPAAL Introduction Chien-Liang Chen.
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
FEATURES – Displays the job features on the screen. Additional features are available by touching the tabs. TOUCH SCREEN – displays all the available features.
The Web Warrior Guide to Web Design Technologies
Reachability analysis A reachability analysis shows the product space of the two processes and the signal queues of their input ports. Say we have an SDL.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 4 – Introducing Algorithms, Pseudocode and.
IS 1181 IS 118 Introduction to Development Tools VB Chapter 06.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Slide 1 Specification & Description Language (SDL) - Part I.
Mainly OK & ready FSMs: 1. Discuss good examples and bad examples of state names: (bad preparing 1, preparing 2, …)
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Slide 1 MSC and SDL. Slide 2 Relationship of MSC to SDL An MSC describes one or more traces of an SDL system specification. An entity in MSC may map to.
Department of CIS University of Pennsylvania 1/31/2001 Specification-based Protocol Testing Hyoung Seok Hong Oleg Sokolsky CSE 642.
Slide 1 Specification & Description Language (SDL) - Part I.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic JavaScript: Functions Part I.
Timing analysis of an SDL subset in UPPAAL Anders Hessel Institution of Information Technology Department of Computer Systems Uppsala University M.Sc.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Design Synopsys System Verilog API Donations to Accellera João Geada.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Multi-Agent Model to Multi-Process Transformation A Housing Market Case Study Gerhard Zimmermann Informatik University of Kaiserslautern.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
Chapter 4: The Selection Structure
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
1 Web-Enabled Decision Support Systems Objects and Procedures Don McLaughlin IE 423 Design of Decision Support Systems (304)
Verification & Validation Verification –from Latin veritas meaning truth. –Building the product right. Validation –from Latin Valere meaning to be worth.
JavaScript: Functions © by Pearson Education, Inc. All Rights Reserved.
1. Validating Wireless Protocol Conformance Test Cases Amresh Nandan Paresh Jain June 2004.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
1 Generating FSMs from Abstract State Machines Wolfgang Grieskamp Yuri Gurevich Wolfram Schulte Margus Veanes Foundations of Software Engineering Microsoft.
1 Modeling interactions and behavior Lecturer Dr. Mai Fadel.
Timed Test Cases Generation Based on MSC-2000 Test Purposes Abdeslam En-Nouaary and Gang Liu Department of Electrical and Computer Engineering Concordia.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Introduction to SDL Bibliography: [Doldi2001] L. Doldi, (2001), SDL Illustrated. [Edwards2001] S. Edwards, (2001), SDL,
Lecture51 Timed Automata II CS 5270 Lecture 5.
Software Construction Lecture 18 Software Testing.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Copyright SOLINET GmbH SDL & Requirements of Signalling Systems William H. Skelton SOLINET, Stuttgart.
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
SDS Foil no 1 V&V&S Verification, Validation and Synthesis: doing away with defects Verification, Validation and Synthesis: doing away with defects.
JavaScript, Fourth Edition
JavaScript Introduction.  JavaScript is a scripting language  A scripting language is a lightweight programming language  A JavaScript can be inserted.
Automatic Testing of Neighbor Discovery Protocol Based on FSM and TTCN Zhiliang Wang, Xia Yin, Haibin Wang, Jianping Wu Department of Computer Science.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
RTD Basic Training. Agenda Control PC Network Connection Setup Configure RTD –RTD License Installation –RTD Environment Configuration –Archives Basic.
FDT Foil no 1 MSC Structuring MSCs Using Message Sequence Charts for real systems.
FUNCTIONS. Midterm questions (1-10) review 1. Every line in a C program should end with a semicolon. 2. In C language lowercase letters are significant.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
FDT Foil no 1 Basic SDL Specification and Description Language Basic SDL.
An Introduction to Programming with C++ Sixth Edition Chapter 5 The Selection Structure.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
REEM ALMOTIRI Information Technology Department Majmaah University.
NETSTORM.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
Finite State Machines Dr K R Bond 2009
Project 9 Creating Pop-up Windows, Adding Scrolling Messages, and Validating Forms.
The Selection Structure
Stacks Chapter 4.
Protocol Basics.
Object Oriented System Design
Chapter 5 SDL - Data 2007, rev. 08 SEG2101 Chapter 5.
Presentation transcript:

CSI5118 W2001 Outline –Review Verification & Validation –Introduction to EFSM Models –Introduction to SDL e.g. EggTimer –Principles of Validation & Verification

EFSM Models Extended Finite State Machines –Same as FSM’s –Enhanced features on transitions no inputs (spontaneous transitions) supports variables guards (or conditions) several outputs input/output parameter support (data)

FSM Models Example (FSM) Input State x y s0 0,s1 1,s0 s1 1,s1 1,s2 s2 1,s0 0,s y/1 x/1 y/0 y/1 x/1 x/0 Tabular Form: Each table entry shows what symbol is output, and which new state is to be adopted Graph Form: The label “x/0” means that “when x is the input, 0 is the output.”

EFSM Model Fax Machine Example IR TE i/RDY d, g/DLNG, PAGE to/TIME s/ERR f/ERR i/PAGE -/TOK to/TIME s/ERR d, g, f/DLNG, ERR Notation Used Status = {I,R,T,E} I = Idle R = Ready to Transmit T = Transmitting E = Error Input events = {I,d,g,s,to,f} i = insert page d = dial destination number g = press “Go” button s = press “Stop” button to = timeout (5 seconds elapsed) f = failure of the attempted or pending action Output Responses = {TOK, TIME, PAGE, DLNG, ERR, RDY} TOK = “Transmission Ok” TIME = (Time of day) PAGE = “Transmitting page” DLNG = “Dialing” ERR = “Error” RDY = “Document Ready”

EFSM Model Fax Machine Example IR TE i/RDY d, g/DLNG, PAGE to/TIME s/ERR f/ERR i/PAGE -/TOK to/TIME s/ERR d, g, f/DLNG, ERR Or... Transition n (d,g,f/DLNG, ERR) FROM: ‘R’ WHEN: ‘d’ then ‘g’ then ‘f’ ACTIONS: ‘DLNG’ then ‘ERR’ TO: ‘E’...

EFSM Model with Variables Partial Model of a Stack EmptyNormal Full push pop push FSM EmptyNormal Full [SC>1] push (SS=1) [SC=1] push (SS=1) [SS+1=SC] push (SS=SC) [SS+1<SC] push (SS=SS+1) EFSM SC = Stack Capacity SS = Stack Size As an exercise, do the ‘pop’ interaction for this EFSM

SDL Specification and Description Language –Initially built for communicating systems –Divides the specification in Environment System(s) The Environment Border

SDL A Whole system System Block Process Procedure

Inside an SDL System Channel (and channel name) System name Signals (Messages) Declarations Signalist (set of messages) Newtype definitions

SDL System Structure Signals are shown in square brackets, separated by a comma System blocks Channel name Signallists are declared like signals, but enclosed in parenthesis Environment of the system

The EggTimer SDL Block Connection points (system channel names) Procedure declaration Process declarations General declarations (signals, types, vars) routes Signals

The EggTimer SDL Block Structure Processes At least 1 instance and at most 1 instance of this process Procedure Reference Displaying sends to the environment and receives from Timing etc...

SDL Process example State Initial state Initial transition Declarations Input Output If Procedure call Task Timer Input (or timeout)

SDL Declaration example To say your declaring something Identifier (instance name) Instance type InitializationTimer declaration Timer Identifier

SDL Transition example FROM WHEN ACTIONS SEND TO Local variable Parameters to send

SDL Tasks Incrementing or attributing a value Making a procedure call Setting the timer Set([NOW+], ) := [; <another task]

SDL Procedures (and operators) Formal Parameters Param modifier name and type Procedure Start Procedure return If first ‘seconds’ digit is 0 then go down, else go left Modifiers: IN - Parameter is an Input parameter OUT - Parameter is an Output parameter IN/OUT - Parameter is both IN and OUT

SDL Message Handling Each process has one and only one message queue sends (by default) a message to the closest receiver (if the process itself is capable of receiving such message, it will send to itself) the default sending procedure can be modified by VIA: TO: VIA TO

SDL Message Handling This process queue has four possible messages IncMinute StartTimer ResetTimer OneSecond The first three are external messages where OneSecond is an internal message, indicating when the clock has decreased one second. There could be several other messages coming from other processes or other blocks

Principles of Validation i) Design –User-centred view scenarios use-cases MSCs functional, blackbox, providing a service (or NOT), end to end –guided execution in SDL high- level design –refined design, re-run validation scenarios

Next i: Tr. Start SDL Guided execution Using the Navigator in a SDL Validator tool. Up 1 Next 1: Signal: OneMinuteBtn Next 2: Signal: StartBtn Next 2: Signal: ResetStopBtn Next 1: Tr. Start... Next 1:... Input: DisplayTime Sender: Timing:1 Parameter(s):1,0,0 By clicking on the Next, we go deriving a scenario by following the state-space tree

SDL Guided Execution (in MSC form)

Functional MSC for the previous EggTimer scenario And executing this MSC in the Validator Tool, by clicking on “Verify MSC” and selecting the proper file, we obtain (as the system has been correctly specified) 1 report 1 MSC Verification MSC ValidatorTrace verified Depth: 7

Principles of Validation ii) Test functional user interface tests in TTCN S1 S2S3 ca b a b + Test Name Event a Event b pass Tree and Tabular Combined Notation TTCN standard for formal test case descriptions Facilitate sharing of tests Eliminates Ambiguities UNIX-based TTCN Workbench toolkit TTCN used for X.25, ISDN, CCS7, and many other protocols All PDU parameters specified All tests are formally assigned verdicts

Principles of Validation ii) Test (cont’d) basic syntax & semantics of TTCN –TREE and TABLE Combined Notation Test Case Dynamic Behaviour Test Case Name: Group: Purpose: Default: Behavior Constr. Ver Label Description Reference dict Remarks A!X A?Y A!J A?K Pass A?Z Fail Wrong Resp. A?Otherwise Inc. Test body not reached Extended Comments:

Principles of Verification i) Design –State-space search Process Chart Transition Chart State Space -transitions reduced state space

Principles of Verification i) Design (cont’d) –Possible outcomes Unspecified reception queue overflow deadlock infinite livelock (no real progress) –Random walk

Principles of Verification ii) Test –Conformance Testing (TTCN) preamble test step verification sequence postamble

Principles of Verification Structure of a Transition Test Case for Conformance Testing PREAMBLE: Initialization to Preamble State TEST BODY: Application of Test Stimulus and Confirmation of System Response VERIFICATION: Confirmation of Post-Transition State POSTAMBLE: Reset to Stable State for Next Test

Principles of Verification Represent S1S3S4 a/X b/Y As a sequence of user actions and system responses, starting in state 1 and finishing in state 4. In TTCN +Preamble(S1) !a ?X !b ?Y +Verify(S4) PASS * FAIL * Inconclusive