An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests
|
|
- Godfrey Tobias Simon
- 5 years ago
- Views:
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 Thorsten Haendler, Stefan Sobernig and Mark Strembeck Institute for Information Systems and New
More informationTrace-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 informationXOTcl 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 informationSequence 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 informationAutomatic 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 informationCS 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 informationAdvances 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 informationSequence 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 informationStandard. 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 informationCS 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 informationOrthographic 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 informationUNIT 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 informationRequirements-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 informationWhat 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 informationAutomated 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 informationWork. 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 informationUC 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 informationCS 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 informationNew 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 informationDesigning 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 informationSemantic 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 informationAssertions, 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 informationYvan 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 informationReadability [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 informationCoral: 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 informationAutomatic 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 informationOscar 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 informationNews 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 informationOperational 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 informationCIS 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 informationChristian 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 informationSubprograms, 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 informationTuesday, 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 informationA 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 informationCatching 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 informationThe 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 informationStacks. 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 informationTowards 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 informationa 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 informationOutline. 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 informationFormal 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 informationIngegneria 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 informationSemantic 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 informationTest 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 informationUML 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 informationModeling 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 informationManaging 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 informationWhat 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 informationFinding 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 informationWhat 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 informationSoftware 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 informationTeiid 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 informationKey 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 informationFormal 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 informationIWOMP 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 informationC++: 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 informationProgram 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 informationDebugging 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 informationA 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 informationDominique 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 informationCalgary: 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 informationTest-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 informationOverview 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 informationTHE 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 informationReferences: 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 informationCSSE 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 informationFunction 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)
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 informationThe 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 informationGNAT 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 informationUsing 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 informationOutline. 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 informationVerification 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 informationLab 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 informationA 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 informationExecutive 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 informationObject 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 informationAdvances 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 informationEmbracing 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 informationQUIZ. 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 informationTowards 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 informationTool 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 informationChapter 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 informationUMLSlicer: 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 informationPractical 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 informationAADL 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 informationMutually 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 informationContents 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 informationRequirements 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 informationSystem 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 informationObject-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 informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationExceptions 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 informationdouble 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 informationA 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 informationOutline 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 informationPisaTel 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 informationTest 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 informationMDD 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 informationCapturing 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