Skip to main content
Log in

Confluence of aspects for sequence diagrams

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

The last decade has seen several aspect language proposals for UML 2 sequence diagrams. Aspects allow the modeler to define crosscutting concerns of sequence diagrams and to have these woven with the sequence diagrams of a so-called base model, in order to create a woven model. In a real-world scenario, there may be multiple aspects applicable to the same base model. This raises the need to analyse the set of aspects to identify possible aspect interactions (dependencies and conflicts) between applications of aspects. We call a set of aspects terminating if they may not be applied infinitely many times for any given base model. Furthermore, we call a set of terminating aspects confluent, if they, for any given base model, always yield the same final result regardless of the order in which they are applied. Since confluence must hold for any base model, this is a much stronger result than many of the current approaches that have addressed detection of aspect interactions limited to a specific base model. Our aspects are specified using standard sequence diagrams with some extensions. In this paper, we present a confluence theory specialized for our highly expressive aspect language. For the most expressive aspects, we prove that confluence is undecidable. For another class of aspects with considerable expressiveness, we prescribe an algorithm to check confluence. This algorithm is based on what we call an extended critical pair analysis. These results are useful both for modelers and researchers working with sequence diagram aspects and for researchers wanting to establish a confluence theory for other aspect-oriented modelling or model transformation approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aksit, M., Rensink, A., Staijen, T.: A graph-transformation-based simulation approach for analysing aspect interference on shared join points. In: Proceedings of the 8th International Conference on Aspect-Oriented Software Development (AOSD 2009), pp. 39–50. ACM, New York (2009)

  2. Andrews J.H.: Process-algebraic foundations of aspect-oriented programming. In: Metalevel Architectures and Separation of Crosscutting Concerns, Third International Conference, REFLECTION. Lecture Notes in Computer Science, vol. 2192, pp. 187–209. Springer, Berlin (2001)

  3. Aßmann, U., Ludwig, A.: Aspect weaving with graph rewriting. In: Generative and Component-Based Software Engineering, First International Symposium, GCSE. Lecture Notes in Computer Science, vol. 1799, pp. 24–36. Springer, Berlin (1999)

  4. Bezem M., Klop J.W., de Vrijer R.: Term Rewriting Systems. Cambridge University Press, Cambridge (2003)

    MATH  Google Scholar 

  5. Carton, A., Driver, C., Jackson, A., Clarke, S.: Model-driven Theme/UML. In: Transactions on Aspect-Oriented Software Development VI, Special Issue on Aspects and Model-Driven Engineering. LNCS, vol. 5560, pp. 238–266. Springer, Berlin (2009)

  6. Clarke, S., Walker, R.J.: Composition patterns: an approach to designing reusable aspects. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE 2001), pp. 5–14. IEEE Computer Society, Washington (2001)

  7. Deubler, M., Meisinger, M., Rittmann, S., Krüger, I.: Modeling Crosscutting Services with UML Sequence Diagrams. In: Proceedings of the 8th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2005). LNCS, vol. 3713, pp. 522–536. Springer, Berlin (2005)

  8. Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE. Lecture Notes in Computer Science, vol. 2487, pp. 173–188. Springer, Berlin (2002)

  9. Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), pp. 141–150. ACM, New York (2004)

  10. Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)

    MATH  Google Scholar 

  11. Fradet, P., Südholt, M.: An aspect language for robust programming. In: Object-Oriented Technology, ECOOP’99 Workshop Reader, ECOOP’99. Lecture Notes in Computer Science, vol. 1743, pp. 291–292. Springer, Berlin (1999)

  12. Grønmo, R., Møller-Pedersen, B.: Aspect diagrams for UML activity models. In: Applications of Graph Transformations with Industrial Relevance, Third International Symposium, AGTIVE. Lecture Notes in Computer Science, vol. 5088. Springer, Berlin (2008)

  13. Grønmo, R., Runde, R.K., Møller-Pedersen, B.: Confluence of Aspects for Sequence Diagrams—Research Report No 390. ISBN 82-7368-351-6, ISSN no 0806-3036 October (2009)

  14. Grønmo, R., Sørensen, F., Møller-Pedersen, B., Krogdahl, S.: A semantics-based aspect language for interactions with the arbitrary events symbol. In: Proceedings of the 4th European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA 2008). LNCS, vol. 5095, pp. 262–277. Springer, Berlin (2008)

  15. Grønmo, R., Sørensen, F., Møller-Pedersen, B., Krogdahl, S.: Semantics-based weaving of UML sequence diagrams. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations (ICMT 2008). LNCS, vol. 5063, pp. 122–136. Springer, Berlin (2008)

  16. Havinga, W., Nagy, I., Bergmans, L., Aksit, M.: A graph-based approach to modeling and detecting composition conflicts related to introductions. In: Proceedings of the 6th International Conference on Aspect-Oriented Software Development (AOSD 2007). ACM International Conference Proceeding Series, vol. 208, pp. 85–95. ACM, New York (2007)

  17. Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Proceedings of the 1st International Conference on Graph Transformation (ICGT 2002). LNCS, vol. 2505, pp. 161–176. Springer, Berlin (2002)

  18. Huet G.P.: Confluent reductions: abstract properties and applications to term rewriting systems. J. ACM 27(4), 797–821 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  19. Jouault, F., Kurtev, I.: Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Revised Selected Papers. LNCS, vol. 3844, pp. 128–138. Springer, Berlin (2006)

  20. Katz, E., Katz, S.: Incremental analysis of interference among aspects. In: Proceedings of the 7th Workshop on Foundations of Aspect-Oriented Languages, FOAL 2008, pp. 29–38. ACM, New York (2008)

  21. Katz, E., Katz, S.: Modular verification of strongly invasive aspects. In: Proceedings of the 8th Workshop on Foundations of Aspect-Oriented Languages, FOAL, pp. 7–12. ACM, New York (2009)

  22. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: ECOOP ’01: Proceedings of the 15th European Conference on Object-Oriented Programming (2001)

  23. Kienzle, J., Abed, W.A., Klein, J.: Aspect-oriented multi-view modeling. In: Proceedings of the 8th International Conference on Aspect-Oriented Software Development (AOSD 2009), pp. 87–98. ACM, New York (2009)

  24. Kienzle, J., Duala-Ekoko, E., Gélineau, S.: AspectOptima: a case study on aspect dependencies and interactions. In: Transactions on Aspect-Oriented Software Development V. LNCS, vol. 5490, pp. 187–234. Springer, Berlin (2009)

  25. Klein, J. Fleurey, F., Jé]zéquel J.-M.: Weaving multiple aspects in sequence diagrams. In: Transactions on Aspect Oriented Software Development III. LNCS, vol. 4620, pp. 167–199. Springer, Berlin (2007)

  26. Klein, J., Hélouët, L., JézéquelM, J.-M.: Semantic-based weaving of scenarios. In: Proceedings of the 5th International Conference on Aspect-Oriented Software Development (AOSD 2006), pp. 27–38. ACM, New York (2006)

  27. Klint, P., van der Storm, T., Vinju, J.J.: Term rewriting meets aspect-oriented programming. In: Processes, Terms and Cycles: Steps on the Road to Infinity, Essays Dedicated to Jan Willem Klop, on the Occasion of His 60th Birthday. Lecture Notes in Computer Science, vol. 3838, pp. 88–105. Springer, Berlin (2005)

  28. Kniesel, G.: The Condor tool. http://roots.iai.uni-bonn.de/research/condor/

  29. Kniesel, G.: Detection and resolution of weaving interactions. In: Transactions on Aspect-Oriented Software Development V. LNCS, vol. 5490, pp. 135–186. Springer, Berlin (2009)

  30. Knuth D.E., Bendix P.B.: Simple Word Problems in Universal Algebras. Pergamon Press, Oxford (1970)

    Google Scholar 

  31. Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon transformation language. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations (ICMT 2008). LNCS, vol. 5063, pp. 46–60. Springer, Berlin (2008)

  32. Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularly. In: Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 137–146. ACM, New York (2004)

  33. Küster, J.M., Heckel, R., Engels, G.: Defining and validating transformations of UML models. In: Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments (HCC 2003), pp. 145–152. IEEE Computer Society, Washington (2003)

  34. Lambers, L., Ehrig, H., Orejas, F.: Conflict detection for graph transformation with negative application conditions. In: Proceedings of the 3rd International Conference on Graph Transformations (ICGT 2006). LNCS, vol. 4178, pp. 61–76. Springer, Berlin (2006)

  35. Liang, H., Diskin, Z., Dingel, J., Posse, E.: A general approach for scenario integration. In: Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS. Lecture Notes in Computer Science, vol. 5301, pp. 204–218. Springer, Berlin (2008)

  36. Man, J.D.: Towards a formal semantics of Message Sequence Charts. In: SDL’93 Using Objects, Proceedings of the 6th SDL Forum, pp. 157–165. Elsevier Science, Amsterdam (1993)

  37. Mehner, K., Monga, M., Taentzer, G.: Analysis of aspect-oriented model weaving. In: Transactions on Aspect-Oriented Software Development V. LNCS, vol. 5490, pp. 235–263. Springer, Berlin (2009)

  38. Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis—a comparison of two approaches. In: LMO, pp. 167–184. Hermès Lavoisier (2006)

  39. Newman M.H.A.: On theories with a combinatorial definition of “equivalence”. Ann. Math. 43(2), 223–243 (1942)

    Article  MATH  Google Scholar 

  40. Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification version 1.0, OMG document formal/2008-04-03 (2008)

  41. Oldevik, J., Haugen, Ø.: From sequence diagrams to Java-stairs aspects. In: Proceedings of the 8th International Conference on Aspect-Oriented Software Development (AOSD 2009), pp. 99–110. ACM, New York (2009)

  42. Oldevik, J., Haugen, Ø., Møller-Pedersen, B.: Confluence in domain-independent product line transformations. In: Fundamental Approaches to Software Engineering, 12th International Conference, FASE. Lecture Notes in Computer Science, vol. 5503. Springer, Berlin (2009)

  43. (OMG) O.M.G.: UML 2.2 Superstructure Specification, OMG document formal/2009/02-02 (2009)

  44. Plump, D.: Confluence of graph transformation revisited. In: Processes, Terms and Cycles: Steps on the Road to Infinity, Essays Dedicated to Jan Willem Klop, on the Occasion of His 60th Birthday. LNCS, vol. 3838, pp. 280–308. Springer, Berlin (2005)

  45. Post, E.L.: A variant of a recursively unsolvable problem. Bull. Am. Math. Soc. 52 (1946)

  46. Rensink, A.: The GROOVE Simulator: a tool for state space generation. In: Applications of Graph Transformations with Industrial Relevance, Second International Workshop, AGTIVE. Lecture Notes in Computer Science, vol. 3062, pp. 479–485. Springer, Berlin (2004)

  47. Rinard, M.C., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 147–158. ACM, New York (2004)

  48. Sánchez, P., Fuentes, L., Stein, D., Hanenberg, S., Unland, R.: Aspect-oriented model weaving beyond model composition and model transformation. In: Proceedings of the 11th Internation Conference on Model Driven Engineering Languages and Systems (MoDELS 2008), LNCS, vol. 5301, pp. 766–781. Springer, Berlin (2008)

  49. Solberg, A., Simmonds, D., Reddy, R., Ghosh, S., France, R.B.: Using aspect oriented techniques to support separation of concerns in model driven development. In: Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC 2005), pp. 121–126. IEEE Computer Society, Washington (2005)

  50. Sørensen, F., Grønmo, R.: The SeDi-Weaver tool. http://folk.uio.no/roygr/

  51. Stein D., Hanenberg S., Unland R.: Join point designation diagrams: a graphical representation of join point selections. Int. J. Softw. Eng. Knowl. Eng. 16(3), 317–346 (2006)

    Article  Google Scholar 

  52. Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Proceedings of the 2nd International Workshop on Applications of Graph Transformations with Industrial Relevance (AGTIVE 2003). LNCS, vol. 3062, pp. 446–453. Springer, Berlin (2003)

  53. Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: a unified approach for composing UML aspect models based on graph transformation. In: Transactions on Aspect-Oriented Software Development VI. Special Issue on Aspects and Model-Driven Engineering. LNCS, vol. 5560, pp. 191–237. Springer, Berlin (2009)

  54. Zhang, G., Hölzl, M.: HiLA: High-level aspects for UML state machines. In: Proceedings of the 14th Workshop on Aspect-Oriented Modeling (AOM@MoDELS 2009) (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roy Grønmo.

Additional information

Communicated by Prof. Robert France.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Grønmo, R., Runde, R.K. & Møller-Pedersen, B. Confluence of aspects for sequence diagrams. Softw Syst Model 12, 789–824 (2013). https://doi.org/10.1007/s10270-011-0212-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-011-0212-1

Keywords

Navigation