Supporting the development of CAM/DAOP applications: an integrated development process
The increasing complexity of large-scale distributed applications is driving the Software Engineering community to adopt new software technologies for the development of distributed systems. In this sense, the emergence of component-based software engineering represents a significant advance towards assembling applications by plugging in pre-fabricated components. Additionally, the principle of 'advanced' separation of concerns is nowadays widely applied to improve modularity, reusability and adaptability of software components. In this way, the aspect-oriented software development paradigm separates into a new dimension, named aspect, those properties that crosscut the system 'objects' or 'components', reducing their dependencies. However, the development of software based on the composition of components and aspects is still in its early stages. Part of the reason for this is the lack of well-defined development processes and tools that help software developers in the use of existing component and aspect-based approaches. Therefore, the primary aim of this paper is to propose an integrated development process for deriving applications by the assembly of a set of prefabricated components and aspects. This process supports the development of Component-Aspect Model/Dynamic Aspect-Oriented Platform (CAM/DAOP) applications, where CAM/DAOP is a new model and platform based on components and aspects. Our intention is to show how, with the support of the integrated development process presented in this paper, it is possible to use CAM/DAOP as an alternative to current distributed platforms. Copyright (c) 2006 John Wiley & Sons, Ltd.
aspect-oriented software development component based software development software architecture development environment middleware platform