skip to main content
10.1145/2025113.2025140acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

ADDiff: semantic differencing for activity diagrams

Published:09 September 2011Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Cavada, A. Cimatti, C. A. Jochim, G. Keighren, E. Olivetti, M. Pistore, M. Roveri, and A. Tchaltsev. NuSMV User Manual, 2005.Google ScholarGoogle Scholar
  5. EMF Compare. http://www.eclipse.org/modeling/emft/?project=compare.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Eshuis. Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol., 15(1):1--38, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Harel and A. Naamad. The STATEMATE Semantics of Statecharts. ACM Trans. Softw. Eng. Methodol., 5(4):293--333, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Harel and B. Rumpe. Meaningful modeling: What's the semantics of "semantics"? IEEE Computer, 37(10):64--72, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Maoz. Model-based traces. In M. R. V. Chaudron, editor, MoDELS Workshops, volume 5421 of LNCS, pages 109--119. Springer, 2008.Google ScholarGoogle Scholar
  16. S. Maoz. Using model-based traces as runtime models. IEEE Computer, 42(10):28--36, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. MontiCore project. http://www.monticore.org/.Google ScholarGoogle Scholar
  23. D. Ohst, M. Welle, and U. Kelter. Differences between versions of UML diagrams. In Proc. ESEC / SIGSOFT FSE, pages 227--236. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. OMG. UML, version 2.2, OMG Specification, 2009.Google ScholarGoogle Scholar
  25. S. Person, M. B. Dwyer, S. G. Elbaum, and C. S. Pasareanu. Differential symbolic execution. In SIGSOFT FSE, pages 226--237. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. Semantic diff project. http://www.se-rwth.de/materials/semdiff/.Google ScholarGoogle Scholar
  29. SMV model checker. http://www.cs.cmu.edu/~modelcheck/smv.html.Google ScholarGoogle Scholar
  30. F. Somenzi. CUDD: CU Decision Diagram package. http://vlsi.colorado.edu/~fabio/CUDD/, 1998.Google ScholarGoogle Scholar
  31. H. Störrle. Semantics of control-flow in UML 2.0 activities. In VL/HCC, pages 235--242. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Z. Xing and E. Stroulia. Differencing logical UML models. Autom. Softw. Eng., 14(2):215--259, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. ADDiff: semantic differencing for activity diagrams

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
                September 2011
                548 pages
                ISBN:9781450304436
                DOI:10.1145/2025113

                Copyright © 2011 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 9 September 2011

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate17of128submissions,13%

                Upcoming Conference

                FSE '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader