JPIAspectZ: A Formal Requirement Specification Language for Joint Point Interface AOP Applications

C. L. Vidal-Silva, E. Madariaga, T. Pham, F. Johnson, L. A. Urzua, L. Carter

Abstract


Aspect-oriented software development (AOSD) solves a few issues of the object-oriented software development (OOSD) approach and adds a few more concerning modules and their relationships. Join point interface (JPI) is an AOSD methodology that by the definition of the interface between advised artifacts and aspects solves associated AOSD issues to get software with a high modularity level. Looking for a JPI software development approach, this article proposes and exemplifies the use of JPIAspectZ, an extension of the formal aspect-oriented language AspectZ for the software JPI requirement specifications. Mainly, JPIAspectZ looks for a concept and model consistency in a JPI software development process. Since the main JPI characteristics are the joining point interfaces definitions, i. e. explicit associations definition between aspects and advised modules, thus, by JPI, classes are no longer oblivious of possible interaction with aspects, and aspects, for their action effectiveness, do not depend anymore on signatures of advisable module components. JPIAspectZ fully supports these JPI principles. As JPI application examples, this article shows the formal requirements specification for classic aspect-oriented and JPI examples, along with describing the advantages and disadvantages of this language.


Keywords


JPIAspectZ; JPI; AspectZ; aspects; join point interface

Full Text:

PDF

References


G. Kiczales, “Aspect-oriented programming”, ACM Computing Surveys, Vol. 28, No. 4, 1996

I. Jacobson, P. W. Ng, Aspect-Oriented Software Development with Use Cases, Addison Wesley Professional, 2004

F. Wedyan, S. Ghosh, L. R. Vijayasarathy, “An approach and tool for measurement of state variable based data-flow test coverage for aspect-oriented programs”, Information and Software Technology, Vol. 59, pp. 233–254, 2015

M. Wimmer, A. Schauerhuber, G. Kappel, W. Retschitzegger, W. Schwinger, E. Kapsammer, “A survey on UML based aspect-oriented design modeling”, ACM Computing Surveys, Vol. 43, No. 4, pp. 28:1–28:59, 2011

Y. Huiqun, L. Dongmei, Y. Li, H. Xudong, “Formal Aspect-Oriented Modeling and Analysis by Aspect-Z”, 17th International Conference on Software Engineering and Knowledge Engineering, Taipei, Taiwan, July 14-16, 2005

C. V. Silva, R. Saens, C. Del Rio, R. Villarroel, “Aspect-oriented modeling: Applying aspect-oriented UML use cases and extending aspect-z”, Computing and Informatics, Vol. 32, No. 3, pp. 573–593, 2013

C. V. Silva, R. Saens, C. Del Rio, R. Villarroel, “OOAspectZ y diagramas de clase orientados a los aspectos para la modelacion orientada a aspectos (MSOA)”, Ingenieria e Investigacion , Vol. 33, No. 3, pp. 66–71, 2013 (in Spanish)

C. V. Silva, R. Villarroel, R. S. Simon, R. Saens, T. Tigero, C. Del Rio, “Aspect-Oriented Formal Modeling: (AspectZ + Object-Z) = OOAspectZ”, Computing and Informatics, Vol. 34, No. 5, pp. 996–1016, 2015

F. Mostefaoui, J. Vachon, “Verification of Aspect-UML Models Using Alloy”, 10th International Workshop on Aspect-Oriented Modeling, Vancouver, Canada, March 12-12, 2007

E. Bodden, E. Tanter, M. Inostroza, “Join point interfaces for safe and flexible decoupling of aspects”, ACM Transactions on Software Engineering and Methodology, Vol. 23, No. 1, pp. A:1–A:42, 2014

E. Bodden, “Closure Join Points: Block Join Points without Surprises”, Tenth International Conference on Aspect-Oriented Software Development, Porto de Galinhas, Brazil, March 21-25, 2011

M. Inostroza, E. Tanter, E. Bodden, “Join Point Interfaces for Modular Reasoning in Aspect-Oriented Programs”, 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, Szeged, Hungary, September 5-9, 2011

J. Woodcock, J. Davies, Using Z: Specification, Refinement, and Proof, Prentice-Hall, 1996

G. Smith, The Object-Z Specification Language, Kluwer Academic Publishers, 2000

C. V. Silva, R. Villarroel, “JPI UML: UML Class and Sequence Diagrams Proposal for Aspect-Oriented JPI Applications”, 33rd International Conference of the Chilean Computer Science Society, Talca, Chile, November 8-14, 2014

S. Apel, D. Batory, C. Kastner, G. Saake, Feature-Oriented Software Product Lines: Concepts and Implementation, Springer, 2016




eISSN: 1792-8036     pISSN: 2241-4487