Advertisement

Requirements Engineering for Computational Seismology Software

  • Yang Li
  • Bernd Bruegge
  • Simon Stähler
  • Nitesh Narayan
  • Heiner Igel
Conference paper
Part of the Lecture Notes in Computational Science and Engineering book series (LNCSE, volume 93)

Abstract

Many seismological software applications are developed to support for instance studies of earthquake scenarios, seismic exploration surveys or hazard analysis. Most of these applications were developed in isolation with focus on algorithmic performance, and less emphasized on software’s comprehensibility and maintainability. However, requirements engineering practices, which help to describe the applications from a high level point of view, are mostly ignored. As a result, trying to reuse these algorithms in larger systems, developers face difficulties in comprehending, modifying, adapting and integrating the applications. This paper presents our work of introducing the concepts of requirements engineering to seismological research projects. Requirements describe what a software system is expected to do and to be. They are used to communicate between scientists from different domains (e.g. seismology and computer science) to achieve a common understanding for developing the software. Requirements also provide a basis for other development activities, such as software comprehension, software design, implementation and maintenance. We present a model-based requirements engineering approach that incorporates abstractions and notations from the seismology domain. We describe two requirements patterns, which facilitate the identification and specification of requirements in seismological software development. We use a dynamic rupture example to illustrate how seismologists can apply our approach.

Keywords

Seismology Scientific software development Requirements engineering Modelling 

Notes

Acknowledgements

We would like to thank all model reviewers, for their valuable feedback to help us refine the proposed model. This work is supported by Munich Centre of Advanced Computing (MAC).

References

  1. 1.
    Ackroyd, K.S., Kinder, S.H., Mant, G.R., Miller, M.C., Ramsdale, C.A., Stephenson, P.C.: Scientific software development at a research facility. Softw IEEE 25(4), 44–51 (2008)CrossRefGoogle Scholar
  2. 2.
    Chandrasekaran, B., Josephson, J., Benjamins, V.: What are ontologies, and why do we need them? Intell. Syst. Appl. IEEE 14(1), 20–26 (1999). doi:10.1109/5254.747902CrossRefGoogle Scholar
  3. 3.
    Cheng, B.H.C., Atlee, J.M.: Research directions in requirements engineering. In: 2007 Future of Software Engineering, FOSE ’07, pp. 285–303. IEEE Computer Society, Washington, DC (2007). doi:http://dx.doi.org.eaccess.ub.tum.de/10.1109/FOSE.2007.17. http://dx.doi.org.eaccess.ub.tum.de/10.1109/FOSE.2007.17
  4. 4.
  5. 5.
    Cockburn, A.: Writing Effective Use Cases, vol. 1. Addison-Wesley, Boston (2001)Google Scholar
  6. 6.
    Gómez-Pérez, A., Benjamins, R.: Overview of knowledge sharing and reuse components: ontologies and problem-solving methods. In: IJCAI and the Scandinavian AI Societies. CEUR Workshop Proceedings (1999)Google Scholar
  7. 7.
    Gruber, T.R.: A translation approach to portable ontology specifications. Knowl. Acquis. 5(2), 199–220 (1993). doi:10.1006/knac.1993.1008. http://dx.doi.org.eaccess.ub.tum.de/10.1006/knac.1993.1008 Google Scholar
  8. 8.
    Hannay, J.E., MacLeod, C., Singer, J., Langtangen, H.P., Pfahl, D., Wilson, G.: How do scientists develop and use scientific software? In: 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, pp. 1–8 (2009). doi:10.1109/SECSE.2009.5069155. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5069155
  9. 9.
    Helming, J., Koegel, M., Schneider, F., Haeger, M., Kaminski, C., Bruegge, B., Berenbach, B.: Towards a unified requirements modeling language. In: 2010 Fifth International Workshop on Requirements Engineering Visualization (REV), pp. 53–57 (2010). doi:10.1109/REV.2010.5625659Google Scholar
  10. 10.
    Jackson, M.: Some notes on models and modelling. In: Borgida, A.T., Chaudhri, V.K., Giorgini, P., Yu, E.S. (eds.) Conceptual Modeling: Foundations and Applications, pp. 68–81. Springer, Berlin/Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Kaeser, M.: Seissol: high resolution simulation of seismic wave propagation. http://www.geophysik.uni-muenchen.de/~kaeser/SeisSol/. (2013)
  12. 12.
    Kaiya, H., Saeki, M.: Using domain ontology as domain knowledge for requirements elicitation. In: 14th IEEE International Conference on Requirements Engineering, pp. 189–198 (2006). doi:10.1109/RE.2006.72Google Scholar
  13. 13.
    Konrad, S., Cheng, B.H.: Requirements patterns for embedded systems. In: IEEE International Conference on Requirements Engineering, vol. 0, p. 127 (2002). doi:http://doi.ieeecomputersociety.org/10.1109/ICRE.2002.1211541
  14. 14.
    Li, Y.: Reengineering a scientific software and lessons learned. In: Proceedings of the 4th International Workshop on Software Engineering for Computational Science and Engineering, SECSE ’11, pp. 41–45. ACM, New York (2011). doi:10.1145/1985782.1985789. http://doi.acm.org.eaccess.ub.tum.de/10.1145/1985782.1985789
  15. 15.
    Li, Y., Harutunian, M., Narayan, N., Bruegge, B., Buse, G.: Requirements engineering for scientific computing: a model-based approach. In: 2011 IEEE Seventh International Conference on e-Science Workshops (eScienceW), pp. 128–134 (2011). doi:10.1109/eScienceW.2011.30Google Scholar
  16. 16.
    Li, Y., Narayan, N., Helming, J., Koegel, M.: A domain specific requirements model for scientific computing: nier track. In: Proceeding of the 33rd International Conference on Software Engineering, ICSE ’11, Honolulu, pp. 848–851. ACM, New York (2011)Google Scholar
  17. 17.
    Li, Y., Pelties, C., Kaser, M., Nararan, N.: Requirements patterns for seismology software applications. In: 2012 IEEE Second International Workshop on Requirements Patterns (RePa), pp. 12–16 (2012). doi:10.1109/RePa.2012.6359967Google Scholar
  18. 18.
    Maynard, D., Li, Y., Peters, W.: Nlp techniques for term extraction and ontology population. In: Proceedings of the 2008 Conference on Ontology Learning and Population: Bridging the Gap between Text and Knowledge, pp. 107–127. IOS Press, Amsterdam (2008). http://dl.acm.org.eaccess.ub.tum.de/citation.cfm?id=1563823.1563834
  19. 19.
    Pelties, C., la Puente, J.D., Ampuero, J.P., Brietzke, G.B., Käser, M.: Three-dimensional dynamic rupture simulation with a high-order discontinuous galerkin method on unstructured tetrahedral meshes. J. Geophys. Res. Solid Earth 117 (2012). doi:10.1029/2011JB008857Google Scholar
  20. 20.
    Van Lamsweerde, A.: Goal-oriented requirements engineering: a guided tour. In: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering, 2001, Toronto, pp. 249–262. IEEE (2001)Google Scholar
  21. 21.
    VERCE: Virtual earthquake and seismology research community e-science environment in europe. www.verce.eu (2013)
  22. 22.
    Wen, Y., Zhao, H., Liu, L.: Analysing security requirements patterns based on problems decomposition and composition. In: 2011 First International Workshop on Requirements Patterns (RePa), pp. 11–20 (2011). doi:10.1109/RePa.2011.6046726Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Yang Li
    • 1
  • Bernd Bruegge
    • 1
  • Simon Stähler
    • 2
  • Nitesh Narayan
    • 1
  • Heiner Igel
    • 2
  1. 1.Department of InformaticsTechnische Universität MünchenMunichGermany
  2. 2.Geophysics, Department of Earth and Environmental ScienceLudwig-Maximilian-UniversityMunichGermany

Personalised recommendations