version ing of models

Upload: jojomwebaze

Post on 09-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Version Ing of Models

    1/20

    Version control for

    graph-based models

    Z. Proti

    M. F. van Amstel

    M.G.J. van den Brand

  • 8/8/2019 Version Ing of Models

    2/20

    PAGE 2

    Outline

    Goals

    Software versioning

    Model versioning

    Graphs as basis for models Versioning graphs

    Versioning of graph-based models

    Tool architecture

  • 8/8/2019 Version Ing of Models

    3/20

    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

  • 8/8/2019 Version Ing of Models

    4/20

    PAGE 4

    Software versioning

    The process of assigning unique identifiers to different statesof software

    Allows for temporal and logical relation of states of computersoftware (version 1.0 precedes version 2.0 and is less

    advanced)

    Software versioning and revision control form the basis forsoftware configuration management (SCM).

    Quite suitable for text-based files (CVS, SVN).

    Used in most large software projects

  • 8/8/2019 Version Ing of Models

    5/20

    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

  • 8/8/2019 Version Ing of Models

    6/20

    PAGE 6

    Model versioning

    Tries to solve the inability of existing software versioningsystems 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 file Java program UML XMI file

    V

    V

    V

    C

    C

    V:Unitof versioning

    C:Unitofcomparison

  • 8/8/2019 Version Ing of Models

    7/20

    PAGE 7

    Model versioning

    Challenges:

    Represent models (in enough detail)

    Store models

    Calculate differences (deltas) between models

    Describe and resolve conflicts while synchronizingmodels

  • 8/8/2019 Version Ing of Models

    8/20

    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

  • 8/8/2019 Version Ing of Models

    9/20

    PAGE 9

    Versioning graphs

    Graphs consist of:

    Labeled nodes

    Labeled edges

    Example graph

  • 8/8/2019 Version Ing of Models

    10/20

    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

  • 8/8/2019 Version Ing of Models

    11/20

    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).

  • 8/8/2019 Version Ing of Models

    12/20

    PAGE 12

    Graphs as basis for models

    A

    B: Int

    A

    ID1

    B

    Int

    ID2 ID3

    Example: simple UML class diagram

  • 8/8/2019 Version Ing of Models

    13/20

    PAGE 13

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

  • 8/8/2019 Version Ing of Models

    14/20

    PAGE 14

    Graphs as basis for models

    Generic approach

    Models are represented as graphs.

    Differences are calculated on graphs, and hence arestate based.

    Unit of versioning is the graph representation of themodel.

    Unit of comparison is defined by the user.

  • 8/8/2019 Version Ing of Models

    15/20

    PAGE 15

    Graph-based model versioning

  • 8/8/2019 Version Ing of Models

    16/20

    PAGE 16

    Graph-based model versioning tool

    architecture

  • 8/8/2019 Version Ing of Models

    17/20

    PAGE 17

    Use-case: Application of a model version tool

    for versioning of UML class diagrams

  • 8/8/2019 Version Ing of Models

    18/20

    PAGE 18

    Use-case: Application of a model version tool

    for versioning of UML class diagrams

  • 8/8/2019 Version Ing of Models

    19/20

    PAGE 19

    Use-case: Application of a model version tool

    for versioning of UML class diagrams

  • 8/8/2019 Version Ing of Models

    20/20

    PAGE 20

    Use-case: Application of a model version tool

    for versioning of UML class diagrams