A Manifesto for Semantic Model Differencing
|
|
- Toby Powers
- 8 years ago
- Views:
Transcription
1 A Manifesto for Semantic Model Differencing ME-10, October 2010 Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe Lehrstuhl Informatik 3 ()
2 Seite 2 One slide abstract Existing approaches to model differencing concentrate on heuristics matching between model elements and on finding and presenting differences at a concrete or abstract syntactic level. While showing some success these approaches are limited to comparing syntactic structures. We present our vision to develop semantic diff operators for model comparisons: operators whose input consists of two models and whose output is a set of diff witnesses, instances of one model that are not instances of the other. We demonstrate our vision using two concrete diff operators for class diagrams and activity diagrams, with motivating examples, formal definitions, and early prototype implementations. Discuss new challenges emerging from the vision
3 Seite 3 Motivating example 1 cd1.v1 cd1.v2 1 Employee manages * * Task 0..2 Task sdate: Date sdate: Date 1 managedby manages managedby Manager Employee 0..1 * 0..1 Manager What is the semantic difference between cd1.v1 and cd1.v2?
4 Seite 4 Motivating example 1 cd1.v1 cd1.v2 1 Employee manages * * Task sdate: Date managedby Manager Employee Task 0..2 sdate: Date manages managedby Manager * 0..1 om 1 t1:task sdate = date1 t2:task sdate = date2 om 1 2 diff(cd1.v1,cd1.v2) manages om 2 :Employee t3:task sdate = date3 :Manager :Manager managedby om 2 2 diff(cd1.v2,cd1.v1)
5 Seite 5 Motivating example 2 cd2.v1 cd2.v2 <<singleton>> Department worksin has * Employee Department worksin has * Employee What is the semantic difference between cd2.v1 and cd2.v2?
6 Seite 6 Motivating example 2 cd2.v1 cd2.v2 <<singleton>> Department worksin has * Employee Department worksin has * Employee om 3 d1:department {om 3, om 4 } ½ diff(cd2.v2,cd2.v1) d2:department om 4 :Employee
7 Seite 7 Motivating example 3 cd3.v1 <<abstract>> Person 1 cd3.v2 Employee livesin 1 1 Address Employee 1 livesin Address What is the semantic difference between cd3.v1 and cd3.v2?
8 Seite 8 Motivating example 3 cd3.v1 <<abstract>> Person 1 cd3.v2 Employee livesin 1 1 Address Employee 1 livesin Address No difference. cd3.v1 and cd3.v2 have equal semantics!
9 Seite 9 Motivating example 4 register ad.v1 register ad.v2 external external internal internal get welcome pack get welcome pack add to website assign keys add to website manager interview manager report manager interview manager report authorize payment authorize payment What is the semantic difference between ad.v1 and ad.v2?
10 Seite 10 Motivating example 4 register 1 ad.v1 register ad.v2 external external internal get welcome pack 2 internal get welcome pack 4 add to website 3 assign keys add to website manager interview manager report 5 manager interview manager report authorize payment authorize payment Example diff witness for internal employees: the trace <register>, <get welcome pack>, <>, <add to website>, <manager interview> was possible in ad.v1 and is no longer possible in ad.v2. No diff witnesses for external employees.
11 Seite 11 Motivating example 5 register ad.v3 register ad.v4 external external internal internal get welcome pack get welcome pack assign keys add to website assign keys add to website manager interview manager interview manager report manager report authorize payment authorize payment What is the semantic difference between ad.v3 and ad.v4?
12 Seite 12 Motivating example 5 register 1 ad.v3 register ad.v4 external external internal get welcome pack 2 internal get welcome pack assign keys add to website assign keys add to website manager interview manager interview manager report authorize payment 3 manager report authorize payment Example diff witness for external employees: the trace <register>, <>, <authorize payment> was possible in ad.v3 and is no longer possible in ad.v4. No diff witnesses for internal employees.
13 Seite 13 Formal definitions Modeling language ML = <Syn,Sem,sem> [HR04] Syn: set of syntactically correct expressions Sem: semantic domain sem: semantic mapping sem: Syn! (Sem) We define the generic semantic diff operator diff : Syn Syn! (Sem) diff(e 1,e 2 ) = { s Sem s sem(e 1 ) s sem(e 2 ) } Members of the set diff are called diff witnesses
14 Seite 14 Features of diff Semantics-based (agnostic to syntax) Constructive (generates witnesses) State-based (agnostic to edit operations) diff is not symmetric diff(e 1,e 1 )= ; diff(e 1,e 2 ) Å diff(e 2,e 1 ) = ;
15 Seite 15 Concrete diff operator for class diagrams We use the class diagrams of UML/P [Rum04] Syntax defined using MontiCore [KRV08] Semantics given as a set of finite object models [EFLR98] We use a complete semantics: whatever is not specified in the CD is indeed not present in the object models Supported features: generalizations (inheritance), abstract and singleton classes, class attributes, unidirectional and bidirectional associations with multiplicities, enumerations, aggregation, and composition.
16 Seite 16 cddiff: Semantic diff for CDs We define a specialization of diff for CDs cddiff k is a family of bounded operators For all k >= 0, cddiff k (cd 1,cd 2 ) = { om OM om cddiff(cd 1,cd 2 ) om < k +1 )} where om is the maximal number of instances per class in om. We give a bounded definition since the unbounded operator might not be computable
17 Seite 17 Concrete diff operator for activity diagrams We use Eclipse UML2 activity diagrams Alternative syntax defined using MontiCore Semantics given as a set of traces In our AD language we allow a single initial node but many initial states defined by the values of input variables We support external non-determinism by input variables, and internal non-determinism by interleaving semantics of forked branches (guarded transitions have to be disjoint) Supported features: input variables, local variables, fork, join, decision, merge, assignments to local variables from action nodes, guarded transitions from decision nodes
18 Seite 18 addiff: Semantic diff for ADs We define a specialization of diff for ADs Looking only for the shortest diff traces Formal definition: addiff(ad 1, ad 2 ) = { tr tr 2 sem(ad 1 ) Æ tr sem(ad 2 ) tr': tr' 2 sem(ad 1 ) Æ tr' sem(ad 2 ) Æ tr' v tr } We compute only one diff witness for each set of input values (i.e., for each initial state)
19 Seite 19 Implementation and evaluation We have implemented prototypes for bounded cddiff, using Alloy [Jac06] for addiff, using a translation to SMV (and JTLV [PSZ10]) Prototypes integrated into Eclipse plug-ins for CDs using MontiCore UML/P for ADs using Eclipse UML2 framework
20 Seite 20 CDDiff prototype example screenshot screenshot
21 Seite 21 ADDiff prototype example screenshot screenshot
22 Seite 22 Challenges Computation Presentation Integration with syntactic diff
23 Seite 23 Computation challenges Computing diff witnesses may not be algorithmically easy and sometimes even impossible. When computable, its complexity depends on the specific modeling language semantics at hand. For example CDDiff must be bounded to be tractable ADDiff requires a traversal of the state space of the ADs at hand. The state space may be exponential in the size of the AD. To scale, should adapt algorithms and heuristics from formal verification (model checking), e.g., partial order reduction, abstraction / refinement etc.
24 Seite 24 Presentation challenges To be useful, diff witnesses must be presented textually or visually to the engineer. Just like for computation, the presentation of diff witnesses is language specific; it depends on the specific modeling language of the models involved and its semantics. For example For CDDiff, diff witnesses presented as object diagrams For ADDiff, diff witnesses presented visually by coloring and numbering the nodes participating in the diff trace on both ADs As there may be (possibly infinitely) many diff witnesses, it is necessary to define sorting and filtering mechanisms, to select the `most interesting' witnesses for presentation and efficiently iterate over them at the user's request.
25 Seite 25 Integration with syntactic diff As many works have suggested various syntactic approaches to model differencing, it may be useful to combine syntactic differencing with semantic differencing. For example Extend the applicability of semantic diffing in comparing models whose elements have been renamed or moved in the course of evolution, by applying a syntactic matching before running a semantic diffing: this would result in a mapping plus a set of diff witnesses. Use information extracted from syntactic diffing as a means to localize and improve the performance of semantic diffing computations.
26 Seite 26 Related work Much work on model comparison (e.g. [AP03,OWK03,MGH05, EPK06,XS07,KGE09]) Most works go beyond the concrete textual or visual representation and have defined the comparison at the abstract-syntax level, detecting additions, removals, and shifts operations on model elements To the best of our knowledge, none considers model comparisons at the level of the semantic domain [JL94] presented a tool that summarizes the semantic diff between two procedures in terms of observable input-output behaviors [PDE+08] suggested to compute a behavioral characterization of a program change using a technique called differential symbolic execution We concentrate on models, not programs; our technique is different; but our work is indeed similar in spirit to these two works
27 Seite 27 Conclusion We presented our vision on semantic diff operators for model comparison, as new fundamental building blocks for change management in model-driven engineering. We motivated our vision with examples, and gave a brief overview of the formal background and the algorithms used in our prototype implementations. Finally, we listed new research challenges that emerge from our vision, related to the computation and presentation of semantic model differences and to its integration with syntactic diffing.
28 Seite 28 Thank you!
Lecture 03 (04.11.2013) Quality of the Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software
More informationUser-Driven Adaptation of Model Differencing Results
User-Driven Adaptation of Model Differencing Results Klaus Müller, Bernhard Rumpe Software Engineering RWTH Aachen University Aachen, Germany http://www.se-rwth.de/ Abstract In model-based software development,
More informationSystem modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems
System modeling Business process modeling how to do it right Partially based on Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, J Koehler, J Vanhatalo, IBM Zürich, 2007.
More informationThe Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016 Lecture 03 (26.10.2015) The Software Development Process Christoph Lüth Jan Peleska Dieter Hutter Your Daily Menu Models of software
More informationi. Node Y Represented by a block or part. SysML::Block,
OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes
More informationJairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
More informationTextual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
More informationLecture 03 (26.10.2015) The Software Development Process. Software Development Models. Where are we? Your Daily Menu.
Your Daily Menu Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016 Lecture 03 (26.10.2015) The Software Development Process Christoph Lüth Jan Peleska Dieter Hutter Models of software
More informationUML Representation Proposal for XTT Rule Design Method
UML Representation Proposal for XTT Rule Design Method Grzegorz J. Nalepa 1 and Krzysztof Kluza 1 Institute of Automatics, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Kraków, Poland
More informationRoles in Software Development using Domain Specific Modelling Languages
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,
More informationAutomatic Test Data Synthesis using UML Sequence Diagrams
Vol. 09, No. 2, March April 2010 Automatic Test Data Synthesis using UML Sequence Diagrams Ashalatha Nayak and Debasis Samanta School of Information Technology Indian Institute of Technology, Kharagpur
More informationCompliance and Requirement Traceability for SysML v.1.0a
1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which
More informationDefining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,
More informationSoftware Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci
Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental
More informationProM 6 Exercises. J.C.A.M. (Joos) Buijs and J.J.C.L. (Jan) Vogelaar {j.c.a.m.buijs,j.j.c.l.vogelaar}@tue.nl. August 2010
ProM 6 Exercises J.C.A.M. (Joos) Buijs and J.J.C.L. (Jan) Vogelaar {j.c.a.m.buijs,j.j.c.l.vogelaar}@tue.nl August 2010 The exercises provided in this section are meant to become more familiar with ProM
More informationHow To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
More informationCS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
More informationApplying Model Management to Classical Meta Data Problems
Applying Model Management to Classical Meta Data Problems Philip A. Bernstein Microsoft Research One Microsoft Way Redmond, WA 98052-6399 philbe@microsoft.com Abstract Model management is a new approach
More informationOn the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
More informationThe DEx CD Lite language. Version 1.0. April 3 rd, 2014
The DEx CD Lite language Version 1.0 April 3 rd, 2014 Internal report Marita Breuer, Robert Eikermann, Timo Greifenberg, Katrin Hölldobler, Andreas Horst, Markus Look, Steffi Kaiser, Dimitri Plotnikov,
More informationOn General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages
On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical
More informationFormal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
More informationSemantics and Verification of Software
Semantics and Verification of Software Lecture 21: Nondeterminism and Parallelism IV (Equivalence of CCS Processes & Wrap-Up) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification)
More informationStatic Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
More informationModel Comparison in MDE
A Survey of Methods and Applications of Model Comparison Technical Report 2011-582 Rev. 3 Matthew Stephan, James R. Cordy School of Computing Queen s University Kingston, Ontario, Canada {stephan,cordy}@cs.queensu.ca
More informationTECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.
CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express
More informationChapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
More informationSafe Automotive software architecture (SAFE) WP3 Deliverable D3.6.b: Safety Code Generator Specification
Contract number: ITEA2 10039 Safe Automotive software architecture (SAFE) ITEA Roadmap application domains: Major: Services, Systems & Software Creation Minor: Society ITEA Roadmap technology categories:
More informationAutomatic Test Data Generation for TTCN-3 using CTE
Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee
More informationModel-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven
More informationSimulation-Based Security with Inexhaustible Interactive Turing Machines
Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany kuesters@ti.informatik.uni-kiel.de
More informationModeling Practices in Open Source Software
Modeling Practices in Open Source Software Omar Badreddin 1, Timothy C. Lethbridge 1, Maged Elassar 2 1 University of Ottawa 800 King Edward 2 IBM Ottawa Laboratories 770 Palladium Dr. Ottawa, Ontario,
More informationScheduling Home Health Care with Separating Benders Cuts in Decision Diagrams
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery
More informationWeb Data Extraction: 1 o Semestre 2007/2008
Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008
More informationTwo-Way Traceability and Conflict Debugging for AspectLTL Programs
Two-Way Traceability and Conflict Debugging for AspectLTL Programs Shahar Maoz RWTH Aachen University, Germany maoz@se-rwth.de Yaniv Sa ar Weizmann Institute of Science, Israel yaniv.saar@weizmann.ac.il
More informationSemantic-enabled Software Engineering and Development
Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract:
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationLAB 3: Introduction to Domain Modeling and Class Diagram
LAB 3: Introduction to Domain Modeling and Class Diagram OBJECTIVES Use the UML notation to represent classes and their properties. Perform domain analysis to develop domain class models. Model the structural
More informationThe ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
More informationCompuScholar, Inc. Alignment to Utah's Computer Programming II Standards
CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards Course Title: TeenCoder: Java Programming Course ISBN: 978 0 9887070 2 3 Course Year: 2015 Note: Citation(s) listed may represent
More informationMaster s Program in Information Systems
The University of Jordan King Abdullah II School for Information Technology Department of Information Systems Master s Program in Information Systems 2006/2007 Study Plan Master Degree in Information Systems
More informationSDMX technical standards Data validation and other major enhancements
SDMX technical standards Data validation and other major enhancements Vincenzo Del Vecchio - Bank of Italy 1 Statistical Data and Metadata exchange Original scope: the exchange Statistical Institutions
More informationRuntime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS
More informationStatic Analyzers. Context. Learning Objectives
Static Analyzers Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design
More informationTowards Collaboration on Accessible UML Models
his is a draft version of the full paper to be presented at the AI4VIP workshop colocated with MuC'15. owards Collaboration on Accessible UML Models Stephan Seifermann, Henning roenda Software Engineering,
More informationBusiness-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
More informationA Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation
PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris
More informationA terminology model approach for defining and managing statistical metadata
A terminology model approach for defining and managing statistical metadata Comments to : R. Karge (49) 30-6576 2791 mail reinhard.karge@run-software.com Content 1 Introduction... 4 2 Knowledge presentation...
More informationModel-Based Testing of Software Product Lines
Model-Based Testing of Software Product Lines Prof. Dr. Holger Schlingloff Fraunhofer FOKUS & Humboldt Universität holger.schlingloff@fokus.fraunhofer.de H. Schlingloff, Fraunhofer FOKUS Fraunhofer FOKUS
More informationVersion Spaces. riedmiller@informatik.uni-freiburg.de
. Machine Learning Version Spaces Prof. Dr. Martin Riedmiller AG Maschinelles Lernen und Natürlichsprachliche Systeme Institut für Informatik Technische Fakultät Albert-Ludwigs-Universität Freiburg riedmiller@informatik.uni-freiburg.de
More informationInternational Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company
International Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company Rapid Construction of Software Comprehension Tools WELF LÖWE Software Technology Group, MSI,
More information1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2
Business Process Modeling with EPC and UML Transformation or Integration? Dr. Markus Nüttgens, Dipl.-Inform. Thomas Feld, Dipl.-Kfm. Volker Zimmermann Institut für Wirtschaftsinformatik (IWi), Universität
More informationSemantics of UML class diagrams
1 Otto-von-Guericke Universität Magdeburg, Germany April 26, 2016 Sets Definition (Set) A set is a collection of objects. The basic relation is membership: x A (x is a member of A) The following operations
More informationThe Theory of Concept Analysis and Customer Relationship Mining
The Application of Association Rule Mining in CRM Based on Formal Concept Analysis HongSheng Xu * and Lan Wang College of Information Technology, Luoyang Normal University, Luoyang, 471022, China xhs_ls@sina.com
More information1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
More informationAI: A Modern Approach, Chpts. 3-4 Russell and Norvig
AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,
More informationHierarchical Data Visualization. Ai Nakatani IAT 814 February 21, 2007
Hierarchical Data Visualization Ai Nakatani IAT 814 February 21, 2007 Introduction Hierarchical Data Directory structure Genealogy trees Biological taxonomy Business structure Project structure Challenges
More informationDeveloping Complex Systems using DOORS and UML
Developing Complex Systems using DOORS and UML Telelogic 2004 User Group Conference Americas and Asia/Pacific Michael Sutherland michael.sutherland@galactic-solutions.com Abstract In order to successfully
More informationProcess Modeling Notations and Workflow Patterns
Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States ABSTRACT The research work of Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, and Alistair Barros
More informationFormal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
More informationMeta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
More informationOrganization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More informationTowards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota staats@cs.umn.edu Abstract We present
More informationCASE workbenches. . Software tools to support specific process phases. Objectives. Chapter 26. Chapter 26 CASE Workbenches
Chapter 26 Chapter 26 CASE Workbenches Learning Objective. Software tools to support specific process phases Frederick T Sheldon Assistant Professor of Computer Science Washington State University From
More informationTowards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany tammo.freese@offis.de Abstract. Test-Driven Development is a technique where
More informationADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
More informationTowards a Multi-Domain Model-Driven Traceability Approach
Towards a Multi-Domain Model-Driven Traceability Approach Masoumeh Taromirad, Nicholas Matragkas, and Richard F. Paige Department of Computer Science, University of York, UK [mt705,nicholas.matragkas,richard.paige]@york.ac.uk
More informationOptimizing Description Logic Subsumption
Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam Fazel-Zarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization
More informationA Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
More informationCOCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
More informationJRefleX: Towards Supporting Small Student Software Teams
JRefleX: Towards Supporting Small Student Software Teams Kenny Wong, Warren Blanchet, Ying Liu, Curtis Schofield, Eleni Stroulia, Zhenchang Xing Department of Computing Science University of Alberta {kenw,blanchet,yingl,schofiel,stroulia,xing}@cs.ualberta.ca
More informationDesign and Implementation of Firewall Policy Advisor Tools
Design and Implementation of Firewall Policy Advisor Tools Ehab S. Al-Shaer and Hazem H. Hamed Multimedia Networking Research Laboratory School of Computer Science, Telecommunications and Information Systems
More informationDoctor of Philosophy in Computer Science
Doctor of Philosophy in Computer Science Background/Rationale The program aims to develop computer scientists who are armed with methods, tools and techniques from both theoretical and systems aspects
More informationEMF Compare. EMF Compare. Summary : Table des mises à jour Version Date Auteur(s) Mises à jour v1.0 06/10/11 Laurent Goubet Initial Version
EMF Compare Summary : Table des mises à jour Version Date Auteur(s) Mises à jour v1.0 06/10/11 Laurent Goubet Initial Version Réf : compare_scalability.odt Page 1/7 Sommaire 1 - Scope...3 2 - Model Structure...4
More informationSoftware Development using. Architecture-Driven. Acme and ArchJava. Marwan Abi-Antoun. Software Research Seminar (SSSG)
Architecture-Driven Software Development using Acme and ArchJava Never go to sea with two chronometers; take one or three Presentation on research in progress Software Research Seminar (SSSG) Jan 12 th
More informationProcessing and data collection of program structures in open source repositories
1 Processing and data collection of program structures in open source repositories JEAN PETRIĆ, TIHANA GALINAC GRBAC AND MARIO DUBRAVAC, University of Rijeka Software structure analysis with help of network
More informationC++ Programming Language
C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract
More informationSEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation
Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since
More informationStructure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
More informationSoftware Design Document (SDD) Template
(SDD) Template Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.
More informationReducing Clocks in Timed Automata while Preserving Bisimulation
Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2
More informationAutomatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report
Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 69 Class Project Report Junhua Mao and Lunbo Xu University of California, Los Angeles mjhustc@ucla.edu and lunbo
More informationSupporting Software Development Process Using Evolution Analysis : a Brief Survey
Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada samaneh@ualberta.ca Abstract During
More informationModel-Driven Software Development for Robotics: an overview
Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University
More informationIntroduction. UML = Unified Modeling Language It is a standardized visual modeling language.
UML 1 Introduction UML = Unified Modeling Language It is a standardized visual modeling language. Primarily intended for modeling software systems. Also used for business modeling. UML evolved from earlier
More informationState Propagation of Process in Microsoft PowerPoint 2
Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik Propagation of States from BPEL Process Instances to Chevron Models David Schumm, Dimka Karastoyanova, Frank Leymann, and
More informationQuerying Past and Future in Web Applications
Querying Past and Future in Web Applications Daniel Deutch Tel-Aviv University Tova Milo Customer HR System Logistics ERP Bank ecomm CRM Supplier Outline Introduction & Motivation Querying Future [VLDB
More informationA Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
More informationML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
More informationSoftware Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe
More informationSoftware Performance Evaluation Utilizing UML Specification and SRN Model and Their Formal Representation
Software Performance Evaluation Utilizing UML Specification and SRN Model and Their Formal Representation Razib Hayat Khan*, Poul E. Heegaard Norwegian University of Science & Technology (NTNU), Trondheim,
More informationModeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *
for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This
More informationRETRATOS: Requirement Traceability Tool Support
RETRATOS: Requirement Traceability Tool Support Gilberto Cysneiros Filho 1, Maria Lencastre 2, Adriana Rodrigues 2, Carla Schuenemann 3 1 Universidade Federal Rural de Pernambuco, Recife, Brazil g.cysneiros@gmail.com
More informationTUM INSTITUT FÜR INFORMATIK. Matching and Evaluation of Disjunctive Predicates for Data Stream Sharing TECHNISCHE UNIVERSITÄT MÜNCHEN
TUM INSTITUT FÜR INFORMATIK Matching and Evaluation of Disjunctive Predicates for Data Stream Sharing Richard Kuntschke Alfons Kemper ÀÁÂ ÃÄÅÆÇ TUM-I0615 August 06 TECHNISCHE UNIVERSITÄT MÜNCHEN TUM-INFO-08-I0615-100/1.-FI
More informationTopology Analysis of Car Platoons Merge with FujabaRT & TimedStoryCharts - a Case Study
Topology Analysis of Car Platoons Merge with FujabaRT & TimedStoryCharts - a Case Study Christian Heinzemann 1, Julian Suck 1, Ruben Jubeh 2, Albert Zündorf 2 1 University of Paderborn, Software Engineering
More informationA Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
More informationAnalysis of Algorithms I: Optimal Binary Search Trees
Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search
More informationPatterns for Architectural Analysis and Systems Integration
Patterns for Architectural Analysis and Systems Integration 1 st Braga, Portugal July 2, 2011 Context Context In the context of Cloud Computing... Software deployed somewhere with illusion of infinite
More informationAligning an ERP system with enterprise requirements: An object-process based approach
Computers in Industry 56 (2005) 639 662 www.elsevier.com/locate/compind Aligning an ERP system with enterprise requirements: An object-process based approach Pnina Soffer a, *, Boaz Golany b, Dov Dori
More information