| @namespace(uri="arg", prefix="arg") |
| package arg; |
| |
| import "platform:/resource/org.eclipse.opencert.evm.evidspec/model/evidence.ecore"; |
| import "platform:/resource/org.eclipse.opencert.apm.assuranceassets/model/assuranceasset.ecore"; |
| |
| @gmf.diagram(foo="bar") |
| class Case { |
| val ArgumentElement[*] argument; |
| val Argumentation[*] argumentation; |
| val Agreement[*] agreement; |
| val ArgumentElementCitation[*] cited; |
| val InformationElementCitation[*] information; |
| } |
| |
| abstract class ModelElement { |
| attr String ~id; |
| attr String name; |
| } |
| |
| class AssuranceCase extends ModelElement { |
| val Argumentation[*] hasArgument; |
| val evidence.Artefact[*] hasEvidence; |
| ref AssuranceCase[*] composedOf; |
| } |
| |
| abstract class ArgumentationElement extends ModelElement { |
| |
| @gmf.label() |
| attr String description; |
| attr String content; |
| } |
| |
| @gmf.node(label="id", label.icon="false", figure="gsnfigures.GSNArgumentModule", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.small.path="GSN_tooling_icons/ArgumentModule.gif", tool.large.bundle="org.eclipse.opencert.sam.arg", tool.large.path="GSN_tooling_icons/ArgumentModule.gif", size="120,80") |
| class Argumentation extends ArgumentationElement, assuranceasset.ManageableAssuranceAsset { |
| attr String location; |
| ref Argumentation[*] argumentation; |
| ref ArgumentElement[*] consistOf; |
| } |
| |
| abstract class ArgumentElement extends ArgumentationElement { |
| } |
| |
| @gmf.node(label="id", label.icon="false", figure="gsnfigures.GSNSolution", tool.small.path="GSN_tooling_icons/Solution.gif", tool.large.path="GSN_tooling_icons/Solution.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", size="100,100") |
| class InformationElementCitation extends ArgumentElement { |
| attr InformationElementType type; |
| attr Boolean[1] toBeInstantiated = "false"; |
| attr String url; |
| ref evidence.Artefact[*] artefact; |
| } |
| |
| abstract class ReasoningElement extends ArgumentElement { |
| } |
| |
| @gmf.node(label="id", label.icon="false", figure="gsnfigures.GSNArgumentModule", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.small.path="GSN_tooling_icons/ArgumentModule.gif", tool.large.bundle="org.eclipse.opencert.sam.arg", tool.large.path="GSN_tooling_icons/ArgumentModule.gif", size="120,80") |
| class ArgumentElementCitation extends ArgumentElement { |
| attr CitationElementType citedType; |
| @gmf.label() |
| attr String argumentationReference; |
| } |
| |
| abstract class Assertion extends ReasoningElement { |
| } |
| |
| @gmf.node(label="id", label.icon="false", figure="gsnfigures.GSNStrategy", tool.small.path="GSN_tooling_icons/Strategy.gif", tool.large.path="GSN_tooling_icons/Strategy.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", size="120,80") |
| class ArgumentReasoning extends ReasoningElement { |
| attr Boolean[1] toBeSupported = "false"; |
| attr Boolean[1] toBeInstantiated = "false"; |
| ref Argumentation[*] hasStructure; |
| } |
| |
| @gmf.node(label="id", label.icon="false", figure="gsnfigures.GSNGoal", tool.small.path="GSN_tooling_icons/Goal.gif", tool.large.path="GSN_tooling_icons/Goal.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", size="120,80") |
| class Claim extends Assertion, assuranceasset.ManageableAssuranceAsset { |
| attr Boolean[1] public = "false"; |
| attr Boolean[1] assumed = "false"; |
| attr Boolean[1] toBeSupported = "false"; |
| attr Boolean[1] toBeInstantiated = "false"; |
| |
| @gmf.affixed |
| val Choice choice; |
| } |
| |
| abstract class AssertedRelationship extends Assertion { |
| } |
| |
| @gmf.node(label="optionality", label.placement="external", label.icon="false", figure="org.eclipse.opencert.sam.arg.ui.figures.Choice", tool.small.path="GSN_tooling_icons/Optionality.gif", tool.large.path="GSN_tooling_icons/Optionality.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", size="40,40") |
| class Choice extends ArgumentElement { |
| attr AssertedByMultiplicityExtension sourceMultiextension; |
| attr String sourceCardinality = ""; |
| attr String optionality; |
| } |
| |
| @gmf.link(color="0,0,0", source="source", target="target", target.constraint="self.oclIsTypeOf(Claim) or self.oclIsTypeOf(Argumentation) or self.oclIsTypeOf(ArgumentReasoning) or self.oclIsTypeOf(Agreement)", source.constraint="self.oclIsTypeOf(Choice) or self.oclIsTypeOf(Claim) or self.oclIsTypeOf(ArgumentElementCitation) or self.oclIsTypeOf(Argumentation) or self.oclIsTypeOf(ArgumentReasoning)", style="solid", width="1", target.decoration="filledclosedarrow", tool.small.path="GSN_tooling_icons/solvedBy.gif", tool.large.path="GSN_tooling_icons/solvedBy.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", label="cardinality") |
| class AssertedInference extends AssertedRelationship { |
| attr AssertedByMultiplicityExtension multiextension; |
| attr String cardinality = ""; |
| ref ArgumentationElement[*] source; |
| ref ArgumentationElement[*] target; |
| } |
| |
| @gmf.link(color="0,0,0", source="source", source.constraint="self.oclIsTypeOf(Claim)", target="target", target.constraint="self.oclIsTypeOf(InformationElementCitation)", style="solid", width="1", target.decoration="filledclosedarrow", tool.small.path="GSN_tooling_icons/solvedBy.gif", tool.large.path="GSN_tooling_icons/solvedBy.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", label="cardinality") |
| class AssertedEvidence extends AssertedRelationship { |
| attr AssertedByMultiplicityExtension multiextension; |
| attr String cardinality = ""; |
| ref ArgumentElement[*] source; |
| ref ArgumentElement[*] target; |
| } |
| |
| @gmf.link(color="0,0,0", source="source", source.constraint="self.oclIsTypeOf(ArgumentReasoning) or self.oclIsTypeOf(Claim) or self.oclIsTypeOf(Argumentation)", target="target", target.constraint="self.oclIsTypeOf(ArgumentElementCitation) or self.oclIsTypeOf(InformationElementCitation)", style="solid", width="1", target.decoration="closedarrow", tool.small.path="GSN_tooling_icons/inTheContextOf.gif", tool.large.path="GSN_tooling_icons/inTheContextOf.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", label="cardinality") |
| class AssertedContext extends AssertedRelationship { |
| attr AssertedByMultiplicityExtension multiextension; |
| attr String cardinality = ""; |
| ref ArgumentationElement[*] source; |
| ref ArgumentationElement[*] target; |
| } |
| |
| @gmf.link(source="source", target="target", color="255,0,0", style="solid", width="1", source.constraint="self.oclIsTypeOf(Claim)", target.constraint="self.oclIsTypeOf(Claim) or self.oclIsTypeOf(AssertedInference) or self.oclIsTypeOf(AssertedEvidence) or self.oclIsTypeOf(AssertedContext) or self.oclIsTypeOf(AssertedChallenge) or self.oclIsTypeOf(AssertedCounterEvidence)", target.decoration="filledclosedarrow", tool.small.path="SACEM_tooling_icons/Challenge.gif", tool.large.path="SACEM_tooling_icons/Challenge.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg") |
| class AssertedChallenge extends AssertedRelationship { |
| ref Claim[*] source; |
| ref Assertion[*] target; |
| } |
| |
| @gmf.link(source="source", target="target", color="255,0,0", style="solid", width="1", source.constraint="self.oclIsTypeOf(InformationElementCitation)", target.constraint="self.oclIsTypeOf(Claim) or self.oclIsTypeOf(AssertedInference) or self.oclIsTypeOf(AssertedEvidence) or self.oclIsTypeOf(AssertedContext) or self.oclIsTypeOf(AssertedChallenge) or self.oclIsTypeOf(AssertedCounterEvidence)", target.decoration="filledclosedarrow", tool.small.path="SACEM_tooling_icons/CounterEvidence.gif", tool.large.path="SACEM_tooling_icons/CounterEvidence.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg") |
| class AssertedCounterEvidence extends AssertedRelationship { |
| ref InformationElementCitation[*] source; |
| ref Assertion[*] target; |
| } |
| |
| @gmf.node(label="id", label.icon="false", figure="gsnfigures.GSNContract", tool.small.path="GSN_tooling_icons/Contract.gif", tool.large.path="GSN_tooling_icons/Contract.gif", tool.small.bundle="org.eclipse.opencert.sam.arg", tool.large.bundle="org.eclipse.opencert.sam.arg", size="120,80") |
| class Agreement extends Argumentation { |
| ref Argumentation[*] between; |
| } |
| |
| enum AssertedByMultiplicityExtension { |
| Normal = 0; |
| Optional = 1; |
| Multi = 2; |
| } |
| |
| enum InformationElementType { |
| Justification = 0; |
| Context = 1; |
| Solution = 2; |
| } |
| |
| enum CitationElementType { |
| Claim = 0; |
| Context = 1; |
| Solution = 2; |
| } |
| |