|Home \ Graduation Activities \ Post-Graduation Page||Login|
Especificação e composição de requisitos aspectuais
Separation of concerns refers to the ability of identifying, encapsulating and manipulating parts of software that are crucial to a particular purpose [Dijkstra, 1976]. Traditional software development methods were developed with this principle in mind. However, certain broadly-scoped properties are difficult to modularize and keep separated during the lifecycle, producing tangled representations that are difficult to understand and to evolve. Aspect-Oriented Software Development aims at addressing those crosscutting concerns, known as aspects, by providing means for their systematic identification, separation, representation, specification, and composition. The roots for aspect-orientation appeared in the early nineties, with composition filters 1 [Bergmans, 2001] and adaptive programming2 [Lieberherr, 2001]. Since then many aspect-oriented programming languages appeared, such as Apostole3 [UBC, 2002], an extension to Smalltalk, AspectC4 [Gal, 2001], an extension to C, and AspectC++5 [Gal, 2001], an extension to C++. But new languages were also created, like CaeserJ6 [Mezini, 2003] and AspectWerkz7 [AspectWerks, 2004]. From all these, AspectJ8 [Kiczales, 1997] is, however, the best known. Aspect-Oriented concepts have then been propagated up the software development lifecycle, to software design [Herrero, 2000], software architecture [Garcia, 2005] [Pinto, 2004] and requirements engineering [Rashid, 2003] [Brito, 2004a] [Baniassad, 2004a] [Moreira, 2005a]. More recently, two books have appeared one addressing analysis and design [Clarke, 2005] and another tackling analysis, architecture and design [Jacobson, 2005]. The work presented in this document contributes to the area of Aspect-Oriented Requirements Engineering, in particular to the AORA (Aspect Oriented Software Analysis) method developed by [Brito, 2003] [Brito, 2004a] [Brito, 2004b]. This method is composed of three main activities: Identify Concerns, Specify Concerns and Compose Concerns. This dissertation focuses on these two final activities, by proposing an XML-based language to specify and compose concerns at the requirements level. More specifically, the initial template for concern representation developed in the context of AORA was mapped into an XML-Schema, creating a meta-template that provides a standard representation. Any instance that follows that meta-template must also be correctly validated with the defined XML-Schema. The second part our work was to define a simple composition language to support concern composition at requirements level. Our specific contributions are three fold: (i) an XML-based language to define concerns; (ii) an XMLbased language to compose concerns; (iii) graphically and rigorously represent the compositions rules using Petri.Nets.
Start Date: 2005-01-01
End Date: 2007-03-21
Post-Graduation Student / Researcher / Professor: