A Novel Approach to Versioning and Merging Model and Code Uniformly

Omar Badreddin, Timothy C. Lethbridge, Andrew Forward

2014

Abstract

Model Driven Architecture (MDA) advocates the use of models, rather than code, as the main development artifact. Yet model versioning and merging tools still lag in capabilities, ease of use and adoption relative to source code versioning and merging tools. This forces many teams to avoid model-based collaboration and concurrent model modifications. In this paper, we highlight the main challenges behind the relatively small adoption of model merging approaches. We present a novel model-based programming technology that addresses many of those challenges. The approach treats code and models uniformly, effectively enabling modelers to version and merge models using existing text-based technologies.

References

  1. Adams, E., Gramlich, W., Muchnick, S. S. and Tirfing, S. "SunPro: Engineering a Practical Program Development Environment," in An International Workshop on Advanced Programming Environments, 1986. pp. 86-96.
  2. Alanen, M. and Porres, I. "Difference and Union of Models". 2003. Lecture Notes in Computer Science, Springer. pp. 2-17.
  3. Altmanninger, K., Kappel, G., Kusel, A., Retschitzegger, W., Seidl, M., Schwinger, W. and Wimmer, M. "AMOR-Towards Adaptable Model Versioning," in Proc. of the 1st International Workshop on Model CoEvolution and Consistency Management, 2008.
  4. ArgoUML, " ArgoUML Modeling Tool.", accessed 2009, http://argouml.tigris.org/.
  5. Astah Co. "Astah". 2009.
  6. Schneider, C. and Zündorf, A. "Experiences in using Optimisitic Locking in Fujaba". 2007. Softwaretechnik Trends, vol 27, Citeseer.
  7. Badreddin, Omar, Andrew Forward, and Timothy C. Lethbridge. "Exploring a Model-Oriented and Executable Syntax for UML Attributes." Software Engineering Research, Management and Applications. Springer, 2014. 33-53.
  8. Badreddin, Omar, Andrew Forward, and Timothy C. Lethbridge. "Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity." Software Engineering Research, Management and Applications. Springer, 2014. 129-149.
  9. Badreddin, Omar. "Empirical evaluation of research prototypes at variable stages of maturity", User Evaluations for Software Engineering Researchers (USER), 2013 2nd International Workshop , 10.1109/USER.2013.6603076. 2013 , Pages: 1- 4.
  10. Badreddin, Omar, Lethbridge, Timothy C., “Model Oriented Programming: Bridging the Code-Model Divide”. ICSE Workshop on Modeling in Software Engineering, 2013, Modeling in Software Engineering (MiSE), 2013 5th International Workshop , 10.1109/MiSE.2013.6595299. 2013 , Pages: 69 - 75.
  11. Badreddin, Omar, Andrew Forward, and Timothy C. Lethbridge. "Model oriented programming: an empirical study of comprehension." 2012 Conference of the Center for Advanced Studies on Collaborative Research. IBM Corp., 2012.
  12. Badreddin, Omar. ; Lethbridge, Timothy C. "Combining experiments and grounded theory to evaluate a research prototype: Lessons from the umple modeloriented programming technology", User Evaluation for Software Engineering Researchers (USER), 2012. 10.1109/USER.2012.6226575 , 2012 , Page(s): 1- 4.
  13. Badreddin, Omar, Timothy C. Lethbridge, and Maged Elassar. "Modeling Practices in Open Source Software." Open Source Software: Quality Verification. Springer, 2013. 127-139.
  14. Berlage, T. and Genau, A. "A Framework for Shared Applications with a Replicated Architecture," 6th Annual ACM Symposium on User Interface Software and Technology, 1993. pp. 249-257.
  15. Binkley, D., Horwitz, S. and Reps, T. "Program Integration for Languages with Procedure Calls". 1995. ACM Transactions on Software Engineering and Methodology, vol 4, ACM New York, NY, USA. pp. 3-35.
  16. Berzins, V. "Software Merge: Semantics of Combining Changes to Programs". 1994. ACM Transactions on Programming Languages and Systems , vol 16, ACM New York, NY, USA. pp. 1875-1903.
  17. Buffenbarger, J. "Syntactic Software Merging". 1995. Lecture Notes in Computer Science, Springer. pp. 153- 153.
  18. Edwards, W. K. "Flexible Conflict Detection and Management in Collaborative Applications," 10th Annual ACM Symposium on User Interface Software and Technology, 1997. pp. 139-148.
  19. Timothy C. Lethbridge, Andrew Forward, Omar Badreddin. “Problems and Opportunities for ModelCentric vs. Code-Centric Development: A Survey of Software Professionals”, C2M:EEMDD 2010. Available: http://www.esi.es/modelplex/c2m/docum/ C2M2010_survey.pdf.
  20. Forward, A., Badreddin, O. and Lethbridge, T. C. "Umple: Towards Combining Model Driven with Prototype Driven System Development," in IEEE International Symposium on Rapid System Prototyping (RSP), 2010.
  21. Forward, A., Lethbridge, T. C. and Brestovansky, D. "Improving Program Comprehension by Enhancing Program Constructs: An Analysis of the Umple Language," in IEEE International Conference on Program Comprehension (ICPC), 2009. pp. 311-312.
  22. Forward, A. " Umple Language Online.", accessed 2012, http://try.umple.org.
  23. Gentleware. "Poseidon for UML". Available: http://www.gentleware.com. Accessed 2013.
  24. Hunt, J. J., Vo, K. P. and Tichy, W. F. "Delta Algorithms: An Empirical Analysis". 1998. ACM Transactions on Software Engineering and Methodology, vol 7, ACM New York, NY, USA. pp. 192-214.
  25. IBM. "IBM Rational Software Architect Modeling Tool", accessed 2009, http://www-01.ibm.com/software/ awdtools/architect/swarchitect/.
  26. IBM, "IBM Rational ClearCase". 2004. Rational clearcase.
  27. Mens, T. "Conditional Graph Rewriting as a DomainIndependent Formalism for Software Evolution". 2000. Lecture notes in computer science, Springer. pp. 127-144.
  28. Mens, T. "A State-of-the-Art Survey on Software Merging". 2002. IEEE Trans.Software Eng.. pp. 449- 462.
  29. OMG. "UML Diagram Interchange (UMLDI)", accessed 2012, http://www.omg.org/technology/documents/modeling _spec_catalog.htm#UML_DI.
  30. Omondo. "EclipseUML". 2007.
  31. Pottinger, R. A. and Bernstein, P. A. "Merging Models Based on Given Correspondences," 29th International Conference on very Large Data Bases,Volume 29, 2003. pp. 873.
  32. Rho, J. and Wu, C. "An Efficient Version Model of Software Diagrams," 5th Asia-Pacific Software Engineering Conf, 1998. pp. 2-4.
  33. Schmidt, M. and Gloetzner, T. "Constructing Difference Tools for Models using the SiDiff Framework". 2008. ACM New York, NY, USA.
  34. Treude, C., Berlik, S., Wenzel, S. and Kelter, U. "Difference Computation of Large Models," 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2007. pp. 295- 304.
  35. Lippe, E. and van Oosterom, N. "Operation-Based Merging". 1992. ACM SIGSOFT Software Engineering Notes, vol 17, ACM New York, NY, USA. pp. 78-87.
  36. Westfechtel, B. "Structure-Oriented Merging of Revisions of Software Documents," 3rd International Workshop on Software Configuration Management, 1991. pp. 68- 79.
  37. Yang, W. "How to Merge Program Texts". 1994. J.Syst.Software, vol 27, Citeseer. pp. 129-135.
  38. Yang, W., Horwitz, S. and Reps, T. "A Program Integration Algorithm that Accommodates SemanticsPreserving Transformations". 1992. ACM Transactions on Software Engineering and Methodology, vol 1, ACM. pp. 354.
Download


Paper Citation


in Harvard Style

Badreddin O., Lethbridge T. and Forward A. (2014). A Novel Approach to Versioning and Merging Model and Code Uniformly . In Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-007-9, pages 254-263. DOI: 10.5220/0004699802540263


in Bibtex Style

@conference{modelsward14,
author={Omar Badreddin and Timothy C. Lethbridge and Andrew Forward},
title={A Novel Approach to Versioning and Merging Model and Code Uniformly},
booktitle={Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2014},
pages={254-263},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004699802540263},
isbn={978-989-758-007-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - A Novel Approach to Versioning and Merging Model and Code Uniformly
SN - 978-989-758-007-9
AU - Badreddin O.
AU - Lethbridge T.
AU - Forward A.
PY - 2014
SP - 254
EP - 263
DO - 10.5220/0004699802540263