MODELS 2007: Model Driven Engineering Languages and Systems pp 529-543 | Cite as
Enhancing UML State Machines with Aspects
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 TransitionPreview
Unable to display preview. Download preview PDF.
References
- 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.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.Barry, B., de Moor, O. (eds.): AOSD 2007. Proc. 6th Int. Conf. Aspect-Oriented Software Development. ACM Press, New York (2007)Google Scholar
- 4.Chern, R., De Volder, K.: Debugging with Control-Flow Breakpoints. In: Barry, de Moor [3], pp. 96–106 (2007)Google Scholar
- 5.Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley, Reading (2005)Google Scholar
- 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.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.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.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.Jackson, A., Clarke, S.: Towards the Integration of Theme/UML and JPDDs. In: Proc. 8th Wsh. Aspect-Oriented Modeling, Bonn (2006)Google Scholar
- 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.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.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.Mezini, M., Tarr, P.L. (eds.): AOSD 2005. Proc. 4th Int. Conf. Aspect-Oriented Software Development, ACM Press, New York (2005)Google Scholar
- 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.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.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.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.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.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