Skip to main content

COMPASS: Composition-Centric Mapping of Aspectual Requirements to Architecture

  • Chapter
Book cover Transactions on Aspect-Oriented Software Development IV

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 4640))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. IBM Patterns for e-business (December 2006), http://www.128.ibm.com/developerworks/patterns/

  2. W3C XSL Transformations (XSLT) (1999), http://www.w3.org/TR/xslt

  3. ACME, Carnegie Mellon University, and Dave Wile at USC’s Information Sciences Institute, USA (2006), http://www.cs.cmu.edu/~acme/

  4. British National Corpus, Oxford University Computing Services, UK (2006), http://www.natcorp.ox.ac.uk/

  5. SketchEngine, Lexical Computing Ltd (2006), www.sketchengine.co.uk

  6. WMATRIX, Lancaster University, UK (2006), http://www.comp.lancs.ac.uk/ucrel/wmatrix/

  7. 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)

    Chapter  Google Scholar 

  8. 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

  9. Baniassad, E., Clements, P., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering Early Aspects. IEEE Software 23(1), 61–70 (2006)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. Bass, L., Klein, M., Northrop, L.: Identifying Aspects Using Architectural Reasoning. In: Workshop on Early Aspects (held with AOSD 2004), Lancaster, UK (2004)

    Google Scholar 

  12. Berry, D.M.: Natural Language and Requirements Engineering - Nu? In: International Workshop on Requirements Engineering, Imperial College, London, UK (2001)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Chitchyan, R., Rashid, A.: Tracing Requirements Interdependency Semantics. In: Workshop on Early Aspects (held with AOSD 2006), Bonn, Germany (2006)

    Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. 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/

  17. 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/

  18. Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: the Theme Approach. Addison-Wesley, Reading (2005)

    Google Scholar 

  19. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures. Addison-Wesley, Reading (2002)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Dijkstra, E.W.: On the role of scientific thought, vol. EWD 447. Springer, Heidelberg (1982)

    Google Scholar 

  22. Dixon, R.M.W.: A Semantic Approach to English Grammar, 2nd edn. Oxford University Press, Oxford (2005)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Article  Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Google Scholar 

  29. 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)

    Google Scholar 

  30. Grundy, J.: Supporting Aspect-Oriented Component-Based Systems Engineering. In: International Conference on Software Engineering and Knowledge Engineering, pp. 388–395. KSI Press (1999)

    Google Scholar 

  31. Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison Wesley Professional, Reading (2005)

    Google Scholar 

  32. 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

  33. 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)

    Google Scholar 

  34. 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

  35. 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)

    Google Scholar 

  36. 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)

    Google Scholar 

  37. 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)

    Google Scholar 

  38. 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)

    Google Scholar 

  39. 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)

    Google Scholar 

  40. Levin, B.: English verb classes and alternations: a preliminary investigation. The University of Chicago Press, Chicago (1993)

    Google Scholar 

  41. 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

  42. 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)

    Article  Google Scholar 

  43. 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)

    Google Scholar 

  44. 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)

    Google Scholar 

  45. 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)

    Google Scholar 

  46. Nuseibeh, B.: Weaving Together Requirements and Architectures. IEEE Computer 34(3), 115–117 (2001)

    Google Scholar 

  47. 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)

    Chapter  Google Scholar 

  48. 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)

    Google Scholar 

  49. 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)

    Google Scholar 

  50. 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)

    Google Scholar 

  51. 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)

    Google Scholar 

  52. Quirk, R., et al.: A Comprehensive Grammar of the English Language. Longman, New York (1985)

    Google Scholar 

  53. 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)

    Chapter  Google Scholar 

  54. 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)

    Chapter  Google Scholar 

  55. Rayson, P.: UCREL Semantic Analysis System (USAS) (2005), http://ucrel.lancs.ac.uk/wmatrix.html

  56. 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)

    Google Scholar 

  57. 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)

    Google Scholar 

  58. 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)

    Article  Google Scholar 

  59. 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)

    Google Scholar 

  60. Selic, B.: The Pragmatics of Model-Driven Development. IEEE Software 20(5), 19–25 (2003)

    Article  Google Scholar 

  61. Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Software 20(5), 42–45 (2003)

    Article  Google Scholar 

  62. 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)

    Google Scholar 

  63. Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)

    Google Scholar 

  64. 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)

    Google Scholar 

  65. Sutcliffe, A.: The Domain Theory: Patterns of Knowledge and Software Reuse. Lawrence Erlbaum Associates, Mahwah (2002)

    Google Scholar 

  66. 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)

    Google Scholar 

  67. 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)

    Chapter  Google Scholar 

  68. Waters, R. W.: MRAT - The Multidimensional Requirements Analysis Tool, MSc. Thesis, Computing Department, Lancaster University, Lancaster (2006)

    Google Scholar 

  69. 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)

    Article  Google Scholar 

  70. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Awais Rashid Mehmet Aksit

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics