Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Reduce Cost & Complexity Partner logo here Presenters Name (16pt) Presenters Title (14pt) Company/ (14pt) Manage and Deploy Applications using Virtualization.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Adaptability of learning objects by appropriate knowledge representation Anastas Misev Institute of Informatics Faculty of Natural Science and Mathematics.
Requirements Specification
CS 5521 Configuration Management the problem Not a simple task! –Different versions of software usually is in the field during the life cycle –Different.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Unified Modeling Language (UML)
Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University.
1 CMPT 275 Software Engineering Revision Control.
Chapter 1 Variables in the Web Design Environment.
Introduction To System Analysis and design
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Basic tasks of generic software Chapter 3. Contents This presentation covers the following: – The basic tasks of standard/generic software including:
UML - Development Process 1 Software Development Process Using UML (2)
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved..
Lesson 7 Guide for Software Design Description (SDD)
Chapter 7 Structuring System Process Requirements
Chapter 3 Systems Documentation Techniques Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 3-1.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Software Configuration Management (SCM)
An Introduction to Software Architecture
Introduction to MDA (Model Driven Architecture) CYT.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
More on “The Huddersfield Method” A lightweight, pattern-driven method based on SSM, Domain Driven Design and Naked Objects.
Version control Using Git Version control, using Git1.
Chapter 9 Moving to Design
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Chapter 7 Applying UML and Patterns Craig Larman
Conceptual Modelling – Behaviour
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Integrating Graphical and Textual Modelling Languages Luc Engelen and Mark van den Brand.
1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Version Control with SVN Images from TortoiseSVN documentation
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
ESDI Workshop on Conceptual Schema Languages and Tools
Version Control for Graphs as a Basis of Version Control for Models Z. Protić M. F. van Amstel M.G.J. van den Brand T. Verhoeff.
1 Multi-level Configuration Management with Fine-grained Logical Units Tien N. Nguyen Electrical and Computer Engineering Department Iowa State University.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect V7.5 Module 17: Team Modeling.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
1 Systems Architecture WG: Charter and Work Plan October 23, 2003 Takahiro Yamada, JAXA/ISAS.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Software Engineering Lecture 9: Configuration Management.
1 The FreeBSD Project: a Replication Case Study of Open Source Development.
Outline Announcements: –HW II due today! –HW III on web CVS.
Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Deployment Diagram.
Systems Analysis and Design
Deployment Diagram.
Version control, using Git
2. Specification and Modeling
Database Design Concepts and Practices
University of Houston-Clear Lake
Electrical and Computer Engineering Department
Subversion Basics Guide
Analysis models and design models
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Presentation transcript:

Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand

PAGE 2 Outline Goals Software versioning Model versioning Graphs as basis for models Versioning graphs Versioning of graph-based models Tool architecture

PAGE 3 Goals Create a system that is able to put multiple types of models under version control The models in place are amongst others: labeled transition systems, UML diagrams, Petri nets,… This system should be able to work with tooling available at the market

PAGE 4 Software versioning “The process of assigning unique identifiers to different states of software” Allows for temporal and logical relation of states of computer software (version 1.0 precedes version 2.0 and is less advanced) Software versioning and revision control form the basis for software configuration management (SCM). Quite suitable for text-based files (CVS, SVN). Used in most large software projects

PAGE 5 Software versioning: Revision of SCM features SCM basic features: Adding documents to a repository Retrieving documents from a repository Committing documents into a repository Resolving conflicts that occur during the process of committing

PAGE 6 Model versioning Tries to solve the inability of existing software versioning systems to deal with models of software artifacts* *Odysey-VCS: a Flexible Version Control System for UML Model Elements, H. Oliveiar et. al., SCM 2005 Document Paragraph Phrase Word Package Class Method Statement Model Package Class Operation Text fileJava programUML XMI file V V V C C V: Unit of versioning C: Unit of comparison

PAGE 7 Model versioning Challenges: Represent models (in enough detail) Store models Calculate differences (deltas) between models Describe and resolve conflicts while synchronizing models

PAGE 8 Model versioning: Representation of differences State based: Models are represented as sets of entities and relations. Differences are expressed in terms of states of entities and relations in initial and final model (present or absent). Operation based: Models are represented as operations required to produce a model. Difference are expressed in terms of operations required to come from initial to final model

PAGE 9 Versioning graphs Graphs consist of: Labeled nodes Labeled edges Example graph

PAGE 10 Versioning graphs Graphs can be transformed to structured text. Text can be versioned by SVN (or …). Differences expressed in terms of added/removed nodes and edges (state based). Example graph O1 O2 O3 O4 O1, O2, E1 O1, O4, E2 Textual representation Bi-directional transformation

PAGE 11 Graphs as basis for models Claim: Most models describing software artifacts can be transformed into graphs. However the transformation is different for every model type (for every meta-model).

PAGE 12 Graphs as basis for models A B: Int A ID 1 B Int ID 2 ID 3 Example: simple UML class diagram

PAGE 13 Graphs as basis for models: Graphs for more complex model types

PAGE 14 Graphs as basis for models Generic approach Models are represented as graphs. Differences are calculated on graphs, and hence are state based. Unit of versioning is the graph representation of the model. Unit of comparison is defined by the user.

PAGE 15 Graph-based model versioning

PAGE 16 Graph-based model versioning tool architecture

PAGE 17 Use-case: Application of a model version tool for versioning of UML class diagrams

PAGE 18 Use-case: Application of a model version tool for versioning of UML class diagrams

PAGE 19 Use-case: Application of a model version tool for versioning of UML class diagrams

PAGE 20 Use-case: Application of a model version tool for versioning of UML class diagrams