Guest Editors:
Ruzanna Chitchyan, Johan Fabry, Shmuel Katz, Arend Rensink
Motivation
The recent emergence of AOSD and development of dedicated language mechanisms for encapsulating crosscutting concerns has been accompanied by the need to explicitly focus on the mutual influences among these concerns and their influences on the base concerns. Additionally, such separation of aspectual concerns has brought to light new concepts, including composition and interaction mechanisms (e.g., joinpoints, pointcuts, weaving, etc.). These mechanisms both express the dependencies and interactions among crosscutting and non-crosscutting concerns, and also pose new questions about their benefits and side-effects.
Aspectual dependencies and interactions, similar to the aspects themselves, are not confined to one development stage, but span the whole development cycle: from requirements to implementation. This is also true of their supporting mechanisms. Furthermore, these interactions and mechanisms shape the very concepts of AO language design (e.g., the “declare precedence” mechanisms in AspectJ) and AOSD methodology (e.g. dedicated aspectual conflict resolution steps in AO RE, etc.).
In view of the effects of the aspectual dependencies and interactions, considerable research and development work on these issues has been undertaken even since the inception of AOP and AOSD. A significant number of papers in journals and conferences have been published and several workshops including this theme have been successfully organized, showing that the field has a wide base of continuous research being done by established groups around the world.
Though work on aspect dependencies and interactions has been undertaken in many areas of AOSD, until recently there has been no dedicated point of focus for such work: no specialist workshop or publication media existed. Besides, the communities within AOSD working on this topic at different lifecycle stages are still relatively disjoint. This situation is currently changing with the first dedicated workshop on Aspects Dependencies and Interactions being organised at ECOOP 2006. We also believe that bringing the most current work on this subject from different communities together in a special issue on Dependencies and Interactions with Aspects will serve as a vehicle for cross-fertilising these communities, as well as a credible venue for sharing the most recent and mature work in this area.
Call For Papers
Crosscutting concerns exist throughout software development cycle – from requirements through to implementation. Dedicated modularization units representing these concerns are termed aspects. While crosscutting other concerns, aspects often exert broad influences on these concerns, e.g. by modifying their semantics, structure or behaviour. These dependencies among both aspectual and non-aspectual elements may lead to either desirable or (more often) unwanted and unexpected interactions. We encourage submissions investigating the problems of such dependencies and interactions and handling them at all levels:
- starting from the early development stages (i.e., requirements, architecture, and design), looking into dependencies among requirements (e.g. positive/negative contributions between aspectual goals, etc.) and interactions or interference caused by aspects (e.g. quality attributes) in requirements, architecture, and design;
- analysing these dependencies and interactions both through modelling and formal analysis;
- considering language design issues which help to handle such dependencies and interactions (e.g. 'dominates' mechanism of AspectJ), and,
- studying such interactions in applications.
This special issue aims to serve as a vehicle for cross-fertilising the early aspects, formal methods, language design, application development and other communities that must deal with issues involving aspectual dependencies and interactions. It also aims to serve as a venue for sharing the most recent and mature work in this area.
Topics of interest for this special issue include, but are not limited to:- Early Aspects:
- Identification of aspectual dependencies and interactions in various kinds of requirements, architectural, and design documents (e.g. interview transcripts, manuals, etc.);
- Techniques for dependency and interaction analysis;
- Conflict resolution techniques for broadly scoped concerns (i.e., aspects) in requirements, architecture, and design;
- Tool support for the above;
- Formal Methods:
- Expressing a specification of an aspect, independently both of a specific weaving and of other aspects, but with mutual dependencies and assumptions;
- Verifying an aspect implementation against such a specification
- Compositionality for aspects, including techniques for combination and analysis of dependencies, interactions and interference;
- Language Design
- Techniques for interaction detection;
- Ordering and nesting of aspects;
- Mutual exclusion;
- Visibility of inter-type declarations;
- Defining the order of execution of sub-sections of different advices;
Submissions
Submission to this special issue is completely open. Extended versions of previously presented, non- archivally published papers (such as workshop submissions) are welcome. However, the special issue will perform rigorous peer review from scratch. Authors are encouraged to make clear the novelty of their work, its impact on the development of aspect technology, to place their work appropriately in the intellectual context of the development of the field, and to take care that their presentation is clear and concise.
All manuscripts should follow LNCS formatting guidelines and not exceed the maximum length of 40 pages. Each submission will be reviewed by at least three referees.
The manuscripts should be submitted in PDF format via email to both rouza [at] comp.lancs.ac.uk and Johan.Fabry [at] vub.ac.be Authors wishing to discuss potential submissions are welcome to contact the editors at the above emails. Information about the journal "Transactions of Aspect-Oriented Software Development", can be found on the journal's web site.
Editor Details
Ruzanna Chitchyan is a PhD candidate in the Computing Department, Lancaster University. Her principal research interests are in AO requirements engineering and early architecture design, multi-dimensional separation of concerns, and development of composition mechanisms in the requirements and early architecture context. She is one of the researchers leading the work on AO Requirements Engineering at the European Network of Excellence on AOSD. She is co-organised the First Workshop on Analysis of Aspect-Oriented Software at ECOOP 2003, and is co-chairing the workshop on Aspects, Dependencies, and Interactions at ECOOP’06.
Johan Fabry is a postdoctoral researcher in the computer science department at the Vrije Universiteit Brussel. His main research interest is the use of AOSD in building distributed systems, and how different aspects applicable in these systems can be combined within one application. Further research interests include the design of pointcut languages, weaver implementations and domain-specific aspect languages. He is co-chairing the workshop on Aspects, Dependencies, and Interactions at ECOOP’06.
Shmuel Katz is a professor in the Computer Science Department at the Technion—Israel Institute of Technology. He has written extensively on the use of formal methods for software. In particular, he developed techniques that are appropriate for scenario-based specifications, investigated superimpositions for distributed systems, and is one of the leaders of the VeriTech project to translate among formal methods tools and notations. In recent years he has concentrated on applying formal methods techniques to aspects, and has also investigated techniques for describing interactions among aspects. He is the head of the Formal Methods Lab of the EU Network of Excellence AOSD-Europe, and is on the Editorial Board of TAOSD.
Arend Rensink is an associate professor in the Computer Science Department at the University of Twente. His research area is the application of formal methods for specification, verification and transformation in practice, using techniques from – in particular – process algebra and graph transformations. Typical application areas are: software model checking, model transformation and semantics of software languages – among which those in the Aspect-Oriented paradigm. He is member of the Formal Methods Lab of the EU Network of Excellence AOSD-Europe.