CPFSTool Metamodel

//CPFSTool Metamodel
abstract SecurityProblemFrame
name : string
intent : string
informalDescription : string
effect -> Effect
spfFrameDiagram -> FrameDiagram
abstract ConcretizedSecurityProblemFrame
name : string
intent : string
informalDescription : string
cspfFrameDiagram -> FrameDiagram
necessaryCondition -> NecessaryCondition *
abstract FrameDiagram
domains -> Domain 3..*
interfaces -> Interface 2..*
requirementReferences -> RequirementReference 2..*
requirementTemplate -> RequirementTemplate
[ some d : domains | d.isMachine ]
[ some i : interfaces | some d : domains | some m : domains | m.isMachine && i in m.isConnectedBy && i in d.isConnectedBy ]
[ some i : interfaces | some d : i.connects | d.isMachine && some p : i.contains | p.isControlledBy.isMachine ]
[ all d : domains | some i : interfaces | i in d.isConnectedBy ]
[ all d : domains | all p : d.controls | some i : d.isConnectedBy | p in i.contains ]
[ all d : domains | d.isConnectedBy in interfaces ]
[ all disj d1; d2 : domains | d1.name.ref != d2.name.ref ]
[ all disj d1; d2 : domains | d1.abbreviation.ref != d2.abbreviation.ref ]
[ all d : domains | all i : interfaces | all p : i.contains | p.name != d.name ]
[ all i : interfaces | i.connects in domains ]
[ all i : interfaces | all p : i.contains | one d : domains | p in d.controls && d in i.connects ]
abstract Effect
formulaE -> Formula +
abstract NecessaryCondition
formulaNC -> Formula +
abstract Formula
content : string
informalDescription : string
abstract Domain
name : string
abbreviation : string
isGiven ?
isMachine ?
controls -> InterfacePhenomenon *
[ parent in this.isControlledBy ]
isConstrainedByUsing -> ConstrainingRequirementReference ?
isReferredToByUsing -> RequirementReference ?
[ parent in this.isConnectedToDomain ]
isConnectedBy -> Interface +
[ parent in this.connects ]
[ isMachine => no isGiven ]
abstract CausalDomain : Domain
abstract BiddableDomain : Domain
[ isGiven ]
[ no isMachine ]
abstract LexicalDomain : CausalDomain
[ no isMachine ]
abstract DisplayDomain : CausalDomain
abstract Interface
name : string
contains -> InterfacePhenomenon +
connects -> Domain 2..*
[ parent in this.isConnectedBy ]
[ all p : contains | one d : connects | p.isControlledBy = d ]
enum PhenomenonType = causal | symbolic | event
abstract Phenomenon
name : string
abstract InterfacePhenomenon : Phenomenon
isControlledBy -> Domain
[ parent in this.controls ]
isContainedInIf -> Interface +
[ parent in this.contains ]
abstract RequirementPhenomenon : Phenomenon
abstract RequirementTemplate
content : string
constrainsUsing -> ConstrainingRequirementReference +
refersToUsing -> RequirementReference *
[ parent in this.isConnectedToReq ]
abstract RequirementReference
name : string
contains -> RequirementPhenomenon +
isConnectedToReq -> RequirementTemplate
[ parent in this.refersToUsing ]
isConnectedToDomain -> Domain
[ parent in this.isReferredToByUsing ]
abstract ConstrainingRequirementReference : RequirementReference
related -> SecurityProblemFrame *
refined -> SecurityProblemFrame *
c0_SecurityProblemFrame abstract SecurityProblemFrame c0_Effect abstract Effect c0_SecurityProblemFrame->c0_Effect effect c0_FrameDiagram abstract FrameDiagram c0_SecurityProblemFrame->c0_FrameDiagram spfFrameDiagram c0_Formula abstract Formula c0_Effect->c0_Formula formulaE c0_Domain abstract Domain c0_FrameDiagram->c0_Domain domains c0_Interface abstract Interface c0_FrameDiagram->c0_Interface interfaces c0_RequirementReference abstract RequirementReference c0_FrameDiagram->c0_RequirementReference requirementReferences c0_RequirementTemplate abstract RequirementTemplate c0_FrameDiagram->c0_RequirementTemplate requirementTemplate c0_ConcretizedSecurityProblemFrame abstract ConcretizedSecurityProblemFrame c0_ConcretizedSecurityProblemFrame->c0_FrameDiagram cspfFrameDiagram c0_NecessaryCondition abstract NecessaryCondition c0_ConcretizedSecurityProblemFrame->c0_NecessaryCondition necessaryCondition c0_NecessaryCondition->c0_Formula formulaNC c0_Domain->c0_Interface isConnectedBy c0_Domain->c0_RequirementReference isReferredToByUsing c0_InterfacePhenomenon abstract InterfacePhenomenon : Phenomenon c0_Domain->c0_InterfacePhenomenon controls c0_ConstrainingRequirementReference abstract ConstrainingRequirementReference : RequirementReference c0_Domain->c0_ConstrainingRequirementReference isConstrainedByUsing c0_Interface->c0_Domain connects c0_Interface->c0_InterfacePhenomenon contains c0_RequirementReference->c0_Domain isConnectedToDomain c0_RequirementReference->c0_RequirementTemplate isConnectedToReq c0_RequirementPhenomenon abstract RequirementPhenomenon : Phenomenon c0_RequirementReference->c0_RequirementPhenomenon contains c0_RequirementTemplate->c0_RequirementReference refersToUsing c0_RequirementTemplate->c0_ConstrainingRequirementReference constrainsUsing c0_InterfacePhenomenon->c0_Domain isControlledBy c0_InterfacePhenomenon->c0_Interface isContainedInIf c0_Phenomenon abstract Phenomenon c0_InterfacePhenomenon->c0_Phenomenon c0_ConstrainingRequirementReference->c0_SecurityProblemFrame related c0_ConstrainingRequirementReference->c0_SecurityProblemFrame refined c0_ConstrainingRequirementReference->c0_RequirementReference c0_CausalDomain abstract CausalDomain : Domain c0_CausalDomain->c0_Domain c0_BiddableDomain abstract BiddableDomain : Domain c0_BiddableDomain->c0_Domain c0_LexicalDomain abstract LexicalDomain : CausalDomain c0_LexicalDomain->c0_CausalDomain c0_DisplayDomain abstract DisplayDomain : CausalDomain c0_DisplayDomain->c0_CausalDomain c0_PhenomenonType c0_PhenomenonType c0_Phenomenon->c0_PhenomenonType type c0_RequirementPhenomenon->c0_Phenomenon
Module Statistics: | All clafers: 64 | Abstract: 19 | Concrete: 45 | Reference: 40 | Constraints: 36 | Goals: 0 | Global scope: 1..* | Can skip name resolver: no |

Module Downloads: | [.cfr] | [.html] |