Download presentation
Presentation is loading. Please wait.
1
Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand
2
PAGE 2 Outline Goals Software versioning Model versioning Graphs as basis for models Versioning graphs Versioning of graph-based models Tool architecture
3
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
4
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
5
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
6
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
7
PAGE 7 Model versioning Challenges: Represent models (in enough detail) Store models Calculate differences (deltas) between models Describe and resolve conflicts while synchronizing models
8
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
9
PAGE 9 Versioning graphs Graphs consist of: Labeled nodes Labeled edges Example graph
10
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
11
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).
12
PAGE 12 Graphs as basis for models A B: Int A ID 1 B Int ID 2 ID 3 Example: simple UML class diagram
13
PAGE 13 Graphs as basis for models: Graphs for more complex model types
14
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.
15
PAGE 15 Graph-based model versioning
16
PAGE 16 Graph-based model versioning tool architecture
17
PAGE 17 Use-case: Application of a model version tool for versioning of UML class diagrams
18
PAGE 18 Use-case: Application of a model version tool for versioning of UML class diagrams
19
PAGE 19 Use-case: Application of a model version tool for versioning of UML class diagrams
20
PAGE 20 Use-case: Application of a model version tool for versioning of UML class diagrams
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.