| @gmf |
| @namespace(uri="http://refframework/1.0", prefix="refframework") |
| package refframework; |
| |
| import "platform:/resource/org.eclipse.opencert.infra.mappings/model/Mapping.ecore"; |
| import "platform:/resource/org.eclipse.opencert.infra.general/model/general.ecore"; |
| import "platform:/resource/org.eclipse.opencert.infra.properties/model/property.ecore"; |
| |
| @gmf.diagram |
| class RefFramework extends general.DescribableElement { |
| attr String scope; |
| attr String rev; |
| attr String purpose; |
| attr String publisher; |
| attr EDate issued; |
| val RefActivity[*] ownedActivities; |
| val RefArtefact[*] ownedArtefact; |
| val RefRequirement[*] ownedRequirement; |
| val RefApplicabilityLevel[*] ownedApplicLevel; |
| val RefCriticalityLevel[*] ownedCriticLevel; |
| val RefRole[*] ownedRole; |
| val RefTechnique[*] ownedTechnique; |
| } |
| |
| class RefRequirement extends general.DescribableElement, RefAssurableElement { |
| attr String reference; |
| attr String assumptions; |
| attr String rationale; |
| attr String image; |
| |
| @ExtendedMetaData |
| transient attr String annotations; |
| val RefRequirementRel[*] ownedRel; |
| val RefApplicability[*] applicability; |
| val RefRequirement[*] subRequirement; |
| } |
| |
| @gmf.node(label="name", figure="figures.ArtefactFigure", label.icon="false", label.placement="external") |
| class RefArtefact extends general.DescribableElement, RefAssurableElement { |
| attr String reference; |
| ref RefRequirement[*] constrainingRequirement; |
| ref RefTechnique[*] applicableTechnique; |
| val RefArtefactRel[*] ownedRel; |
| ref property.Property[*] property; |
| } |
| |
| @gmf.node(label="name", border.color="0,0,0", border.width="2") |
| class RefActivity extends general.DescribableElement, RefAssurableElement { |
| attr String objective; |
| attr String scope; |
| |
| @gmf.link(color="255,0,0", source.decoration="closedarrow", style="dash", tool.small.bundle="org.eclipse.opencert.pkm.refframework", tool.small.path="icons/Require.gif") |
| ref RefArtefact[*] requiredArtefact; |
| |
| @gmf.link(color="0,255,0", target.decoration="filledclosedarrow", style="solid", tool.small.bundle="org.eclipse.opencert.pkm.refframework", tool.small.path="icons/Produce.gif") |
| ref RefArtefact[*] producedArtefact; |
| |
| @gmf.compartment |
| val RefActivity[*] subActivity; |
| |
| @gmf.link(source.decoration="arrow", tool.small.bundle="org.eclipse.opencert.pkm.refframework", tool.small.path="icons/Precedence.gif") |
| ref RefActivity[*] precedingActivity; |
| val RefRequirement[*] ownedRequirement; |
| |
| @gmf.link(color="0,0,255", source.decoration="closedarrow", style="dash", tool.small.bundle="org.eclipse.opencert.pkm.refframework", tool.small.path="icons/Executing.gif") |
| ref RefRole[*] role; |
| ref RefTechnique applicableTechnique; |
| val RefActivityRel[*] ownedRel; |
| val RefApplicability[*] applicability; |
| } |
| |
| class RefRequirementRel { |
| ref RefRequirement[1] target; |
| ref RefRequirement[1] source; |
| attr general.RequirementRelKind type; |
| } |
| |
| @gmf.node(label="name", figure="figures.RefRoleFigure", label.icon="false", label.placement="external") |
| class RefRole extends general.DescribableElement, RefAssurableElement { |
| } |
| |
| class RefApplicabilityLevel extends general.DescribableElement { |
| } |
| |
| class RefCriticalityLevel extends general.DescribableElement { |
| } |
| |
| class RefTechnique extends general.DescribableElement, RefAssurableElement { |
| ref RefCriticalityApplicability[*] criticApplic; |
| attr String aim; |
| } |
| |
| class RefArtefactRel extends general.DescribableElement { |
| attr int maxMultiplicitySource; |
| attr int minMultiplicitySource; |
| attr int maxMultiplicityTarget; |
| attr int minMultiplicityTarget; |
| attr general.ChangeEffectKind modificationEffect; |
| attr general.ChangeEffectKind revocationEffect; |
| ref RefArtefact[1] source; |
| ref RefArtefact[1] target; |
| } |
| |
| class RefCriticalityApplicability { |
| ref RefApplicabilityLevel[1] applicLevel; |
| ref RefCriticalityLevel[1] criticLevel; |
| attr String comment; |
| } |
| |
| class RefActivityRel { |
| attr general.ActivityRelKind type; |
| ref RefActivity[1] source; |
| ref RefActivity[1] target; |
| } |
| |
| abstract class RefAssurableElement { |
| val RefEquivalenceMap[*] equivalence; |
| } |
| |
| class RefIndependencyLevel extends RefApplicabilityLevel { |
| } |
| |
| class RefRecommendationLevel extends RefApplicabilityLevel { |
| } |
| |
| class RefControlCategory extends RefApplicabilityLevel { |
| } |
| |
| class RefApplicability extends general.NamedElement { |
| val RefCriticalityApplicability[*] applicCritic; |
| attr String comments; |
| ref RefAssurableElement applicTarget; |
| val RefApplicabilityRel[*] ownedRel; |
| } |
| |
| class RefApplicabilityRel { |
| attr general.ApplicabilityKind type; |
| ref RefApplicability[1] source; |
| ref RefApplicability[1] target; |
| } |
| |
| class RefEquivalenceMap extends mapping.EquivalenceMap { |
| ref RefAssurableElement[*] target; |
| } |
| |