| <?nsuri gsn?> |
| <_> |
| <_template name="compliance"> |
| <!-- The top section of the Correct by Constrution Pattern --> |
| <parameter name="goal"/> <!-- The base node(goal) to which the pattern is applied--> |
| <parameter name="process"/> <!-- The design process name --> |
| <parameter name="system"/> <!-- The system name --> |
| <content> |
| <context name="C1" desc="Development process ${process} of System ${system}"/> |
| <contextOf source="${goal}" target="C1"/> |
| <strat :name="'S' + Strategy.all.indexOf(self)" desc="Argument by decomposition of the design process" :var="complianceStrategy"/> |
| <supp source="${goal}" :target="complianceStrategy"/> |
| <:slot/> |
| </content> |
| </_template> |
| |
| <_template name="informal-phase"> |
| <!-- Arguments section for a desgin phase that can not be formally validated --> |
| <parameter name="name"/> <!-- The informal phase name --> |
| <parameter name="document"/> <!-- The document reference --> |
| <parameter name="standard"/> <!-- The standard used --> |
| <content> |
| <goal :name="'G' + Goal.all.indexOf(self)" desc="${name} is clearly expressed, i.e. ${document}" :var="goal"/> |
| <context :name="'C' + Context.all.indexOf(self)" desc="${standard} Standard " :var="context"/> |
| <contextOf :source="goal" :target="context"/> |
| <supp :source="complianceStrategy" :target="goal"/> |
| </content> |
| </_template> |
| |
| <_template name="formal-phase"> |
| <!-- Arguments for a desgin phase that can be formally validated. --> |
| <parameter name="name"/> <!-- The formal design phase name --> |
| <parameter name="spec"/> <!-- The formal specification --> |
| <content> |
| <goal :name="'G' + Goal.all.indexOf(self)" desc="${name} is clearly expressed and shown to be held" :var="goal"/> |
| <supp :source="complianceStrategy" :target="goal"/> |
| <strat :name="'S' + Strategy.all.indexOf(self)" desc="Argument by assurance activity" :var="strategy"/> |
| <supp :source="goal" :target="strategy"/> |
| <goal :name="'G' + Goal.all.indexOf(self)" desc="${spec} is clearly expressed and is valid" :var="goal2"/> |
| <supp :source="strategy" :target="goal2"/> |
| <:slot/> |
| </content> |
| </_template> |
| |
| <_template name="activity"> |
| <!-- Arguments for an assurance activity --> |
| <parameter name="name"/> <!-- The assurance activity name --> |
| <content> |
| <context :name="'C' + Context.all.indexOf(self)" desc="Assurance activity: ${name}" :var="context"/> |
| <contextOf :source="strategy" :target="context"/> |
| </content> |
| </_template> |
| |
| <_template name="input"> |
| <!-- Arguments for an input required by an assurance activity --> |
| <parameter name="name"/> <!-- The input name --> |
| <content> |
| <context :name="'C' + Context.all.indexOf(self)" desc="${name} available as input to the assurance activity" :var="context"/> |
| <contextOf :source="strategy" :target="context"/> |
| </content> |
| </_template> |
| |
| <_template name="evidence"> |
| <!-- Arguments for the evidence generated by an assurance activity --> |
| <parameter name="name"/> <!-- The assurance activity name --> |
| <content> |
| <sol :name="'E' + Solution.all.indexOf(self)" desc="Result from ${name}" :var="solution"/> |
| <supp :source="goal2" :target="solution"/> |
| </content> |
| </_template> |
| |
| </_> |