27.08.2007 Stepan Potiyenko Verification of Specifications in Modeling Languages using Basic Protocols.

Slides:



Advertisements
Similar presentations
INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Advertisements

Modeling Main issues: What do we want to build How do we write this down.
Tool support for Distributed Object Technology
Hardware Description Language (HDL)
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.
CSI5118 W2001 Outline –Review Verification & Validation –Introduction to EFSM Models –Introduction to SDL e.g. EggTimer –Principles of Validation & Verification.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Introduction To System Analysis and Design
Slide 1 Specification & Description Language (SDL) - Part I.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623 November 30, 2004.
© Copyright Eliyahu Brutman Programming Techniques Course.
Systems Analysis and Design in a Changing World, 6th Edition
F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts.
Timing analysis of an SDL subset in UPPAAL Anders Hessel Institution of Information Technology Department of Computer Systems Uppsala University M.Sc.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Unified Modeling Language(UML) BY
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Behavioral Models Rafael Oliveira Ricson Santana Vinícius Remigo Jacques Robin.
CIS Computer Programming Logic
程建群 博士(Dr. Jason Cheng) 年03月
Verification & Validation Verification –from Latin veritas meaning truth. –Building the product right. Validation –from Latin Valere meaning to be worth.
Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.
Systems Analysis and Design in a Changing World, 6th Edition
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Conceptual Modelling – Behaviour
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Procedures for managing workflow components Workflow components: A workflow can usually be described using formal or informal flow diagramming techniques,
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Lab 5 CPIT 250 System Analysis and Design.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Ukrprog Formal requirement language and its applications A.Letichevsky Glushkov Institute of Cybernetics.
Introduction to UML Todd Bacastow Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage.
UML Activity Diagrams.
Chapter 3: Introducing the UML
Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
55:032 - Intro. to Digital DesignPage 1 VHDL and Processes Defining Sequential Circuit Behavior.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
FDT Foil no 1 Basic SDL Specification and Description Language Basic SDL.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Cliquez pour modifier le style du titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième.
Analysis Classes Unit 5.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
Systems Analysis and Design in a Changing World, 6th Edition
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Chapter 11: Collaboration Diagram - PART1
Unified Modeling Language
Activity and State Transition Diagram
Chapter 2 : Data Flow Diagram
Dynamic Modeling: Defining Classes
Behavioral Models for Software Development
Submission Title: [Add name of submission]
Systems Analysis and Design in a Changing World, 6th Edition
CS310 Software Engineering Dr.Doaa Sami
An introduction to UML 2 for modelling communications
Software Design Lecture : 15.
The OOA OBJECT DICTIONARY
Presentation transcript:

Stepan Potiyenko Verification of Specifications in Modeling Languages using Basic Protocols

Technology overview Basic Protocols (Hoare triples) Specialized verification tools (static checking, model checking, …) manual formalization Requirements Specifications English text Formal Model MSC, SDL, UML,... automatic translation

Agents and Environment Environment with attributes a b x Agent states local attributes behavior

Basic Protocols Basic Protocol is a triple where: x is a list of parameters,  – is a precondition, u – process (action),  – post condition Forall ms;

MSC usage

MSC diagram alt loop i=0,i<N opt Basic protocols

alt loop i=0,i<N opt MSC diagram Basic protocols

alt loop i=0,i<N opt MSC diagram Basic protocols

alt loop i=0,i<N opt MSC diagram Basic protocols

Basic Protocols for the MSC diagram MSC usage

SDL usage

SDL in terms of BP System specification – ENVIRONMENT Process, functional system component - AGENT Signals, timers – EVENTS SDL usage

system block 1 envenv I I ronmen ronmen t tenvenv I I ronmen ronmen t t I t block 2 block 3 process 2 process 3 process 1 process 4 process 5 Example of structure description of SDL model Structure linearization system process 1 (block 1) process 2 (block 1,2) process 4 (block 3) process 3 (block 1,2) process 5 (block 3) e n v i r o n m e n t Linearized structure SDL usage

p_1: state s1; input i; p_1_s_1: task x:=x+y; p_1_s_2: task call prc(x); p_1_s_3: nextstate s2; p_1: state s2... Control flow label is agent state expression state s1; input i; task x:=x+y; task call prc(x); nextstate s2; state s2... s1 i x := x+y; call prc(x); s2 SDL usage Control flow labeling

task x:=x+y; p_1_s_2: task call prc(x); p_1_s_3: nextstate s2; States processing ProcP(p, p_1 ); (ProcP p.state = s1) & get_head(p.queue) = i ProcP(p, p_1_s_1 ); last_signal := i; SENDER := sender(i); remove_head(p.queue) ProcP#p p_1: state s1; input i; p_1_s_1: p_1: state s2; ProcP(p, p_1); (ProcP p.state = s2) &... SDL usage

SDL usage Input and save processing state s1; save k; input i;... input j;... s1 ij k ProcP(p, p_1 ); (ProcP p.state = s1) & get_head(p.queue) = k ProcP(p, p_1 ); add_tail(p.saved, k); remove_head(p.queue) ProcP#p ProcP(p, p_1 ); (ProcP p.state = s1) & ~(get_head(p.queue) = i) & ~( … = j) & ~( … = k) ProcP(p, p_1_s_1 ); remove_head(p.queue) ProcP#p ProcP(p, p_1 ); (ProcP p.state = s1) & get_head(p.queue) = i ProcP(p, p_1_s_1 ); last_signal := i; SENDER := sender(i); remove_head(p.queue); copy_head(p.queue, p.saved); ProcP#p

decision x; (1): task t1:=1; (<0): output sig; enddecision;... Decision processing (labeling) t1 := 1; x sig 1<0 p_1_d_1: decision x; (x=1):(task t1:=1; join p_1_d_2); (x<0): (output sig; join p_1_d_2); enddecision; p_1_d_2:... SDL usage

Decision processing (BP) p_1_d_1: decision x; (x=1):(task t1:=1; join p_1_d_2 ); (x<0): (output sig; join p_1_d_2 ); enddecision; p_1_d_2:... ProcP(p, p_1_d_2 ); t1 := 1 ProcP(p, p_1_d_1 ); (x = 1) ProcP#p ProcP(p, p_1_d_2 ); add_tail(T1 P1.queue, sig) ProcP(p, p_1_d_1 ); (x < 0) ProcP#p SDL usage

PROCEDURE fun_name FPAR loc_v; Local variables declaration start: desicion (loc_v) (1): task u:=1; (<0): task u:=0; enddecision; return; ENDPROCEDURE; task t1:=1; p_7: task call fun_name(t1); p_8: Procedure calls processing SDL usage ProcP(p, fun_name ); add_head(return_seq, p_8); loc_v := t1 ProcP(p, p_7 ) ProcP#p ProcP(p, head(return_seq)) ProcP(p, return ) ProcP#p ProcP(p, return ); [ret values]; [flush loc vars] return_seq: (ret_control_flow, …, Nil) return_val: (values_set, …, Nil) stack

UML usage

Diagram types and perspectives Sequence diagrams – analogously to MSC. Architecture diagrams, state chart diagrams – analogously to SDL system with blocks, processes and state transitions. Packages and classes structure is linearized (multiplicity, generalization). UML usage

Plans It would be great completely to specify subset of UML notations that are translated to BPSL. The problem of N instances should be resolved.