Post on 09-Apr-2018
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