• DocumentCode
    1968344
  • Title

    Developing scientific applications using Generative Programming

  • Author

    Arora, Ritu ; Bangalore, Purushotham ; Mernik, Marjan

  • Author_Institution
    Dept. of Comput. & Inf. Sci., Univ. of Alabama at Birmingham, Birmingham, AL
  • fYear
    2009
  • fDate
    23-23 May 2009
  • Firstpage
    51
  • Lastpage
    58
  • Abstract
    Scientific applications usually involve large number of distributed and dynamic resources and huge datasets. A mechanism like checkpointing is essential to make these applications resilient to failures. Using checkpointing as an example, this paper presents an approach for integrating the latest software engineering techniques with the development of scientific software. Generative programming is used in this research to achieve the goals of non-intrusive reengineering of existing applications to insert the checkpointing mechanism and to decouple the checkpointing-specifications from its actual implementation. The end-user specifies the checkpointing details at a higher level of abstraction, using which the necessary code is generated and woven into the application. The lessons learned and the implementation approach presented in this paper can be applied to the development of scientific applications in general. The paper also demonstrates that the generated code does not introduce any inaccuracies and its performance is comparable to the manually inserted code.
  • Keywords
    checkpointing; formal specification; natural sciences computing; systems re-engineering; checkpointing specification; distributed resource; dynamic resource; generative programming; non intrusive reengineering; scientific application development; software engineering; Application software; Checkpointing; Distributed computing; Dynamic programming; Parallel programming; Productivity; Programming profession; Scientific computing; Software engineering; Writing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering for Computational Science and Engineering, 2009. SECSE '09. ICSE Workshop on
  • Conference_Location
    Vancouver, BC
  • Print_ISBN
    978-1-4244-3737-5
  • Type

    conf

  • DOI
    10.1109/SECSE.2009.5069162
  • Filename
    5069162