Patterns and Operators for Grid Software Development.

OMER F. RANA, Maria Cecília Gomes, José C. Cunha · ICWI · 2003

ABSTRACT A pattern-based workflow system for creating Grid applications is described, which makes use of “behavioural” and “structural” patterns and operators. The subsequent mapping of these patterns and operators to computational resources for execution is also discussed. KEYWORDS Grid Computing, Software Engineering, Workflow 1. INTRODUCTION AND MOTIVATION As the hardware (high speed networks, workstation clusters, intelligentsensors etc) and software (Globus/OGSA, UNICORE etc) infrastructure for Computational Grids matures, the next challenge is to identify a way to connect these disparate collection of resources and services to create the next generation of scientific applications. Every scientific discipline will have some common themes which describe how a particular set of experiments are to be set-up and managed. Often, such deductions are a combination of experience and knowledge about a particular domain. Such “idioms” are however often hidden by the complexity of actually managing the experiment – such as setting up scientific instruments, configuring data sources and various computing environments. There is therefore clearly a need to capture these common idioms, as they often encapsulate best-practice that should be shared within a particular community. It may also be interesting to identify common themes across multiple scientific disciplines, thereby providing a means to share software tools and data sets more effecti vely. Due to the integration capabilities offered by the Grid, identifying, recording and publishing such common idioms may provide a useful way to undertake better science. The approach adopted in this work is primarily aimed at providing suitable tools for computational scientists and developers, who have some understanding of the computational needs of their application domain, to express common usage of software infrastructure within their domains as “design patterns”. To use these patterns, it is assumed that a scientist is aware about the likely co-ordination and interactions taking place between software components of the application (such as a database or numeric solver, for instance) that is being developed. Software engineering tools for Grids must support application configuration, execution control and reconfiguration of software services. Our contribution comprises a software engineering tool where the composition of Grid resources results from manipulating patterns through pre-defined pattern operators. The tool provides a library of pre-defined and user defined pattern templates, and a

Read the paper · More papers on PaperTik