Abstract
Currently there are several approaches available for aspect-oriented requirements engineering and architecture design. However, the relationship between aspectual requirements and architectural aspects is poorly understood. This is because aspect-oriented requirements engineering approaches normally extend existing requirements engineering techniques. Although this provides backward compatibility, the composition semantics of the aspect-oriented extension are limited by those of the approaches being extended. Consequently, there is limited or no knowledge about how requirements-level aspects and their compositions map on to architecture-level aspects and architectural composition. In this paper, we present COMPASS, an approach that offers a systematic means to derive an aspect-oriented architecture from a given aspect-oriented requirements specification. COMPASS is centred on an aspect-oriented requirements description language (RDL) that enriches the usual informal natural language requirements with additional compositional information derived from the semantics of the natural language descriptions themselves. COMPASS also offers an aspect-oriented architecture description language (AO-ADL) that uses components and connectors as the basic structural elements (similar to traditional ADLs) with aspects treated as specific types of components. Lastly, COMPASS provides a set of concrete mapping guidelines, derived from a detailed case study, based on mapping patterns of compositions and dependencies in the RDL to patterns of compositions and dependencies in the AO-ADL. The mapping patterns are supported via a structural mapping of the RDL and AO-ADL meta-models.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
IBM Patterns for e-business (December 2006), http://www.128.ibm.com/developerworks/patterns/
W3C XSL Transformations (XSLT) (1999), http://www.w3.org/TR/xslt
ACME, Carnegie Mellon University, and Dave Wile at USC’s Information Sciences Institute, USA (2006), http://www.cs.cmu.edu/~acme/
British National Corpus, Oxford University Computing Services, UK (2006), http://www.natcorp.ox.ac.uk/
SketchEngine, Lexical Computing Ltd (2006), www.sketchengine.co.uk
WMATRIX, Lancaster University, UK (2006), http://www.comp.lancs.ac.uk/ucrel/wmatrix/
Allen, R., Dounce, R., Garlan, D.: Specifying and Analyzing Dynamic Software Architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 21–37. Springer, Heidelberg (1998)
Bachmann, F., Bass, L., Klein, M.: Deriving Architectural Tactics: A Step Towards Methodical Architectural Design, Carnegie Mellon University & Software Engineering Institute, Pittsburgh, PA, Technical Report CMU/SEI-2003-TR-004 (March 2003), http://www.sei.cmu.edu/pub/documents/03.reports/pdf/03tr004.pdf
Baniassad, E., Clements, P., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering Early Aspects. IEEE Software 23(1), 61–70 (2006)
Barais, O., Cariou, E., Duchien, L., Pessemier, N., Seinturier, L.: TranSAT: A Framework for the Specification of Software Architecture Evolution. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, Springer, Heidelberg (2004)
Bass, L., Klein, M., Northrop, L.: Identifying Aspects Using Architectural Reasoning. In: Workshop on Early Aspects (held with AOSD 2004), Lancaster, UK (2004)
Berry, D.M.: Natural Language and Requirements Engineering - Nu? In: International Workshop on Requirements Engineering, Imperial College, London, UK (2001)
Chitchyan, R., Pinto, M., Fuentes, L., Rashid, A.: Relating AO Requirements to AO Architecture. In: Workshop on Early Aspects (held with OOPSLA 2005), San Diego, California, USA (2005)
Chitchyan, R., Rashid, A.: Tracing Requirements Interdependency Semantics. In: Workshop on Early Aspects (held with AOSD 2006), Bonn, Germany (2006)
Chitchyan, R., Rashid, A., Rayson, P., Waters, R.: Semantics-Based Composition for Aspect-Oriented Requirements Engineering. In: Sixth International Conference on Aspect-Oriented Software Development (AOSD 2007), Vancouver, British Columbia, Canada, pp. 36–48. ACM Press, New York (2007)
Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Pinto, M., Bakker, J., Tekinerdogan, B., Clarke, S., Jackson, A.: Survey of (Aspect-Oriented) Analysis and Design Approaches, Lancaster University, Lancaster, Survey Report AOSD-Europe-ULANC-9 (May 2005), http://www.aosd-europe.net/
Chitchyan, R., Sampaio, A., Rashid, A., Sawyer, P., Khan, S.: Initial Version of Aspect-Oriented Requirements Engineering Model, Lancaster University, Lancaster AOSD-Europe project report (D36) No: AOSD-Europe-ULANC-17 (February 2006), http://www.aosd-europe.net/
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: the Theme Approach. Addison-Wesley, Reading (2005)
Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures. Addison-Wesley, Reading (2002)
Dashofy, E.M., Hoek, A.v.d., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-based Architecture Description Languages. In: 24th International Conference on Software Engineering (ICSE2002), Orlando, Florida, USA, May 19-25, 2001, pp. 266–276 (2002)
Dijkstra, E.W.: On the role of scientific thought, vol. EWD 447. Springer, Heidelberg (1982)
Dixon, R.M.W.: A Semantic Approach to English Grammar, 2nd edn. Oxford University Press, Oxford (2005)
Egyed, A., Grunbacher, P., Medvidovic, N.: Refinement and Evolution Issues in Bridging Requirements and Architecture - the CBSP Approach. In: From Software Requirements to Architecture Workshop (held with ICSE 2001), Toronto, Canada, May 12-19, 2001, pp. 42–47 (2001)
Fuentes, L., Gámez, N., Pinto, M.: DAOPxADL: An Extension of the xADL Architecture Description Language with Aspects. In: DSOA 2006 workshop (held with JISBD 2006), Barcelona, Spain (2006)
Fuentes, L., Pinto, M., Troya, J.M.: Supporting the Development of CAM/DAOP Applications: an Integrated Development Process. Software Practice and Experience 37(1), 21–64 (2007)
Garcia, A., Chavez, C., Batista, T., Sant’Anna, C., Kulesza, U., Rashid, A., C.J.P.d.L.E.: On the Modular Representation of Architectural Aspects. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 82–97. Springer, Heidelberg (2006)
Garlan, D., Monroe, R.T., Wile, D.: ACME: Architectural Description of Component-Based Systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)
Grunbacher, P., Egyed, A., Medvidovic, N.: Reconciling Software Requirements and Architecture: the CBSP Approach. In: First IEEE International Symposium on Requirements Engineering (RE 2001), pp. 202–211. IEEE Computer Society Press, Los Alamitos (2001)
Grundy, J.: Multi-perspective Specification, Design and Implementation of Software Components using Aspects. International Journal of Software Engineering and Knowledge Engineering 20(6), 713–734 (2000)
Grundy, J.: Supporting Aspect-Oriented Component-Based Systems Engineering. In: International Conference on Software Engineering and Knowledge Engineering, pp. 388–395. KSI Press (1999)
Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison Wesley Professional, Reading (2005)
Jani, D.: Deriving Architecture Specifications from Goal Oriented Requirement Specifications, University of Texas at Austin, Masters Thesis (May 2004), http://users.ece.utexas.edu/~perry/work/papers/R2A-DJ-thesis.pdf
Jani, D., Vanderveken, D., Perry, D.E.: Deriving Architecture Specifications from KAOS Specifications: A Research Case Study. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 185–202. Springer, Heidelberg (2005)
Kandé, M.M.: A Concern-Oriented Approach to Software Architecture, PhD Thesis, Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland (2003), http://infoscience.epfl.ch/getfile.py?mode=best&recid=54726
Katz, S., Rashid, A.: From Aspectual Requirements to Proof Obligations for Aspect-Oriented Systems. In: International Conference on Requirements Engineering (RE 2004), pp. 48–57. IEEE Computer Society Press, Los Alamitos (2004)
Krechetov, I., Tekinerdogan, B., Pinto, M., Fuentes, L.: Initial Version of Aspect-Oriented Architecture Design Approach, 2006, University of Twente: Twente. AOSD-Europe Deliverable D37, AOSD-Europe-UT-D37 (February 2006)
Kulesza, U., Garcia, A., Lucena, C.: Generating Aspect-Oriented Agent Architectures. In: Workshop on Early Aspects (held with AOSD 2004), Lancaster, UK (March 22, 2004)
Kulesza, U., Garcia, A., Lucena, C., Staa, A.v.: Integrating Generative and Aspect-Oriented Technologies. In: 19th ACM SIGSoft Brazilian Symposium on Software Engineering, Brazil (October 3-7, 2005)
Lamsweerde, A.v.: From System Goals to Software Architecture. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 25–43. Springer, Heidelberg (2003)
Levin, B.: English verb classes and alternations: a preliminary investigation. The University of Chicago Press, Chicago (1993)
Lopes, C.V.: D: A Language Framework for Distributed Programming, vol. PhD: College of Computer Science, Northeastern University, Boston, USA (1997), http://www.isis.vanderbilt.edu/projects/core/bibliography/core/AOPdistribProg.pdf
Medvidovic, N., Taylor, R.N.: A classification and Comparison Framework for Software Architecture Description Languages. IEEE Transitions on Software Engineering 26(1), 70–93 (2000)
Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: 22nd International Conference on Software Engineering (ICSE 2000), Limerick, Ireland, June 4-11, 2000, pp. 178–187 (2000)
Moreira, A., Araujo, J., Rashid, A.: A Concern-Oriented Requirements Engineering Model. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 293–308. Springer, Heidelberg (2005)
Moreira, A., Araujo, J., Rashid, A.: Multi-Dimensional Separation of Concerns in Requirements Engineering. In: 13th International Requirements Engineering Conference (RE 2005), Paris, France, August 29 - September 2, 2005, pp. 285–296 (2005)
Nuseibeh, B.: Weaving Together Requirements and Architectures. IEEE Computer 34(3), 115–117 (2001)
Pérez, J., Ramos, I., Jaén, J., Letelier, P., Navarro, E.: PRISMA: towards quality, aspect-oriented and dynamic software architectures. In: Third International Conference on Quality Software (QSIC 2003), Dallas, Texas, USA, November 6 - 7, 2003, pp. 59–66. IEEE Computer Society, Los Alamitos (2003)
Pessemier, N., Seinturier, L., Duchien, L.: Components, ADL and AOP: Towards a Common Approach. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, Springer, Heidelberg (2004)
Pinto, M., Fuentes, L., Troya, J.M.: DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 118–137. Springer, Heidelberg (2003)
Pinto, M., Fuentes, L.: AO-ADL: An ADL for describing Aspect-Oriented Architectures. In: Early Aspect Workshop (held with AOSD 2007), Vancouver, Canada (March 13, 2007)
Pinto, M., Gámez, N., Fuentes, L.: Towards the Architectural Definition of the Health Watcher System with AO-ADL. In: Early Aspect Workshop (held with ICSE 2007), Minnesota, USA (May 2007)
Quirk, R., et al.: A Comprehensive Grammar of the English Language. Longman, New York (1985)
Rashid, A., Moreira, A.: Domain Models are NOT Aspect Free. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 155–169. Springer, Heidelberg (2006)
Rashid, A., Moreira, A., Araujo, J.: Modularisation and Composition of Aspectual Requirements. In: 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 11–20. ACM Press, New York (2003)
Rayson, P.: UCREL Semantic Analysis System (USAS) (2005), http://ucrel.lancs.ac.uk/wmatrix.html
Sampaio, A., Chitchyan, R., Rashid, A., Rayson, P.: EA-Miner: a Tool for Automating Aspect-Oriented Requirements Identification. In: 20th Automated Software Engineering Conference (ASE 2005), Long Beach, California, USA, November 7-11, 2005, pp. 352–355 (2005)
Sampaio, A., Rashid, A., Chitchyan, R., Rayson, P.: EA-Miner: Towards Automation in Aspect-Oriented Requirements Engineering. In: Transactions on Aspect-Oriented Software Development 2007 (accepted for publication)
Sawyer, P., Rayson, P., Cosh, K.: Shallow Knowledge as an Aid to Deep Understanding in Early Phase Requirements Engineering. IEEE Transactions on Software Engineering 31(11), 969–981 (2005)
Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. John Wiley and Sons, Chichester (2000)
Selic, B.: The Pragmatics of Model-Driven Development. IEEE Software 20(5), 19–25 (2003)
Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Software 20(5), 42–45 (2003)
Shaw, M., DeLine, R., Zelesnik, G.: Abstractions and Implementations for Architectural Connections. In: Third International Conference on Configurable Distributed Systems (ICCDS 1996), pp. 2–10 (1996)
Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)
Sommerville, I., Sawyer, P., Viller, S.: Viewpoints for requirements elicitation: a practical approach. In: International Conference of Requirements Engineering (ICRE 1998), Kyoto, Japan, April 19-25,1998, pp. 74–81. IEEE Computer Society, Los Alamitos (1998)
Sutcliffe, A.: The Domain Theory: Patterns of Knowledge and Software Reuse. Lawrence Erlbaum Associates, Mahwah (2002)
Tarr, P.L., Ossher, H., Harrison, W.H., Sutton, S.M.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: 21st International Conference on Software Engineering (ICSE 1999), Los Angeles, CA, USA, May 16-22, 1999, pp. 107–119 (1999)
Tekinerdogan, B.: ASAAM: Aspectual software architecture analysis method. In: 4th Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), Oslo, Norway, June 12-15, 2004, pp. 5–14. IEEE Computer Society Press, Los Alamitos (2004)
Waters, R. W.: MRAT - The Multidimensional Requirements Analysis Tool, MSc. Thesis, Computing Department, Lancaster University, Lancaster (2006)
Whittle, J., Araujo, J.: Scenario Modeling with Aspects. IEE Proceedings - Software (Special Issue on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design) 151(4), 157–172 (2004)
Wloka, J.: Towards Tool-supported Update of Pointcuts in AO Refactoring. In: Linking Aspect Technology and Evolution Workshop (held with AOSD 2006), Bonn, Germany, March 20-24, 2006, pp. 20–24 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Chitchyan, R., Pinto, M., Rashid, A., Fuentes, L. (2007). COMPASS: Composition-Centric Mapping of Aspectual Requirements to Architecture. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development IV. Lecture Notes in Computer Science, vol 4640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77042-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-77042-8_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77041-1
Online ISBN: 978-3-540-77042-8
eBook Packages: Computer ScienceComputer Science (R0)