A Domain-Specific Language for Describing Grid Applications

A Domain-Specific Language for Describing Grid Applications

Enis Afgan (University of Alabama at Birmingham, USA), Purushotham Bangalore (University of Alabama at Birmingham, USA) and Jeff Gray (University of Alabama at Birmingham, USA)
Copyright: © 2009 |Pages: 37
DOI: 10.4018/978-1-59904-699-0.ch013
OnDemand PDF Download:


Grid computing environments are dynamic and heterogeneous in nature. In order to realize applicationspecific Quality of Service agreements within a grid, specifications at the level of an application are required. This chapter introduces an XML-based schema language (called the Application Specification Language, ASL) and a corresponding modeling tool that can be used to describe applications in grid computing environments. Such application descriptions allow derivation of guided and autonomic service developments for installation and invocation routines throughout the grid. In order to promote the language and ease the application description process, a domain-specific tool is also introduced. Based on our experience, the ASL in combination with higher level models improves, simplifies and promotes the grid application deployment process while simultaneously minimizing tedious and error-prone tasks such as manual application description composition.
Chapter Preview


Grid computing (Foster, Kesselman, & Tuecke, 2001) has gained popularity as the emerging architecture for next-generation high performance distributed computing. Grid computing provides ubiquitous access to distributed high performance computing (HPC) resources that are shared between multiple organizations through virtualization and aggregation. This is realized through a layer of software (e.g., grid middleware), thus making grid applications extremely software-intensive systems where the value of software is equivalent to the value of the underlying infrastructure. Grid middleware provides a standard set of services for authentication, authorization, resource allocation and management, job scheduling, submission, monitoring, and data transfer and management (Berman, Hey, & Fox, 2003b). Software packages and tools based on open-source/open-standard approaches such as Globus Toolkit (Foster & Kesselman, 1997) have enabled the deployment of “production quality” computational grids. Several domain-specific grids are currently operational, for example, Grid Physics Network (GriPhyN) (GriPhyN, 2006), Network for Earthquake Engineering Simulation (NEESGrid) (NEES, 2006), International Virtual Data Grid Laboratory (IVDGL) (IVDGL, 2006), Open Science Grid (Grid, 2007), and Particle Physics Data Grid Collaboratory Pilot (Grid2003) (PPDG, 2006). Grid computing has offered researchers enormous computing and data storage capabilities by providing seamless access to geographically distributed resources through the creation of virtual organizations (VOs).

Despite the many benefits of grid computing, the grid itself does not provide a novel programming paradigm for developing new applications. Furthermore, no formal methodology exists for porting existing legacy applications to the grid. Most of the applications developed for the grid are based on traditional HPC or distributed computing principles. Typical HPC applications are developed using implicit parallel programming techniques (e.g., compiler-based automatic parallelization and directive-based parallelization) or explicit parallel programming techniques (e.g., threads and message-passing). After an HPC application is developed and tested on local resources, it is then deployed; that is, the entire application (source code, dataset, scripts) is transferred to a remote site, compiled on a remote host, and made available for execution.

Deploying an application on the grid requires additional steps that involve user intervention, great insight into the internal structure of the application, as well as familiarity with the various grid computing technologies and toolkits. In addition, the progressive steps of application execution and job submission may involve many additional steps required from the end-user, not necessarily found in a typical application. Due to this inherent complexity and difficulty using the grid, several approaches have attempted to simplify grid deployment and configuration by developing technologies such as Web portals (Gannon et al., 2003), workflow systems (Aalst & Hee, 2002), and component assembly (Armstrong et al., 1999). The ultimate goal of such efforts is to enable the adoption of grid technologies and applications to a wider group of end-users who are not familiar with programming languages and the lower level grid infrastructure. The potential impact for improving grid accessibility to such users is significant (e.g., applied science researchers, distributed organizations, and organizations with variable computational requirements).

Complete Chapter List

Search this Book:
Table of Contents
Pierre F. Tiako
Chapter 1
Alf Inge Wang, Carl-Fredrik Sørensen
This chapter presents a framework for differentiated process support in large software projects. Process support can be differentiated in different... Sample PDF
Differentiated Process Support for Large Software Projects
Chapter 2
Holger Giese, Stefan Henkler, Martin Hirsch, Vladimir Rubin, Matthias Tichy
Software has become the driving force in the evolution of many systems, such as embedded systems (especially automotive applications)... Sample PDF
Modeling Techniques for Software-Intensive Systems
Chapter 3
Jaroslav Král, Michal Žemlicka
Software intensive systems are systems strongly depending on supporting software. The software is typically large, complex, and it as a rule... Sample PDF
Service Orientation and Software-Intensive Systems
Chapter 4
Alf Inge Wang, Carl-Fredrik Sørensen, Hien Nam Le, Heri Ramampiaro, Mads Nygård, Reidar Conradi
This chapter describes a requirement analysis framework that may be used as a tool for developing client-server systems for mobile workers. The... Sample PDF
From Scenarios to Requirements in Mobile Client-Server Systems
Chapter 5
Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale, Jeff Gray, Yuehua Lin, Gunther Lenz
This chapter describes our approach to model-driven engineering (MDE)-based product line architectures (PLAs) and presents a solution to address the... Sample PDF
Evolution in Model-Driven Software Product-Line Architectures
Chapter 6
Ståle Walderhaug, Erlend Stav, Ulrik Johansen, Gøran K. Olsen
This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a... Sample PDF
Traceability in Model-Driven Software Development
Chapter 7
Gerhard Chroust, Erwin Schoitsch
When designing a complex software-intensive system it is unavoidable to make some a-priori basic assumptions about its architecture. We introduce... Sample PDF
Choosing Basic Architectural Alternatives
Chapter 8
Rafael Capilla, Margarita Martínez, Francisco Nava, Cristina Muñoz
Virtual reality systems are a kind of complex software systems that need a lot of effort and resources during its development phase. Because rigid... Sample PDF
Architecting Virtual Reality Systems
Chapter 9
Kendra M.L. Cooper, Lirong Dai, Renee Steiner, Rym Zalila Mili
This chapter presents a survey of software architecture approaches. It is intended for a broad audience of students, practitioners, and researchers... Sample PDF
A Survey of Software Architecture Approaches
Chapter 10
Daniel G. Waddington, Nilabja Roy, Douglas C. Schmidt
As software-intensive systems become larger, more parallel, and more unpredictable the ability to analyze their behavior is increasingly important.... Sample PDF
Dynamic Analysis and Profiling of Multithreaded Systems
Chapter 11
James H. Hill, Douglas C. Schmidt, John M. Slaby
This chapter introduces the next generation of system execution modeling tools designed around modeldriven engineering (MDE) coupled with... Sample PDF
Evaluating Quality of Service for Enterprise Distributed Systems
Chapter 12
Jules White, Douglas C. Schmidt, Andrey Nechypurenko, Egon Wuchner
Model-driven development is one approach to combating the complexity of designing software intensive systems. A model-driven approach allows... Sample PDF
Reducing the Complexity of Modeling Large Software Systems
Chapter 13
Enis Afgan, Purushotham Bangalore, Jeff Gray
Grid computing environments are dynamic and heterogeneous in nature. In order to realize applicationspecific Quality of Service agreements within a... Sample PDF
A Domain-Specific Language for Describing Grid Applications
Chapter 14
Jeff Elpern, Sergiu Dascalu
Traditional software engineering methodologies have mostly evolved from the environment of proprietary, large-scale software systems. Here, software... Sample PDF
A Framework for Understanding the Open Source Revolution
Chapter 15
Syed Ahsan, Abad Shah
With the proliferation of Web, a tremendous amount of data is available to researchers and scientists in computational sciences, business... Sample PDF
Quality Metrics for Evaluating Data Provenance
Chapter 16
Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi
With the emergence of commercial-off-the-shelf (COTS) component middleware technologies software system integrators are increasing faced with the... Sample PDF
System Integration Using Model-Driven Engineering
About the Contributors