1 research outputs found
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