Approaches for modeling safety critical systems

Approaches for modeling safety critical systems

Many model-based approaches have been proposed recently to support the development of software in the context of safety-critical systems. Although our research problem is particularly aimed at airborne software and their development according to DO-178C, we have explored a broader range of application domains for model-based approaches, extending the scope of our literature review to approaches pertaining to the development of safety-critical software in general. The reason behind this wide scope, is due to the fact that safety-critical software share similar properties and challenges independently from their domain of application such as railway, aerospace, energy and medical devices.

Domain-independent approaches

Generally, safety compliance is not based on just one standard but a corpus of regulatory standards. In this context, De la Vara et al. (2016) introduce the Reference Assurance Framework (RAF) metamodel. Its purpose is to express key concepts and relations used for demonstrating safety compliance that are extracted from multiple sources (i.e. safety standards, specific domain recommended practices, and company specific practices). The RAF meta-model provides an unified mean to create models used for safety assurance and certification.

fety standards rely on the traceability of safety evidence throughout the complete software life cycle to both demonstrate compliance with standard and support claims about the safety of the software product. Commonly required safety evidence includes: test cases, test results, and system specifications (requirements). Because suppliers must collect and maintain these evidence, the explicit specification of the traces between these artifacts is an important aspect to support the certification process of safety critical systems.

Work from Nair et al. (2014) introduces a Safety Evidence Traceability Information Model (SafeTIM). Its objective is to provide a broad overview of safety evidence traceability in the context of safety critical systems. The proposed model captures the traces and evidence information that must be created and maintained to show compliance with safety standards. SafeTIM was developed based on an extracted set of traces that are necessary for safety evidence.

Nejati et al. (2012) introduce a SysML based approach to address traceability between safety requirements and their design implementation. An algorithm that analyses the association between a requirement and its implementation is provided to extract design slices. Design slices provide a detailed view of the system from the perspective of a specific safety requirement. These are extracted from the overall design and capture the design aspects related to a target requirement. Such slice enables the analysis of the implementation of a safety requirement by removing the design elements that are irrelevant for the requirement under analysis.

Domain-specific approaches

UML profiles targeting various specific safety critical systems
Berkenkötter & Hannemann (2006) propose a domain specific language in the form of a UML profile for the railway control systems domain (RCSD). The RCSD profile enables the precise modeling of the static description of railway networks and their associated dynamic aspects. Networks are comprised of elements such as track segments, points, signals, and sensors. These elements are the physical entities that constitute a network of tracks on which trains are moving through pre-defined routes.

The profile models the domain using a combination of class diagrams and object diagrams. Class diagrams are used to represent problems of the railway domain (i.e. tramway and railroad models) whereas object diagrams capture instances of these problems (i.e. the explicit track layout). The object diagram uses either the UML notation or a notation introduced by the authors based on the symbology of the railway domain.

The dynamic aspect of the track network is defined as a timed state transition system (TSTS). The timed transitions are embedded locally in the profile’s elements. To ensure safety through the network, a controller is defined and added to the network model and remain independent from he physical elements captured in the model. The controller includes the safety conditions for running the systems. The controller model is defined using a strict mathematical model. This mathematical definition enables to prove the violation of the safety conditions for the running system by using bounded model checking techniques.

UML profiles for avionics software
Wu et al. (2015) have developed a methodology called Safety Oriented Architecture Modeling (SOAM). The method focuses on the design of a component centric architecture for avionic software in the context of DO-178C. More precisely this approach emphasizes on the notions related to the safety of software components. The method introduces an UML profile named SafetyProfile. Authors claim that the profile captures safety properties in accordance with DO-178C guidelines that apply to software components and their related interfaces.

Zoughbi et al. (2010) introduced SafeUML, a UML profile based on DO-178B. Its purpose is to capture the safety related requirements that are allocated to software and to monitor their implementation through the software design. Furthermore the profile intends to improve communication and collaboration between safety engineers, software engineers and the certification authorities. The profile is organized into packages, each package includes a set of related concepts. The concepts from which the profile is developed are grouped into five packages: 1) the Requirements package contains the concepts that are needed to express software requirements, their refinement as well as the traceability of the requirements to design artifacts, 2) the Characteristics package contains concepts to identify design elements having a direct impact on safety by specifying the software level that is attached to these elements along with the failure conditions that are associated to these elements, 3) the Event Management package that defines the concepts of events and the actions related to their capture, 4) the Configuration package that defines the concepts to capture elements related to software configuration, user modifiable software and change control, and 5) the Replication package containing concepts to address software redundancy.

Table des matières

INTRODUCTION
CHAPTER 1 LITERATURE REVIEW
1.1 DO-178C
1.1.1 DO-331
1.1.2 DO-332
1.1.3 DO-333
1.2 Model-driven engineering
1.2.1 Domain specific modeling
1.2.2 UML and its extension mechanisms
1.3 Approaches for modeling safety critical systems
1.3.1 Domain-independent approaches
1.3.2 Domain-specific approaches
1.3.2.1 UML profiles targeting various specific safety critical systems
1.3.2.2 UML profiles for avionics software
1.4 Discussion
CHAPTER 2 PROPOSED APPROACH AND METHODOLOGY
2.1 Research objectives
2.2 Proposal: An assurance level sensitive UML profile to capture DO-178C
relevant certification information
2.3 Research methodology
CHAPTER 3 A DO-178C CONCEPTUAL MODEL
3.1 The template for describing the conceptual model
3.2 Software Planning Process
3.2.1 Activity
3.2.2 Deviation
3.2.3 Environment
3.2.4 FeedbackMechanism
3.2.5 Objective
3.2.6 Process
3.2.7 SimulationEnvironment
3.2.8 SoftwareDevelopmentEnvironment
3.2.9 SoftwareLifeCycle
3.2.10 SoftwareLifeCycleData
3.2.11 SoftwareTestEnvironment
3.2.12 TransitionCriterion
3.3 Software Requirements Process
3.3.1 HighLevelRequirement
3.3.2 LowLevelRequirement
3.3.3 Rationale
3.3.4 Requirement
3.3.5 SystemRequirement
3.4 Software Verification Process
3.4.1 Analysis
3.4.2 Result
3.4.3 Review
3.4.4 TestCase
3.4.5 TestProcedure
3.4.6 TestResult
CHAPTER 4 AN ASSURANCE LEVEL SENSITIVE UML PROFILE FOR SUPPORTING DO-178C
4.1 Profile architecture
4.2 UML Profile – Template description
4.3 LifeCycle Package
4.3.1 «Activity»
4.3.2 «Deviation»
4.3.3 «Environment»
4.3.4 «FeedbackMechanism»
4.3.5 «Objective»
4.3.6 «Process»
4.3.7 «SimulationEnvironment»
4.3.8 «SoftwareDevelopmentEnvironment»
4.3.9 «SoftwareLifeCycle»
4.3.10 «SoftwareLifeCycleData»
4.3.11 «SoftwareTestEnvironment»
4.3.12 «TransitionCriterion»
4.4 Requirements Package
4.4.1 «Derivation»
4.4.2 «HighLevelRequirement»
4.4.3 «LowLevelRequirement»
4.4.4 «Rationale»
4.4.5 «Refinement»
4.4.6 «Requirement»
4.4.7 «Satisfaction»
4.4.8 «SystemRequirement»
4.5 Verification Package
4.5.1 «Analysis»
4.5.2 «Result»
4.5.3 «Review»
4.5.4 «TestCase»
4.5.5 «TestProcedure»
4.5.6 «TestResult»
4.5.7 «Verification»
CHAPTER 5 CASE STUDY – THE LANDING GEAR CONTROL SOFTWARE
5.1 Tool support
5.1.1 Papyrus
5.1.2 Implementing the DO-178C profile
5.1.2.1 Step 1: Creation of the Profile Model
5.1.2.2 Step 2: Integrating the profile within the Papyrus tool
5.2 Using the DO-178C profile to model an avionic software
5.2.1 Landing Gear Control Software – Overview
5.2.2 Use case 1: Specifying the software life cycle of the LGCS
5.2.3 Use case 2: Specifying requirements
5.2.4 Use case 3: Ensuring traceability of software requirements
5.2.5 Use case 4: Specifying verification data
5.3 Discussion
CONCLUSION

Cours gratuitTélécharger le document complet

 

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *