An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests

Size: px
Start display at page:

Download "An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests"

Transcription

1 ICSOFT-EA 205 An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests by Thorsten Haendler, Stefan Sobernig, and Mark Strembeck Institute for Information Systems and New Media Vienna University of Economics and Business (WU), Austria

2 Outline Derivation of behavior documentation (in terms of UML System Kaleido under Test Scope interaction models) from runtime UML Interaction UML Sequence Models Diagrams tests selects test-based views Runtime tests reflect exemplary Scenario-Test Stakeholder Specification and intended behavior of the Fig.. Deriving tailored models from scenario-based system under test (SUT). runtime tests. Characteristic structure of scenario-based tests provides an option space for configuring views: resulting in partial models human-tailored for a specific task. Slide 2 Thorsten Haendler, Session 3, ICSOFT-EA 205

3 Structure of the Talk Motivation Conceptual Overview Example System under test (SUT) Scenario-test specification Test-execution trace model Mappings between test and UML Tailored sequence diagrams Option space for tailoring models (scenario-test viewpoint) Prototype implementation KaleidoScope Future Work Summary Slide 3 Thorsten Haendler, Session 3, ICSOFT-EA 205

4 Motivation /2 Behavior documentation, esp. by using graphical models, facilitates communication about and understanding of software systems. Manual creation (and maintainance) is an error-prone and time-consuming task (Rost et al., 203). Multiple approaches exist for reverse-engineering behavioral models automatically from system execution (e.g., UML sequence diagrams: Briand et al., 2003). Problem of model-size explosion (e.g., Sharp and Rountev, 2005; Bennett et al., 2008) Common counter measures are, e.g., techniques of sampling and hiding of model elements (e.g., Hamou-Lhadj and Lethbridge, 2004; Bennett et al., 2008). Slide 4 Thorsten Haendler, Session 3, ICSOFT-EA 205

5 Motivation 2/2 In this approach: We leverage the characteristics of scenario-based runtime tests for deriving tailored interaction models (scenario-test viewpoint) we provide configuration options for the system's stakeholders to fit the models to maintenance tasks (tailoring) test-to-system traceability (behavioral slices) scenarios (e.g., Jacobson, 992): structured stories describing sequences of actions and events scenario-based testing (e.g., Ryser and Glinz, 999): automated execution and verification of scenarios that describe interactions with or within a software system Slide 5 Thorsten Haendler, Session 3, ICSOFT-EA 205

6 Conceptual Overview Fig. 2. Process of deriving tailored UML interaction models from scenario-based runtime tests. specifies develops starts 2 Tester Developer Stakeholder analyses uses System under Test Test Log Test Framework A Trace Provider tests Scenario-Test Specification B Test Run 3 creates Model-to-Model Transformation Scenario-Test Trace Model returns C analyses 8 5 uses sd run2 setup Model-driven approach transformation based on mappings between the metamodels of scenariobased testing and UML2 Semi-automated derivation precond. Sequence Diagram E 4 Diagram Editor testbody postcond. cleanup 7 Model Builder Interaction Model uses selects test-based view 6 D manual selection of views conforming to a scenario-test viewpoint Our prototype implementation KaleidoScope can derive tailored interaction models from scenario-based runtime tests. Slide 6 Thorsten Haendler, Session 3, ICSOFT-EA 205

7 Example /5 A) System under Test (SUT) Stack -limit: Integer [] -element: Double [] +push(e:double): Boolean +pop(): Double +size(): Integer +full(): Boolean -getelements(): Double[] +getlimit(): Integer +setlimit(l:integer) Fig. 3. Exemplary object-oriented system under test (SUT). Slide 7 Thorsten Haendler, Session 3, ICSOFT-EA 205

8 Example 2/5 B) Scenario-Test Specification Exemplary test scenario pushonfullstack Fig. 4b. Natural-language description. Scenario-Test Specification Fig. 4a. Excerpt from test specification. Slide 8 Thorsten Haendler, Session 3, ICSOFT-EA 205

9 Example 3/5 C) Test-Execution Trace Model instance of Scenario-Test Framework.. TestSuite.. TestCase TestScenario checkedagainst 0.. TestResult TestPart ExpectedResult Setup 0.. Precondition Postcondition TestBody Cleanup 0.. Block Structure Block /owning Block Feature +owned Feature Operation Expression +body.. /owned Calls.. +caller +callee +definition FeatureCall +source Property Assertion FeatureCallDefinition {ordered} {ordered} Argument ReturnValue {ord.} +target Instance +definingclass Class +owningclass Trace.. Constructor 0.. Destructor Scenario-Test Traces Fig. 5a. Excerpts from the corresponding test-execution trace model (XMI). Slide 9 Thorsten Haendler, Session 3, ICSOFT-EA 205 Fig. 5b. Test-execution trace meta-model.

10 A definition of source or target instance is mapped to a class Class +owningclass +defining Class class=fc.source.definition or class=fc.target.definition ConnectableElement Example 4/5 D) Mappings between Test and UML +source M2 Instance +target +type Class A source or target instance is mapped to a connectable element represented by a lifeline +repr. Lifeline +cov. +covered instance=fc.source or instance=fc.target M3 Argument transml diagram (Guerra et al., 202) technology- & language-independent and UML compatible Scenario-Test Metamodel Class +owningclassfeaturecall +defining Class +source +caller +callee Instance +target argument=fc.argument M A definition of source or target M4 instance is mapped to a class +type Class A feature call (fc) is mapped to a message Message class=fc.source.definition or +receiveev. ConnectableElement A calling feature is mapped to M2 a message occurrence as A source or target instance is send event mapped to a connectable element represented by a lifeline feature=fc.caller or A called feature is mapped to instance=fc.target a message occurrence as receive event +repr. sendev. +sendev. +covered fragment +start receiveev. M3 Argument Value FeatureCall Execution +caller +callee A feature call (fc) is mapped Message to a message feature=fc.callee and not (feature. oclistypeof (Constructor) or feature. oclistypeof (Destructor)) +signature +receiveev. NamedElement A calling feature is mapped to A called constructor is mapped a message occurrence as to signature and message sort send event +fragment M5 M8 Constructor +argument is neither constructor nor destructor argument=fc.argument is mapped to execution, M4 signature and message sort is mapped to a value An argument feature=fc.callee M7 A called feature that sendev. createm. +sendev. synchcall +event Fig. 6. Excerpt from transml mappings with MessageOccurrence excerpt from feature=fc.caller constructor=fc.callee MessageSort fragment M9 Feature M6 consistency-constraints based on mapping M4. deletem. +start A Acalled feature is mapped to called destructor is mapped +owned Destructor Feature Thorsten Haendler, Session 3, ICSOFT-EA 205 a message as sort to signatureoccurrence and message receive event destructor=fc.callee feature=fc.callee M0 M7 +event Lifeline +cov. MessageOccurrence +owned Feature Slide 0 +argument UML2 Metamodel M6instance=fC.source Feature mappings refined by constraints Test2UML M5 class=fc.target.definition in total, 8 mappings (2 for traces, 6 viewpoint mappings) Value An argument is mapped to a value receiveev.

11 Example 5/5 E) Resulting Tailored UML Sequence Diagrams Fig. 7. Exemplary stakeholders/tasks and derived diagrams. sd pushonfullstack test scenario :TestDriver :Stack setlimit(2) test engineer / test review setup size() 2 getlimit() 2 test scenario pushonfullstack preconditions push(.4) false test body size() 2 postcond. sd pushonfullstack test body :TestDriver :Stack 2 push(.4) full() getlimit() 2 size() getelements() system developer / after code modification Slide calls running from STF to SUT Thorsten Haendler, Session 3, ICSOFT-EA 205 false [3.5, 4.3] 2 true calls running from STF to SUT and SUT internal calls test body of test scenario pushonfullstack

12 Scenario-Test Viewpoint - Structure of Scenario-based Tests Characteristics of scenario-based testing: Scenario-test parts (test suite, test case, test scenario, as well as assertion and exercise blocks) Feature-call scopes (calls running from STF to SUT, calls internal to the SUT, and calls internal to the STF) A view stipulates elements to be selected or not resulting in partial interaction models human-tailorable for a specific task. All views conform to a viewpoint (see, e.g., Clements et al., 20). Slide 2 Thorsten Haendler, Session 3, ICSOFT-EA 205

13 Option Space for configuring views STF intern. STF to SUT SUT intern. sp. test scenario cleanup postcond. test body pushonfullstack precond. cleanup postcond. pushelement precond. stacktest setup sp. test case cleanup call scopes contains one or many t. suite setup test parts contains one or many setup multiple test runs 2 For the resulting derived diagrams corresponding to the configurations and 2, see slide. Fig. 8. Option space for configuring different views conforming to a scenario-test viewpoint. Slide 3 Thorsten Haendler, Session 3, ICSOFT-EA 205

14 KaleidoScope /3 - Derivation Process KaleidoScope Software Engineer STORM Scenario-test System specification Write system and scenario tests Run test System Scenario-test specification Test log Runtime data Visual Diagram Editor Trace Provider Model Builder Runtime data Build trace model Trace model View model Instrumenting the test framework and extracting executiontrace data Trace model Build interaction model Select view Interaction model View model Sequence diagram Interaction model Render diagram Analyse diagram Sequence diagram Transforming view and trace models to interaction models [more [finish] diagrams] Fig. 9. Process of deriving tailorable UML-based software-behavior documentation with KaleidoScope. Available for download from our website Slide 4 Thorsten Haendler, Session 3, ICSOFT-EA 205

15 KaleidoScope 2/3 - Used Technologies A Test Framework: Scenario-based Testing of ObjectOriented Runtime-Models (STORM) (Strembeck, 20) Instrumentation: NX/Tcl (object-oriented extension of Tcl) provides introspection techniques (see Neumann and Sobernig, 205): message interceptors (Mixin and Filter) extraction of trace data by using callstack introspection (e.g., nx::current) and structural introspection (e.g., info method) Slide 5 Thorsten Haendler, Session 3, ICSOFT-EA 205

16 KaleidoScope 3/3 - Used Technologies B Trace and view models are transformed to UML interaction models by using Query View Transformation operational (QVTo) mappings (in total 24 mapping actions). All models are stored and processed in their Ecore/XMI representation, which makes it possible to import the models via XMI-compliant diagram editors (e.g., Eclipse Papyrus). Slide 6 Thorsten Haendler, Session 3, ICSOFT-EA 205

17 Future Work Derivation of other model types structure models (e.g., UML class models) component-based architecture documentation (e.g., inter-component interactions) Extension of prototype integration of other filtering/abstraction techniques (e.g., constructor hiding, identification of loops) instrumenting other testing frameworks (e.g., JBehave using AspectJ) Application in large-scale projects usability for stakeholders/tasks Slide 7 Thorsten Haendler, Session 3, ICSOFT-EA 205

18 Summary Model-driven and semi-automated derivation of behavior documentation (in terms of UML2 interaction models) Scenario-test viewpoint (different views on the testexecution trace available for configuration) Prototype implementation KaleidoScope (proof of concept) Slide 8 Thorsten Haendler, Session 3, ICSOFT-EA 205

19 Thank you for your attention! Q&A Slide 9 Thorsten Haendler, Session 3, ICSOFT-EA 205

An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests

An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests Thorsten Haendler, Stefan Sobernig and Mark Strembeck Institute for Information Systems and New

More information

Trace-Directed Modelling Mid-Project Meeting Report

Trace-Directed Modelling Mid-Project Meeting Report Trace-Directed Modelling Mid-Project Meeting Report Timothy C. Lethbridge CRuiSE (Complexity Reduction in Software Engineering) Research Group University of Ottawa Dec 8, 2010 http://www.site.uottawa.ca/~tcl

More information

XOTcl an Object-Oriented Scripting Language. First European Tcl/Tk User Meeting, 15/16th June 2000

XOTcl an Object-Oriented Scripting Language. First European Tcl/Tk User Meeting, 15/16th June 2000 XOTcl an Object-Oriented Scripting Language Gustaf Neumann Department of Information Systems Vienna University of Economics Vienna, Austria gustaf.neumann@wu-wien.ac.at Uwe Zdun Specification of Software

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Automatic Generation of Execution Traces and Visualizing Sequence Diagrams

Automatic Generation of Execution Traces and Visualizing Sequence Diagrams Automatic Generation of Execution Traces and Visualizing Sequence Diagrams 2IM91- Master Thesis ES Report Author: Kaushik Srinivasan (0786828) Host Company: Research& Development Department, Canon Oce

More information

CS 215 Software Design Homework 3 Due: February 28, 11:30 PM

CS 215 Software Design Homework 3 Due: February 28, 11:30 PM CS 215 Software Design Homework 3 Due: February 28, 11:30 PM Objectives Specifying and checking class invariants Writing an abstract class Writing an immutable class Background Polynomials are a common

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL4: JML The Java Modeling Language David Aspinall (slides originally by Ian Stark) School of Informatics The University of Edinburgh Thursday 21 January 2010

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

Standard. Number of Correlations

Standard. Number of Correlations Computer Science 2016 This assessment contains 80 items, but only 80 are used at one time. Programming and Software Development Number of Correlations Standard Type Standard 2 Duty 1) CONTENT STANDARD

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

Orthographic Software Modeling A Practical Approach to View Based Development

Orthographic Software Modeling A Practical Approach to View Based Development Orthographic Software Modeling A Practical Approach to View Based Development Colin Atkinson University of Mannheim Germany MSI 2009 7 th October 2009 Oldenburg Outline Modern software engineering paradigms

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Requirements-driven Testing of Domain-specific Core Language Models using Scenarios

Requirements-driven Testing of Domain-specific Core Language Models using Scenarios 2013 13th International Conference on Quality Software Requirements-driven Testing of Domain-specific Core Language Models using Scenarios Stefan Sobernig, Bernhard Hoisl, and Mark Strembeck Institute

More information

What This Course Is About Design-by-Contract (DbC)

What This Course Is About Design-by-Contract (DbC) What This Course Is About Design-by-Contract (DbC) Readings: OOSC2 Chapter 11 EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG Focus is design Architecture: (many) inter-related modules Specification:

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

Work. Second European Tcl/Tk User Meeting, June, 2001.

Work. Second European Tcl/Tk User Meeting, June, 2001. XOTcl @ Work Gustaf Neumann Department of Information Systems Vienna University of Economics Vienna, Austria gustaf.neumann@wu-wien.ac.at Uwe Zdun Specification of Software Systems Essen, Germany uwe.zdun@uni-essen.de

More information

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Design by Contract Design by Contract and the language that implements the Design by Contract principles

More information

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,

More information

New IDE Application Profiler Enhancements

New IDE Application Profiler Enhancements New IDE Application Profiler Enhancements Authored by: Elena Laskavaia The new Application Profiler features are currently under development for the next release of QNX Momentics. Use the forum and provide

More information

Designing a System Engineering Environment in a structured way

Designing a System Engineering Environment in a structured way Designing a System Engineering Environment in a structured way Anna Todino Ivo Viglietti Bruno Tranchero Leonardo-Finmeccanica Aircraft Division Torino, Italy Copyright held by the authors. Rubén de Juan

More information

Semantic Integration of Data Models Across Engineering Disciplines

Semantic Integration of Data Models Across Engineering Disciplines Semantic Integration of Data Models Across Engineering Disciplines Stefan Biffl Thomas Moser Christian Doppler Laboratory SE-Flex-AS Institute of Software Technology and Interactive Systems (ISIS) Vienna

More information

Assertions, pre/postconditions

Assertions, pre/postconditions Programming as a contract Assertions, pre/postconditions Assertions: Section 4.2 in Savitch (p. 239) Specifying what each method does q Specify it in a comment before method's header Precondition q What

More information

Yvan Labiche Department of Systems and Computer Engineering Carleton University Ottawa, Canada

Yvan Labiche Department of Systems and Computer Engineering Carleton University Ottawa, Canada Combining Static and Dynamic Analyses to Reverse- Engineer Scenario Diagrams Yvan Labiche Department of Systems and Computer Engineering Carleton University Ottawa, Canada labiche@sce.carleton.ca Bojana

More information

Readability [Skrien 4.0] Programs must be written for people to read, and only incidentally for machines to execute.

Readability [Skrien 4.0] Programs must be written for people to read, and only incidentally for machines to execute. Readability [Skrien 4.0] Programs must be written for people to read, and only incidentally for machines to execute. Abelson & Sussman Use a good set of coding conventions, such as the ones given in the

More information

Coral: A Metamodel Kernel for Transformation Engines

Coral: A Metamodel Kernel for Transformation Engines Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520

More information

Automatic Generation of Program Specifications

Automatic Generation of Program Specifications Automatic Generation of Program Specifications Jeremy Nimmer MIT Lab for Computer Science http://pag.lcs.mit.edu/ Joint work with Michael Ernst Jeremy Nimmer, page 1 Synopsis Specifications are useful

More information

Oscar Slotosch, Validas AG. Proposal for a Roadmap towards Development of Qualifyable Eclipse Tools

Oscar Slotosch, Validas AG. Proposal for a Roadmap towards Development of Qualifyable Eclipse Tools Oscar Slotosch, Proposal for a Roadmap towards Development of Qualifyable Eclipse Tools, 2012 Seite 1 Content Roadmap Requirements for Tool Qualification (Standards) Proposals for Goals for Eclipse Proposals

More information

News in RSA-RTE Mattias Mohlin, June 2015

News in RSA-RTE Mattias Mohlin, June 2015 News in RSA-RTE 9.1.2 Mattias Mohlin, June 2015 Overview of New Features (1/2) Project Explorer Outline nodes for contents of artifact code snippets Generalization node now visible in Capsule Development

More information

Operational Semantics. One-Slide Summary. Lecture Outline

Operational Semantics. One-Slide Summary. Lecture Outline Operational Semantics #1 One-Slide Summary Operational semantics are a precise way of specifying how to evaluate a program. A formal semantics tells you what each expression means. Meaning depends on context:

More information

CIS 890: Safety Critical Systems

CIS 890: Safety Critical Systems CIS 890: Safety Critical Systems Lecture: SPARK -- Analysis Tools Copyright 2007, John Hatcliff. The syllabus and all lectures for this course are copyrighted materials and may not be used in other course

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

Subprograms, Subroutines, and Functions

Subprograms, Subroutines, and Functions Subprograms, Subroutines, and Functions Subprograms are also called subroutines, functions, procedures and methods. A function is just a subprogram that returns a value; say Y = SIN(X). In general, the

More information

Tuesday, November 15. Testing

Tuesday, November 15. Testing Tuesday, November 15 1 Testing Testing Waterfall model show testing as an activity or box In practice, testing is performed constantly There has never been a project where there was too much testing. Products

More information

A model-based functional test approach to verify system requirements

A model-based functional test approach to verify system requirements A model-based functional test approach to verify system requirements Stefan Miller 1, Ralf Bogusch 2 1 CASSIDIAN, Wörthstraße 85, 89077 Ulm 2 CASSIDIAN, Claude-Dornier-Straße, 88090 Immenstaad {stefan.miller

More information

Catching Defects: Design or Implementation Phase? Design-by-Contract (Dbc) Test-Driven Development (TDD) Motivation of this Course

Catching Defects: Design or Implementation Phase? Design-by-Contract (Dbc) Test-Driven Development (TDD) Motivation of this Course Design-by-Contract (Dbc) Test-Driven Development (TDD) Readings: OOSC2 Chapter 11 Catching Defects: Design or Implementation Phase? To minimize development costs, minimize software defects. The cost of

More information

The etrice Eclipse Project Proposal

The etrice Eclipse Project Proposal The etrice Eclipse Project Proposal Dipl.-Ing. Thomas Schütz, Protos Software GmbH Eclipse Embedded Day 2010, Stuttgart Agenda Motivation Scope of etrice ROOM Language Codegenerators Middleware Realization

More information

Stacks. stacks of dishes or trays in a cafeteria. Last In First Out discipline (LIFO)

Stacks. stacks of dishes or trays in a cafeteria. Last In First Out discipline (LIFO) Outline stacks stack ADT method signatures array stack implementation linked stack implementation stack applications infix, prefix, and postfix expressions 1 Stacks stacks of dishes or trays in a cafeteria

More information

Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder

Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder Petra Brosch, Philip Langer, Martina Seidl, and Manuel Wimmer Institute of Software Technology and Interactive Systems Vienna

More information

a correct statement? You need to know what the statement is supposed to do.

a correct statement? You need to know what the statement is supposed to do. Using assertions for correctness How can we know that software is correct? It is only correct if it does what it is supposed to do. But how do we know what it is supposed to do? We need a specification.

More information

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8

More information

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal Verification for safety critical requirements From Unit-Test to HIL Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Semantic Analysis. CSE 307 Principles of Programming Languages Stony Brook University

Semantic Analysis. CSE 307 Principles of Programming Languages Stony Brook University Semantic Analysis CSE 307 Principles of Programming Languages Stony Brook University http://www.cs.stonybrook.edu/~cse307 1 Role of Semantic Analysis Syntax vs. Semantics: syntax concerns the form of a

More information

Test Case Generation Based on Sequence Diagrams

Test Case Generation Based on Sequence Diagrams Test Case Generation Based on Sequence Diagrams Yao-Cheng Lei Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University Chiayi, Taiwan 621, R.O.C. {lyc94,naiwei}@cs.ccu.edu.tw

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Modeling pilot project at Ericsson Expert Analytics

Modeling pilot project at Ericsson Expert Analytics Modeling pilot project at Ericsson Expert Analytics Gábor Ferenc Kovács, Gergely Dévai ELTE-Soft, ELTE University, Ericsson Ericsson Modeling Days, Stockholm, 13-14 September 2016 Overview Background of

More information

Managing Artifacts with a Viewpoint-Realization Level Matrix

Managing Artifacts with a Viewpoint-Realization Level Matrix Managing Artifacts with a Viewpoint-Realization Level Matrix Jochen M. Küster, Hagen Völzer, Olaf Zimmermann IBM Research - Zurich, Säumerstr. 4, 8803 Rüschlikon, Switzerland {jku,hvo,olz}@zurich.ibm.com

More information

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

Finding the Missing Eclipse Perspective: the Runtime Perspective. Andrew Giang Marwan Abi-Antoun Department of Computer Science

Finding the Missing Eclipse Perspective: the Runtime Perspective. Andrew Giang Marwan Abi-Antoun Department of Computer Science Finding the Missing Eclipse Perspective: the Runtime Perspective Andrew Giang Marwan Abi-Antoun Department of Computer Science 1 Outline Motivation For each feature in the Runtime Perspective, discuss:

More information

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51 What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

Software testing A.A. 2018/2019

Software testing A.A. 2018/2019 Software testing A.A. 2018/2019 Testing Testing is intended to show that a program does what it is intended to do and to discover program defects before it is put into use. When you test software, you

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Timothy C. Lethbridge Department of Electrical Engineering and Computer Science, University of Ottawa

More information

Formal Support for QVT-Relations with Coloured Petri Nets

Formal Support for QVT-Relations with Coloured Petri Nets Formal Support for QVT-Relations with Coloured Petri Nets Juan de Lara Univ. Autónoma de Madrid (Spain) MODELS 2009 Denver, Colorado, USA Esther Guerra 1 Univ. Carlos III de Madrid (Spain) Motivation Model-to-Model

More information

IWOMP Dresden, Germany

IWOMP Dresden, Germany IWOMP 2009 Dresden, Germany Providing Observability for OpenMP 3.0 Applications Yuan Lin, Oleg Mazurov Overview Objective The Data Model OpenMP Runtime API for Profiling Collecting Data Examples Overhead

More information

C++: Const Function Overloading Constructors and Destructors Enumerations Assertions

C++: Const Function Overloading Constructors and Destructors Enumerations Assertions C++: Const Function Overloading Constructors and Destructors Enumerations Assertions Const const float pi=3.14159; const int* pheight; // defines pointer to // constant int value cannot be changed // pointer

More information

Program Analysis. Program Analysis

Program Analysis. Program Analysis Program Analysis Class #4 Program Analysis Dynamic Analysis 1 Static VS Dynamic Analysis Static analysis operates on a model of the SW (without executing it) If successful, produces definitive information

More information

Debugging in AnyLogic. Nathaniel Osgood CMPT

Debugging in AnyLogic. Nathaniel Osgood CMPT Debugging in AnyLogic Nathaniel Osgood CMPT 858 4-5-2011 Avoiding Debugging Defensive Programming Offensive Programming Offensive Programming: Try to Get Broken Program to Fail Early, Hard Asserts: Actually

More information

A scenario-based test approach for testing reactive concurrent systems

A scenario-based test approach for testing reactive concurrent systems Corporate Technology A scenario-based test approach for testing reactive concurrent systems Andreas Ulrich Siemens AG, Corporate Technology München, Germany ETSI MBT User Conference 2011 October 18 20,

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling

More information

Calgary: 10th Floor Bankers Hall, West Tower 888-3rd Street SW, Calgary, AB T2P 5C5 p: f:

Calgary: 10th Floor Bankers Hall, West Tower 888-3rd Street SW, Calgary, AB T2P 5C5 p: f: Modelling Using Archimate and Sparx EA Course Number: MOD-300 Format: Instructor Led, Classroom or Virtual Standard Duration: 36 hours, can be shortened to 24 hours for experienced audiences This 36 hour

More information

Test-Driven Development (TDD)

Test-Driven Development (TDD) Test-Driven Development (TDD) EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG DbC: Supplier DbC is supported natively in Eiffel for supplier: class ACCOUNT create make feature -- Attributes owner :

More information

Overview of Acceptance Tests

Overview of Acceptance Tests Overview of Acceptance Tests Document Title Overview of Acceptance Tests Document Owner Document Responsibility Document Identification No 643 Document Classification Auxiliary Document Status Final Part

More information

THE ETSI TEST DESCRIPTION LANGUAGE (TDL)

THE ETSI TEST DESCRIPTION LANGUAGE (TDL) THE ETSI TEST DESCRIPTION LANGUAGE (TDL) Results from the ETSI project STF 454 A. Ulrich, G. Adamis, F. Kristoffersen, Ph. Makedonski, M.-F. Wendland, A. Wiles Outline Motivation and introduction Design

More information

References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1

References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1 References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,

More information

CSSE 490 Model-Based Software Engineering: Transformation Systems

CSSE 490 Model-Based Software Engineering: Transformation Systems CSSE 490 Model-Based Software Engineering: Transformation Systems Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Plan for Today FacePamphlet Demo and Discussion

More information

Function Calling Conventions 1 CS 64: Computer Organization and Design Logic Lecture #9

Function Calling Conventions 1 CS 64: Computer Organization and Design Logic Lecture #9 Function Calling Conventions 1 CS 64: Computer Organization and Design Logic Lecture #9 Ziad Matni Dept. of Computer Science, UCSB Lecture Outline More on MIPS Calling Convention Functions calling functions

More information

! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive)

! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive) Final Exam Exercises Chapters 1-7 + 11 Write C++ code to:! Determine if a number is odd or even CS 2308 Fall 2018 Jill Seaman! Determine if a number/character is in a range - 1 to 10 (inclusive) - between

More information

The software lifecycle and its documents

The software lifecycle and its documents The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes

More information

GNAT Pro Innovations for High-Integrity Development

GNAT Pro Innovations for High-Integrity Development GNAT Pro Innovations for High-Integrity Development José F. Ruiz Senior Software Engineer Ada Europe 2010, Valencia 2010-06-15 www.adacore.com Index Development environment Tools Static

More information

Using the UML for Architectural Description Rich Hilliard

Using the UML for Architectural Description Rich Hilliard Using the UML for Architectural Description Rich Hilliard rh@isis2000.com Outline What is IEEE P1471? The IEEE P1471 Conceptual Framework Requirements on Architectural Descriptions Using the UML in the

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

Verification of Requirements For Safety-Critical Software

Verification of Requirements For Safety-Critical Software Verification of Requirements For Safety-Critical Software Paul B. Carpenter Director, Life Cycle Technology Aonix, 5040 Shoreham Place, San Diego, CA USA, 92122 Email: paulc@aonix.com; Tel: 602-816-0245;

More information

Lab 5 : WordAnalyzer class

Lab 5 : WordAnalyzer class Lab 5 : WordAnalyzer class Introduction READ THE INSTRUCTIONS FIRST! The WordAnalyzer class was written to perform a few different analyses of words: - identify the first repeated (adjacent) character

More information

A Class-Level Unit Testing Tool for Java

A Class-Level Unit Testing Tool for Java A Class-Level Unit Testing Tool for Java Tz-Fan Hu and Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University Chiayi 621, Taiwan, R.O.C. Email: {htf97m,naiwei}@cs.ccu.edu.tw

More information

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas Reference: egos-stu-rts-rp-1002 Page 1/7 Authors: Andrey Sadovykh (SOFTEAM) Contributors: Tom Ritter, Andreas Hoffmann, Jürgen Großmann (FHG), Alexander Vankov, Oleg Estekhin (GTI6) Visas Surname - Name

More information

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/ Executive Summary Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/2014-06-01 This guide describes the Model Driven Architecture (MDA) approach as defined by

More information

Advances in Programming Languages

Advances in Programming Languages Advances in Programming Languages Lecture 12: Practical Tools for Java Correctness Ian Stark School of Informatics The University of Edinburgh Friday 31 November 2014 Semester 1 Week 7 http://www.inf.ed.ac.uk/teaching/courses/apl

More information

Embracing Imperfection in Enterprise Architecture Models

Embracing Imperfection in Enterprise Architecture Models Embracing Imperfection in Enterprise Architecture Models Hector Florez, Mario Sánchez, and Jorge Villalobos Department of Systems and Computing Engineering, Universidad de los Andes, Bogotá, Colombia {ha.florez39,mar-san1,jvillalo}@uniandes.edu.co

More information

QUIZ. Write the following for the class Bar: Default constructor Constructor Copy-constructor Overloaded assignment oper. Is a destructor needed?

QUIZ. Write the following for the class Bar: Default constructor Constructor Copy-constructor Overloaded assignment oper. Is a destructor needed? QUIZ Write the following for the class Bar: Default constructor Constructor Copy-constructor Overloaded assignment oper. Is a destructor needed? Or Foo(x), depending on how we want the initialization

More information

Towards XOTcl 2.x A Ten-Year Retrospective and Outlook

Towards XOTcl 2.x A Ten-Year Retrospective and Outlook Towards XOTcl 2.x A Ten-Year Retrospective and Outlook Gustaf Neumann, Stefan Sobernig Institute for Information Systems and New Media Vienna University of Economics and Business (WU Vienna), Austria {gustaf.neumann

More information

Tool Support for Design Inspection: Automatic Generation of Questions

Tool Support for Design Inspection: Automatic Generation of Questions Tool Support for Design Inspection: Automatic Generation of Questions Tim Heyer Department of Computer and Information Science, Linköping University, S-581 83 Linköping, Email: Tim.Heyer@ida.liu.se Contents

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

UMLSlicer: A Tool for Modularizing the UML Metamodel using Slicing

UMLSlicer: A Tool for Modularizing the UML Metamodel using Slicing UMLSlicer: A Tool for Modularizing the UML Metamodel using Slicing Jung Ho Bae, Heung Seok Chae Department of Computer Science and Engineering Pusan National University 30 Jangjeon-Dong, Geumjeong-Gu 609-735

More information

Practical C++ Programming

Practical C++ Programming SECOND EDITION Practical C++ Programming Steve Oualline O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Preface xv Part I. The Basics 1. What Is C++? 3 A Brief History of C++ 3 C++

More information

AADL Requirements Annex Review

AADL Requirements Annex Review Dominique Blouin Lab-STICC Université de Bretagne-Occidentale Université de Bretagne-Sud Bretagne, France 1 AADL Standards Meeting, April 23 th, 2013 Agenda Comments from Annex Document Review Motivations

More information

Mutually Enhancing Test Generation and Specification Inference

Mutually Enhancing Test Generation and Specification Inference Mutually Enhancing Test Generation and Specification Inference Tao Xie David Notkin Department of Computer Science & Engineering University of Washington August 15th, 2003 Foundations of Software Engineering,

More information

Contents Contents 1 Introduction Entity Types... 37

Contents Contents 1 Introduction Entity Types... 37 1 Introduction...1 1.1 Functions of an Information System...1 1.1.1 The Memory Function...3 1.1.2 The Informative Function...4 1.1.3 The Active Function...6 1.1.4 Examples of Information Systems...7 1.2

More information

Requirements Checking for Object-Oriented Software Design with different Unified Modelling Language (UML) notations

Requirements Checking for Object-Oriented Software Design with different Unified Modelling Language (UML) notations Requirements Checking for Object-Oriented Software Design with different Unified Modelling Language (UML) notations Use Case Notation, Sequence Diagrams, Regular Expressions and State Automata Bart Meyers

More information

System context. Usage facet. IT system facet. Core activities

System context. Usage facet. IT system facet. Core activities System context Subject facet Usage facet IT system facet Development facet Validation Core activities Observe Documentation the system context to Elicitation detect context changes Manage the execution

More information

Object-Oriented Testing meets TTCN-3

Object-Oriented Testing meets TTCN-3 TTCN-3 User Conference 2006 The Evolution of TTCN-3 31 May- 2 June 2006, Berlin, Germany Prof. Dr. Mario Winter FH Köln Why do we test? Software Program Man (misconduct) (imperfect) (faulty) Specification

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

Exceptions and assertions

Exceptions and assertions Exceptions and assertions CSE 331 University of Washington Michael Ernst Failure causes Partial failure is inevitable Goal: prevent complete failure Structure your code to be reliable and understandable

More information

double d0, d1, d2, d3; double * dp = new double[4]; double da[4];

double d0, d1, d2, d3; double * dp = new double[4]; double da[4]; All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers

More information

A Runtime Model for fuml

A Runtime Model for fuml A Runtime Model for fuml Tanja Mayerhofer, Philip Langer, and Gerti Kappel Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology, Austria {mayerhofer,

More information

Outline STRANGER. Background

Outline STRANGER. Background Outline Malicious Code Analysis II : An Automata-based String Analysis Tool for PHP 1 Mitchell Adair 2 November 28 th, 2011 Outline 1 2 Credit: [: An Automata-based String Analysis Tool for PHP] Background

More information

PisaTel Meeting Roma, 29 novembre 2007

PisaTel Meeting Roma, 29 novembre 2007 Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory Tool support for model driven development in practice Antonino Sabetta ISTI-CNR, Pisa PisaTel Meeting Roma, 29

More information

Test Case Extraction and Test Data Generation from Design Models

Test Case Extraction and Test Data Generation from Design Models Session J-17 Test Case Extraction and Test Data Generation from Design Models Xiaojing ZHANG, Takashi HOSHINO NTT Cyber Space Laboratories Tokyo, JAPAN 2011.10.31 -- 2011.11.4 5WCSQ 1 Agenda Background

More information

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

Capturing JUnit Behavior into Static Programs

Capturing JUnit Behavior into Static Programs Degree Project Capturing JUnit Behavior into Static Programs Asher Siddiqui 2010-05-11 Subject: Computer Science Level: Master Course code: DA4004 Abstract In this research paper, it evaluates the benefits

More information