Tuesday, August 09, 2005
Aspect composition at requirements-level
[1] N. Mohd Ali, A. Rashid (2005) A State-based Join Point Model for AOP. Workshop on Views, Aspects and Roles at ECOOP 2005 (http://swt.cs.tu-berlin.de/~stephan/VAR05/accepted.html)
[2] A. Moreira, A. Rashid, J. Araujo (2005) Multi-dimensional Separation of Concerns in Requirements Engineering. International Conference on Requirements Engineering, Paris, France, 20 August-2 September (To Appear). IEEE Computer Society.
[3] A. Moreira, J. Araujo, A. Rashid (2005) A Concern-Oriented Requirements Engineering Model. International Conference on Advanced Information Systems Engineering, Porto, Portugal, June 13-17. Editor(s): O. Pastor, J. Falcão e Cunha, Springer-Verlag. Volume 3520, Pages 293-308.
[4] Rashid, A. Moreira, and J. Araujo (2003) Modularisation and Composition of Aspectual Requirements. 2nd International Conference on Aspect-Oriented Software Development. ACM. Pages 11-20. (Available from: http://www.comp.lancs.ac.uk/computing/aose/EarlyAspects.php)
The misconception about RE aspects
Thursday, June 09, 2005
Report Comparing Approaches for Aspect-Oriented Analysis and Design
Saturday, April 23, 2005
New Web Site for early-aspects.net
http://www.early-aspects.net
The plan is to keep the Web site and bibliography up to date. So if you spot any missing papers please email the site admin address (which will eventually bounce forward to my mailbox :) ).
Wednesday, March 23, 2005
Reading on Early Aspects
For aspect-oriented requirements engineering:
- Awais Rashid, Ana M. D. Moreira, João Araújo: Modularisation and composition of aspectual requirements. AOSD 2003: 11-20. Available from: http://www.comp.lancs.ac.uk/computing/aose/papers/AORE-AOSD2003.pdf
- Elisa L. A. Baniassad, Siobhán Clarke: Theme: An Approach for Aspect-Oriented Analysis and Design. ICSE 2004: 158-167. Available from: http://www.cs.tcd.ie/Elisa.Baniassad/theme.pdf
- Stanley M. Sutton Jr., Isabelle Rouvellou: Modeling of software concerns in Cosmos. AOSD 2002: 127-133.
For aspect-oriented architecture design:
- Bedir Tekinerdogan: ASAAM: Aspectual Software Architecture Analysis Method. WICSA 2004: 5-14.
Also, it might be good to have a look at the following papers.
- John C. Grundy: Aspect-Oriented Requirements Engineering for Component-Based Software Systems. RE 1999: 84-91. (Note: This was the first paper to mention the term "aspect-oriented requirements engineering"). Available from: http://www.cs.auckland.ac.nz/~john-g/papers/re99.ps.gz
- Awais Rashid, Peter Sawyer, Ana M. D. Moreira, João Araújo: Early Aspects: A Model for Aspect-Oriented Requirements Engineerin. RE 2002: 199-202. (Note: This was the first paper to mention the term "early aspects"). Available from: http://www.comp.lancs.ac.uk/computing/aose/papers/AORE_RE2002.pdf
Furthermore, the early aspects landscape report being developed jointly by the organisers of the workshop series (Joao Araujo, Elisa Baniassad, Paul Clements, Ana Moreira, Awais Rashid, Bedir Tekinerdogan) is also a good source. It is aimed to be a living and evolving document contributed to/commented on by the community (people who contribute substantially can be added as co-authors). The initial draft of the report was circulated at the Early Aspects Workshop at AOSD 2005 for comments from the wider community. It is available from: http://trese.cs.utwente.nl/early-aspects-AOSD2005/Papers/EarlyAspects-LandscapePaper-FirstDraft-2005.pdf.
Of course, the Early Aspects series of workshops as well as papers in other venues are useful resources for further reading. These are listed on www.early-aspects.net.
Architectural Aspects
I find it appealing to think of aspects manifesting themselves in the architecture in a variety of ways. Of course, they can appear as entities that are clearly modelled in a visual representation. However, at the same time, they can be more implicit, for instance, in the form of influencing certain architectural choices or design decisions. If there is an Availability aspect at the requirements level, then it is not likely to directly appear at the architecture or subsequent stages in its own right. It might be refined or drive the identification of new aspects as we look to realise our availability requirements. However, at the same time, it is likely to play a signficant role in our choice of an architecture [1]. Dealing with the crosscutting influences of such, more implicit, aspects is a significant challenge. It would be very interesting to see how aspect-oriented software architecture approaches address this challenge.
[1] Awais Rashid, Ana M. D. Moreira, João Araújo: Modularisation and composition of aspectual requirements. Proceedings of AOSD 2003: 11-20.
Tuesday, March 22, 2005
On AOSD and Meta Languages
There is a very interesting discussion thread at present on the aosd-dicuss list. A number of people, including Pascal Costanza and myself, have been debating whether an AOP language can be classed as a meta-programming language. The supporters of the idea feel that it makes sense as AOP languages, after all, manipulate object graphs in base OO programs. However, some (including myself) find this a very restrictive view of AOP and AOSD in general. In my opinion, AOSD is first and foremost about systematic separation of crosscutting concerns. You could use meta-programming as a means of implementing AOP but classing AOP as a meta-programming technique takes away this strong emphasis on systematic treatment of crosscutting concerns.
Moreover, aspect-orientation is not just about programming. The term AOSD covers techniques that treat crosscutting concerns throughout the software life cycle. I find that the notion of AOSD as a meta language does not necessarily make sense in terms of early aspects. At this level, do I really care about meta languages? I don't think so. They might come in handy but
that is not my first and foremost concern. For instance, at the requirements level, one key use of aspects (there are others) is to develop a better understanding of the problem domain. One would like to understand how aspectual requirements constrain or influence other requirements in the system. Composition in such an instance is concerned with taking projections
of concern influences over other concerns and you don't necessarily need a meta language to do that.
We (Myself, Ana Moreira and Joao Araujo) proposed a composition language for aspect-oriented requirements engineering in [1] and another one for multi-dimensional separation of concerns in requirements engineering in the upcoming paper at CAiSE 2005 [2]. The aim is not to provide meta languages that manipulate requirements representations. Instead we want to specify composition relationships and semantics of aspectual requirements to understand and analyse their semantic influences.
[1] Awais Rashid, Ana M. D. Moreira, João Araújo: Modularisation and composition of aspectual requirements. Proceedings of AOSD 2003: 11-20.
[2] Ana M. D. Moreira, João Araújo, Awais Rashid: A Concern-Oriented Requirements Engineering Model. To Appear in CAiSE 2005.
Why have an Early Aspects Blog?
A subset of researchers in this community are, however, focusing on addressing crosscutting concerns from very early on in the software life cycle, i.e., during requirements engineering and architecture design. A better understanding of crosscutting concerns at the requirements level ensures that one has a clearer understanding of the problem domain especially the impact and influence, as well as trade-offs, of crosscutting concerns on other system requirements. Explicitly catering for crosscutting concerns at the architecture level ensures that such influences and trade-offs are effectively reflected in the solution domain from very early on.
Early aspects researchers have regularly met since the first AOSD conference in 2002 when the first workshop on the topic was organised. Since then each of the AOSD conferences has had a workshop on the topic. There was also a workshop at the OOPSLA conference last year. The early-aspects.net site is a portal (due to undergo a serious overhaul shortly) for useful information on the topic. A first draft of a landscape report edited by the organisers of the Early Aspects series of workshops was also circulated at the workshop at AOSD 2005 last week. It was, in fact, at the workshop that I thought about starting a blog on the topic. A number of publications on the topic (especially aspect-oriented requirements engineering) are available including a number involving myself (mainly joint work conducted with Ana Moreira and Joao Araujo at Universidade Nova de Lisboa). However, a number of questions are often raised which do not readily find answers in the published work. These often pertain to the effectiveness of early aspects, composition models at this level and so on. Moreover, like the early days of AOP, the question: "What is an Early Aspect" is also raised frequently. In this blog, I intend to provide my perspective on these questions and other topics relating to early aspects with a view to engaging other researchers in a constructive debate.