Enhancing UML State Machines with Aspects

  • Gefei Zhang
  • Matthias Hölzl
  • Alexander Knapp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4735)

Abstract

Separation of Concerns (SoC) is an important issue to reduce the complexity of software. Recent advances in programming language research show that Aspect-Oriented Programming (AOP) may be helpful for enhancing the SoC in software systems: AOP provides a means for describing concerns which are normally spread throughout the whole program at one location. The arguments for introducing aspects into programming languages also hold for modeling languages. In particular, modeling state-crosscutting behavior is insufficiently supported by UML state machines. This often leads to model elements addressing the same concern scattered all over the state machine. We present an approach to aspect-oriented state machines, which show considerably better modularity in modeling state-crosscutting behavior than standard UML state machines.

Keywords

State Machine Source State Mutual Exclusion Language Construct Compound Transition 
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.
    Aldawud, O., Elrad, T., Bader, A.: UML Profile for Aspect-Oriented Software Development. In: AOM. Proc. 3rd Int. Wsh. Aspect-Oriented Modeling, Boston (2003)Google Scholar
  2. 2.
    Altisen, K., Maraninchi, F., Stauch, D.: Aspect-Oriented Programming for Reactive Systems: Larissa, a Proposal in the Synchronous Framework. Sci. Comp. Prog. 63(3), 297–320 (2006)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Barry, B., de Moor, O. (eds.): AOSD 2007. Proc. 6th Int. Conf. Aspect-Oriented Software Development. ACM Press, New York (2007)Google Scholar
  4. 4.
    Chern, R., De Volder, K.: Debugging with Control-Flow Breakpoints. In: Barry, de Moor [3], pp. 96–106 (2007)Google Scholar
  5. 5.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley, Reading (2005)Google Scholar
  6. 6.
    Douence, R., Fritz, T., Loriant, N., Menaud, J.-M., Ségura-Devillechaise, M., Südholt, M.: An Expressive Aspect Language for System Applications with Arachne. In: Mezini, Tarr [14], pp. 27–38Google Scholar
  7. 7.
    Filman, R.E., Haupt, M., Hirschfeld, R. (eds.): Proc. 2nd Dynamic Aspects Wsh. (DAW 2005). Technical Report 05.01. Research Institute for Advanced Computer Science (2005)Google Scholar
  8. 8.
    Hanenberg, S., Stein, D., Unland, R.: From Aspect-Oriented Design to Aspect-Oriented Programs: Tool-Supported Translation of JPDDs into Code. In: Barry, de Moor [3], pp. 49–62Google Scholar
  9. 9.
    Herrmann, S.: Object Teams: Improving Modularity for Crosscutting Collaborations. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 248–264. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Jackson, A., Clarke, S.: Towards the Integration of Theme/UML and JPDDs. In: Proc. 8th Wsh. Aspect-Oriented Modeling, Bonn (2006)Google Scholar
  11. 11.
    Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Knapp, A., Merz, S., Rauh, C.: Model Checking Timed UML State Machines and Collaborations. In: Damm, W., Olderog, E.R. (eds.) FTRTFT 2002. LNCS, vol. 2469, pp. 395–416. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Mahoney, M., Bader, A., Elrad, T., Aldawud, O.: Using Aspects to Abstract and Modularize Statecharts. In: Proc. 5th Wsh. Aspect-Oriented Modeling, Lisboa (2004)Google Scholar
  14. 14.
    Mezini, M., Tarr, P.L. (eds.): AOSD 2005. Proc. 4th Int. Conf. Aspect-Oriented Software Development, ACM Press, New York (2005)Google Scholar
  15. 15.
    Object Management Group. Object Constraint Language, version 2.0. Specification, OMG (2006), http://www.omg.org/cgi-bin/doc?formal/06-05-01.pdf
  16. 16.
    Object Management Group. Unified Modeling Language: Superstructure, version 2.1.1. Specification, OMG (2007), http://www.omg.org/cgi-bin/doc?formal/07-02-05.pdf
  17. 17.
    Pawlak, R., Duchien, L., Florin, G., Legond-Aubry, F., Seinturier, L., Martelli, L.: A UML Notation for Aspect-Oriented Software Design. In: AOM 2002. 1st Int. Wsh Aspect-Oriented Modeling, Enschede (2002)Google Scholar
  18. 18.
    Rashid, A., Chitchyan, R.: Data-Oriented Aspects. In: Hannemann, J., Baniassad, E., Chen, K., Chiba, S., Masuhara, H., Ren, S., Zhao, J. (eds.) AOASIA 2006. Proc. 2nd Asian Wsh. Aspect-Oriented Software Development, pp. 24–29. National Institute of Informatics, Tokyo (2006)Google Scholar
  19. 19.
    Stein, D., Hanenberg, S., Unland, R.: A UML-based Aspect-Oriented Design Notation for AspectJ. In: AOSD 2002. Proc. 1st Int. Conf. Aspect-Oriented Software Development, pp. 106–112. ACM Press, New York (2002)CrossRefGoogle Scholar
  20. 20.
    Vanderperren, W., Suvée, D., Verheecke, B., Cibrán, M.A., Jonckers, V.: Adaptive Programming in JAsCo. In: Mezini, Tarr [14], pp. 75–86Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Gefei Zhang
    • 1
  • Matthias Hölzl
    • 1
  • Alexander Knapp
    • 1
  1. 1.Ludwig-Maximilians-Universität München 

Personalised recommendations