A Platform for Collaborative e-Science Applications
Marian Bubak · 2009
A novel, holistic, approach to scientific investigations should, besides analysis of individual phenomena, integrate different, interdisciplinary sources of knowledge about a complex system to obtain a deep understanding of the system as a whole. This innovative way of research, recently called system-level science [1], requires advanced software environments to support collaborating research groups. Most problem-solving environments and virtual laboratories [2] are built on top of workflow systems [3]. Their main drawbacks include limited expressiveness of the programming model and lack of mechanisms for integration of computing resources from grids, clusters, dedicated computers, and – recently – clouds. In the ViroLab project [4] we are developing a virtual laboratory [5,6] to support research of infectious diseases, facilitate medical knowledge discovery and provide decision support for HIV drug resistance studies [7]. This virtual laboratory may also be used in other areas of system-level science [8]. Within ViroLab, Collaborative e-Science applications are considered experiments. The Experiment plan notation is based on the Ruby scripting language which has a concise and clear syntax combined with a full set of control structures, enabling relatively easy construction of experiments with various degree of complexity. To provide easy access to different computing and data resources, we have introduced a grid object abstraction level hierarchy. A grid object class is an abstract entity which defines the operations that can be invoked from the script. A class may have multiple implementations, representing the same functionality, and each implementation may have multiple instances, which may run on different resources. Grid objects may have different properties, such as stateless or stateful interaction modes, and they may be either private or shareable between experiments and users. The Virtual Laboratory (see Fig 1) is equipped with tools for user-friendly experiment creation and execution, enabling reuse of existing experiments, gathering and exploiting provenance information, as well as integration of geographically-distributed compute and data resources. The Experiment Planning Environment supports rapid experiment plan development while the Experiment Management Interface enables loading and execution of experiments. The Experiment Repository developers and published for future use. The virtual laboratory engi Operation Invoker which instantiates grid object repr operation invocations. The GridSpace Applic load balancing on computational servers. The Data Access Service remote databases located in research institutions and Fig. 1. Architecture of the Virtual Laboratory The provenance approach in the ViroLab virtual laboratory ontology-based semantic modeling, monitoring of infrastructure, and database technologies, in order to coll the execution of experiments, represent it in a meaningful way, repository. In the ViroLab project, this virtual laboratory is used to plan and virological experiments, with various types of analysis of as the calculation of drug resistance, querying historical and about experiments, a drug resistance system based on the Retrogram been applied to other application domains, such as comparison, data mining using the Weka library, series of Gaussian application on the EGEE infrastructure. computer science classes. We have developed an environment for collaborative planning, execution of e-Science applications. It facilitates fast, close cooperation and users so it may be used by groups of experts running In-silico experiments undergo frequent changes, this platform encourages quick, agile simulation software releasing.