Skip to main content
Log in

Aspect-Oriented Modeling and Verification with Finite State Machines

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Aspect-oriented programming modularizes crosscutting concerns into aspects with the advice invoked at the specified points of program execution. Aspects can be used in a harmful way that invalidates desired properties and even destroys the conceptual integrity of programs. To assure the quality of an aspect-oriented system, rigorous analysis and design of aspects are highly desirable. In this paper, we present an approach to aspect-oriented modeling and verification with finite state machines. Our approach provides explicit notations (e.g., pointcut, advice and aspect) for capturing crosscutting concerns and incremental modification requirements with respect to class state models. For verification purposes, we compose the aspect models and class models in an aspect-oriented model through a weaving mechanism. Then we transform the woven models and the class models not affected by the aspects into FSP (Finite State Processes), which are to be checked by the LTSA (Labeled Transition System Analyzer) model checker against the desired system properties. We have applied our approach to the modeling and verification of three aspect-oriented systems. To further evaluate the effectiveness of verification, we created a large number of flawed aspect models and verified them against the system requirements. The results show that the verification has revealed all flawed models. This indicates that our approach is effective in quality assurance of aspect-oriented state models. As such, our approach can be used for model-checking state-based specification of aspect-oriented design and can uncover some system design problems before the system is implemented.

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. Kiczales G, Hilsdale E, Hugunin J, Kersten M, Palm J, Griswold W G. An overview of AspectJ. In Proc. ECOOP2001, Budapest, Hungary, June 18{22, 2001, pp.327–353.

  2. Kiczales G, Lamping J, Mendhekar A, Maeda C, Lopes C V, Loingtier J M, Irwin J. Aspect-oriented programming. In Proc. ECOOP1997, Jyväskylä, Finland, June 9–13, 1997, pp.220–242.

  3. Rinard M, Salcianu A, Bugrara S. A classification system and analysis for aspect-oriented programs. In Proc. FSE 2004, New Delhi, India, Feb. 5–7, 2004, pp.147–158.

  4. Sullivan K, Griswold W G, Song Y, Cai Y, Shonle M, Tewari N, Rajan H. Information hiding interfaces for aspect-oriented design. In Proc. ESEC/FSE 2005, Lisbon, Portugal, Sept. 5–9, 2005, pp.166–175.

  5. Xu D, Xu W. State-based incremental testing of aspectoriented programs. In Proc. the Fifth International Conf. Aspect-Oriented Software Development (AOSD2006), Bonn, Germany, March 20–24, 2006, pp.180–189.

  6. Katz S. Aspect Categories and Classes of Temporal Properties. Transactions on Aspect-Oriented Software Development I, Rashid A, Aksit M (eds.), LNCS 3880, 2006, pp.106–134.

  7. Schauerhuber A, Schwinger W, Retschitzegger W, Wimmer M. A survey on aspect-oriented modeling approaches. Technical Report, Vienna University of Technology, January 2006, http://www.wit.at/people/schauerhuber/publications/aom-Survey/AOMSurvey2006-01-30.pdf.

  8. Xu D, Alsmadi I, Xu W. Model checking aspect-oriented design specification. In Proc. the 31st Annual International Computer Software and Applications Conference (COMPSAC2007), Beijing, China, July 23{27, 2007, pp.491–500.

  9. Magee J, Kramer J. Concurrency: State Models and Java Programs. Second Edition, John Wiley & Sons Ltd, 2006.

  10. Binder R V. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, 2000.

  11. UML 2.0 superstructure and infrastructure specification. http://www.omg.org/technology/documents/formal/uml.htm.

  12. Alexander R T, Bieman J M, Andrews A A. Towards the systematic testing of aspect-oriented programs. Technical Report, Colorado State University, 2004, http://www.cs.colostate.edu/!~rta/publications/CS-04-105.pdf.

  13. Aldawud O, Bader F, Elrad T. Weaving with statecharts. In The Second International Workshop on Aspect-Oriented Modeling with UML, Dresden, Germany, Sept. 30–Oct. 4, 2002.

  14. Chavez C, Lucena C. A meta-model for aspect-oriented modeling. In The 2nd Int. Workshop on Aspect-Oriented Modeling with UML, Dresden, Germany, Sept. 30–Oct. 4, 2002.

  15. Clarke S, Walker R J. Generic Aspect-Oriented Design with Theme/UML. Aspect-Oriented Software Development. Filman R E, Elrad T, Clarke S, Aksit M (eds.), Boston: Addison-Wesley, 2005, pp.425–458.

  16. Han Y, Kniesel G, Cremers A B. A meta model and modeling notation for AspectJ. In The 5th Workshop on Aspect-Oriented Modeling with UML, in conjunction with UML2004, Lisbon, Portugal, October 11–15, 2004.

  17. Pawlak R, Duchien L, Florin G, Legond-Aubry F, Seinturier L, Martelli L. A UML notation for aspect-oriented software design. In The 1st Int. Workshop on Aspect-Oriented Modeling with UML, in conjunction with AOSD2002, Enschede, The Netherlands, April 22–26, 2002.

  18. Stein D, Hanenberg S, Unland R. An UML-based aspect-oriented design notation. In Proc. the 1st Int. Conf. Aspect-Oriented Software Development (AOSD2002), Enschede, The Netherlands, April 22–26, 2002, pp.106–112.

  19. Stein D, Hanenberg S, Unland R. On representing join points in the UML. In The Second International Workshop on Aspect-Oriented Modeling with UML, Dresden, Germany, Sept. 30–Oct. 4, 2002.

  20. Zavaleta E B, Fuster G G, Morillo J L. An approach to aspect modeling with UML 2.0. In The 5th Workshop on Aspect-Oriented Modeling with UML, in conjunction with UML2004, Lisbon, Portugal, October 11–15, 2004.

  21. Elrad T, Aldawud O, Bader A. Expressing Aspects Using UML Behavior and Structural Diagrams. Aspect-Oriented Software Development, Filman et al. (eds.), Boston: Addison-Wesley, 2005, pp.459–478.

  22. Xu D, Nygard K. Threat-driven modeling and verification of secure software using aspect-oriented Petri nets. IEEE Trans. Software Engineering. April 2006, 32(4): 265–278.

    Article  Google Scholar 

  23. Ubayashi N, Tamai T. Aspect-oriented programming with model checking. In Proc. the First International Conf. Aspect-Oriented Software Development (AOSD2002), Enschede, The Netherlands, April 22–26, 2002, pp.148–154.

  24. Denaro G, Monga M. An experience on verification of aspect properties. In International Workshop on Principles of Software Evolution (IWPSE 2001), Vienna, Austria, Sept. 10–11, 2001, pp.186–189.

  25. Nelson T, Cowan D D, Alencar P S C. Supporting formal verification of crosscutting concerns. In Proc. Reflection, Kyoto, Japan, Sept. 25–28, 2001, pp.153–169.

  26. Krishnamurthi S, Fisler K, Greenberg M. Verifying aspect advice modularly. In Proc. the 12th ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE 2004), Newport Beach, USA, Oct. 31–Nov. 6, 2004, pp.137–146.

  27. Katz S, Sihman M. Aspect-validation using model-checking. In Proc. the International Symposium on Verification, in honor of Zohar Manna, LNCS 2772, Springer-Verlag, 2003, pp.389–411, Also early version in FOAL 2003.

  28. Sihman M, Katz S. Model checking applications of aspects and superimpositions. In Proc. Foundations of Aspect-Oriented Languages, Bonn, Germany, March 20–24, 2003, pp.51–60.

  29. Hatcliff J, Dwyer M. Using the Bandera tool set to model-check properties of concurrent Java software. In Proc. the 12th Int. Conf. Concurrency Theory (CONCUR2001), Aalborg, Denmark, LNCS 2154, Larsen K G, Nielsen M (eds.), Springer-Verlag, Aug. 20–25, 2001, pp.39–58.

  30. Katz E, Katz S. Verifying scenario-based aspect specifications. In Proc. the International Symposium of Formal Methods Europe, Newcastle, UK, July 18–22, 2005, pp.432–447.

  31. Goldman M, Katz S. Modular generic verification of LTL properties for aspects. In Proc. Foundations of Aspect Languages Workshop (FOAL2006), Bonn, Germany, March 20–24, 2006.

  32. Andrews J H. Process-algebraic foundations of aspect-oriented programming. In Proc. Reflection, Kyoto, Japan Sept. 25–28, 2001, pp.187–209.

  33. Xu J, Rajan H, Sullivan K. Aspect reasoning by reduction to implicit invocation. In Proc. Foundations of Aspect-Oriented Languages, Lancaster, UK, March 23, 2004.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dian-Xiang Xu.

Additional information

The research was supported in part by the ND EPSCoR IIP-SG via NSF of USA under Grant No. EPS-047679. The fourth author was supported in part by the National Natural Science Foundation of China under Grant No. 60603036, the National Basic Research 973 Program of China under Grant No. 2009CB320702, and the National High-Tech Research and Development 863 Program of China under Grant No. 2009AA01Z148.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Xu, DX., El-Ariss, O., Xu, WF. et al. Aspect-Oriented Modeling and Verification with Finite State Machines. J. Comput. Sci. Technol. 24, 949–961 (2009). https://doi.org/10.1007/s11390-009-9269-5

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-009-9269-5

Keywords

Navigation