TY - JOUR
T1 - Aspect-oriented formal modeling
T2 - (Aspectz + Object-Z) = Ooaspectz
AU - Vidal Silva, Cristian
AU - Villarroel, Rodolfo
AU - Schmal Simón, Rodolfo
AU - Saens, Rodrigo
AU - Tigero, Tamara
AU - Del Rio, Carolina
PY - 2015
Y1 - 2015
N2 - The aspect-oriented software development (AOSD) paradigm permits modularizing crosscutting concerns of base modules, a non-usual task in other software development paradigms. Since AOSD was born in the programming stage as an extension of an object-oriented (00) programming language, and AOSD considers, in addition to base modules, new modules named aspects, then a complete AOSD process requires that each stage considers the base and aspect modules. Therefore, looking for an AOSD process, mainly to apply AOSD in other phases of the 00 software development process, so far, different 00 modeling tools and language extensions to support AOSD have been proposed. As an example, AspectZ is an extension of the formal language Z to support AOSD. To reach a transparency of concepts and design in AOSD, the main contribution of this article is to propose OOAspectZ, a formal language for the requirements specification stage of aspect-oriented (AO) software applications, that, firstly, extends AspectZ and, secondly, integrates Object-Z and AspectZ formal specifications. Thus, OOAspectZ supports relevant AO elements such as join points, and This and Target objects for join point events. As an application example, this article applies OOAspectZ to a system named GradUTalca for a Chilean university. For GradUTalca, this article presents AO UML use cases and UML class diagrams, formal Object-Z and OOAspectZ specifications, and a final woven specification to show an integration of Object-Z and OOAspectZ specifications.
AB - The aspect-oriented software development (AOSD) paradigm permits modularizing crosscutting concerns of base modules, a non-usual task in other software development paradigms. Since AOSD was born in the programming stage as an extension of an object-oriented (00) programming language, and AOSD considers, in addition to base modules, new modules named aspects, then a complete AOSD process requires that each stage considers the base and aspect modules. Therefore, looking for an AOSD process, mainly to apply AOSD in other phases of the 00 software development process, so far, different 00 modeling tools and language extensions to support AOSD have been proposed. As an example, AspectZ is an extension of the formal language Z to support AOSD. To reach a transparency of concepts and design in AOSD, the main contribution of this article is to propose OOAspectZ, a formal language for the requirements specification stage of aspect-oriented (AO) software applications, that, firstly, extends AspectZ and, secondly, integrates Object-Z and AspectZ formal specifications. Thus, OOAspectZ supports relevant AO elements such as join points, and This and Target objects for join point events. As an application example, this article applies OOAspectZ to a system named GradUTalca for a Chilean university. For GradUTalca, this article presents AO UML use cases and UML class diagrams, formal Object-Z and OOAspectZ specifications, and a final woven specification to show an integration of Object-Z and OOAspectZ specifications.
KW - AspectZ
KW - Aspects
KW - Crosscutting concerns
KW - Object-Z
KW - Z
UR - http://www.scopus.com/inward/record.url?scp=84959289846&partnerID=8YFLogxK
M3 - Article
AN - SCOPUS:84959289846
SN - 1335-9150
VL - 34
SP - 996
EP - 1016
JO - Computing and Informatics
JF - Computing and Informatics
IS - 5
ER -