|
Aspect-Oriented Software Development
The Aspect Oriented Software Development (AOSD) is a promising discipline
that can be considered as one of the most suitable alternatives to promote
software evolution and to improve the software development process of
currently complex systems. Originally, this new discipline focused on
implementation issues, known as Aspect Oriented Programming (AOP). In
a fashion similar to structured- and object-orientation, aspect-orientation
is following a cycle of natural progression from programming to other
software development stages. Currently, AOSD aims at promoting the use
of aspects throughout all activities of the software life cycle. The general
aim of AOSD is to propose a seamless software development process where
crosscutting concerns are the main drivers of the development, from requirement
engineering through to implementation.
The aspect-oriented technologies extend traditional techniques such as
object-orientation, allowing developers to encapsulate in separate modules
those properties that normally crosscut several components of a system
and are known as aspects. Examples of such crosscutting concerns are global
properties of a system, such as synchronisation, coordination, distribution
and persistence. The aim of AOSD is to address crosscutting concerns by
providing means for their systematic identification, separation, representation
and composition. The main benefit of AOSD is that it improves system modularisation,
by reducing scattered and tangled code, avoiding the typical mixing between
functional and extra-functional properties, enabling a better code evolution
management.
Aspect-orientation is an emerging technology and therefore there are
still main open issues to be discussed and solved. For example, we still
need notations and languages suitable to express crosscutting concerns
at the different levels of abstraction of the software development life
cycle and middleware (or distributed) platforms providing composition
mechanisms that can allow us to statically and dynamically compose aspects
to other implementation modules.
There has been a growing interest in using Aspect-Oriented Software Development
technologies as a means to facilitate software maintenance and promote
software evolution. For these reasons, we believe that the Spanish, Portuguese
and Latin-American communities can benefit from a forum to discuss open
issues in the area, exchange research results and explore joint possible
solutions.
Topics of interest
Specific topics of interest for the workshop include, but are not limited
to:
- Aspect-oriented requirement engineering.
- Aspect-oriented analysis and design.
- Aspect-oriented software architectures.
- Traceability of aspects throughout all phases of the software life
cycle: from requirements to code
- Aspect and other separation of concerns mechanism, such as viewpoints,
goals and problem frames.
- Integration of components with aspects.
- Mechanisms, rules and languages for composition.
- Aspect-oriented databases.
- Reverse Engineering and Aspect-Orientation.
- Refactoring and Aspect-Orientation.
- Experiences in developing aspect-oriented applications.
- Tools supporting the different phases of the aspect-oriented software
development.
- UML and its application for modelling aspects along all phases of
the sofware life cycle
|