Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation/plugin.xml')
-rw-r--r--extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation/plugin.xml194
1 files changed, 183 insertions, 11 deletions
diff --git a/extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation/plugin.xml b/extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation/plugin.xml
index bbcfdeb66a9..b19f7152429 100644
--- a/extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation/plugin.xml
+++ b/extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation/plugin.xml
@@ -1,12 +1,184 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><?eclipse version="3.4"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
<plugin>
-<extension point="org.eclipse.emf.validation.constraintProviders"><category id="org.eclipse.papyrus.umlrt.validation.umlrealtime" mandatory="false" name="UML RealTime Validation"/><constraintProvider cache="false" mode="Batch"><package namespaceUri="http:///schemas/UMLRealTime/_iXHNMNgxEeKmBIMLIFUmag/0"/><constraints categories="org.eclipse.papyrus.umlrt.validation.umlrealtime"><constraint id="isActiveEntity" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Capsules are always active entities" severity="ERROR" statusCode="1"><message>Capsules are always active entities</message><![CDATA[self.base_Class.isActive]]></constraint><constraint id="hasNoReception" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule cannot have features that are receptions" severity="ERROR" statusCode="1"><message>A capsule cannot have features that are receptions</message><![CDATA[self.base_Class.ownedReception->isEmpty()]]></constraint><constraint id="isNotFinal" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Capsules can always be subclassed" severity="ERROR" statusCode="1"><message>Capsules can always be subclassed</message><![CDATA[not (self.base_Class.isFinalSpecialization)]]></constraint><constraint id="noMultipleInheritance" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Capsules can have at most one superclass" severity="ERROR" statusCode="1"><message>Capsules can have at most one superclass</message><![CDATA[(self.base_Class.generalization->size()) <= 1]]></constraint><constraint id="isSubstitutable" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Capsule classes are always substitutable" severity="ERROR" statusCode="1"><message>Capsule classes are always substitutable</message><![CDATA[(self.base_Class.generalization->notEmpty()) implies (self.base_Class.generalization->forAll (g | g.isSubstitutable))]]></constraint><constraint id="exactlyOneType" isEnabledByDefault="true" lang="OCL" mode="Batch" name="All atributes of a capsule class must have exactly one type" severity="ERROR" statusCode="1"><message>All atributes of a capsule class must have exactly one type</message><![CDATA[base_Class.ownedAttribute->forAll (at | at.type->size() = 1)]]></constraint><constraint id="hasMsgAttribute" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule with behavior has a local variable named &quot;msg&quot;" severity="ERROR" statusCode="1"><message>A capsule with behavior has a local variable named "msg"</message><![CDATA[(base_Class.classifierBehavior->notEmpty()) implies (base_Class.ownedAttribute->exists (at | at.name = 'msg'))]]></constraint><constraint id="hasNoNestedClassifier" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule class cannot have nested classifiers" severity="ERROR" statusCode="1"><message>A capsule class cannot have nested classifiers</message><![CDATA[base_Class.nestedClassifier->isEmpty()]]></constraint><constraint id="featuresAreNotProtected" isEnabledByDefault="true" lang="OCL" mode="Batch" name="No feature of a capsule can have private visibility" severity="ERROR" statusCode="1"><message>No feature of a capsule can have private visibility</message><![CDATA[base_Class.feature->forAll (f | f.visibility->notEmpty() implies (f.visibility <> uml::VisibilityKind::private))]]></constraint><constraint id="allAttributesProtected" isEnabledByDefault="true" lang="OCL" mode="Batch" name="All capsule variables can only have protected visibility" severity="ERROR" statusCode="1"><message>All capsule variables can only have protected visibility</message><![CDATA[base_Class.ownedAttribute->forAll (at | not (at.oclIsKindOf(uml::Port)) implies (at.visibility = uml::VisibilityKind::protected) )]]></constraint><constraint id="allOperationsProtected" isEnabledByDefault="true" lang="OCL" mode="Batch" name="All capsule operations must have protected visibility" severity="ERROR" statusCode="1"><message>All capsule operations must have protected visibility</message><![CDATA[base_Class.ownedOperation->forAll (op | op.visibility = uml::VisibilityKind::protected)]]></constraint><constraint id="featuresAreNotPrivate" isEnabledByDefault="true" lang="OCL" mode="Batch" name="No capsule feature can have private visibility" severity="ERROR" statusCode="1"><message>No capsule feature can have private visibility</message><![CDATA[base_Class.feature->forAll (f | f.visibility <> uml::VisibilityKind::private)]]></constraint><constraint id="combinedStateMachineRestriction" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Combined state machine restrictions for capsules" severity="ERROR" statusCode="1"><message>Combined state machine restrictions for capsules</message><![CDATA[let sm = base_Class.classifierBehavior in
-sm->notEmpty() implies
- (sm.oclIsTypeOf(uml::StateMachine) and -- only state machines behaviors
- (not sm.isReentrant) and -- no re-entrant behavior
- (not sm.ownedParameter->isEmpty()) and -- no parameters
- sm.region->size() = 1) -- single region only]]></constraint><constraint id="sapIsProtected" isEnabledByDefault="true" lang="OCL" mode="Batch" name="SAPs (unwired unpublished) must have protected visibility" severity="ERROR" statusCode="1"><message>SAPs (unwired unpublished) must have protected visibility</message><![CDATA[let saps = base_Class.ownedPort->select(p | not p.isService) in
- (saps->notEmpty()) implies
- saps->forAll (s | s.visibility = uml::VisibilityKind::public) ]]></constraint><constraint id="allOperationsSequential" isEnabledByDefault="true" lang="OCL" mode="Batch" name="All operations of a capsule are sequential" severity="ERROR" statusCode="1"><message>All operations of a capsule are sequential</message><![CDATA[base_Class.ownedOperation->notEmpty() implies
- (base_Class.ownedOperation->forAll (
- op | op.concurrency = uml::CallConcurrencyKind::sequential))]]></constraint><constraint id="atMostOneGeneralization" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Protocol classes can have at most one generalization" severity="ERROR" statusCode="1"><message>Protocol classes can have at most one generalization</message><![CDATA[base_Collaboration.generalization->size() <= 1]]></constraint><constraint id="onlyBinaryConnectors" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Only binary connectors allowed" severity="ERROR" statusCode="1"><message>Only binary connectors allowed</message><![CDATA[base_Connector.end->size() = 2]]></constraint><constraint id="connectorsMustConnectPorts" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Connectors can only connect two Ports" severity="ERROR" statusCode="1"><message>Connectors can only connect two Ports</message><![CDATA[base_Connector.end->forAll (e | e.role.oclIsTypeOf(uml::Port))]]></constraint><constraint id="wiredPortsMustBeService" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Wired ports must be declared service" severity="ERROR" statusCode="1"><message>Wired ports must be declared service</message><![CDATA[isWired implies base_Port.isService]]></constraint><constraint id="unwiredUnpublishedPortsCannotBeService" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Unwired &amp; unpublished ports cannot be service" severity="ERROR" statusCode="1"><message>Unwired &amp; unpublished ports cannot be service</message><![CDATA[(not (isWired or isPublish)) implies (not base_Port.isService)]]></constraint><constraint id="unwiredPublishedPortsMustBeService" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Unwired &amp; published ports must be service" severity="ERROR" statusCode="1"><message>Unwired &amp; published ports must be service</message><![CDATA[((not isWired) and isPublish) implies base_Port.isService]]></constraint></constraints></constraintProvider></extension><extension point="org.eclipse.emf.validation.constraintBindings"><clientContext id="RTConnectorClientContext"><selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTConnectorClientSelector"/></clientContext><binding context="RTConnectorClientContext"><constraint ref="org.eclipse.papyrus.umlrt.validation.onlyBinaryConnectors"/><constraint ref="org.eclipse.papyrus.umlrt.validation.connectorsMustConnectPorts"/></binding><clientContext id="ProtocolClientContext"><selector class="org.eclipse.papyrus.umlrt.validation.clientselector.ProtocolClientSelector"/></clientContext><binding context="ProtocolClientContext"><constraint ref="org.eclipse.papyrus.umlrt.validation.atMostOneGeneralization"/></binding><clientContext id="RTPortClientContext"><selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTPortClientSelector"/></clientContext><binding context="RTPortClientContext"><constraint ref="org.eclipse.papyrus.umlrt.validation.wiredPortsMustBeService"/><constraint ref="org.eclipse.papyrus.umlrt.validation.unwiredUnpublishedPortsCannotBeService"/><constraint ref="org.eclipse.papyrus.umlrt.validation.unwiredPublishedPortsMustBeService"/></binding><clientContext id="CapsuleClientContext"><selector class="org.eclipse.papyrus.umlrt.validation.clientselector.CapsuleClientSelector"/></clientContext><binding context="CapsuleClientContext"><constraint ref="org.eclipse.papyrus.umlrt.validation.isActiveEntity"/><constraint ref="org.eclipse.papyrus.umlrt.validation.hasNoReception"/><constraint ref="org.eclipse.papyrus.umlrt.validation.isNotFinal"/><constraint ref="org.eclipse.papyrus.umlrt.validation.noMultipleInheritance"/><constraint ref="org.eclipse.papyrus.umlrt.validation.isSubstitutable"/><constraint ref="org.eclipse.papyrus.umlrt.validation.exactlyOneType"/><constraint ref="org.eclipse.papyrus.umlrt.validation.hasMsgAttribute"/><constraint ref="org.eclipse.papyrus.umlrt.validation.hasNoNestedClassifier"/><constraint ref="org.eclipse.papyrus.umlrt.validation.featuresAreNotProtected"/><constraint ref="org.eclipse.papyrus.umlrt.validation.allAttributesProtected"/><constraint ref="org.eclipse.papyrus.umlrt.validation.allOperationsProtected"/><constraint ref="org.eclipse.papyrus.umlrt.validation.featuresAreNotPrivate"/><constraint ref="org.eclipse.papyrus.umlrt.validation.combinedStateMachineRestriction"/><constraint ref="org.eclipse.papyrus.umlrt.validation.sapIsProtected"/><constraint ref="org.eclipse.papyrus.umlrt.validation.allOperationsSequential"/></binding></extension></plugin>
+ <extension point="org.eclipse.emf.validation.constraintProviders">
+ <category id="org.eclipse.papyrus.umlrt.validation.umlrealtimestatemach" mandatory="false" name="org.eclipse.papyrus.umlrt.validation.umlrealtimestatemach"/>
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http:///schemas/UMLRealTimeStateMach/_6TmMwBMoEeSz2qq_H0HScA/14"/>
+ <constraints categories="org.eclipse.papyrus.umlrt.validation.umlrealtimestatemach">
+ <constraint id="hasExactlyOneRegion" isEnabledByDefault="true" lang="OCL" mode="Batch" name="An RT state machine has exactly one region" severity="ERROR" statusCode="1">
+ <message>An RT state machine has exactly one region</message><![CDATA[base_StateMachine.region->size() = 1]]></constraint>
+ <constraint id="isNeverReentrant" isEnabledByDefault="true" lang="OCL" mode="Batch" name="An RT state machine is never re-entrant" severity="ERROR" statusCode="1">
+ <message>An RT state machine is never re-entrant</message><![CDATA[not base_StateMachine.isReentrant]]></constraint>
+ <constraint id="noParameters" isEnabledByDefault="true" lang="OCL" mode="Batch" name="RT state machines do not have parameters or parameter sets" severity="ERROR" statusCode="1">
+ <message>RT state machines do not have parameters or parameter sets</message><![CDATA[(base_StateMachine.ownedParameter->size()=0) and
+
+(base_StateMachine.ownedParameterSet->size() = 0)]]></constraint>
+ <constraint id="contextMustBeClass" isEnabledByDefault="true" lang="OCL" mode="Batch" name="RT state machines must have a context and it must be a Class" severity="ERROR" statusCode="1">
+ <message>RT state machines must have a context and it must be a Class</message><![CDATA[(base_StateMachine.behavioredClassifier->size()=1)
+
+and (base_StateMachine.behavioredClassifier.oclIsKindOf(Class))]]></constraint>
+ <constraint id="onlyPassiveData" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Passive state machine are only allowed on passive data classes" severity="ERROR" statusCode="1">
+ <message>Passive state machine are only allowed on passive data classes</message><![CDATA[isPassive = not (base_StateMachine.behavioredClassifier.oclAsType(Class).isActive) ]]></constraint>
+ <constraint id="noFinalState" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Regions in RT state machines cannot have a final state" severity="ERROR" statusCode="1">
+ <message>Regions in RT state machines cannot have a final state</message><![CDATA[base_Region.subvertex->forAll
+
+ (v | not v.oclIsKindOf(FinalState))]]></constraint>
+ <constraint id="onlyOneRegion" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A composte RT state has exactly one region" severity="ERROR" statusCode="1">
+ <message>A composte RT state has exactly one region</message><![CDATA[base_State.isComposite implies
+
+ (base_State.region->size() = 1)]]></constraint>
+ <constraint id="noSubmachineState" isEnabledByDefault="true" lang="OCL" mode="Batch" name="RT does not support submachine states" severity="ERROR" statusCode="1">
+ <message>RT does not support submachine states</message><![CDATA[not base_State.isSubmachineState]]></constraint>
+ <constraint id="noDoActivity" isEnabledByDefault="true" lang="OCL" mode="Batch" name="RT state machines do not support &quot;do&quot; activities" severity="ERROR" statusCode="1">
+ <message>RT state machines do not support "do" activities</message><![CDATA[base_State.doActivity->size() = 0]]></constraint>
+ <constraint id="noDeferredTriggers" isEnabledByDefault="true" lang="OCL" mode="Batch" name="RT state machines cannot have any deferred triggers " severity="ERROR" statusCode="1">
+ <message>RT state machines cannot have any deferred triggers </message><![CDATA[base_State.deferrableTrigger->size() = 0]]></constraint>
+ <constraint id="noConcurrencyHistory" isEnabledByDefault="true" lang="OCL" mode="Batch" name="RT state machines do not support concurrency or shallow history" severity="ERROR" statusCode="1">
+ <message>RT state machines do not support concurrency or shallow history</message><![CDATA[let knd = base_Pseudostate.kind in
+
+ (knd <> UML::PseudostateKind::shallowHistory) and
+
+ (knd <> UML::PseudostateKind::fork) and
+
+ (knd <> UML::PseudostateKind::join)]]></constraint>
+ </constraints>
+ </constraintProvider>
+ </extension>
+ <extension point="org.eclipse.emf.validation.constraintBindings">
+ <clientContext id="RTRegionClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTRegionClientSelector"/>
+ </clientContext>
+ <binding context="RTRegionClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noFinalState"/>
+ </binding>
+ <clientContext id="RTPseudostateClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTPseudostateClientSelector"/>
+ </clientContext>
+ <binding context="RTPseudostateClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noConcurrencyHistory"/>
+ </binding>
+ <clientContext id="RTStateClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTStateClientSelector"/>
+ </clientContext>
+ <binding context="RTStateClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.onlyOneRegion"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noSubmachineState"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noDoActivity"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noDeferredTriggers"/>
+ </binding>
+ <clientContext id="RTStateMachineClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTStateMachineClientSelector"/>
+ </clientContext>
+ <binding context="RTStateMachineClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.hasExactlyOneRegion"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.isNeverReentrant"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noParameters"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.contextMustBeClass"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.onlyPassiveData"/>
+ </binding>
+ </extension>
+<extension point="org.eclipse.emf.validation.constraintProviders">
+ <category id="org.eclipse.papyrus.umlrt.validation.umlrealtime" mandatory="false" name="org.eclipse.papyrus.umlrt.validation.umlrealtime"/>
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http:///schemas/UMLRealTime/_lVqk0BMpEeSz2qq_H0HScA/27"/>
+ <constraints categories="org.eclipse.papyrus.umlrt.validation.umlrealtime">
+ <constraint id="isActiveEntity" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Capsules are always active" severity="ERROR" statusCode="1">
+ <message>Capsules are always active entities</message><![CDATA[base_Class.isActive]]></constraint>
+ <constraint id="hasNoReception" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule cannot have Reception features" severity="ERROR" statusCode="1">
+ <message>A capsule cannot have features that are receptions</message><![CDATA[base_Class.ownedReception->isEmpty()]]></constraint>
+ <constraint id="isNotFinal" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule class can always be subclassed" severity="ERROR" statusCode="1">
+ <message>Capsules can always be subclassed</message><![CDATA[not(base_Class.isFinalSpecialization)]]></constraint>
+ <constraint id="noMultipleInheritance" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule can have at most one superclass" severity="ERROR" statusCode="1">
+ <message>Capsules can have at most one superclass</message><![CDATA[(base_Class.generalization->size()) <= 1]]></constraint>
+ <constraint id="isSubstitutable" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Capsule classes are always substitutable" severity="ERROR" statusCode="1">
+ <message>Capsule classes are always substitutable</message><![CDATA[(base_Class.generalization->notEmpty()) implies (base_Class.generalization->forAll (g | g.isSubstitutable))]]></constraint>
+ <constraint id="exactlyOneType" isEnabledByDefault="true" lang="OCL" mode="Batch" name="All attributes of a capsule class have exactly one type" severity="ERROR" statusCode="1">
+ <message>All atributes of a capsule class must have exactly one type</message><![CDATA[base_Class.ownedAttribute->forAll(at | at.type->size() = 1)]]></constraint>
+ <constraint id="featuresAreNotProtected" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Private visibility is not supported on capsule features" severity="ERROR" statusCode="1">
+ <message>No feature of a capsule can have private visibility</message><![CDATA[base_Class.feature->forAll (f | f.visibility <> UML::VisibilityKind::private)]]></constraint>
+ <constraint id="hasNoNestedClassifier" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A capsule class cannot have nested classifiers" severity="ERROR" statusCode="1">
+ <message>A capsule class cannot have nested classifiers</message><![CDATA[base_Class.nestedClassifier->isEmpty()]]></constraint>
+ <constraint id="allOperationsSequential" isEnabledByDefault="true" lang="OCL" mode="Batch" name="All operations of a capsule are sequential" severity="ERROR" statusCode="1">
+ <message>All operations of a capsule are sequential</message><![CDATA[base_Class.ownedOperation->notEmpty() implies
+
+ (base_Class.ownedOperation->forAll(op | op.concurrency = UML::CallConcurrencyKind::sequential))]]></constraint>
+ <constraint id="atMostOneGeneralization" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Protocols can have at most one generalization" severity="ERROR" statusCode="1">
+ <message>Protocol classes can have at most one generalization</message><![CDATA[base_Collaboration.generalization->size() <= 1]]></constraint>
+ <constraint id="noPublishName" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A wired port cannot publish its name" severity="ERROR" statusCode="1">
+ <message>A wired port cannot publish its name</message><![CDATA[isWired implies not isPublish]]></constraint>
+ <constraint id="publicPortIsService" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A public port must be defined as a service port" severity="ERROR" statusCode="1">
+ <message>A public port must be defined as a service port</message><![CDATA[(base_Port.visibility = UML::VisibilityKind::public)
+
+ implies base_Port.isService ]]></constraint>
+ <constraint id="hasProtectedVisibility" isEnabledByDefault="true" lang="OCL" mode="Batch" name="A SAP (unwired &amp; unpublished) must have protected visibility " severity="ERROR" statusCode="1">
+ <message>A SAP (unwired &amp; unpublished) must have protected visibility </message><![CDATA[(not isWired and not isPublish)
+
+ implies (base_Port.visibility = UML::VisibilityKind::protected)]]></constraint>
+ <constraint id="havePublicVisibility" isEnabledByDefault="true" lang="OCL" mode="Batch" name="An SPP (unwired and published) must have public visibility" severity="ERROR" statusCode="1">
+ <message>An SPP (unwired and published) must have public visibility</message><![CDATA[(not isWired and isPublish) implies
+
+ (base_Port.visibility = UML::VisibilityKind::public)]]></constraint>
+ <constraint id="onlyBinaryConnectors" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Only binary connectors are allowed" severity="ERROR" statusCode="1">
+ <message>Only binary connectors allowed</message><![CDATA[base_Connector.end->size() = 2]]></constraint>
+ <constraint id="exclusionOnlyOnUmlrt" isEnabledByDefault="true" lang="OCL" mode="Batch" name="Exclusion can only be applied to some UML-RT model elements" severity="ERROR" statusCode="1">
+ <message>Exclusion can only be applied to some UML-RT model elements</message><![CDATA[let el = base_RedefinableElement in
+
+(el.oclIsKindOf(UML::Port) or
+
+ el.oclIsKindOf(UML::Property) or
+
+ el.oclIsKindOf(UML::Operation) or
+
+ el.oclIsKindOf(UML::Behavior) or
+
+el.oclIsKindOf(UML::State) or
+
+el.oclIsKindOf(UML::Transition))]]></constraint>
+ </constraints>
+ </constraintProvider>
+ </extension>
+ <extension point="org.eclipse.emf.validation.constraintBindings">
+ <clientContext id="ProtocolClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.ProtocolClientSelector"/>
+ </clientContext>
+ <binding context="ProtocolClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.atMostOneGeneralization"/>
+ </binding>
+ <clientContext id="RTPortClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTPortClientSelector"/>
+ </clientContext>
+ <binding context="RTPortClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noPublishName"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.publicPortIsService"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.hasProtectedVisibility"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.havePublicVisibility"/>
+ </binding>
+ <clientContext id="CapsuleClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.CapsuleClientSelector"/>
+ </clientContext>
+ <binding context="CapsuleClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.isActiveEntity"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.hasNoReception"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.isNotFinal"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.noMultipleInheritance"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.isSubstitutable"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.exactlyOneType"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.featuresAreNotProtected"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.hasNoNestedClassifier"/>
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.allOperationsSequential"/>
+ </binding>
+ <clientContext id="RTConnectorClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTConnectorClientSelector"/>
+ </clientContext>
+ <binding context="RTConnectorClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.onlyBinaryConnectors"/>
+ </binding>
+ <clientContext id="RTRExcludedElementClientContext">
+ <selector class="org.eclipse.papyrus.umlrt.validation.clientselector.RTRExcludedElementClientSelector"/>
+ </clientContext>
+ <binding context="RTRExcludedElementClientContext">
+ <constraint ref="org.eclipse.papyrus.umlrt.validation.exclusionOnlyOnUmlrt"/>
+ </binding>
+ </extension>
+</plugin> \ No newline at end of file

Back to the top