an existing syntactic diff-merge tool.
Semantic merging takes into consideration the
semantics of the merged result. Examples of
semantic merging include: merging that results in an
undeclared variable (static conflict), or merging that
results in an inconsistent behavior (behavioral
conflict) like (Berzins, 1994) and (Binkley et al,
1995).
Umple merging and versioning tools can be
improved by adopting such enhanced textual
merging techniques. However, there is an inherent
conflict between maintaining language
independence with the merging and versioning tools,
and introducing syntactic and semantic merging.
There are a few approaches that attempt to support
semantic merging without compromising their
language independence, like (Westfechtel, 1991) and
(Edwards, 1997).
7 CONCLUSIONS
We have shown how Umple, a textual notation that
combines modeling elements with traditional
algorithmic code, can facilitate merging and
versioning of both models and code.
We highlighted our view of the problems of
model merging and versioning and how Umple can
help solve them. We have reliably used the Umple
platform, along with merging and versioning using
SVN, to develop Umple itself and other applications.
Key items of future work include exploring the
benefits of intelligent merging, as discussed in the
last section, and conducting additional empirical
evaluation, such as formal usability studies.
Using Umple does not preclude the use of other
modeling tools. For example, we have integrated
Umple with IBM Rational tools and are working on
doing this with open source tools like Papyrus. Such
integration enables modellers to use the visual
editing capabilities in these tools, and still benefit
from the added benefits provided by Umple.
REFERENCES
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.
Alanen, M. and Porres, I. "Difference and Union of
Models". 2003. Lecture Notes in Computer Science,
Springer. pp. 2-17.
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 Co-
Evolution and Consistency Management, 2008.
ArgoUML, " ArgoUML Modeling Tool.", accessed 2009,
http://argouml.tigris.org/.
Astah Co. "Astah". 2009.
Schneider, C. and Zündorf, A. "Experiences in using
Optimisitic Locking in Fujaba". 2007. Softwaretechnik
Trends, vol 27, Citeseer.
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.
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.
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.
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.
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.
Badreddin, Omar. ; Lethbridge, Timothy C. "Combining
experiments and grounded theory to evaluate a
research prototype: Lessons from the umple model-
oriented programming technology", User Evaluation
for Software Engineering Researchers (USER), 2012.
10.1109/USER.2012.6226575 , 2012 , Page(s): 1- 4.
Badreddin, Omar, Timothy C. Lethbridge, and Maged
Elassar. "Modeling Practices in Open Source
Software." Open Source Software: Quality
Verification. Springer, 2013. 127-139.
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.
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.
Berzins, V. "Software Merge: Semantics of Combining
Changes to Programs". 1994.
ACM Transactions on
Programming Languages and Systems , vol 16, ACM
MODELSWARD2014-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
262