The Need for Early Aspects

Early aspects are crosscutting concerns that are identified in the early phases of the software development life cycle. These concerns do not align well with the decomposition criteria of traditional software development paradigms and, therefore, they are difficult to modularise. The result is their specification and implementation scattered along several base modules, producing tangled representations that are difficult to maintain, reuse and evolve. It is now understood that the influence of requirements that cut across other requirements results in incomplete understanding of specified requirements and limits the architectural choices. Thus, a rigorous analysis of crosscutting requirements and their interactions is essential to derive a balanced architecture. Early Aspects offer additional abstraction and composition mechanisms for systematically handling crosscutting requirements. This paper focuses on two pioneering requirements approaches, one based on viewpoints and another based on use-cases.

[1]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[2]  Ian Sommerville,et al.  The viewpoints FAQ , 1996 .

[3]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[4]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[5]  Bedir Tekinerdogan,et al.  Special issue on Early aspects: aspect-oriented requirements engineering and architecture design , 2004, IEE Proc. Softw..

[6]  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).

[7]  Awais Rashid,et al.  Domain models are NOT aspect free , 2006, MoDELS'06.

[8]  Ruzanna Chitchyan,et al.  Formal semantic conflict detection in aspect-oriented requirements , 2009, Requirements Engineering.

[9]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[10]  Awais Rashid,et al.  Aspect-oriented software development beyond programming , 2006, ICSE '06.

[11]  R. G. Clark,et al.  Constructing formal specifications from informal requirements , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[12]  João Araújo,et al.  Crosscutting quality attributes for requirements engineering , 2002, SEKE '02.

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  João Araújo,et al.  Modularisation and composition of aspectual requirements , 2003, AOSD '03.

[15]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[16]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[17]  Rita Almeida Ribeiro,et al.  Handling Conflicts in Aspectual Requirements Compositions , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

[18]  Mehmet Aksit,et al.  Transactions on Aspect-Oriented Software Development IV , 2007, Trans. Aspect-Oriented Software Development IV.

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

[20]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[21]  Ruzanna Chitchyan,et al.  EA-Miner: Towards Automation in Aspect-Oriented Requirements Engineering , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

[22]  Maria Rita Sarmento de Almeida Ribeiro HAM for architectural choices in software development , 2009 .

[23]  João Araújo,et al.  Modeling and composing scenario-based requirements with aspects , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[24]  C. A. Irvine,et al.  Software Engineering: Process, Principles, and Goals , 1975, Computer.

[25]  Siobhán Clarke,et al.  Theme: an approach for aspect-oriented analysis and design , 2004, Proceedings. 26th International Conference on Software Engineering.

[26]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[27]  Ian Sommerville,et al.  Editorial. The Viewpoints FAQ , 1996 .

[28]  João Araújo,et al.  An expressive aspect composition language for UML state diagrams , 2007, MODELS'07.

[29]  João Araújo,et al.  Modeling Volatile Concerns as Aspects , 2006, CAiSE.