Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications A. Letichevsky, J. Kapitonova, A. Letichevsky Jr., V. Volkov.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Information Software Systems 18 May 2007 Information Software Systems ISS Modern SW Development Practices: Processes and Technologies 18 May 2007 (c) 2007.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Language and Automata Theory
Conformance Testing of MOST based Applications Towards Effective System Testing André Baresel, Michael Schmidt - DaimlerChrysler AG Contact:
PZ03D Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ03D - Program verification Programming Language Design.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Logic Based LSC Consistency Testing Presenter: Anup Niroula.
1 INTAS Meeting, Moscow Tools for Verification of Specification Given by Basic Protocols Oleksandr Letychevskyi, Ph.D. Glushkov Institute of Cybernetics.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
© Betty HC Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Acknowledge: S.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz Cooperated with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel.
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.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Advanced Behavioral Modeling
Stepan Potiyenko Verification of Specifications in Modeling Languages using Basic Protocols.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Intrusion and Anomaly Detection in Network Traffic Streams: Checking and Machine Learning Approaches ONR MURI area: High Confidence Real-Time Misuse and.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
Verification of Information Flow Properties in Cyber-Physical Systems Ravi Akella, Bruce McMillin Department of Computer Science Missouri University of.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Fall 2010 CS4310 Requirements Engineering UML: Dynamic Modeling Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
Safety-Critical Systems 5 Testing and V&V T
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
1 Representing New Voice Services and Their Features Ken Turner University of Stirling 11th June 2003.
UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014.
By: David Harel & Eran Grey Presenter: Elizabeth Antony CISC 836.
1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.
Dynamic Models. Outline Dynamic Models Statecharts –States –Transitions –Composite states Interaction Diagrams –Sequence Diagrams The time order of interactions.
Xiaosong Lu Togashi Laboratory Department of Computer Science Shizuoka University April 1999 Specification and Verification of Hierarchical Reactive Systems.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Ukrprog Formal requirement language and its applications A.Letichevsky Glushkov Institute of Cybernetics.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
UML - Development Process 1 Software Development Process Using UML.
MICON 2000 F ormal methods for design methodology by Luigi Logrippo with D. Amyot, R. Chan, L. Charfi, N. Gorse, J.Sincennes, R. Plesa,... S CHOOL OF I.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Инсерционное моделирование А.Летичевский Семинар «Образный компьютер» 10 Мая 2011.
© 2000 D EMO D AY 2000 Page 1 Automatic Generation of Conformance Test Cases from Use Case Maps Strategic Technology Leïla Charfi, Luigi Logrippo & group.
Π-AAL: An Architecture Analysis Language for Formally Specifying and Verifying Structural and Behavioral Properties of Software Architectures Presented.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Introduction to Formal Methods
An Overview of Requirements Engineering Tools and Methodologies*
TQS - Teste e Qualidade de Software (Software Testing and Quality) Test Case Design – Model Based Testing João Pascoal.
Internet of Things A Process Calculus Approach
Formal Methods in software development
Formal Methods in software development
Presentation transcript:

Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications A. Letichevsky, J. Kapitonova, A. Letichevsky Jr., V. Volkov Glushkov Institute of Cybernetics, National Academy of Science, Kiev, Ukraine ISS Ltd S. Baranov, V. Kotlyarov Motorola, St.Petersburg, Russia T. Weigert Motorola, Schaumburg, Illinois, United States WITUL04

2 Nov 2004 WITUL Verdict MSC Using formal methods in requirement capturing Informa l reqs related to behavior Formalization Review Generating traces START Manual Automated Formal models Basic Protocols Scenarios MSC UML Formal Specs Proving annotations Checking consistency Testing scenarios MSC Verified requirements

2 Nov 2004 WITUL Requirement Specification Languages Temporal Logic linear/branching, propositional/predicate -calculus propositional/predicate Logics Process Algebras CCS, CSP, pi-calculus,… Automata Buchi, Muller, … ASM Dynamics Basic protocols Annotated scenarios Extended MSC,SDL,UML Agents and Environments (insertion programming)

2 Nov 2004 WITUL Basic Protocols SYRaSRMenu 430 Upon determining that the setup greeting prompt has been completed and if a Voice Recognition Session is active and menu level is “Main Phone Setup” then the system shall request the audio input channel and shall allow the user session silence timeout time to speak a voice command. SYRaCSTATE 701 While in the no phone call state and upon detecting that the Selected Device is set to a valid device and the Selected Device’s call status indicates a call in progress, the system shall assume it is in cip. Precondition Postcondition Process Parameters Attributes

2 Nov 2004 WITUL postcondition: (DAP d.group_list := (m,DAP d.group_list) & MS(m, idle) MS m ACG aDAP d precondition: DAP(d, paging m) & ACG(a, serving d) & (MS m.serving_acg = a) & valid m & not_empty(DAP d.page_list) postcondition: (DAP d.paging_ms := head (DAP d.page_list)) & (DAP d.page_list := tail (DAP d.page_list)) & MS (m, respond a) & DAP(d, paging(DAP d.paging_ms)) MS m ACG aDAP d precondition: MS(m, respond a) & ACG(a, serving d) Two basic protocols with MSC diagrams

2 Nov 2004 WITUL What is new? Not Hoare like triples, but * Special language of pre- and postconditions based on the model of interaction of agents and environments * The algebra of basic protocols * Applications to real life projects Using MSC is not essential. It can be UCM, wave diagr,… Important is interpretation as behaviors of transition systems.

2 Nov 2004 WITUL The logic language is based on interaction of Agents and Environments n agent environment agent environment Insertion function

2 Nov 2004 WITUL Agents Labeled or attributed (states are labeled by attribute values) transition systems with terminal and divergent states considered up to bisimilarity s' s a div term Δ a aa b a Δ a.0+a.b.(a.0+a. Δ+ Δ) Behaviors Continuous complete behavior algebra F(A) over action algebra А (vs. final coalgebra) Recursive definitions can be used to extend the signature: (x 1 :z 1,…,x n :z n )

2 Nov 2004 WITUL Environments Agent E over action set C with continuous insertion function Ins Insertion equivalence of agents: Multilevel environments:

2 Nov 2004 WITUL Agents and environments for basic protocols Environment: attributed transition system Аgents: types, ids, behaviors, state assumptions: phone(m, idle), agent attributes: phone m.f(x 1,x 2,…) Preconditions: 1-st order statements about attributes and agent states. Postconditions: the same as preconditions + assignments Scenarios: composition of basic protocols System: covers all possible scenarios

2 Nov 2004 WITUL Phone n Network phone(n,idle) phone(n, dial) offhook n dialtone n Phone m Phone n Network phone(m,dial) dial(m,n) phone(m, dial n) call setup initial call setup dialing 1 Precondition Postcondition Two basic protocols for telephone system

2 Nov 2004 WITUL call setupdialing 2 call setup failure 2 Phone m Network Phone n phone(m, dial n) & ~(valid n) phone(m, busy) busy phone(m, dial n) & valid n phone(m, ringing n) & phone(n,ringing) ring Phone m Network Phone n Two more protocols

2 Nov 2004 WITUL Phone m Network Phone n phone(m,idle) offhook dialtone dial(m,n) when valid n anno phone(m, ringing n) when ~(valid n) anno phone(m, busy) alt ring busy ПостусловиеAnnotations Guarded conditions Initial condition Annotated scenario

2 Nov 2004 WITUL environment( attributes: obj(Nil); parameters: obj(Nil); agent_types: obj( phone:obj( valid:symb, cw:symb, twc:symb, connector:bool, onhook:int, number:int ) ); axioms:Nil; reductions:(x)( equ_zero(0)=1, equ_zero(x)=0 ); instances: … agents: … initial: … ); Environment description for telephone example instances: (Phone 1, Phone 2, Phone 3, Phone 4, Network); agents: obj( p1:phone, p2:phone, p3:phone, p4:phone ); initial: env( obj( attributes: obj(Nil); agent_attributes:obj( p1:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:1), p2:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:2), p3:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:3), p4:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:4) ); numeric_restrictions: 1; logic_restrictions:Nil ), state(phone(p1,idle),phone(p2,idle), phone(p3,idle),phone(p4,idle)) )

2 Nov 2004 WITUL System defined by basic protocols For MSC diagrams it is a weak sequential composition Behavior of a system in a state with property alpha Environment transition

2 Nov 2004 WITUL Partially sequential composition Permutable Not commute Not permutable permutability

2 Nov 2004 WITUL Predicate transformers Predicate transformer: Example: postcondition: (DAP d.paging_ms := head (DAP d.page_list)) & (DAP d.page_list := tail (DAP d.page_list)) & MS (m, respond a) & DAP(d, paging(DAP d.paging_ms)) easy case What will be after? more general case

2 Nov 2004 WITUL Main verification problems  Consistency and completeness of basic protocols  Decomposition of scenarios to basic protocols  Annotation consistency of scenarios composed by basic protocols (implemented for MSC and SDL)  Reachability in the system defined by basic protocols Solved in verification environment of VRS. Integration of modeling and automatic theorem proving

2 Nov 2004 WITUL Inconsistent protocols (feature interaction between 3way Calling and Call Waiting) Protocol 3way teardown 2 Phone n Phone k Network Phone m phone(m, dial) phone(n, dial) phone(k, idle) phone(k,3way connect(m&n) ) dialtone onhook dialtone Phone k Phone m Phone n Network phone(m, idle) phone(k,connected n)& phone k.cw:=0 phone(k,connected m)& phone(n,cw_wait k) flash busy onhook Protocol cw teardown 1 phone(m,dial) & phone(n,dial)

2 Nov 2004 WITUL Phone m Phone n Phone k Network Phone z Phone m dial dialtone offhook ring offhook dialtone dial ring offhook flash offhook dialtone dial k ring flash anno phone(z,3way connect(m&k)) anno phone(k,connected z)&phone(n,cw wait k) Scenario confirming inconsistency phone(z,connected m) phone(k,connected n) phone(z,dial) pone(m, 3way wait z) phone(k,connected z) phone(n, cw wait k)

2 Nov 2004 WITUL Inconsistent state k m n z 3 way connect m&k n cw_wait k onhook z ??? phone(k,dial) phone(k,connected n)

2 Nov 2004 WITUL Piloting VRS

2 Nov 2004 WITUL Next project where VRS will be applied contains about requirements. Special technology is under development to reduce states and trace spaces. What next? More UML to logic language

2 Nov 2004 WITUL