Automating the development of scientific applications using domain-specific modeling

The present work describes an approach to simplify the development of scientific applications. The approach aims at hiding accidental complexities encountered when developing this kind of applications. This work focuses on the development of tools using concepts of domain engineering and domain-specific modeling which are modern software engineering methods for automating the development of software. As a proof of concept a tool that automates the development of Grid applications is presented as well as lessons learned from the initial development of the tool. This work is an attempt to contribute to the long term research goal of empowering users to create complex scientific applications without depending on the expertise of support teams or on hand-crafted solutions.

[1]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools , 2004, GPCE.

[2]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[3]  Jeremy G. Siek,et al.  The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra , 1998, ISCOPE.

[4]  Cristina Boeres,et al.  EasyGrid: towards a framework for the automatic Grid enabling of legacy MPI applications , 2004, Concurr. Pract. Exp..

[5]  Gabor Karsai,et al.  Smart Dust: communicating with a cubic-millimeter computer , 2001 .

[6]  Gabor Karsai,et al.  The Generic Modeling Environment , 2001 .

[7]  Aniruddha S. Gokhale,et al.  Generators for Synthesis of QoS Adaptation in Distributed Real-Time Embedded Systems , 2002, GPCE.

[8]  Don S. Batory,et al.  Program comprehension in generative programming: a history of grand challenges , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[9]  Gabor Karsai,et al.  Composing Domain-Specific Design Environments , 2001, Computer.

[10]  Timothy G. Mattson,et al.  Patterns for parallel programming , 2004 .

[11]  Wolfgang K. Giloi,et al.  PROMOTER: A High-Level, Object-Parallel Programming Language , 1995 .

[12]  E. Long,et al.  Increasing Productivity at Saturn , 1998, Computer.

[13]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[14]  Jens Gerlach,et al.  Domain engineering and generic programming for parallel scientific computing , 2002 .

[15]  Krzysztof Czarnecki,et al.  Generative Programming for Embedded Software: An Industrial Experience Report , 2002, GPCE.

[16]  Jeffrey G. Gray,et al.  A Graphical Modeling Environment for the Generation of Workflows for the Globus Toolkit , 2005 .

[17]  Jeffrey G. Gray,et al.  GAUGE: Grid Automation and Generative Environment , 2006, Concurr. Comput. Pract. Exp..

[18]  Enis Afgan,et al.  Grid Resource Broker Using Application Benchmarking , 2005, EGC.

[19]  Jeffrey G. Gray,et al.  Handling crosscutting constraints in domain-specific modeling , 2001, CACM.

[20]  Scott R. Kohn,et al.  Toward a Common Component Architecture for High-Performance Scientific Computing , 1999, HPDC.