4 research outputs found
Identifying and Separating Interaction Concerns from Distributed Feature Components
Implementation of distributed applications over the internet needs the interaction among homogenous/ heterogeneous subcomponents to a great extent. This interaction among heterogeneous components can be implemented by considering the semantic issues of its related compositions. The coordination and cooperation between services at the two ends of application make the problem of interaction more significant. The term interaction can formerly be described in terms of features and services of the application or of the subcomponent
Towards a Taxonomy of Aspect-Oriented Programming.
As programs continue to increase in size, it has become increasingly difficult to separate concerns into well localized modules, which leads to code tangling- crosscutting code spread throughout several modules. Thus, Aspect-Oriented Programming (AOP) offers a solution to creating modules with little or no crosscutting concerns. AOP presents the notion of aspects, and demonstrates how crosscutting concerns can be taken out of modules and placed into a centralized location.
In this paper, a taxonomy of aspect-oriented programming, as well as a basic overview and introduction of AOP, will be presented in order to assist future researchers in getting started on additional research on the topic. To form the taxonomy, over four-hundred research articles were organized into fifteen different primary categories coupled with sub-categories, which shows where some of the past research has been focused. In addition, trends of the research were evaluated and paths for future exploration are suggested
Pattern operators for grid
The definition and programming of distributed applications has become a major research
issue due to the increasing availability of (large scale) distributed platforms
and the requirements posed by the economical globalization. However, such a task
requires a huge effort due to the complexity of the distributed environments: large
amount of users may communicate and share information across different authority
domains; moreover, the “execution environment” or “computations” are dynamic
since the number of users and the computational infrastructure change in time. Grid
environments, in particular, promise to be an answer to deal with such complexity, by
providing high performance execution support to large amount of users, and resource
sharing across different organizations. Nevertheless, programming in Grid environments
is still a difficult task. There is a lack of high level programming paradigms
and support tools that may guide the application developer and allow reusability of
state-of-the-art solutions.
Specifically, the main goal of the work presented in this thesis is to contribute to
the simplification of the development cycle of applications for Grid environments by
bringing structure and flexibility to three stages of that cycle through a commonmodel.
The stages are: the design phase, the execution phase, and the reconfiguration phase.
The common model is based on the manipulation of patterns through pattern operators,
and the division of both patterns and operators into two categories, namely
structural and behavioural. Moreover, both structural and behavioural patterns are
first class entities at each of the aforesaid stages. At the design phase, patterns can
be manipulated like other first class entities such as components. This allows a more
structured way to build applications by reusing and composing state-of-the-art patterns.
At the execution phase, patterns are units of execution control: it is possible, for
example, to start or stop and to resume the execution of a pattern as a single entity. At
the reconfiguration phase, patterns can also be manipulated as single entities with the
additional advantage that it is possible to perform a structural reconfiguration while
keeping some of the behavioural constraints, and vice-versa. For example, it is possible
to replace a behavioural pattern, which was applied to some structural pattern,
with another behavioural pattern.
In this thesis, besides the proposal of the methodology for distributed application
development, as sketched above, a definition of a relevant set of pattern operators
was made. The methodology and the expressivity of the pattern operators were assessed
through the development of several representative distributed applications. To
support this validation, a prototype was designed and implemented, encompassing
some relevant patterns and a significant part of the patterns operators defined. This
prototype was based in the Triana environment; Triana supports the development and
deployment of distributed applications in the Grid through a dataflow-based programming
model. Additionally, this thesis also presents the analysis of a mapping of some
operators for execution control onto the Distributed Resource Management Application
API (DRMAA).
This assessment confirmed the suitability of the proposed model, as well as the
generality and flexibility of the defined pattern operatorsDepartamento de Informática and Faculdade de Ciências e Tecnologia of the Universidade
Nova de Lisboa;
Centro de Informática e Tecnologias da Informação of the FCT/UNL;
Reitoria da Universidade Nova de Lisboa;
Distributed Collaborative Computing Group, Cardiff University, United Kingdom;
Fundação para a Ciência e Tecnologia;
Instituto de Cooperação Científica e Tecnológica Internacional;
French Embassy in Portugal;
European Union Commission through the Agentcities.NET and Coordina projects;
and the European Science Foundation, EURESCO