Issues and Challenges in Model Versioning

Issues and Challenges in Model Versioning

Issues and Challenges in Model Versioning Tutorial at iiWAS2009/MoMM2009 (Kuala Lumpur, Malaysia) 14.12.2009 Dipl.-Ing. Kerstin Altmanninger (Presenter) Johannes Kepler University Linz, Austria Dipl.-Ing. Kerstin Altmanninger Johannes Kepler University Linz Department of Telecooperation (TK) Altenberger Straße 69, 4040 Linz, Austria Phone: +43 (0)70/2468-9262 Fax: +43 (0)70/2468-9829 Email: [email protected] WWW: http://www.tk.jku.at Projects: . ModelCVS: A Semantic Infrastructure for Model-based Tool Integration . AMOR – Adaptable Model Versioning PhD thesis: Models in Conflict – A Semantically Enhanced Version Control System for Model Artifacts Issues and Challenges in Model Versioning 2/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Outline . Introduction to Model-driven Engineering . Features of Version Control Systems • Top-level Features • 3-way Merge Features . Challenges in Model Versioning • Existing Systems • Requirements • Issues . Discussion . AMOR Project . Literature Issues and Challenges in Model Versioning 3/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Issues and Challenges in Model Versioning 4/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Problem #1: Problem Area vs. Solution Area GAP Problem GAP . How do analyze models associate with code? . How does changes in the code affect the model? GAP . Are models consistent with the code? . … modeler Traditional Development GAP GAP programmer GAP Issues and Challenges in Model Versioning 5/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Problem #2: Modeling as a Necessary Evil . »When it comes down to it, the real point of software development is cutting code« . »Diagrams are, after all, just pretty pictures« . »No user is going to thank you for pretty pictures; what a user wants is software that executes« [M. Fowler, ”UML Distilled”, 1st edition, Addison Wesley, 1997] Issues and Challenges in Model Versioning 6/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Solution: Model-driven Engineering (MDE) Model-driven Engineering Model-Driven Architecture Domain-Specific Modeling (MDA) (DSM) Platform Independent Model (PIM) Model a m a Platform Specific Model (PSM) a m Code Code OMG, ArcStyler, OptimalJ, Executable MetaCase, Eclipse Modeling Framework, OSLO, UML, AndroMDA, … Software Factories, WebRatio, … Issues and Challenges in Model Versioning 7/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Effect #1: Evolution of Modeling . Models as sketch • Communication of ideas/alternatives • Goal: Modeling . Models as templates time • Documentation of design decisions • Goal: Implementation guide . Models as programs • Generation of applications automatically • Goal: Models are source code and vice versa Issues and Challenges in Model Versioning 8/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Effect #2: Model as the Central Artifact Static Analysis Dynamic Analysis Documentation Rapid Prototyping Model Refactorings/ Code Generation Transformations Versioning Automatic Testing Issues and Challenges in Model Versioning 9/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Introduction to Model-driven Engineering Effect #3: Models are more than just Pictures . Foundation: Formal language definition . Modeling languages: MOF, Ecore, … . Automatic model processing (e.g., PIM -> PSM, refactoring) . Model transformation languages: QVT, ATL, … . From the model to software . Code generation languages: JET, Xpand, … . Persistent model storage and model exchange . Model serialization/deserialization: XMI Issues and Challenges in Model Versioning 10/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems Issues and Challenges in Model Versioning 11/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems Overview of Version Control Systems . Part of Software Configuration Management . Basic components: • Repository • (Software) Artifacts => versions (revisions vs. variants) . Purpose: • Historical archiving and management of changes in (software) artifacts − retrieving old revisions − keeping track of changes repository • Supports collaboration revisions & variants Issues and Challenges in Model Versioning 12/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems Top-level Features Version Control System Collaboration Merge Repository Branching Architecture Pessimistic Optimistic Raw Two-way Three-way Centralized Distributed Implicit Explicit Comparison Conflict Detection Conflict Resolution Merge Issues and Challenges in Model Versioning 13/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Collaboration • Merge Pessimistic Versioning • Repository Architecture • Branching 1 repository 2 repository 3 repository 4 repository V V VV’ VV’ checkout lock lock commit checkout unlock lock V V’ V’ V’ V’ Bart Lisa Bart Lisa Bart Lisa Bart Lisa . Lock-modify-unlock paradigm . Disadvantages: • Prohibits parallel working • Administration overhead • False sense of security Issues and Challenges in Model Versioning 14/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Collaboration • Merge Optimistic Versioning • Repository Architecture • Branching 1 repository 2 repository 3 repository 4 repository V VV” VV” VV” checkout checkout commit commit V V V’ V” V’ V” V’ V* V” Bart Lisa Bart Lisa Bart Lisa Bart update Lisa 5 repository . Copy-modify-merge paradigm V VV* . Advantage: commit • Saves time V* V” . Disadvantage: Bart Lisa • Result depends on quality of the merge Issues and Challenges in Model Versioning 15/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Collaboration • Merge Raw vs. Two-way vs. Three-way • Repository Architecture • Branching (a) Raw (b) Two-way (c) Three-way V V V change’ change’’ change’ change’’ change’ change’’ diff diff’ diff’’ V’ V’’ V’ V’’ V’ V’’ change’’ conflicts & equivalences inconsistencies V* V* V* Issues and Challenges in Model Versioning 16/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Collaboration • Merge Centralized vs. Distributed • Repository Architecture • Branching . Centralized • Users access a master repository via a client • Edited working copies must be committed before they can be propagated to other VCS users • Version history is only available in the master repository . Distributed • Each user has an own repository • Repositories can be synchronized optionally with others • Version history is distributed on the different repositories Issues and Challenges in Model Versioning 17/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Collaboration • Merge Branching Variants • Repository Architecture • Branching . Implicit/Explicit . Used due to different intentions • Version Management − software product releases • Variant Management − software product variants − common core • Decentralized Version Control Systems • Resolution Support − storage of the intermediate versions before a merge − to retrieve information about differences, conflicts and resolution patterns Issues and Challenges in Model Versioning 18/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems 3-way Merge Features diff’ V C diff” A A A C A A A A C A A A C A Comparison A A A A A C A A A A A A V’ V” Conflict Detection Report Conflict V’ V” Resolution V* Merge Issues and Challenges in Model Versioning 19/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems Comparison Phase Comparison Basis Representation Differences Match Granularity State Change Line Tree Graph Generic Specific Specific Atomic Atomic Composite UUID Heuristics Fixed Configurable Issues and Challenges in Model Versioning 20/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Basis • Match • Representation State vs. Change • Granularity • Differences State-based Change-based ADD 1 8 1 1 8 1 2 3 4 2 4 2 3 4 2 UPD 4 5 6 7 5 6 7 5 6 7 5 6 7 . Input: . Input: • Two versions of an artifact • Two versions of an artifact • Change protocol (log file) . Advantage: . Advantage: • Independent of a development environment / • Composite operations available editor . Disadvantage: . Disadvantage: • Bounded to an development environment / • Matching techniques needed editor . Conflict detection is computed on the resulting . Conflict detection is computed on the difference sets logged changes Issues and Challenges in Model Versioning 21/77 Tutorial@iiWAS2009/MoMM2009 Dipl.-Ing. Kerstin Altmanninger Features of Version Control Systems • Basis • Match • Representation UUIDs vs. Heuristics • Granularity • Differences . Matching approaches particular important for state-based versioning . Needed to identify the artifact’s elements occurring in both versions . Universally Unique Identifiers (UUIDs) • All elements in an artifact need to provide an UUID • Newly created elements must be assigned with an UUID • UUIDs must not be modified until the deletion

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    77 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us