Version control for graph-based models - PowerPoint PPT Presentation

version control for graph based models n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Version control for graph-based models PowerPoint Presentation
Download Presentation
Version control for graph-based models

play fullscreen
1 / 20
Version control for graph-based models
159 Views
Download Presentation
eliza
Download Presentation

Version control for graph-based models

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand

  2. Outline • Goals • Software versioning • Model versioning • Graphs as basis for models • Versioning graphs • Versioning of graph-based models • Tool architecture

  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. 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. 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. Model versioning • Tries to solve the inability of existing software versioning systems to deal with models of software artifacts* Text file Java program UML XMI file Document V Package Model V Paragraph C Class V Package Phrase Method Class Word Statement C Operation V: Unit of versioning C: Unit of comparison *Odysey-VCS: a Flexible Version Control System for UML Model Elements, H. Oliveiar et. al., SCM 2005

  7. Model versioning • Challenges: • Represent models (in enough detail) • Store models • Calculate differences (deltas) between models • Describe and resolve conflicts while synchronizing models

  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. Versioning graphs • Graphs consist of: • Labeled nodes • Labeled edges Example graph

  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). O1 O2 O3 O4 O1, O2, E1 O1, O4, E2 Bi-directional transformation Example graph Textual representation

  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. Graphs as basis for models • Example: simple UML class diagram <class> <attribute> <type> A ID1 ID2 ID3 B: Int A B Int

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

  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. Graph-based model versioning

  16. Graph-based model versioning tool architecture

  17. Use-case: Application of a model version tool for versioning of UML class diagrams

  18. Use-case: Application of a model version tool for versioning of UML class diagrams

  19. Use-case: Application of a model version tool for versioning of UML class diagrams

  20. Use-case: Application of a model version tool for versioning of UML class diagrams