Using software product line engineering to construct products with different certification levels - An Industrial Action Research Study
Publicerad
Författare
Typ
Examensarbete för masterexamen
Program
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Background: Software product line engineering (SPLE) is used to derive multiple
products from a common platform and has many industry examples of its benefits
such as reduced development cost and decreased time to market. However, there
is no research to our knowledge on how well it functions with agile development
when there is a need to create both safety-critical products and non safety-critical
products. The regulatory difference between these two is that the safety-critical
products require certification to be sold.
Aim: This thesis investigates which SPLE variability approaches can be used to
differentiate code associated to a safety-critical and a non safety-critical product.
The research was done at the company 1928 Diagnostics, with the goal of finding
the most suitable variability approach for the company and how this might affect
their business, architecture, process and organization.
Method: We investigate variability approaches by looking at current SPLE literature
and by using an action research methodology. The data is collected through
interviews, focus groups, a mockup of a chosen variability approach and discussions
at the company.
Results: We identify five variability approaches that can support differentiation:
design patterns, components, preprocessor, parameter-based and version control. We
found that the most suitable variability approach for 1928 Diagnostics was components.
From the evaluation of the mockup we found that potential effects primarily
would be related to the architecture and the assistance it could provide to the process
later. Finally, we present a methodology for how to derive the most suitable
variability approach.
Beskrivning
Ämne/nyckelord
Software Product Line, Agile Development, Safety-critical system, Development Process, CE-marked products, Certification, Medical Device, Software Engineering