version control for graph-based models
DESCRIPTION
Version control for graph-based models. Z. Protić M. F. van Amstel M.G.J. van den Brand. Outline. Goals Software versioning Model versioning Graphs as basis for models Versioning graphs Versioning of graph-based models Tool architecture. Goals. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/1.jpg)
Version control for graph-based models
Z. Protić
M. F. van Amstel
M.G.J. van den Brand
![Page 2: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/2.jpg)
PAGE 2
Outline
• Goals• Software versioning• Model versioning• Graphs as basis for models• Versioning graphs• Versioning of graph-based models• Tool architecture
![Page 3: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/3.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/4.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/5.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/6.jpg)
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 file Java program UML XMI file
V
V
V
C
C
V: Unit of versioningC: Unit of comparison
![Page 7: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/7.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/8.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/9.jpg)
PAGE 9
Versioning graphs
• Graphs consist of:• Labeled nodes
• Labeled edges
Example graph
![Page 10: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/10.jpg)
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-directionaltransformation
![Page 11: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/11.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/12.jpg)
PAGE 12
Graphs as basis for models
A
B: Int
<class>
A
ID1
<attribute>
B
<type>
Int
ID2 ID3
• Example: simple UML class diagram
![Page 13: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/13.jpg)
PAGE 13
Graphs as basis for models:Graphs for more complex model types
![Page 14: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/14.jpg)
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: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/15.jpg)
PAGE 15
Graph-based model versioning
![Page 16: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/16.jpg)
PAGE 16
Graph-based model versioning tool architecture
![Page 17: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/17.jpg)
PAGE 17
Use-case: Application of a model version tool for versioning of UML class diagrams
![Page 18: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/18.jpg)
PAGE 18
Use-case: Application of a model version tool for versioning of UML class diagrams
![Page 19: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/19.jpg)
PAGE 19
Use-case: Application of a model version tool for versioning of UML class diagrams
![Page 20: Version control for graph-based models](https://reader030.vdocuments.net/reader030/viewer/2022033022/568138c3550346895da07ecb/html5/thumbnails/20.jpg)
PAGE 20
Use-case: Application of a model version tool for versioning of UML class diagrams