Conceptual model and development process metamodel
Safety Case pattern and weaving table
GPCA Safety Case

SPIRIT Project


Pseudo code for the ATL program generation:
Once a safety case pattern is confirmed to be instantiable, the transformation feature of SPIRIT takes over, which consists of two steps:
1) Java transformation, which utilizes a built-in Java program to produce an ATL program; and
2) ATL transformation, which executes the ATL program generated in the last step to produce a safety case for the target infusion pump project.


The built-in Java program executes Java Transformation as follows: it first identifies all nodes in the safety case pattern; then for a root goal node in the safety case pattern, it creates a matched rule, and for every other nodes in the safety case pattern it creates a called rule; it then replaces each role with project-specific elements based on the weaving model; and lastly it builds the structure of safety case via binding statements within ATL rules.

The (pseudo) code to create a matched rule is shown below:

Binding statements for different types of node contents:

Expressions for different type of node associations:


Example of the output ATL rules:

Click here to download the Java Transformation program

Click here to download the ATL Transformation program