Software & Systems Modeling

, Volume 12, Issue 4, pp 789–824 | Cite as

Confluence of aspects for sequence diagrams

  • Roy Grønmo
  • Ragnhild Kobro Runde
  • Birger Møller-Pedersen
Regular Paper

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.

Keywords

Aspect Weave Confluence Aspect interaction Aspect interference Graph transformation Critical pair UML Sequence diagram 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)Google Scholar
  2. 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)Google Scholar
  3. 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)Google Scholar
  4. 4.
    Bezem M., Klop J.W., de Vrijer R.: Term Rewriting Systems. Cambridge University Press, Cambridge (2003)MATHGoogle Scholar
  5. 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)Google Scholar
  6. 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)Google Scholar
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 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)Google Scholar
  10. 10.
    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)MATHGoogle Scholar
  11. 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)Google Scholar
  12. 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)Google Scholar
  13. 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)Google Scholar
  14. 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)Google Scholar
  15. 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)Google Scholar
  16. 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)Google Scholar
  17. 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)Google Scholar
  18. 18.
    Huet G.P.: Confluent reductions: abstract properties and applications to term rewriting systems. J. ACM 27(4), 797–821 (1980)MathSciNetCrossRefMATHGoogle Scholar
  19. 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)Google Scholar
  20. 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)Google Scholar
  21. 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)Google Scholar
  22. 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)Google Scholar
  23. 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)Google Scholar
  24. 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)Google Scholar
  25. 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)Google Scholar
  26. 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)Google Scholar
  27. 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)Google Scholar
  28. 28.
    Kniesel, G.: The Condor tool. http://roots.iai.uni-bonn.de/research/condor/
  29. 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)Google Scholar
  30. 30.
    Knuth D.E., Bendix P.B.: Simple Word Problems in Universal Algebras. Pergamon Press, Oxford (1970)Google Scholar
  31. 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)Google Scholar
  32. 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)Google Scholar
  33. 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)Google Scholar
  34. 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)Google Scholar
  35. 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)Google Scholar
  36. 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)Google Scholar
  37. 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)Google Scholar
  38. 38.
    Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis—a comparison of two approaches. In: LMO, pp. 167–184. Hermès Lavoisier (2006)Google Scholar
  39. 39.
    Newman M.H.A.: On theories with a combinatorial definition of “equivalence”. Ann. Math. 43(2), 223–243 (1942)CrossRefMATHGoogle Scholar
  40. 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)Google Scholar
  41. 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)Google Scholar
  42. 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)Google Scholar
  43. 43.
    (OMG) O.M.G.: UML 2.2 Superstructure Specification, OMG document formal/2009/02-02 (2009)Google Scholar
  44. 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)Google Scholar
  45. 45.
    Post, E.L.: A variant of a recursively unsolvable problem. Bull. Am. Math. Soc. 52 (1946)Google Scholar
  46. 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)Google Scholar
  47. 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)Google Scholar
  48. 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)Google Scholar
  49. 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)Google Scholar
  50. 50.
    Sørensen, F., Grønmo, R.: The SeDi-Weaver tool. http://folk.uio.no/roygr/
  51. 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)CrossRefGoogle Scholar
  52. 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)Google Scholar
  53. 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)Google Scholar
  54. 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)Google Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Roy Grønmo
    • 1
    • 2
  • Ragnhild Kobro Runde
    • 1
  • Birger Møller-Pedersen
    • 1
  1. 1.Department of InformaticsUniversity of OsloOsloNorway
  2. 2.SINTEF ICTOsloNorway

Personalised recommendations