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.
Similar content being viewed by others
References
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
Bergmans L., Aksit M.: Composing crosscutting concerns using composition filters. CACM 44, 51–57 (2001)
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
Clarke E.M. Jr, Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge (1999)
Dror, E., Katz, E., Katz, S., Staijen, T.: The revised architecture of the cape. Technical report, AOSD Europe, August 2006
Filman R., Elrad T., Clarke S., Aksit M.: Aspect-Oriented Software Development. Addison-Wesley, New York (2005)
Goldman M., Katz E., Katz S.: Maven: modular aspect verification and interference analysis. Form. Methods Syst. Des. 37, 61–92 (2010)
Goldman, M., Katz, S.: Maven: modular aspect verification. In: Proceedings of 13th TACAS 2007. LNCS, vol. 4424, pp. 308–322. Springer, New York (2007)
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)
Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. Int. J. Softw. Tools Technol. Transf. 2(4) (2000)
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)
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)
Katz, E., Katz, S.: Incremental analysis of interference among aspects. In: Proceedings of Foundations of Aspect Languages Workshop (FOAL08) (2008)
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)
Katz, S.: Aspect categories and classes of temporal properties. Trans. Aspect-Oriented Softw. Dev. 1, 106–134 (2006). LNCS 3880
Katz, S., Sihman, M.: Aspect validation using model checking. In: Proceedings of International Symposium on Verification. LNCS, vol. 2772, pp. 389–411 (2003)
Kaufmann M., Strother Moore J., Manolios P.: Computer-Aided Reasoning: An Approach. Kluwer, Norwell (2000)
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)
Krishnamurthi, S., Fisler, K.: Foundations of incremental aspect model-checking. ACM Trans. Softw. Eng. Methodol. 16, Article 7 (2007)
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)
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)
McMillan, K.L.: Getting Started With SMV. Cadence Labs, March 1999
Nguyen, H., Sudholt, M.: Aspects over vpa-based protocols. In: Proc. Intl. Conf. Software Eng. and Formal Methods (SEFM). Computer Science Press (2006)
Rensink, A.: The groove simulator: a tool for state space generation. In: AGTIVE 2003. LNCS, vol. 3062, pp. 479–485 (2003)
Rushby, J.: An evidential tool bus. In: Verification Grand Challenge Workshop, Jan 2006
Soares, S., Borba, P., Laureano, E.: Distribution and persistence as aspects. Software: Practice and Experience, Jan 2006
Staijen, T., Rensink, A.: A graph-transformation-based semantics for analysing aspect interference. In: Workshop on Graph Computation Models, Jan 2006
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)
Visser W., Havelund K., Brat G.P., Park S., Lerda F.: Model checking programs. Autom. Softw. Eng. 10(2), 203–232 (2003)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-011-0191-0