Composing architectural crosscutting structures in xADL

Designing a software architecture is about defining and composing highlevel design structures. Whereas describing several structures is is fairly well supported, both non-aspect-oriented and aspectoriented Architectural Description Languages (ADLs) fall short when it comes to documenting relations or compositions between architecturallyrelevant crosscutting structures. This makes in turn separation of important concerns in the architecture hard, thereby increasing maintenance overhead and reducing reuse capabilities. This paper identifies and analyzes examples of crosscutting structures in an architecture for an industrial Automatic Guided Vehicle Transportation System (AGVTS). This analysis allowed us to determine and introduce an initial set of structural composition operators into xADL, namely substructure, mapping, and unification. The operators’ feasibility have been assessed while refactoring the existing AGVTS architecture. Based on a real maintenance scenario, we also investigate to what extent these explicit compositions led (or not) to enhanced architectural changeability for evolving the distribution strategy.

[1]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Pablo de la Fuente,et al.  Architectural Aspects of Architectural Aspects , 2005, EWSA.

[3]  Tom Holvoet,et al.  Relating architectural views with architectural concerns , 2006, EA '06.

[4]  J. M. Murillo,et al.  Aspect Oriented Software Architecture : a Structural Perspective , 2002 .

[5]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[6]  Nenad Medvidovic Moving Architectural Description from Under the Technology Lamppost , 2006, EUROMICRO-SEAA.

[7]  João Araújo,et al.  aspect- oriented pr ogramming , 2006 .

[8]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[9]  Danny Weyns,et al.  Experiences with Theme / UML for Architectural Design of a Multiagent System , 2006 .

[10]  Laurence Duchien,et al.  Components, ADL & AOP: Towards a Common Approach , 2004, RAM-SE.

[11]  Siobhán Clarke,et al.  Extending standard UML with model composition semantics , 2002, Sci. Comput. Program..

[12]  Danny Weyns,et al.  Applying the architecture tradeoff analysis method (ATAM) to an industrial multi-agent system application , 2005 .

[13]  John Grundy,et al.  Multi-Perspective Specification, Design and Implementation of Software Components Using Aspects , 2000, Int. J. Softw. Eng. Knowl. Eng..

[14]  Ruzanna Chitchyan,et al.  Semantics-based composition for aspect-oriented requirements engineering , 2007, AOSD.

[15]  Carlos José Pereira de Lucena,et al.  Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[16]  Cecília M. F. Rubira,et al.  Exceptions and aspects: the devil is in the details , 2006, SIGSOFT '06/FSE-14.

[17]  Danny Weyns,et al.  A Reference Architecture for Situated Multiagent Systems , 2006, E4MAS.

[18]  Danny Weyns,et al.  Applying the ATAM to an Architecture for Decentralized Control of a Transportation System , 2006, QoSA.

[19]  Lyrene Fernandes da Silva An Aspect-Oriented Approach to Model Requirements , 2005 .

[20]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[21]  Jennifer Pérez,et al.  PRISMA: towards quality, aspect oriented and dynamic software architectures , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[22]  Danny Weyns,et al.  Experiences with Theme/UML for Architectural Design in Multiagent Systems , 2006, Multiagent Systems and Software Architecture.

[23]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[24]  Mónica Pinto,et al.  A Dynamic Component and Aspect-Oriented Platform , 2005, Comput. J..

[25]  Richard N. Taylor,et al.  A comprehensive approach for the development of modular software architecture description languages , 2005, TSEM.

[26]  Thomas Ledoux,et al.  Aspect-Oriented Software Development , 2003 .

[27]  David H. Lorenz,et al.  Modeling aspect mechanisms: a top-down approach , 2006, ICSE.

[28]  João Araújo,et al.  Multi-dimensional separation of concerns in requirements engineering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[29]  Jacques Ferber,et al.  Environments for Multiagent Systems State-of-the-Art and Research Challenges , 2004, E4MAS.

[30]  Carlos José Pereira de Lucena,et al.  On the Modular Representation of Architectural Aspects , 2006, EWSA.

[31]  Carlos José Pereira de Lucena,et al.  Taming Heterogeneous Agent Architectures with Aspects , 2006 .

[32]  Cláudio Sant'Anna,et al.  Reflections on architectural connection: seven issues on aspects and ADLs , 2006, EA '06.