Presentation is loading. Please wait.

Presentation is loading. Please wait.

Version Control for Graphs as a Basis of Version Control for Models Z. Protić M. F. van Amstel M.G.J. van den Brand T. Verhoeff.

Similar presentations


Presentation on theme: "Version Control for Graphs as a Basis of Version Control for Models Z. Protić M. F. van Amstel M.G.J. van den Brand T. Verhoeff."— Presentation transcript:

1 Version Control for Graphs as a Basis of Version Control for Models Z. Protić M. F. van Amstel M.G.J. van den Brand T. Verhoeff

2 PAGE 2 Problem statement Define a generic method for version control of models It should work for graph-based models It should be possible to use it with existing tools It should be easy to use

3 PAGE 3 Solution Represent all models as graphs Use state-based versioning Differences are calculated based on structure of the models Use the experience of the existing versioning systems (CVS, SVN) to define the functions of the model versioning system

4 PAGE 4 Graphs used to represent models Graphs consist of: Labeled nodes −Each node is uniquely identified Labeled edges Example graph

5 PAGE 5 Graphs used to represent models Graphs can be transformed to structured text. Example graph O1 O2 O3 O4 O1, O2, E1 O1, O4, E2 Textual representation Bi-directional transformation

6 PAGE 6 Graph-based model versioning system: Architecture

7 PAGE 7 Example graph representation of a model A B: Int A ID 1 B Int ID 2 ID 3 Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: “Different models for model matching: An analysis of approaches to support model differencing” ICSE Workshop on Comparison and Versioning of Software Models (2009) 1-6

8 PAGE 8 Graph-based model versioning system: Architecture

9 PAGE 9 Graph-based model versioning system: Differences detection M. F. van Amstel, M. G. J. van den Brand, Z. Protic, T. Verhoef: “Graph-based calculation and representation of metamodel-independent model differences” Submitted to FASE 2010

10 PAGE 10 Questions ?

11 PAGE 11 Graph Differences

12 PAGE 12 Templating language ::= "TEMPLATE" "(" ")" "->" "[" "]" "uses" ":" ::= ::= | | "," ::= | ";" ::= | | | | ::= | | ::= "empty(" ")" ::= | ::= | "," | "," | ::= "[" "]" "=" "match(" "(" ")" ")" ::= "[" "]" "=" "union(" "[" "]", "[" "]" ")" ::= "[" "]" "=" "intersect(" "[" "]", "[" "]" ")" ::= "[" "]" "=" "subtract(" "[" "]", "[" "]" ")" ::= "{" "}" ::= | ::= "$" ::= | ::= ::= | ::= | | ::= "A"|"a"|...|"Z"|"z" ::= "_"|"="|":" ::= "0"|"1"|...|"9"


Download ppt "Version Control for Graphs as a Basis of Version Control for Models Z. Protić M. F. van Amstel M.G.J. van den Brand T. Verhoeff."

Similar presentations


Ads by Google