Abstract:
The safety is considered one of the most critical issues in the design of the modern systems (e.g. cyber-physical systems). With the increasing attention of software safety, how to improve software safety has already become a more important concerned issue, especially for the safety-critical systems. The Software Product-Line (SPL) and reusable software components are suitable approaches for these systems, which are often re-engineered from existing systems. Currently, the influence of the architecture in assurance of software safety is being increasingly recognized. However, the safety-based architectural design methods are limited in SPLs because of the complexity and variabilities existing in SPL architectures. For that, this work seeks to find an efficient and effective method that can be used into the design process of the safety-critical SPLAs which enhances and manages the safety of SPLs. The work proposed a method for safety-driven software product line architecture design (SSPLA). For efficiency, a number of efforts have been made. In this context the proposed design method mentioned above is configured and adapted to be state-based architecture design method. Also as a pattern based development of the reference architecture can support the development and application process of the product lines a new safety design pattern of statechart is developed. The result is an object-oriented design pattern which handles the safety attribute. Additionally, as there is a tight interplay between safety and security, and in order to address the influence of the security issues in the safety design using patterns, a pattern development approach is proposed which is then used to enhance the proposed safety design pattern of statechart. In order to show the applicability of our work as well as evaluate it, a simplified safety assessment model is developed as well as using of two case studies. The evaluation results show that there is a considerable improvement in the safety design of the SPLA after applying our work. The results have proved that the state-based approach highly supports the development of the safety critical systems and it is effective to handle the safety and security together in the design of the safety pattern which provides more benefits as it is a high level reuse. Finally, this research will benefit both architects and safety engineers who can design SPLAs or develop software products.