Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Graph-based model versioning system

VIEWS: 2 PAGES: 13

									Version control for
graph-based models

Z. Protić
M. F. van Amstel
M.G.J. van den Brand
Graph versioning

• Why …

• What is …

• How is … done




                   PAGE 2
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)

• Used in most large software projects




                                                     PAGE 3
    Software versioning



               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          PAGE 4
Graph versioning

• Graphs consist of:
 • Labeled nodes
 • Labeled edges




                   Example graph

                                   PAGE 5
Graph versioning

• Graphs can be uniquely transformed to structured text.
• Text can be versioned by existing Software Versioning System
  (SVN, CVS, BitKeeper, Perforce, Mercurial, Bazaar, …).
• Differences are expressed in terms of added/removed nodes
  and edges.

                                                 O1
                                                 O2
                          Bi-directional         O3
                         transformation          O4
                                                 O1, O2, E1
                                                 O1, O4, E2

       Example graph                       Textual representation


                                                                    PAGE 6
Graph versioning system architecture




                                       PAGE 7
Graphs as basis for models

• Most models describing software artifacts can be
  transformed into graphs.
• However the transformation is different for every
  model type (for every meta-model).




                                                      PAGE 8
Graphs as basis for models
Simple example




                 <class>   <attribute>   <type>


          A
                  ID1         ID2         ID3
      B: Int


                   A           B          Int




                                                  PAGE 9
Graphs as basis for models
Complex example




                             PAGE 10
Graph-based model versioning system
architecture




                                      PAGE 11
Graph-based model versioning tool
architecture




                                    PAGE 12
Model versioning

• 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 13

								
To top