Skip to main content
Log in

Abstract

We describe the goals, architecture, design considerations and use of the common aspect proof environment (CAPE). The CAPE is an extensible framework integrating formal methods and analysis tools for aspect-oriented programs. It is intended both to encourage the use of formal methods and analysis tools for systems with aspects and to facilitate the development of new tools for aspect analysis. The general principles of the CAPE are first explained, and the components and their high-level organization are given. The user interfaces are described, providing both application oriented and tool oriented Eclipse views. A description of the tools already integrated into the CAPE is given, and some analysis and verification scenarios are shown for an example aspect system. The aid of the CAPE in tool evaluation and experimentation with innovative usage of tools is demonstrated. As one example, verification aspects are used to aid in the abstraction and specification needed for formal analysis in Java Pathfinder. The scenarios and strategies employed are steps towards a methodology that includes multiple formal methods tools in aspect-oriented software development.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, J., Lhotak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: abc: an extensible aspectj compiler. Trans. Aspect-Oriented Softw. Dev. 1, 293–334 (2006). LNCS 3880

    Google Scholar 

  2. Bergmans L., Aksit M.: Composing crosscutting concerns using composition filters. CACM 44, 51–57 (2001)

    Google Scholar 

  3. Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV version 2: an OpenSource tool for symbolic model checking. In: Proceedings of International Conference on Computer-Aided Verification (CAV 2002). LNCS, vol. 2404, Copenhagen, Denmark. Springer, July 2002

  4. Clarke E.M. Jr, Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  5. Dror, E., Katz, E., Katz, S., Staijen, T.: The revised architecture of the cape. Technical report, AOSD Europe, August 2006

  6. Filman R., Elrad T., Clarke S., Aksit M.: Aspect-Oriented Software Development. Addison-Wesley, New York (2005)

    Google Scholar 

  7. Goldman M., Katz E., Katz S.: Maven: modular aspect verification and interference analysis. Form. Methods Syst. Des. 37, 61–92 (2010)

    Article  MATH  Google Scholar 

  8. Goldman, M., Katz, S.: Maven: modular aspect verification. In: Proceedings of 13th TACAS 2007. LNCS, vol. 4424, pp. 308–322. Springer, New York (2007)

  9. Hatcliff, J., Dwyer, M.: Using the Bandera Tool Set to model-check properties of concurrent Java software. In: Larsen, K.G., Nielsen, M. (eds.) Proc. 12th Int. Conf. on Concurrency Theory, CONCUR’01. LNCS, vol. 2154, pp. 39–58. Springer, New York (2001)

  10. Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. Int. J. Softw. Tools Technol. Transf. 2(4) (2000)

  11. Havinga, W., Nagy, I., Bergmans, L., Aksit, M.: A graph-based approach to modeling and detecting composition conflicts related to introductions. In: AOSD ’07, pp. 85–95. ACM Press, New York (2007)

  12. Katz, E., Katz, S.: Verifying scenario-based aspect specifications. In: Proceedings of Formal Methods: International Symposium of Formal Methods Europe (FM05). LNCS, vol. 3582, pp. 432–447. Springer, New York (2005)

  13. Katz, E., Katz, S.: Incremental analysis of interference among aspects. In: Proceedings of Foundations of Aspect Languages Workshop (FOAL08) (2008)

  14. Katz, E., Katz, S.: User queries for specification refinement treating shared aspect join points. In: Proceedings of International Conference on Software Engineering and Formal Methods (SEFM) (2010)

  15. Katz, S.: Aspect categories and classes of temporal properties. Trans. Aspect-Oriented Softw. Dev. 1, 106–134 (2006). LNCS 3880

    Google Scholar 

  16. Katz, S., Sihman, M.: Aspect validation using model checking. In: Proceedings of International Symposium on Verification. LNCS, vol. 2772, pp. 389–411 (2003)

  17. Kaufmann M., Strother Moore J., Manolios P.: Computer-Aided Reasoning: An Approach. Kluwer, Norwell (2000)

    Book  Google Scholar 

  18. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten M., Palm J., Griswold, W.G.: An overview of AspectJ. In: Proceedings ECOOP. LNCS, vol. 2072, pp. 327–353 (2001)

  19. Krishnamurthi, S., Fisler, K.: Foundations of incremental aspect model-checking. ACM Trans. Softw. Eng. Methodol. 16, Article 7 (2007)

    Google Scholar 

  20. Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularly. In: Proceedings of SIGSOFT Conference on Foundations of Software Engineering, FSE’04, pp. 137–146. ACM (2004)

  21. Margaria, T., Kubczak, C., Steffen, B.: Bio-jeti: a sevice integration, design, and provisioning platform for orchestratesd bioinformatics processes. BMC Bioinformatics 9(S-4) (2008)

  22. McMillan, K.L.: Getting Started With SMV. Cadence Labs, March 1999

  23. Nguyen, H., Sudholt, M.: Aspects over vpa-based protocols. In: Proc. Intl. Conf. Software Eng. and Formal Methods (SEFM). Computer Science Press (2006)

  24. Rensink, A.: The groove simulator: a tool for state space generation. In: AGTIVE 2003. LNCS, vol. 3062, pp. 479–485 (2003)

  25. Rushby, J.: An evidential tool bus. In: Verification Grand Challenge Workshop, Jan 2006

  26. Soares, S., Borba, P., Laureano, E.: Distribution and persistence as aspects. Software: Practice and Experience, Jan 2006

  27. Staijen, T., Rensink, A.: A graph-transformation-based semantics for analysing aspect interference. In: Workshop on Graph Computation Models, Jan 2006

  28. Steffen B., Margaria T., Braun V.: The electronic tool integration platform: concepts and design. Int. J. Softw. Tools Technol. Transf. 1(1–2), 9–30 (1997)

    MATH  Google Scholar 

  29. Visser W., Havelund K., Brat G.P., Park S., Lerda F.: Model checking programs. Autom. Softw. Eng. 10(2), 203–232 (2003)

    Article  Google Scholar 

  30. Weston, N., Taiani, F., Rashid, A.: Interaction analysis for fault-tolerance in aspect-oriented programming. In: Workshop on Methods, Models and Tools for Fault Tolerance (2008)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shmuel Katz.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Katz, S., Faitelson, D. The common aspect proof environment. Int J Softw Tools Technol Transfer 14, 41–52 (2012). https://doi.org/10.1007/s10009-011-0191-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-011-0191-0

Keywords

Navigation