Flexible and Expressive Composition Rules with

Technologies based on aspect-orientation and multi-dimensional separation of concerns have given software engineers tools to better encapsulate concerns throughout the software lifecycle. Separated concerns must be composed, even during early lifecycle phases, to obtain an overall system understanding. Concern composition languages therefore must be expressive, scalable, and intuitive. Otherwise, gains achieved by concern separation are offset by the complexity of the composition rules. This paper focuses on a composition language for the requirements modeling phase and, in particular, on composition of concerns described with use cases or scenarios. We propose that existing composition techniques (such as before and after advices from AOP) are insufficient for requirements model composition because they do not support all composition rules frequently required for use cases or scenarios. Furthermore, composition rules for a modeling language should be visual and use the same notation as the modeling language. This paper presents Aspectoriented Use Case Maps (AoUCM) and evaluates its flexible, expressive, and exhaustive composition technique. Moreover, the composition rules are expressed in the same notation already used for UCMs. The usefulness and necessity of our composition rules are demonstrated through examples modeled with the jUCMNav tool.

[1]  Megan Sorenson,et al.  Library , 1958 .

[2]  Siobhán Clarke,et al.  Aspect-oriented analysis and design - the theme approach , 2005, Addison Wesley object technology series.

[3]  Markus Glaser,et al.  Wiki , 2005, Informatik-Spektrum.

[4]  Daniel Amyot,et al.  Introduction to the User Requirements Notation: learning by example , 2003, Comput. Networks.

[5]  João Araújo,et al.  Handling unanticipated requirements change with aspects , 2004, SEKE.

[6]  Daniel Amyot,et al.  Towards Integrated Tool Support for the User Requirements Notation , 2006, SAM.

[7]  Daniel Amyot,et al.  Visualizing Aspect-Oriented Requirements Scenarios with Use Case Maps , 2006, 2006 First International Workshop on Requirements Engineering Visualization (REV'06 - RE'06 Workshop).

[8]  Hans de Bruin,et al.  Quality-driven software architecture composition , 2003, J. Syst. Softw..

[9]  João Araújo,et al.  Scenario modelling with aspects , 2004, IEE Proc. Softw..

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

[11]  Daniel Amyot,et al.  Visualizing Early Aspects with Use Case Maps , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

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

[13]  R. J. A. Buhr,et al.  Use Case Maps for Object-Oriented Systems , 1995 .

[14]  João Paulo Barros,et al.  Towards the Support for Crosscutting Concerns in Activity Diagrams: a Graphical Approach , 2003 .

[15]  Jon Whittle,et al.  Composing aspect models with graph transformations , 2006, EA '06.

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

[17]  R. J. A. Buhr A Possible Design Notation for Aspect Oriented Programming , 1998 .

[18]  J. Whittle,et al.  Graphical Composition of State-Dependent Use Case Behavioral Models , 2006 .

[19]  Ruzanna Chitchyan,et al.  A Survey of Analysis and Design Approaches , 2005 .

[20]  Ivar Jacobson,et al.  Aspect-oriented software development with use cases , 2005, Addison Wesley object technology series.

[21]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[22]  João Araújo,et al.  An Aspectual Use-Case Driven Approach , 2003, JISBD.