5 research outputs found
A classification of invasive patterns in AOP
Aspect-Oriented Programming (AOP) improves modularity by encapsulating
crosscutting concerns into aspects. Some mechanisms to compose aspects allow
invasiveness as a mean to integrate concerns. Invasiveness means that AOP
languages have unrestricted access to program properties. Such kind of
languages are interesting because they allow performing complex operations and
better introduce functionalities. In this report we present a classification of
invasive patterns in AOP. This classification characterizes the aspects
invasive behavior and allows developers to abstract about the aspect incidence
over the program they crosscut
Adopting Architectural Event Modules for Modular Coordination of Multiple Applications
Nowadays, large-scale software systems consist of multiple applications, which interact with each other to fulfill desired system-level requirements. It is usually required to coordinate the interactions of the
constituent applications to ensure that the system-level requirements are
fulfilled. In this paper, we outline a set of requirements that must be
fulfilled to facilitate the modular composition of multiple applications.
We introduce the concept of architectural event modules, which are
abstractions to represent constituent applications and their coordination
logic in a modular and uniform way. We explain the implementation of
this concept in the EventReactor language, and define their formal semantics in processing events using the UPPAAL toolset. We illustrate
the suitability of architectural event modules in achieving modularity and
loose coupling in the composition of multiple applications by means of a
case study in the domain of energy-efficient computing
A Symmetric and Unified Approach Towards Combining Aspect-Oriented and Component-Based Software Development
In this paper, we propose a novel approach towards integrating the ideas behind Aspect-Oriented and Component-Based Software Development. Our approach aims at achieving a symmetric, unified component architecture that treats aspects and components as uniform entities. To this end, a novel component model is introduced that does not employ specialized aspect constructs for modularizing crosscutting concerns. Instead, an expressive configuration language is provided that allows to describe both regular and aspect-oriented interactions amongst components. This paper presents the ongoing FuseJ research, a first experiment for realizing this symmetric and unified aspect/component architecture
Model-Driven Development of Aspect-Oriented Software Architectures
[EN] The Model-Driven Development (MDD) paradigm has become widely spread in the last few years due to being based on models instead of source code, and using automatic generation techniques to obtain the final software product. Until now, the most mature methodologies that have been proposed to develop software following MDD are mainly based on functional requirements by following the Object-Oriented Paradigm. Therefore, mature MDD methodologies are required for supporting the code generation from models that specify non-functional requirements. The Aspect-Oriented Software Development (AOSD) approach was created to provide explicit mechanisms for developing non-functional requirements through reusable elements called aspects. Aspect-Oriented Software Architectures (AOSA) emerged to deal with the design of both, functional requirements and non-functional requirements, which opened an important challenge in the software engineering field: the definition of a methodology for supporting the development of AOSAs following the MDD paradigm. This new methodology should allow the code generation from models which specify functional and non-functional requirements. This paper presents a mature approach, called PRISMA, which deals with this challenge. Therefore, this contribution takes a step forward in the area presenting in detail the PRISMA MDD process, which has been applied to generate the code of several real applications of the tele-operated robotics domain. PRISMA MDD approach provides complete support for the development of technology-independent AOSAs, which can be compiled from high-level, aspect-oriented architectural models into different technology platforms and languages following an MDD process. This contribution illustrates how to apply the PRISMA MDD approach through the modelling framework that has been developed to support it, and a case study of a tele-operated robot that has been completely developed using this approach. Finally, the results obtained from the application of PRISMA MDD process to develop applications of the tele-operation domain are analyzed in terms of code generation.The work reported here has been partially sponsored by the Spanish MEC projects (DSDM TIN2008-00889-E and MULTIPLE TIN2009-13838), and MICINN (INNOSEP TIN2009-13849)Pérez Benedí, J.; Ramos Salavert, I.; Carsí Cubel, JÁ.; Costa Soria, C. (2013). Model-Driven Development of Aspect-Oriented Software Architectures. Journal of Universal Computer Science. 19(10):1433-1473. https://doi.org/10.3217/jucs-019-10-143314331473191