Software Architecture-based Testing and Model-checking - ECI 2005, University of Buenos Aires - Course Web-site: [

Size: px
Start display at page:

Download "Software Architecture-based Testing and Model-checking - ECI 2005, University of Buenos Aires - Course Web-site: ["

Transcription

1 Software Architecture-based Testing and Model-checking - ECI 2005, University of Buenos Aires - Course Web-site: [ Lecture 5: Model-Checking driven Testing Lecturer: Henry Muccini Assistant Professor, Computer Science Department University of L'Aquila -Italy muccini@di.univaq.it [ [ Copyright Notice» The material in these slidesmaybe freelyreproduced and distributed, partiallyor totally, asfar asan explicit reference or acknowledge to the material author ispreserved. Henry Muccini 2 Acknowledgment» This work is joined with Patrizio Pelliccione (University of L Aquila), Pierluigi Pierini (Siemens CNX), and Antonio Bucchiarone (ISTI CNR)» Published in ITM 2004, Lecture Notes in Computer Science, LNCS, vol. 3236, pp (2004). 3 1

2 Agenda» Introduction and Motivations: - ModTestand TeStor» ModTestin Siemens C.N.X.» Challengesand Future Work 4 Considerations» Different Analysis require different notations - testing, model-checking, performance and reliability analysis require specificformalisms and annotations on UML-basedmodels [UML&SA04] - There is a hugerelationship between whatwespecify and whatkind of analysis wemayperform > Modeling for documentingvs. Modelingfor analysis But 5 Considerations» different Analysis techniques are usually related - supposing an industry is interested in deadlockanalysis and performance analysis, a complete result is obtained only using two different ADLs.» Modelingis really expensive - we want to reuse the same model for manyanalysis techniques 6 2

3 Integrating Analysis Techniques validate the SA model conformance with respect to selected functional properties Charmy Project [ provide confidence on the implementation fulfillment to its architectural spec SA-based Testing 7 ModTest: Model-Checking driven Testing [ITM04, CBSE05,TR_March05] 8 Software Model Checking and Software Testing» Model Checking: - It checks whether a certain property is valid for a certain model of a system [Ruys_PhDThesis] > Model checking is a model-based, automatic technique that, given a finite-state model M of a system and a property P, checks the validity of P in M» Testing: - Software testing consists of the dynamicverificationof the behavior of a program on a finite set of test cases, suitably selectedfrom the usuallyinfinite executionsdomain, against the specified expected behavior [Bertolino_SWEBOK] 9 3

4 Advantages Model Checking exhaustive approachto completelycheckthe system -completely automated skills on formalmethods state explosion problem onlymodel-based Testing clever selection of limited and relevant test cases -usuallyleft to the tester experience skillson formalmethods generally not required test case identification problem code-based, model-based, specification-based 10 Goals and Motivations > 1/2» General Goal: - integration of model-checking and testing to provideanuseful tool totest moderncomplex software systems» In related approaches: - By using model-checking features, counter-examples are produced, successively used to derive test cases - Main Limitations: > P1 : due to models complexity, the model checker techniques become inapplicable, thus not allowing to identify test cases; > P2 : even on little examples, the number of generated test cases causes the intractability 11 Goals and Motivations > 2/2» OurGoal: To apply Model-checking and Testing in a Software Architecture-based (SA) process, where: > Model-checking techniquesare used to validatethe SA model conformance withrespecttoselected functional properties + avoiding state explosion problem 12 > while testing techniquesare used to provide confidence on the implementation fulfillmenttoits architectural specification +Test case selection driven by model-checking 4

5 Our Proposal validate the SA model conformance with respect to selected functional properties Charmy 13 provide confidence on the implementation fulfillment to its architectural spec SA-based Testing SA-based model-checking Charmy Project [ FMS Model of the SA» Model-checking: validate the SA model conformance to selected functional properties Property expressedthrough scenarios 14 > It checks whether a certain property is valid for a certain FSM model of a system [Ruys_PhDThesis] Charmy: Informally Requirements Software Architecture Translate them into Buchi Automata Property M.C. 15 Translate them into Promela SPIN True or False 5

6 SA-based Testing SA-based Testing [ICSE01, FASE04,TSE04]» Goal: - Provide confidence on the implementation fulfillment to its architectural specification 16 SA-based Testing in ModTest 17 Question» Howcan we integrate both techniques? - Rephrasing: howcan weusemodel-checkingresultsforgeneratingtest specifications?» Usually: - Byfocussingon model-checkingdriventesting, counter-examples are produced and successively used to derive test cases» Our idea: - To usethe properties to derive test specifications, by recovering missing information from state machines 18 > In this way, the SA is validated withrespect to requirements and the implementationconformance to the SA is tested - SA-based analysis process 6

7 The TeStor Algorithm» TeStor: - Inputs: > sequence diagram (insd) representing properties - test generation directives > components behavioral models (in terms of components' state machines), - Outputs: - the model of the software under test > a set of test specifications, still in the form of sequence diagrams (outsd) 19 TeStor objective Test directives Model of the system Test specification m9 m3 20 m8 m1 TeStor objective Test directives Model of the system Test specification m9 m3 21 m8 m1 7

8 How TeStor can achieve this goal» HowTeStor could work: - Parallelcomposition of the state-machines models, and their traversal (likemodel-checkers), or - Challenge: to avoid parallelcomposition > To limit state explosionproblems 22 The Algorithm» The TeStor algorithm can be split into two macro-steps: - State machines(sm) Linearization > Decomposes SM in a set of linear traces - Test SequenceGeneration 23 > Looks at eachlinearized trace in order to identify the sup-trace of the insd. > This macro-step is composed by a Validation part, whichchecks when and how sup-traces need to be combined to produce the outsd. > The Merge algorithm glues together the validated traces Linearization» Startingfrom the initialstate in the components state diagrams; - It createsa trace at anytime a state witha branchisreachedor an alreadyvisitedstate isreached» The algorithm is iterated, startingfrom the previously reached state, untilunvisited statesstillexist. m8 m1 m7 S3 S4 S5 S0 m8 S0 S0 S5 S1 S4 S3 S2 24 m9 S3 S3 m9 m3 m10 S0 S1 S2 S3 8

9 From State Machines to Traces 25 Test Sequence Generation» Startingfrom the tracesgenerated from each component state machine -Foreach message mi in the insd, TeStor identifies those traces which contain it Property > Validate algorithm C2 s i.s. = S0 C3 s i.s. = S0 C3 C2 C1 C4 m9 m3 m10 m8 m1 m7 SEA e) Property Group to be verified S0 m9> S1 S0 m9> S0 26 S0 --m9-> S1 --m3->s2 --m10->s3 --m9->s3 Test Sequence Generation» Startingfrom the tracesgenerated from each component state machine -Foreach message mi in the insd, TeStor identifies those traces which contain it Property > Validate algorithm > Merge algoritm C3 C2 C1 C4 m9 m3 m10 m8 m1 m7 SEA e) Property Group to be verified 27 9

10 Supporting Tools The TeStor algorithm hasbeen implemented hasa plug-in component forcharmy, ourvalidation frameworkfor architecturalanalysis. 28 ModTest: Model-Checking driven Testing Model of the system Test directives validate the SA model conformance with respect to selected functional properties Charmy [ TeStor 29 provide confidence on the implementation fulfillment to its architectural spec SA-based Testing ModTest in Siemens C.N.X

11 Siemens CNX : main research areas» SiemensCNX S.p.a.is a Siemens R&Dlab; its mission is the design and developmentof SDH (1) TLC equipments» relevantresearchareas: - Formal design methodologies - System and software performance analysis - Test design methodologies - Intelligentagent application - Network Processors - Ethernetfirst mile - Opticsand cristal properties - Electromagneticcompatibility 31 1) SDH Synchronous DigitalHierarchy Test Design Methodology > objective»improvethe tetsdesign process System Requirements System Requirements System Architecture Design feedbacks System Tests Design System Architecture Design Review NOK NOK Review Model Check NOK OK OK OK Implementation Modification Test Implelemtation Equipment Develop Requests Design Test Generation Engine Implementation/ Equipment Develop NOK OK Test Exec Test Exec OK NOK 32 System Release a System Release b 33 Case Study > some definitions» A SDH Network Element (NE, i.e. equipment) is modeled using the functional model standardized by ETSI and ITU-T.» The functional model is built around two specific concepts: - network layering", with a client/server relationship between adjacent layers; - atomic functions (connection, termination and adaptation), to specify the behavior of each layer.» applicative functions should reside on top of a layer providing specific processing on transmitted information» A virtual network connection can be established between mate network layers (or atomic/applicative functions) belonging to different NEsby means of transport services offered by the underlying layers 11

12 ?call Case Study > some definitions 34 Case Study > EOW architecture» The EOW supports a telephone link between NEsusing dedicated voice channels defined on the SDH frame (i.e. the EOW SubNetwork [eowsn]); HS HS EOW Node CM eowsn» An EOW node consists of: CM - A handset (HS) that manage the physical phone device; HS CM 35 - a conference manager (CM) that control the handset connection to the EOW subnetwork; Case Study > EOW components localnumsign1 CM1 callrequest HS1 call1 eowkeydigit localnumsign2 call CM2 Request e HS2 call2 o eowkeydigit w S N localnumsign3 call CM3 Request HS3 call3 eowkeydigit S4 Handset (HS) timeout Congestion Busy of fh o o k config onhook offhook Init Config Idle Check [digit==0]/!call timeout onhook Ringing o nh oo k onhook timeou t Dialing [(digit==x)&&(number!=1)]/!callrequest(digit,number)?callrequest(digit,number) S1? lo c a ln u m S ig n /c b u s y = f a ls e!callrequest(digit,number) [cbusy==true] offhook [(d ig it= = x ) & & (n u m b e r! = 1 ) ] /!c a ll/c b u s y = tru e onhook [cbusy==false]!loca ln um S ig n?call?call eowkeydigit(digit,num ber)!loc alnumsign InConference S2?eowKeyDigit(digit,number) S1 S2!callRequest(digit,number) S3 eowsubnetwork Conference Manager (CM) 36 12

13 Case Study > Functional Requirements» EOW FunctionalRequirements/Properties: A) when an operator makes a call dialling a selective number, the target operator must receive the call. B) it must be possible to entera busy conference (with the special number-sign key) when a call isalreadyin progress. 37 C) It must be alwayspossible to exit to the conference (cleanlyterminate a call). Case Study > Functional Requirements 38 Case Study Results Interactivesimulation& Test generation» Simulation withoutconstraintwillresultin an intractablenumberof traces;» Simulation conditionedby the given properties;» Up to 36 test traces was extracted; - Most of themare eligible tobecometest cases;» Test selection focuson some optimization criteria like: - Maximization of system coverage, - Minimization of globalnumber of tests 39 - Minimization of test lenght(i.e. number of steps) 13

14 Some Considerations Advantages:» Model complexity and the state explosion reduction obtainedby: SAlevelmodel chekcing, iterative approach and abstraction ;» Charmy easy touse, practical, approach tomodel-checking, hiding the modeling complexity;» interactivesimulation wemay identify traces of interest fortesting the wholesystem or just a relevantsubsystem.» test specifications are identified from the architectural model (not from requirements) - Easiest alignment between SA and Test specifications; 40 - Easiest control of the design steps and evolution Some Considerations Limitations:» The Test Generator Engine can be automated; its implementation is in progress.» The executable tests implementation from the generated test specifications isnot automated yet. Weapproach this point with the aim to automate also thisstep.» Modelsdimension and complexitystillremain an issue, even if the iterative approach reducesthe state explosion problem. 41 Challenges 42 14

15 Challenge: SA-centric Analysis Process 43 Charmy and TeStor [TR_March05] 44 QuARS, ModTest, CowTest and UIT [QoSA05] 45 15

16 Future Work 46 Lessons Learned» From this experience we learned integration is possible: - Analysisintegration: ModTest > Future work will integrate other analysis techniques» But we also need: - Notation extension: It is possible to extendthe same UMLbased notation - Tool extension: wecan adda plugin implementingthe new analysis technique 47 Dually: Putting in Synergy UML 2.0 and ADLs» A frameworkwhich i) identifies a core set of architectural elements always required (A0), ii) creates an UML profile for A0, iii) provides extensibility mechanisms to add modeling concepts needed for specific analysis. iv) describes how semantic links mechanisms can be kept between different notations. 48 It is impossible to identify a unique 2005 language by H. Muccini for / representing ECI 2005 Course SAs Different Analysis require different notations 16

17 Notation Extension: General Idea Model Transformation = + = = = 49 Notation Extension: DUALLY [TR_May05] Identify a core set of architectural elements always required Create an UML profile able to model the core architectural elements previously identified 50 Describe how semantic links mechanisms can be kept between different notations Provide extensibility mechanisms to add modeling concepts needed for specific analysis The roles of ADL, UML and XML ADL xarch & ACME ADLs Experience UML DUALLY Profile for A 0 DUALLY modeling extensions XML xarch DUALLY XML XML extensions 51 17

18 Tool Extension: Charmy Studio 52 Wish List: Tool one: integration of analysis techniques» Integration of manyanalysis techniques UML/SA profile for Model- Checking UML/SA UML/SA profile profile for for Performance Testing Input filters Other 53» Integration of manyumlbased notations» Integration of different analysistools DUALLY standard editing and analysis tools Testing Performance feedback notation feedback notation feedback Model- Performance Checking tool Testing tool tool Modelchecking notation DUALLY Profile for A 0 Modeling extensions DUALLY XML Semantic Relations XML extensions Plugged into DUALLY Editing tools Analysis tools Other 18

Model-Checking plus Testing: from Software Architecture Analysis to Code Testing

Model-Checking plus Testing: from Software Architecture Analysis to Code Testing Model-Checking plus Testing: from Software Architecture Analysis to Code Testing A. Bucchiarone 1, H. Muccini 2, P. Pelliccione 2, and P. Pierini 1 1 Siemens C.N.X. S.p.A., R. & D. Strada Statale 17, L

More information

Charmy: A Plugin-based Tool for Architectural Analysis

Charmy: A Plugin-based Tool for Architectural Analysis Charmy: A Plugin-based Tool for Architectural Analysis H. Muccini, P. Pelliccione, and M. Stoduto Dipartimento di Informatica, Universitá dell Aquila, Via Vetoio 1, 67100 L Aquila, Italy [muccini,pellicci]@di.univaq.it

More information

Ingegneria del Software II academic year: Course Web-site: [

Ingegneria del Software II academic year: Course Web-site: [ Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] USING MODEL-CHECKING TECHNIQUES FOR ARCHITECTURE ANALYSIS AND FORMAL PROTOTYPING Lecturer: Henry

More information

A Practical Architecture-Centric Analysis Process

A Practical Architecture-Centric Analysis Process A Practical Architecture-Centric Analysis Process Antonio Bucchiarone 1,3, Henry Muccini 2, and Patrizio Pelliccione 2 1 Istituto di Scienza e Tecnologie dell Informazione A. Faedo (ISTI-CNR) Area della

More information

Integrating AADL within a multi-domain modeling framework

Integrating AADL within a multi-domain modeling framework Integrating AADL within a multi-domain modeling framework Ivano Malavolta, Henry Muccini, Patrizio Pelliccione Computer Science Department University of L'Aquila - Italy Roadmap» Background» Main goal»

More information

Lecture 13: The SXA Telecommunication System Software Architecture [TR 06/01]

Lecture 13: The SXA Telecommunication System Software Architecture [TR 06/01] Course: Analysis and Testing of Component-based Systems and Architectures academic year: 2006-2007 Course Web-site: [www.di.univaq.it/muccini/a&t/2007/] Lecture 13: The SXA Telecommunication System Software

More information

Architecting Fault-tolerant Component-based Systems: from requirements to testing

Architecting Fault-tolerant Component-based Systems: from requirements to testing Electronic Notes in Theoretical Computer Science 168 (2007) 77 90 www.elsevier.com/locate/entcs Architecting Fault-tolerant Component-based Systems: from requirements to testing Antonio Bucchiarone 1 Istituto

More information

AST initiative 3 AST principles and goals 4 Model problems 11

AST initiative 3 AST principles and goals 4 Model problems 11 Università degli Studi dell Aquila Henry Muccini Dipartimento di Informatica www.henrymuccini.com University of L Aquila - Italy henry.muccini@di.univaq.it AST 2011, 6th IEEE/ACM ICSE workshop on Automation

More information

L04. Model-based Testing: Principles Henry Muccini. Dipartimento di Informatica, Universityof L Aquila

L04. Model-based Testing: Principles Henry Muccini. Dipartimento di Informatica, Universityof L Aquila Università degli Studi dell Aquila L04. Model-based Testing: Principles Henry Muccini Dipartimento di Informatica, Universityof L Aquila henry.muccini@univaq.it Copyright Notice The material in these slides

More information

Interacting Process Classes

Interacting Process Classes The problem addressed Interacting Process Classes Abhik Roychoudhury National University of Singapore Joint work with Ankit Goel and P.S. Thiagarajan Visit to UNU-IIST May 29/30 2006 Reactive systems with

More information

Promela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN

Promela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN Promela and SPIN Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH Promela and SPIN Promela (Protocol Meta Language): Language for modelling discrete, event-driven

More information

Automated model-based test generation and execution

Automated model-based test generation and execution Automated model-based test generation and execution December 2002 Alan Hartman Agenda Project Overview Motivation Methodology Tools Experiments Current Status Project Overview Automated model-based test

More information

An Eclipse Plug-in for Model Checking

An Eclipse Plug-in for Model Checking An Eclipse Plug-in for Model Checking Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala Electrical Engineering and Computer Sciences University of California, Berkeley, USA Rupak Majumdar Computer Science

More information

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER TELECOM AVIONIC SPACE AUTOMOTIVE SEMICONDUCTOR IOT MEDICAL SPECIFIER DEVELOPER FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. TESTER PragmaDev Studio is a

More information

A Model-Based Development Method for Device Drivers

A Model-Based Development Method for Device Drivers A Model-Based Development Method for Device Drivers Michael Kersten Siemens AG Otto-Hahn-Ring 6 D-81739 München Ulrich Margull 1 mal 1 Software GmbH Maxstr. 31 D-90762 Fürth Nikolaus Regnat Siemens AG

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

LECTURE 26 PRIM S ALGORITHM

LECTURE 26 PRIM S ALGORITHM DATA STRUCTURES AND ALGORITHMS LECTURE 26 IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD STRATEGY Suppose we take a vertex Given a single vertex v 1, it forms a minimum spanning tree on one

More information

DUALLY: Putting in Synergy UML 2.0 and ADLs

DUALLY: Putting in Synergy UML 2.0 and ADLs : Putting in Synergy UML 2.0 and ADLs H. Muccini, P. Inverardi Dipartimento di Informatica University of L Aquila Via Vetoio, 1 - L Aquila, Italy muccini, inverard@di.univaq.it P. Pelliccione Software

More information

Java PathFinder JPF 2 Second Generation of Java Model Checker

Java PathFinder JPF 2 Second Generation of Java Model Checker Java PathFinder JPF 2 Second Generation of Java Model Checker Guenther Brand Mat. Nr. 9430535 27. 06. 2003 Abstract This essay is based on the papers Java PathFinder, Second Generation of Java Model Checker

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

From Test Legacy to Model- Based Testing How to refactor an existing test repository into an MBT model?

From Test Legacy to Model- Based Testing How to refactor an existing test repository into an MBT model? From Test Legacy to Model- Based Testing How to refactor an existing test repository into an MBT model? UCAAT 2014 September 16/18 - Munich Arnaud Bouzy Bruno Legeard {arnaud.bouzy, bruno.legeard}@smartesting.com

More information

Lecture 3 SPIN and Promela

Lecture 3 SPIN and Promela Lecture 3 SPIN and Promela 1 What is SPIN(Simple Promela INterpreter) A tool for analyzing mels of concurrent systems Mels described in Promela Language with concurrent processes Communication via shared

More information

Model Driven Architecture based Testing Tool based on Architecture Views

Model Driven Architecture based Testing Tool based on Architecture Views Model Driven Architecture based Testing Tool based on Architecture Views Burak Uzun and Bedir Tekinerdogan Information Technology Group, Wageningen University, Wageningen, The Netherlands Keywords: Abstract:

More information

Specification and Generation of Environment for Model Checking of Software Components *

Specification and Generation of Environment for Model Checking of Software Components * Specification and Generation of Environment for Model Checking of Software Components * Pavel Parizek 1, Frantisek Plasil 1,2 1 Charles University, Faculty of Mathematics and Physics, Department of Software

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active

More information

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Introduction to Promela Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification and Verification:

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Foundations Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are copyrighted

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt & Richard Bubel & Reiner Hähnle & Wojciech Mostowski 31 August 2011 SEFM: Promela /GU 110831 1 / 35 Towards Model Checking

More information

Checking consistency between architectural models using SPIN

Checking consistency between architectural models using SPIN ing consistency between architectural models using SPIN Paola Inverardi & Henry Muccini & Patrizio Pelliccione Dipartimento di Matematica Universitá dell Aquila - Via Vetoio, 1 67100 L Aquila, Italy finverard,

More information

Specification and Analysis of Contracts Tutorial

Specification and Analysis of Contracts Tutorial Specification and Analysis of Contracts Tutorial Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo Gerardo Schneider (UiO) Specification and

More information

Automated Test Design with TTCN-3

Automated Test Design with TTCN-3 Automated Test Design with TTCN-3 TTCN-3 User Conference Beijing, June 8th 2010 Conformiq Tutorial Copyright Conformiq Inc. and its subsidiaries. All rights reserved. Tuesday, May 11, 2010 1 Conformiq,

More information

Seminar Software Quality and Safety

Seminar Software Quality and Safety Seminar Software Quality and Safety SCADE a model-driven Software Development Environment by Dominik Protte Software Engineering Group Universität Paderborn Motivation Many safety-critical components in

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Applications of Formal Verification

Applications of Formal Verification Applications of Formal Verification Model Checking: Introduction to PROMELA Bernhard Beckert Mattias Ulbrich SS 2017 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg

More information

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen INF672 Protocol Safety and Verication Karthik Bhargavan Xavier Rival Thomas Clausen 1 Course Outline Lecture 1 [Today, Sep 15] Introduction, Motivating Examples Lectures 2-4 [Sep 22,29, Oct 6] Network

More information

Automated Check of Architectural Models Consistency using SPIN

Automated Check of Architectural Models Consistency using SPIN Automated Check of Architectural Models Consistency using SPIN Paola Inverardi, Henry Muccini & Patrizio Pelliccione Dipartimento di Informatica Universitá dell Aquila - Via Vetoio, 1 67100 L Aquila, Italy

More information

Part I: Preliminaries 24

Part 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 information

Model Checking DSL-Generated C Source Code

Model Checking DSL-Generated C Source Code Model Checking DSL-Generated C Source Code Martin Sulzmann and Axel Zechner Informatik Consulting Systems AG, Germany {martin.sulzmann,axel.zechner}@ics-ag.de Abstract. We report on the application of

More information

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271 Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing

More information

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability

More information

User Programmable Features

User Programmable Features User Programmable Features Description User Programmable End-User Features allow users to set up their telephones to meet their own unique requirements. User Programmable Maintenance Features let on-site

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

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

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

State Machine Diagrams

State Machine Diagrams State Machine Diagrams Introduction A state machine diagram, models the dynamic aspects of the system by showing the flow of control from state to state for a particular class. 2 Introduction Whereas an

More information

Call Back supports Suspend/Resume CallBack notification for both intracluster and intercluster QSIG

Call Back supports Suspend/Resume CallBack notification for both intracluster and intercluster QSIG Overview, page 1 Prerequisites, page 1 Configuration Task Flow, page 2 Interactions and Restrictions, page 8 Troubleshooting, page 9 Overview The CallBack feature allows you to receive notification when

More information

Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA

Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA Agenda Background Motivation Remote Memory Request Shared Address Synchronization Remote

More information

5.2 Reo2MC: description and implementation

5.2 Reo2MC: description and implementation Chapter 5 Tool implementation 5.1 Introduction The growing complexity and importance of coordination models in software applications necessarily lead to a higher relevance of performance issues for coordinators

More information

Subject Software Testing Structural Testing

Subject Software Testing Structural Testing Subject Software Testing Structural Testing Objective: 1. Understand Concept of structural testing 2. How structural (code-based or glass-box) testing complements functional (black-box) testing 3. Recognize

More information

Offline Model-based Testing and Runtime Monitoring

Offline Model-based Testing and Runtime Monitoring Offline Model-based Testing and Runtime Monitoring of the Sensor Voting Module Paolo Arcaini Angelo Gargantini Elvinia Riccobene Università of Bergamo- Italy Università di Milano - Italy Tolouse, ABZ 2014

More information

What is SPIN(Simple Promela Interpreter) Elements of Promela. Material About SPIN. Basic Variables and Types. Typical Structure of Promela Model

What is SPIN(Simple Promela Interpreter) Elements of Promela. Material About SPIN. Basic Variables and Types. Typical Structure of Promela Model What is SPIN(Simple Promela Interpreter) Lecture XX SPIN and Promela A tool for analyzing mels of reactive systems Mels described in Promela Language with concurrent processes, Communication via channels,

More information

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643 Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu enn.ounapuu@ttu.ee ICT-643 Agenda for BPMN BPM reference model BPMN basic elements Modelling methodology BPMN diagramming style

More information

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL Emil Vassev 1, Mike Hinchey 2, Aaron Quigley 1 1 Lero The Irish Software Engineering Research Centre, University College Dublin, Ireland

More information

Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies

Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, Damien A. Tamburri Technical Report TRCS 001/2009

More information

Test Automation. 20 December 2017

Test Automation. 20 December 2017 Test Automation 20 December 2017 The problem of test automation Testing has repetitive components, so automation is justified The problem is cost-benefit evaluation of automation [Kaner] Time for: test

More information

ETSI ETR 269 TECHNICAL April 1996 REPORT

ETSI ETR 269 TECHNICAL April 1996 REPORT ETSI ETR 269 TECHNICAL April 1996 REPORT Source: ETSI TC-TM Reference: DTR/TM-02212 ICS: 33.040.20 Key words: transmission, network, information model Transmission and Multiplexing (TM); Network level

More information

ETSI ETR 346 TECHNICAL December 1996 REPORT

ETSI ETR 346 TECHNICAL December 1996 REPORT ETSI ETR 346 TECHNICAL December 1996 REPORT Source: ETSI TC-RES Reference: DTR/RES-06013-1 ICS: 33.020 Key words: Testing, TTCN, abstract test suite, validation Radio Equipment and Systems (RES); Trans-European

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

Applications of Formal Verification

Applications 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 information

Modelling and verification of BPEL business processes

Modelling and verification of BPEL business processes Modelling and verification of BPEL business processes Marina Mongiello Dipartimento di Elettronica ed Elettrotecnica Politecnico di Bari, Italy mongiello@poliba.it Daniela Castelluccia Dipartimento di

More information

Applications of Formal Verification

Applications 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 information

Towards flexible and efficient model-based testing, utilizing domain-specific modelling

Towards flexible and efficient model-based testing, utilizing domain-specific modelling Towards flexible and efficient model-based testing, utilizing domain-specific modelling Olli-Pekka Puolitaival VTT Technical Research Centre of Finland P.O. Box 1100 90571 Oulu, Finland olli-pekka.puolitaival@vtt.fi

More information

Converging towards Service Centric Networks: Requirements for a Service Delivery Platform Framework

Converging towards Service Centric Networks: Requirements for a Service Delivery Platform Framework Converging towards Centric Networks: Requirements for a Delivery Platform Framework Rolan Christian and Hu Hanrahan Centre for Telecommunications Access and s 1 School of Electrical and Information Engineering

More information

The Spin Model Checker : Part I/II

The Spin Model Checker : Part I/II The Spin Model Checker : Part I/II Moonzoo Kim CS Dept. KAIST Korea Advanced Institute of Science and Technology Motivation: Tragic Accidents Caused by SW Bugs 2 Cost of Software Errors June 2002 Software

More information

What is SPIN(Simple Promela Interpreter) Material About SPIN. Elements of Promela. Basic Variables and Types. Typical Structure of Promela Model

What is SPIN(Simple Promela Interpreter) Material About SPIN. Elements of Promela. Basic Variables and Types. Typical Structure of Promela Model What is SPIN(Simple Promela Interpreter) Lecture 3 SPIN and Promela A tool for analyzing mels of reactive systems Mels described in Promela Language with concurrent processes, Communication via channels,

More information

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering

More information

T : Protocol Design

T : Protocol Design T-110.300: Protocol Design Protocol Design Theory Methods Protocol Engineering Process (PEP) Timo.Kyntaja@vtt.fi 1 (154) Motivation Telecom systems engineering is a huge industry networks, terminals, services

More information

Programming II. Modularity 2017/18

Programming II. Modularity 2017/18 Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How

More information

CS:2820 (22C:22) Object-Oriented Software Development

CS:2820 (22C:22) Object-Oriented Software Development The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this

More information

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop.

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop. For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop. The authors can be reached at cb@mitre.org or ioannis @Mitre.org. In

More information

Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon)

Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon) Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon) Thus spake the master programmer: A well-written program is its own heaven; a poorly written

More information

T Parallel and Distributed Systems (4 ECTS)

T Parallel and Distributed Systems (4 ECTS) T 79.4301 Parallel and Distriuted Systems (4 ECTS) T 79.4301 Rinnakkaiset ja hajautetut järjestelmät (4 op) Lecture 4 11th of Feruary 2008 Keijo Heljanko Keijo.Heljanko@tkk.fi T 79.4301 Parallel and Distriuted

More information

Leveraging Data Invariants in Model Inference for Test Case Generation

Leveraging Data Invariants in Model Inference for Test Case Generation Leveraging Data Invariants in Model Inference for Test Case Generation Roykrong Sukkerd Abstract Testing is an effective mean to find bugs in systems, but manually writing test cases is often tedious.

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

A number of optimizations are already in use by the majority of companies in industry, notably:

A number of optimizations are already in use by the majority of companies in industry, notably: 1 Abstract Mechatronics products contain significant amounts of software. Most advances in embedded software development focus on specific phases of the development process. However, very little emphasis

More information

Review of Regression Test Case Selection Techniques

Review of Regression Test Case Selection Techniques Review of Regression Test Case Selection Manisha Rani CSE Department, DeenBandhuChhotu Ram University of Science and Technology, Murthal, Haryana, India Ajmer Singh CSE Department, DeenBandhuChhotu Ram

More information

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models Diane Bahrami, Alain Faivre, Arnault Lapitre CEA, LIST, Laboratory of Model Driven Engineering for Embedded Systems (LISE), Point

More information

Embedded software design with Polychrony

Embedded software design with Polychrony Embedded software design with Polychrony DATE 09 tutorial on Correct-by-Construction Embedded Software Synthesis: Formal Frameworks, Methodologies, and Tools Jean-Pierre Talpin, RIA List of contributors

More information

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging Formal Verification Throughout the Entire Design Cycle Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification

More information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

DiverSE s Seminar about Software Language Engineering

DiverSE s Seminar about Software Language Engineering DiverSE s Seminar about Software Language Engineering May 28 th, 2015 Rennes, France http://people.irisa.fr/benoit.combemale/sleseminar2015 THE DIVERSE TEAM DiverSE s Seminar about SLE - May 28 th, 2015-2

More information

JIVE: Dynamic Analysis for Java

JIVE: Dynamic Analysis for Java JIVE: Dynamic Analysis for Java Overview, Architecture, and Implementation Demian Lessa Computer Science and Engineering State University of New York, Buffalo Dec. 01, 2010 Outline 1 Overview 2 Architecture

More information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

Enabling statistical testing for component-based systems

Enabling statistical testing for component-based systems Enabling statistical testing for component-based systems Thomas Bauer, Robert Eschbach Fraunhofer-Institut für Experimentelles Software Engineering IESE Fraunhofer Platz 1 67663 Kaiserslautern, Germany

More information

IMT Institute for Advanced Studies, Lucca. Lucca, Italy. Dynamic Software Architectures for Global Computing Systems

IMT Institute for Advanced Studies, Lucca. Lucca, Italy. Dynamic Software Architectures for Global Computing Systems IMT Institute for Advanced Studies, Lucca Lucca, Italy Dynamic Software Architectures for Global Computing Systems PhD Program in Computer Science and Engineering XX Cycle Antonio Bucchiarone 2008 The

More information

System Testing of Timing Requirements based on Use Cases and Timed Automata

System Testing of Timing Requirements based on Use Cases and Timed Automata System Testing of Timing Requirements based on Use Cases and Timed Automata Chunhui Wang, Fabrizio Pastore, Lionel Briand SNT - University of Luxembourg Email: {chunhui.wang,fabrizio.pastore,lionel.briand}@uni.lu

More information

Environment Modeling for Modular Software Analysis with Java PathFinder Part 1

Environment Modeling for Modular Software Analysis with Java PathFinder Part 1 Environment Modeling for Modular Software Analysis with Java PathFinder Part 1 Oksana Tkachuk SGT/NASA Ames oksana.tkachuk@nasa.gov Peter Mehlitz SGT/NASA Ames peter.c.mehlitz@nasa.gov Software Model Checking

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

Network Protocol Design and Evaluation

Network Protocol Design and Evaluation Network Protocol Design and Evaluation 05 - Validation, Part III Stefan Rührup Summer 2009 Overview In the first parts of this chapter: Validation models in Promela Defining and checking correctness claims

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Software Architecture Recovery based on Dynamic Analysis

Software Architecture Recovery based on Dynamic Analysis Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos 1,2, Cláudia Werner 1 1 COPPE/UFRJ System Engineering and Computer Science Program P.O. Box 68511 ZIP 21945-970 Rio de Janeiro

More information

WAY OF WORKING TRANSFORMATION TO INTEGRATED MODEL DRIVEN DEVELOPMENT (MDD) AND MODEL- BASED TESTING (MBT)

WAY OF WORKING TRANSFORMATION TO INTEGRATED MODEL DRIVEN DEVELOPMENT (MDD) AND MODEL- BASED TESTING (MBT) Sophia Antipolis, French Riviera 20-22 October 2015 WAY OF WORKING TRANSFORMATION TO INTEGRATED MODEL DRIVEN DEVELOPMENT (MDD) AND MODEL- BASED TESTING (MBT) Tiina Rantala (tiina.rantala@nokia.com), Pekka

More information

A Modular Model Checking Algorithm for Cyclic Feature Compositions

A Modular Model Checking Algorithm for Cyclic Feature Compositions A Modular Model Checking Algorithm for Cyclic Feature Compositions by Xiaoning Wang A Thesis Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE In partial fulfillment of the requirements for

More information