Software Engineering for Computational Science Software (SECoSS)

 

Software im Bereich wissenschaftlichen Rechnens (WRS) ist sehr komplex und unterliegt hohen Qualitätsanforderungen wie Korrektheit und Effizienz. Es ist deshalb wichtig, bei der Entwicklung dieser Software Methoden des Software Engineering (SE) einzusetzen.

Fokus dieses Projektes stehen Algorithmusrahmenwerke, die Algorithmen zur mathematischen Analyse und Simulation naturwissenschaftlicher Prozesse zur Verfügung stellen. Im Qualitätsmanagement dieser Software ist ein umfassender Test bezogen auf den Code, die Algorithmen und die meist physikalische Domäne zu unterscheiden. Dabei ist insbesondere die Variabilität durch die Konfigurierbarkeit der Algorithmen zu berücksichtigen.

In diesem Projekt soll die Anwendung von SE-Methoden für WRS am IWR erforscht und prototypisch umgesetzt werden. Dabei soll die Frage beantwortet werden, inwieweit fortgeschrittene SE-Methoden praktikabel und rentabel bei der Entwicklung von WRS eingesetzt werden können.

Konkret sollen für das Rahmenwerk DUNE SE-Methoden für das Qualitätsmanagement und das Wissensmanagement entwickelt werden, die

  • die effiziente Durchführung des Qualitätsmanagement und
  • verteilte Entwicklung, sowie
  • die Einarbeitung neuer Mitarbeiter

unterstützen.

Unsere Arbeitsgruppe arbeitet in diesem Projekt zusammen mit der Arbeitsgruppe Wissenschaftliches Rechnen.

 

 

Knowledge and Quality Management for Computational Science Software

This subproject generates knowledge and quality management methods to support the development of computational science software. It adapts typical software engineering concepts and methods such as product lines, requirements and design patterns, rationale management, reviews, static or dynamic analysis as well as tailoring corresponding tool support.


In a pilot study, 16 groups working on computational science software at the IWR were interviewed. Based on this, the research project identified general characteristics and the resulting challenges with respect to knowledge and quality management. On the basis of this, solutions for these challenges will be developed in the context of the computational science framework DUNE. (DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations with grid-based methods.)


After successful evaluation, the solutions and the experiences gained will be generalised. Ultimately, developers of computational science software will be able to revert to these results and benefit from them.

 

Scientists involved

Prof. Barbara Paech
Hanna Remmel
Prof. Christian Engwer
Prof. Peter Bastian 

 

References:

H. Remmel, B. Paech, C. Engwer, P. Bastian (2011): Supporting the Testing of Scientific Frameworks with Software Product Line Engineering – A Proposed Approach, in Proceedings of the 2011 ICSE Workshop on Software Engineering for Computational Science and Engineering, ACM, 10-18.

 

H. Remmel, B. Paech, C. Engwer, P. Bastian (2012): System Testing a Scientific Framework using a Regression-Test Environment, Computing in Science and Engineering, Vol. 14, No. 2, 38-45.

 

H. Remmel, B. Paech, C. Engwer, P. Bastian (2013): Design and Rationale of a Quality Assurance Process for a Scientific Framework, in Proceeding of the 5th international workshop on Software engineering for computational science and engineering, IEEE, 58-67.

 

H. Remmel, B. Paech, C. Engwer, P. Bastian (2014): A Case Study on a Quality Assurance Process for a Scientific Framework, Computing in Science and Engineering, Vol. 16, No. 3, May 2014, pp. 58-66, IEEE 2014.