A Graph-Based Aspect Interference Detection Approach for UML-Based Aspect-Oriented Models

  • Selim Ciraci
  • Wilke Havinga
  • Mehmet Aksit
  • Christoph Bockisch
  • Pim van den Broek
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6210)

Abstract

Aspect-Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool support is required.

We propose a technique and tool support for fully automatic detection of conflicts between aspects at the model level; more specifically, our approach works on models defined in UML with an extension for modeling pointcuts and advice. As back-end we use a graph-based model checker, for which we have defined an operational semantics of UML diagrams, pointcuts and advice. In order to simulate the system, we automatically derive a graph model from the diagrams. The simulation result is another graph, which represents all possible program executions, and which can be verified against a declarative specification of invariants.

To demonstrate our approach, we discuss a UML-based AOM model of the “Crisis Management System” (CMS) and a possible design and evolution scenario. The complexity of the system makes conflicts among composed aspects hard to detect: already in the case of five simulated aspects, the state space contains 9991 different states and 99 different execution paths. Nevertheless, using appropriate pruning methods, the state space only grows polynomially with the number of aspects. In practical cases, the order of the polynomial is very small, e.g., 2 in the case of the simulated CMS; therefore, the automatic analysis scales.

Keywords

Transformation Rule Class Diagram Operational Semantic Sequence Diagram Graph Transformation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Gace: Graph-based adaptation, configuration and evolution modeling, http://trese.cs.utwente.nl/willevolve/
  2. 2.
    Akşit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting object interactions using composition filters. In: Guerraoui, R., Nierstrasz, O., Riveill, M. (eds.) ECOOP-WS 1993. LNCS, vol. 791, pp. 152–184. Springer, Heidelberg (1994)Google Scholar
  3. 3.
    Aksit, M., Rensink, A., Staijen, T.: A Graph-Transformation-Based Simulation Approach for Analysing Aspect Interference on Shared Join Points. In: AOSD 2009: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development, Charlottesville, Virginia, USA, pp. 39–50. ACM, New York (2009)CrossRefGoogle Scholar
  4. 4.
    Altisen, K., Maraninchi, F., Stauch, D.: Aspect-oriented programming for reactive systems: Larissa, a proposal in the synchronous framework. Science of Computer Programming 63(3), 297–320 (2006)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Araújo, J., Whittle, J., Kim, D.-K.: Modeling and composing scenario-based requirements with aspects. In: Proc. 12th Int’l Requirements Engineering Conference, pp. 53–62. IEEE, Los Alamitos (September 2004)CrossRefGoogle Scholar
  6. 6.
    Baniassad, E., Clarke, S.: Theme: An approach for aspect-oriented analysis and design. In: Proceedings of the 26th International Conference on Software Engineering, pp. 158–167. IEEE Computer Society, Washington (2004)CrossRefGoogle Scholar
  7. 7.
    Chitchyan, R., Rashid, A., Rayson, P., Waters, R.: Semantics-based composition for aspect-oriented requirements engineering. In: Proceedings of the 6th international conference on Aspect-oriented software development, pp. 36–48. ACM, New York (2007)CrossRefGoogle Scholar
  8. 8.
    Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M.P., Bakker, J., Tekinerdogan, B., Clarke, S., Jackson, A.: Survey of aspect-oriented analysis and design approaches. Technical Report AOSD-Europe-ULANC-9, AOSD-Europe (May 2005)Google Scholar
  9. 9.
    Ciraci, S.: Graph Based Verification of Software Evolution Requirements. PhD thesis, University of Twente (December 2009)Google Scholar
  10. 10.
    Ciraci, S., van den Broek, P., Aksit, M.: Framework for computer-aided evolution of object-oriented designs. In: COMPSAC, pp. 757–764 (2008)Google Scholar
  11. 11.
    Clarke, S., Walker, R.J.: Composition patterns: An approach to designing reusable aspects. In: Proc. 23rd Int’l Conf. Software Engineering (ICSE), May 2001, pp. 5–14 (2001)Google Scholar
  12. 12.
    Clarke, S., Walker, R.J.: Generic aspect-oriented design with Theme/UML. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 425–458. Addison-Wesley, Boston (2005)Google Scholar
  13. 13.
    Dürr, P.E.A.: Resource-based Verification for Robust Composition of Aspects. PhD thesis, University of Twente, Enschede (June 2008)Google Scholar
  14. 14.
    Ehrig, H.: Introduction to the algebraic theory of graph grammars. In: Claus, V., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1978. LNCS, vol. 73, pp. 1–69. Springer, Heidelberg (1979)CrossRefGoogle Scholar
  15. 15.
    Engels, G., Heckel, R., Sauer, S.: Dynamic Meta Modeling: A Graphical Approach to Operational Semantics of Behavioral Diagrams in UML (1999)Google Scholar
  16. 16.
    Engels, G., Soltenborn, C., Wehrheim, H.: Analysis of UML Activities Using Dynamic Meta Modeling. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 76–90. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    France, R., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modelling. IEE Proceedings Software 151(4), 173–185 (2004)CrossRefGoogle Scholar
  18. 18.
    Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundam. Inf. 26(3-4), 287–313 (1996)MATHMathSciNetGoogle Scholar
  19. 19.
    Havinga, W.K., Nagy, I., Bergmans, L.M.J., Akşit, M.: A graph-based approach to modeling and detecting composition conflicts related to introductions. In: de Moor, O. (ed.) Proceedings of International Conference on Aspect Oriented Software Development, AOSD 2007, Vancouver, Canada, March 2007. ACM International Conference Proceedings Series, pp. 85–95. ACM Press, New York (2007)CrossRefGoogle Scholar
  20. 20.
    Helm, R., Holland, I., Gangopadhyay, D.: Contracts: specifying behavioral compositions in object-oriented systems. ACM Sigplan Notices 25(10), 169–180 (1990)CrossRefGoogle Scholar
  21. 21.
    Jayaraman, P.K., Whittle, J.: Ucsim: A tool for simulating use case scenarios. In: ICSE COMPANION 2007: Companion to the proceedings of the 29th International Conference on Software Engineering, Washington, DC, USA, 2007, pp. 43–44. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  22. 22.
    Kastenberg, H., Kleppe, A.G., Rensink, A.: Defining OO Execution Semantics Using Graph Transformations. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 186–201. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
    Kastenberg, H., Rensink, A.: Model Checking Dynamic States in GROOVE. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 299–305. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Katz, E., Katz, S.: Verifying scenario-based aspect specifications. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, p. 432. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  25. 25.
    Katz, S., Rashid, A.: From aspectual requirements to proof obligations for aspect-oriented systems. In: Proceedings 12th IEEE International Requirements Engineering Conference, pp. 48–57 (2004)Google Scholar
  26. 26.
    Kleppe, A., Rensink, A.: On a Graph-Based Semantics for UML Class and Object Diagrams. In: Proceedings of the 7th International Workshop on Graph Transformation and Visual Modeling Techniques. Electronic Communications of the EASST, vol. 10, p. 16 (2008)Google Scholar
  27. 27.
    Kong, J., Zhang, K., Dong, J., Xu, D.: Specifying behavioral semantics of UML diagrams through graph transformations. J. Syst. Softw. 82(2), 292–306 (2009)CrossRefGoogle Scholar
  28. 28.
    Koppen, C., Störzer, M.: PCDiff: Attacking the fragile pointcut problem. In: Gybels, K., Hanenberg, S., Herrmann, S., Wloka, J. (eds.) European Interactive Workshop on Aspects in Software (EIWAS) (September 2004)Google Scholar
  29. 29.
    Kuske, S.: A Formal Semantics of UML State Machines Based on Structured Graph Transformation. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 241–256. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  30. 30.
    Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and Systems Modeling 6(3), 269–285 (2007)CrossRefGoogle Scholar
  31. 31.
    Mens, T., van der Straeten, R., D’Hondt, M.: Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 200–214. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  32. 32.
    Mostefaoui, F., Vachon, J.: Design-level Detection of Interactions in Aspect-UML models using Alloy. Journal of Object Technology 6, 137–165 (2007)Google Scholar
  33. 33.
    Mostefaoui, F., Vachon, J.: Verification of Aspect-UML models using Alloy. In: Proceedings of the 10th international workshop on Aspect-oriented modeling, pp. 41–48. ACM, New York (2007)CrossRefGoogle Scholar
  34. 34.
    Nagy, I., Bergmans, L., Havinga, W., Aksit, M.: Utilizing Design Information in Aspect-Oriented Programming. In: Robert Hirschfeld, A.P., Kowalczyk, R., Weske, M. (eds.) Proceedings of International Conference NetObjectDays, NODe 2005, Erfurt, Germany, September 2005. Lecture Notes in Informatics, vol. P-69, Gesellschaft für Informatik, GI (2005)Google Scholar
  35. 35.
    Rich, C., Wills, L.: Recognizing a program’s design: a graph-parsing approach. IEEE Software 7(1), 82–89 (1990)CrossRefGoogle Scholar
  36. 36.
    Sampaio, A., Chitchyan, R., Rashid, A., Rayson, P.: EA-Miner: a tool for automating aspect-oriented requirements identification. In: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, pp. 352–355. ACM, New York (2005)CrossRefGoogle Scholar
  37. 37.
    Schauerhuber, A., Schwinger, W., Kapsammer, E., Retschitzegger, W., Wimmer, M., Kappel, G.: A survey on aspect-oriented modeling approaches. Relatorio tecnico, Vienna University of Technology (2007)Google Scholar
  38. 38.
    Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering 10(2), 203–232 (2003)CrossRefGoogle Scholar
  39. 39.
    Whittle, J.: Precise specification of use case scenarios. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 170–184. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  40. 40.
    Whittle, J., Jayaraman, P.K.: Generating hierarchical state machines from use case charts. In: RE 2006, Washington, DC, USA, 2006, pp. 16–25. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  41. 41.
    Zhao, C., Kong, J., Dong, J., Zhang, K.: Pattern-based design evolution using graph transformation. J. Vis. Lang. Comput. 18(4), 378–398 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Selim Ciraci
    • 1
  • Wilke Havinga
    • 1
  • Mehmet Aksit
    • 1
  • Christoph Bockisch
    • 1
  • Pim van den Broek
    • 1
  1. 1.University of TwenteEnschedeThe Netherlands

Personalised recommendations