SimPal: a design study on a framework for flexible safety-critical software development

  • Authors:
  • Jesper Pedersen Notander;Per Runeson;Martin Höst

  • Affiliations:
  • Lund University, Sweden;Lund University, Sweden;Lund University, Sweden

  • Venue:
  • ACM SIGAPP Applied Computing Review
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents the findings from a design study on a framework for flexible safety-critical software development, called SimPal. It is an extended version of a paper that was published in SAC'13 Proceedings of the 2013 ACM Symposium on Applied Computing, in which additional details about SimPal as well as a more extensive evaluation of the framework is presented. The objective is to identify necessary quality properties and to learn more about the challenges of realizing frameworks such as SimPal. We approach our research questions by developing a framework and by analysing our experiences from the design and evaluation process. Some necessary quality characteristics has been identified by discussing the ISO25010 quality in use quality model in relation to the problem domain, which were then used to design and evaluate the developed framework. The evaluation was conducted as a design case in which a soft safety controller was developed following the methodology outlined in the paper. We show that our approach, which tries to merge service-oriented practices with model-based development techniques, has potential considering safety-critical software development. However, there are some concerns about run-time performance as well as the ability to qualify the tool for safety-critical development. Based on our results we conclude that the ideas behind the SimPal framework are sound but more work is required to investigate how they can be realized. For the future, we plan on further investigating the code generating capabilities of the modelling tool we are using to see if and how it can be utilised to increase performance. We also plan on adding more features to the framework, for instance coordination and configuration of services, as well as monitoring of messages and system properties.