ABSTRACT
Activity diagrams (ADs) have recently become widely used in the modeling of workflows, business processes, and web-services, where they serve various purposes, from documentation, requirement definitions, and test case specifications, to simulation and code generation. As models, programs, and systems evolve over time, understanding changes and their impact is an important challenge, which has attracted much research efforts in recent years.
In this paper we present addiff, a semantic differencing operator for ADs. Unlike most existing approaches to model comparison, which compare the concrete or the abstract syntax of two given diagrams and output a list of syntactical changes or edit operations, addiff considers the semantics of the diagrams at hand and outputs a set of diff witnesses, each of which is an execution trace that is possible in the first AD and is not possible in the second. We motivate the use of addiff, formally define it, and show two algorithms to compute it, a concrete forward-search algorithm and a symbolic fixpoint algorithm, implemented using BDDs and integrated into the Eclipse IDE. Empirical results and examples demonstrate the feasibility and unique contribution of addiff to the state-of-the-art in version comparison and evolution analysis.
- M. Alanen and I. Porres. Difference and union of models. In P. Stevens, J. Whittle, and G. Booch, editors, Proc. 6th Int. Conf. on the UML, volume 2863 of LNCS, pages 2--17. Springer, 2003.Google Scholar
- T. Apiwattanapong, A. Orso, and M. J. Harrold. JDiff: A differencing technique and tool for object-oriented programs. Autom. Softw. Eng., 14(1):3--36, 2007. Google ScholarDigital Library
- J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Inf. Comput., 98(2):142--170, 1992. Google ScholarDigital Library
- R. Cavada, A. Cimatti, C. A. Jochim, G. Keighren, E. Olivetti, M. Pistore, M. Roveri, and A. Tchaltsev. NuSMV User Manual, 2005.Google Scholar
- EMF Compare. http://www.eclipse.org/modeling/emft/?project=compare.Google Scholar
- K.-D. Engel, R. F. Paige, and D. S. Kolovos. Using a model merging language for reconciling model versions. In A. Rensink and J. Warmer, editors, ECMDA-FA, volume 4066 of LNCS, pages 143--157. Springer, 2006. Google ScholarDigital Library
- R. Eshuis. Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol., 15(1):1--38, 2006. Google ScholarDigital Library
- D. Fahland, C. Favre, B. Jobstmann, J. Koehler, N. Lohmann, H. Völzer, and K. Wolf. Instantaneous soundness checking of industrial business process models. In U. Dayal, J. Eder, J. Koehler, and H. A. Reijers, editors, BPM, volume 5701 of LNCS, pages 278--293. Springer, 2009. Google ScholarDigital Library
- D. Harel and A. Naamad. The STATEMATE Semantics of Statecharts. ACM Trans. Softw. Eng. Methodol., 5(4):293--333, 1996. Google ScholarDigital Library
- D. Harel and B. Rumpe. Meaningful modeling: What's the semantics of "semantics"? IEEE Computer, 37(10):64--72, 2004. Google ScholarDigital Library
- D. Jackson and D. A. Ladd. Semantic diff: A tool for summarizing the effects of modifications. In H. A. Müller and M. Georges, editors, ICSM, pages 243--252. IEEE Computer Society, 1994. Google ScholarDigital Library
- C. Knieke and U. Goltz. An executable semantics for UML 2 activity diagrams. In Proc. Int. Workshop on Formalization of Modeling Languages (FML), 2010. Google ScholarDigital Library
- H. Krahn, B. Rumpe, and S. Völkel. MontiCore: a framework for compositional development of domain specific languages. Int. J. on Software Tools for Technology Transfer (STTT), 12(5):353--372, 2010. Google ScholarDigital Library
- J. M. Küster, C. Gerth, and G. Engels. Dependent and conflicting change operations of process models. In R. F. Paige, A. Hartman, and A. Rensink, editors, ECMDA-FA, volume 5562 of LNCS, pages 158--173. Springer, 2009. Google ScholarDigital Library
- S. Maoz. Model-based traces. In M. R. V. Chaudron, editor, MoDELS Workshops, volume 5421 of LNCS, pages 109--119. Springer, 2008.Google Scholar
- S. Maoz. Using model-based traces as runtime models. IEEE Computer, 42(10):28--36, 2009. Google ScholarDigital Library
- S. Maoz, J. O. Ringert, and B. Rumpe. An Operational Semantics for Activity Diagrams using SMV. Technical Report AIB 2011-07, RWTH Aachen University, Germany, 2011.Google Scholar
- S. Maoz, J. O. Ringert, and B. Rumpe. CDDiff: Semantic differencing for class diagrams. In M. Mezini, editor, Proc. 25th Euro. Conf. on Object Oriented Programming (ECOOP'11), volume 6813 of LNCS, pages 230--254. Springer, 2011. Google ScholarDigital Library
- S. Maoz, J. O. Ringert, and B. Rumpe. A manifesto for semantic model differencing. In J. Dingel and A. Solberg, editors, MoDELS Workshops, volume 6627 of LNCS, pages 194--203. Springer, 2011. Google ScholarDigital Library
- K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993. Google ScholarDigital Library
- A. Mehra, J. Grundy, and J. Hosking. A generic approach to supporting diagram differencing and merging for collaborative design. In ASE, pages 204--213. ACM, 2005. Google ScholarDigital Library
- MontiCore project. http://www.monticore.org/.Google Scholar
- D. Ohst, M. Welle, and U. Kelter. Differences between versions of UML diagrams. In Proc. ESEC / SIGSOFT FSE, pages 227--236. ACM, 2003. Google ScholarDigital Library
- OMG. UML, version 2.2, OMG Specification, 2009.Google Scholar
- S. Person, M. B. Dwyer, S. G. Elbaum, and C. S. Pasareanu. Differential symbolic execution. In SIGSOFT FSE, pages 226--237. ACM, 2008. Google ScholarDigital Library
- N. Piterman, A. Pnueli, and Y. Sa'ar. Synthesis of reactive(1) designs. In E. A. Emerson and K. S. Namjoshi, editors, VMCAI, volume 3855 of LNCS, pages 364--380. Springer, 2006. Google ScholarDigital Library
- A. Pnueli, Y. Sa'ar, and L. Zuck. JTLV: A framework for developing verification algorithms. In T. Touili, B. Cook, and P. Jackson, editors, CAV, volume 6174 of LNCS, pages 171--174. Springer, 2010. Google ScholarDigital Library
- Semantic diff project. http://www.se-rwth.de/materials/semdiff/.Google Scholar
- SMV model checker. http://www.cs.cmu.edu/~modelcheck/smv.html.Google Scholar
- F. Somenzi. CUDD: CU Decision Diagram package. http://vlsi.colorado.edu/~fabio/CUDD/, 1998.Google Scholar
- H. Störrle. Semantics of control-flow in UML 2.0 activities. In VL/HCC, pages 235--242. IEEE Computer Society, 2004. Google ScholarDigital Library
- Z. Xing and E. Stroulia. Differencing logical UML models. Autom. Softw. Eng., 14(2):215--259, 2007. Google ScholarDigital Library
Index Terms
- ADDiff: semantic differencing for activity diagrams
Recommendations
Symbolic model checking of UML activity diagrams
Two translations from activity diagrams to the input language of NuSMV, a symbolic model verifier, are presented. Both translations map an activity diagram into a finite state machine and are inspired by existing statechart semantics. The requirements-...
An ArgoUML metamodel extension for the workflow systems
Selected papers from the International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications, 2004The Unified Model Language (UML) has nine diagrams. One of them is the activity diagram. This allows the modeling of business processes. A business process is a set of logically related tasks executed to achieve a business result. Workflow systems are ...
An approach and tool for synchronous refactoring of UML diagrams and models using model-to-model transformations
WRT '12: Proceedings of the Fifth Workshop on Refactoring ToolsWhen refactorings are applied to software models that are specified using the Unified Modeling Language (UML), the actual model and the graphical presentation of the model using a diagram need to be distinguished. While UML refactoring tools exist, they ...
Comments