Audit rules
Rule 1 (Block)
A State cannot belong to an ActionState.
Rule 4 (Block)
An Activity can belong to an Operation or to any other NameSpace, except a DataType, a primitive Class, an Enumeration or a TemplateParameter.
Rule 5 (Ignore)
An ActivityGraph must always have a root SubActivityState.
Rule 7 (Warning)
A maximum of one Generalization may exist between two NameSpaces.
Rule 20 (Error)
AssociationEnds cannot be composite on n-ary Associations.
Rule 21 (Error)
A maximum of one AssociationEnd on an Association may be aggregate or composite.
Rule 22 (Block)
An AssociationEnd can belong to a Class, an Interface, a Component, an Actor, a DataType, a Node or a Signal.
Rule 24 (Block)
An Association can link an Actor to a Class, an Interface, an Actor, a UseCase or a Component.
Rule 32 (Error)
Multiplicities (also called cardinalities) must be consistent: CardinalityMax > CardinalityMin. In particular, CardinalityMin must not be '*'.
Rule 33 (Error)
Attributes, Associations and Operations cannot simultaneously be abstract and class.
Rule 34 (Error)
If an Association is a composition, then the opposite maximum multiplicity is 1.
Rule 35 (Error)
A public Association oriented from a public Classifier cannot be linked to a private or protected Classifier.
Rule 36 (Error)
The name of an AssociationEnd's qualifiers must be unique in the AssociationEnd.
Rule 37 (Block)
An Attribute can be created in:
· a Class.
· an Actor.
· an Interface.
· a DataType.
· a UseCase.
· a Component.
· a Node.
· an AssociationEnd.
· a TemplateParameter.
Rule 38 (Block)
An Attribute can be typed by:
· a Class.
· an Interface.
· a DataType.
· a primitive.
Rule 39 (Error)
The names of a Classifier's Attributes and AssociationEnds must be unique.
Rule 41 (Warning)
In an Instance, the type of the instanciated Attribute must exist in the instanciated Class or in one of its parent Classes.
Rule 42 (Ignore)
In an Instance, the instanciated Attribute must have the same name as the corresponding Attribute in the instanciated Class.
Rule 43 (Block)
In an Instance, the instanciated Attribute must have a name.
Rule 44 (Block)
A Class must belong to a Class, an Interface, a Package, a TemplateParameter or a Component.
Rule 45 (Block)
A Class cannot have Communication links.
Rule 49 (Warning)
Classes which are the children of an active Class must themselves be active.
Rule 51 (Error)
A primitive Class cannot have StatesMachines.
Rule 54 (Error)
An Interface cannot be implemented twice by the same Class or the same Component.
Rule 56 (Error)
A non-abstract Classifier cannot have abstract methods.
Rule 59 (Block)
A Collaboration can belong to a NameSpace or an Operation, not both.
Rule 61 (Block)
A Communication must link two Actors or an Actor and a UseCase.
Rule 63 (Block)
An InformationFlow must have at least a destination or an origin.
Rule 66 (Block)
An InformationFlow can link all NameSpaces, except for the DataType, Enumeration, UseCase, Signal and TemplateParameter metaclasses.
Rule 69 (Block)
A DataType must belong to a Package, a Component, a Class, an Interface or a Signal.
Rule 72 (Block)
An Enumeration must belong to a Package, a Class, a Component, an Interface or a Signal.
Rule 80 (Warning)
An Enumeration is always primitive.
Rule 81 (Error)
EnumerationLiterals defined in an Enumeration must have a unique name.
Rule 85 (Warning)
Primitive GeneralClasses cannot have associations.
Rule 86 (Warning)
An Attribute must be typed by a primitive type.
Rule 89 (Error)
A Generalization must be created between two model elements of the same type, except in the case of a Signal, which can specialize a Signal or a Class.
Rule 90 (Error)
Repetition of names is forbidden for all AttributeLinks.
Rule 92 (Error)
An Instance must have a name, or the instantiation Association must be defined.
Rule 93 (Block)
The Cluster, Owner, InternalOwner and OwnerTemplateParameter relationships are exclusive in an Instance.
Rule 99 (Block)
An Interface can only be implemented by a Class or a Component.
Rule 101 (Block)
The reach relationship must not be defined in an InternalTransition.
Rule 102 (Block)
A Link modeled between several Instances must instanciate one of the existing Associations between the Classes instanciated by these Instances.
Rule 102-LinkEnd (Block)
A Link's role must correspond with the role of the instanciated element.
Rule 102-Link (Error)
A Link's roles must correspond to the roles of the Association it implements.
Rule 103 (Ignore)
A Link modeled between two Instances must have the same name as the Association instanciated by this Link.
Rule 105 (Ignore)
A Link modeled between two Instances must have the same role names as the Association instanciated by this Link.
Rule 106 (Ignore)
A Message must have the same name as the Operation it calls.
Rule 107 (Block)
Only a CallAction, CreateAction or DestroyAction message can call an Operation.
Rule 108 (Block)
An element can only access stereotypes referenced by a selected MDAC.
Rule 109 (Block)
An element can only access Note types referenced by a selected MDAC.
Rule 110 (Block)
An element can only access TaggedValue types referenced by a selected MDAC.
Rule 111 (Block)
An element's stereotype must be compatible with the element's metaclass.
Rule 113 (Error)
A NameSpace has a unique name, which itself is a NameSpace. This uniqueness check concerns the Components and elements referenced by a NameSpace. Furthermore, predefined types (integer, etc.), which cannot have homonyms, are also used.
Rule 114 (Error)
The name of an Instance must be unique in its NameSpace.
Rule 117 (Warning)
An abstract NameSpace can only inherit from an abstract NameSpace.
Rule 118 (Error)
A root NameSpace cannot inherit from any other NameSpace.
Rule 119 (Error)
A leaf NameSpace cannot be derived.
Rule 120 (Error)
A leaf NameSpace cannot be abstract.
Rule 121 (Error)
No cycles can exist in NameSpace inheritances.
Rule 129 (Block)
An ObjectFlowState must belong to a SubActivityState.
Rule 131 (Error)
Each Operation in a Classifer must have a different signature.
This signature is made up of the name, mode, TaggedValues and Parameters of the
Operation, without its return type. Only TaggedValues for which the
BelongToPrototype TagType is true are taken into account when calculating the
signature. For example, in C++ the '*' or '&' TaggedValues exist on the
Parameters intervening in the overload for the C++ language.
Rule 131i (Warning)
All Operations in a Classifier must have a different signature from inherited public and protected Operations.
There can be no repetition for constructors, destructors and Operations with
redefinition links.
The signature is made up of the name, mode, TaggedValues and Parameters of the
Operation, without its return type. Only TaggedValues for which the
BelongToPrototype TagType is true are taken into account when calculating the
signature. For example, in C++ the '*' or '&' TaggedValues exist on the
Parameters intervening in the overload for the C++ language.
Rule 132 (Error)
All an Operation's Parameters must have a different name.
Rule 133 (Error)
A redefined Operation must belong to a parent or an implemented Interface of the owner of the Operation.
Rule 134 (Warning)
The Operation must have the same signature as the redefined Operation, if the case arises.
Rule 135 (Error)
A private Operation cannot be redefined.
Rule 136 (Error)
The visibility of an Operation cannot be greater (public > package > protected > private) than that of the redefined Operation.
Rule 137 (Error)
A class (static) Operation must not be redefined.
Rule 139 (Error)
An abstract Operation must not redefine a concrete Operation.
Rule 140 (Block)
A constructor cannot have return parameters.
Rule 141 (Block)
A destructor cannot have Parameters or return parameters.
Rule 142 (Block)
A Package belongs to a Package, a Component, a Project or a TemplateParameter.
Rule 144 (Error)
All an Operation's Collaborations must have a different name.
Rule 145 (Error)
All an Operation's StateMachines must have a different name.
Rule 146 (Error)
A NameSpace cannot derive and import another NameSpace.
Rule 147 (Error)
There can be no inter-package cycles caused by a combination of package merges, element imports or package imports.
Rule 148 (Error)
The name of a Behavior is unique in its NameSpace.
Rule 153 (Block)
A Parameter's type must be a Class, an Interface, a DataType or an Enumeration.
Rule 154 (Error)
An 'Out' Parameter cannot have a default value.
Rule 155 (Block)
A Parameter cannot simultaneously be an in/out Parameter and a return Parameter.
Rule 158 (Block)
A Signal belongs to a Class, a Package, a TemplateParameter or a Component.
Rule 162 (Block)
A State cannot contain more than one initial State.
Rule 163 (Error)
A State cannot contain several States with the same name.
Rule 164 (Block)
A State cannot simultaneously be a root State and a sub-State.
Rule 170 (Block)
An InternalTransition can only be created on a State-type element. ActionStates, SubActivityStates and ObjectFlowStates cannot have InternalTransitions.
Rule 173 (Error)
The number of TaggedValue Parameters must correspond to the number of Parameters defined in the TaggedValue declaration.
Rule 175 (Block)
In a Transition, the 'Processing' relationship and the 'Effect' Attribute must not be defined at the same time.
Rule 176 (Block)
In a Transition, the 'Trigger' relationship and the 'ReceivedEvents' Attribute must not be defined simultaneously.
Rule 182 (Error)
A UseCase cannot have several CommunicationLinks to Actors in the same inheritance tree.
Rule 183 (Error)
A UseCase cannot have several dependency links stereotyped <<include>> to other UseCases in the same inheritance tree.
Rule 185 (Error)
There must be no cycles in a UseCase's <<extend>> dependency graph.
Rule 186 (Warning)
A maximum of one dependency may exist between two UseCases.
Rule 187 (Block)
A UseCaseDependency must link two different UseCases.
Rule 188 (Block)
An element cannot own itself.
Rule 192 (Block)
A Collaboration must belong to a Package, a Class, a Component, an Interface, a UseCase, a Signal, an Actor, an Operation or a TemplateParameter.
Rule 194 (Block)
A Note's type must be compatible with the annotated element.
Rule 195 (Warning)
A maximum of one ElementImport link may exist between two NameSpaces.
Rule 196 (Warning)
A maximum of one PackageImport link may exist between a NameSpace and a Package.
Rule 197 (Block)
A TaggedValue's type must be compatible with the annotated element.
Rule 198 (Block)
A StateMachine can belong to an Operation or any other NameSpace, except a DataType, a primitive Class or an Enumeration.
Rule 199 (Block)
A State cannot contain more than one final state.
Rule 200 (Block)
A State cannot contain more than one 'deep history' state.
Rule 201 (Block)
A State cannot contain more than one 'shallow history' state.
Rule 202 (Error)
A primitive Class cannot have InformationFlows.
Rule 203 (Warning)
A primitive Class cannot have collaborations.
Rule 204 (Block)
A Class cannot represent more than one ClassAssociation.
Rule 205 (Warning)
An Enumeration is never abstract.
Rule 206 (Warning)
The name of an attribute or a navigable association role must be unique among all the navigable association roles and attributes inherited from the owner Classifier.
Rule 207 (Block)
An Actor belongs to a Package, a Class, a Component or an Interface.
Rule 209 (Block)
An element must belong to another element, with the exception of UML projects.
Rule 210 (Block)
The 'Instantiated signal' field for a signal-type Event must be defined.
The 'Called operation' and 'Expression' fields must be empty.
Rule 211 (Block)
The 'Called operation' field for a Call-type Event must be defined. The 'Instanciated signal' and 'Expression' fields must be empty.
Rule 212 (Block)
The 'Expression' field for a Time-type Event must be defined. The 'Called operation' and 'Instanciated signal' fields must be empty.
Rule 213 (Block)
The 'Expression' field for a Change-type Event must be defined. The 'Called operation' and 'Instanciated signal' fields must be empty.
Rule 214 (Block)
An Operation cannot redefine itself.
Rule 215 (Error)
There must be no cycles in a UseCase's <<include>> dependency graph.
Rule 216 (Block)
In a Transition, the 'Effects' relationship and the 'SentEvents' attribute must not be defined simultaneously.
Rule 217 (Block)
A UseCaseDependency must be stereotyped <<include>> or <<extend>>.
Rule 218 (Block)
The start relationship must not be defined inside an InternalTransition.
Rule 219 (Error)
A Package cannot have inheritance links.
Rule 220-01 (Info)
An Association must have a name.
Rule 220-02 (Error)
An AttributeLink must have a name.
Rule 220-03 (Info)
An Activity must have a name.
Rule 220-04 (Error)
A StateMachine must have a name.
Rule 220-06 (Error)
A CollaborationUse must have a name.
Rule 220-08 (Info)
A Constraint must have a name.
Rule 220-09 (Error)
An EnumerationLiteral must have a name.
Rule 220-10 (Error)
An Event must have a name.
Rule 220-11 (Warning)
An Instance must have a name.
Rule 220-12 (Info)
A Port must have a name.
Rule 220-13 (Info)
A Link must have a name.
Rule 220-14 (Error)
A LinkEnd must have a name.
Rule 220-15 (Error)
A NoteType must have a name.
Rule 220-16 (Error)
A Parameter must have a name.
Rule 220-17 (Error)
A Partition must have a name if it doesn't represent any element.
Rule 220-18 (Error)
A Project must have a name.
Rule 220-19 (Error)
A Property must have a name.
Rule 220-20 (Error)
A PropertyEnumerationLiteral must have a name.
Rule 220-21 (Error)
A PropertySet must have a name.
Rule 220-22 (Error)
A PropertyType must have a name.
Rule 220-23 (Error)
An EnumeratedPropertyType must have a name.
Rule 220-24 (Error)
A RequirementProject must have a name.
Rule 220-25 (Error)
A Stereotype must have a name.
Rule 220-26 (Error)
A TagType must have a name.
Rule 220-27 (Error)
A Dictionary must have a name.
Rule 220-28 (Error)
A Term must have a name.
Rule 220-29 (Info)
An AssociationEnd must have a name.
Rule 220-30 (Error)
An Attribute must have a name.
Rule 220-31 (Error)
An Operation must have a name.
Rule 220-32 (Error)
A Diagram must have a name.
Rule 220-33 (Error)
An MpGenProduct must have a name.
Rule 220-34 (Info)
A Message must have a name.
Rule 220-36 (Error)
An Artifact must have a name.
Rule 220-37 (Error)
An Actor must have a name.
Rule 220-38 (Error)
A Class must have a name.
Rule 220-39 (Error)
A Component must have a name.
Rule 220-40 (Error)
A DataType must have a name.
Rule 220-41 (Error)
An Enumeration must have a name.
Rule 220-42 (Error)
An Interface must have a name.
Rule 220-43 (Error)
A Signal must have a name.
Rule 220-44 (Error)
A UseCase must have a name.
Rule 220-45 (Error)
A Node must have a name.
Rule 220-46 (Error)
A Collaboration must have a name.
Rule 220-47 (Error)
A Package must have a name.
Rule 220-48 (Error)
A Requirement must have a name.
Rule 220-49 (Error)
A RequirementContainer must have a name.
Rule 220-50 (Error)
A State must have a name.
Rule 220-51 (Error)
An ObjectNode must have a name if it doesn't represent any element.
Rule 221-01 (Block)
An Association must have at least two AssociationEnds.
Rule 221-02 (Block)
An AssociationEnd must be linked to an Association.
Rule 221-03 (Block)
A ClassAssociation must be linked to a Class.
Rule 221-04 (Block)
A CollaborationUse must be linked to a Collaboration.
Rule 221-05 (Block)
A Communication must be linked to a GeneralClass through the TCommunication link.
Rule 221-06 (Block)
A Communication must be linked to a GeneralClass through the Communication link.
Rule 221-07 (Block)
An ElementImport must be directed towards a NameSpace.
Rule 221-08 (Block)
A Generalization must be linked to a NameSpace.
Rule 221-09 (Block)
An InterfaceRealization must be directed towards an Interface.
Rule 221-10 (Block)
A Link must have at least two instanciated roles.
Rule 221-11 (Block)
A LinkEnd must be linked to a Link.
Rule 221-12 (Block)
A LocalNote must have a NoteType.
Rule 221-13 (Block)
A LocalTaggedValue must have a TagType.
Rule 221-14 (Block)
A NoteType must be linked to a PointOfView.
Rule 221-15 (Block)
A Note must have a NoteType.
Rule 221-16 (Block)
A PackageImport must be directed towards a Package.
Rule 221-17 (Block)
A PackageMerge must be directed towards a Package.
Rule 221-18 (Block)
A Project must be linked to a Package.
Rule 221-19 (Block)
A Property must have a PropertyType.
Rule 221-20 (Block)
A PropertyValue must have a Property.
Rule 221-21 (Block)
A PropertyValueSet must have a PropertySet.
Rule 221-22 (Block)
A RaisedException must have a Classifier as its destination.
Rule 221-23 (Block)
A Message must be directed towards a MessageEnd.
Rule 221-24 (Block)
A StateMachine must have a root state.
Rule 221-25 (Block)
A Stereotype must be linked to a PointOfView.
Rule 221-26 (Block)
A TagType must be linked to a PointOfView.
Rule 221-27 (Block)
A TaggedValue must have a TagType.
Rule 221-28 (Block)
A TemplateParameterSubstitution must be linked to a TemplateParameter.
Rule 221-29 (Block)
A UseCaseDependency must be directed towards a UseCase.
Rule 221-30 (Block)
A Manifestation must be directed towards a ModelElement.
Rule 221-31 (Block)
A RaisedException must have an Operation as its origin.
Rule 221-32 (Block)
A generation product must be associated to a MDA component.
In order to import a generation product, the MDA component used to create the product must already be deployed in the project.
Rule 221-61001
(Block)
A CombinedFragment must have at least one InteractionOperand.
Rule 222 (Block)
A Constraint cannot be applied to a Note.
Rule 223 (Error)
A ModelElement cannot abstract itself.
Rule 224 (Block)
The visibility of an ElementImport must be public or private.
Rule 225 (Error)
If an Instance's MultiplicityMin and MultiplicityMax are numerical or '*', then MultiplicityMin must be less than MultiplicityMax.
Rule 226 (Error)
An Instance's MultiplicityMin must not be '*'.
Rule 227 (Error)
In an Interface, the visibility of all Features must be public.
Rule 228 (Block)
A Manifestation cannot manifest itself.
Rule 229 (Block)
A Manifestation cannot manifest its Artifact.
Rule 230 (Block)
A Package cannot import itself.
Rule 231 (Block)
The visibility of a PackageImport must be public or private.
Rule 232 (Black)
A Package cannot merge itself.
Rule 233 (Block)
An Operation can only raise Class, Interface, Enumeration or DataType type exceptions.
Rule 234 (Block)
An element cannot use itself.
Rule 235 (Block)
A BindableInstance cannot belong simultaneously to a Classifier, a Collaboration and an Instance.
Rule 236 (Block)
If the 'Owner' relationship of a BindableInstance has been defined, it can only be directed to a Collaboration.
Rule 237 (Error)
If a BindableInstance has a type and is bound, the type of the Instance must be compatible with the type of the bound elements.
Rule 238 (Ignore)
If a BindableInstance is not bound, and if an Attribute, AssociationEnd of the same name exists in the owner Classifier, a RepresentationFeature is created to this Feature.
Rule 239 (Ignore)
If a BindableInstance belongs to a Class or Component, has a type, is not bound, and no Attribute AssociationEnd of the same name exists in this Class, an Attribute and a RepresentationFeature to this Attribute are created.
Rule 240 (Error)
There can be no inter-package/inter-component cycles.
Rule 241 (Ignore)
All elements used in a Class must be visible from the Class.
Rule 242 (Error)
There can be no direct link between two Class Ports.
Rule 243 (Ignore)
If a Port is IsBehavior, it must be IsService.
Rule 244 (Error)
If a Port is IsBehavior, its ProvidedInterfaces must be implemented by the Class it belongs to.
Rule 245 (Error)
If a Port is IsBehavior, the type of the Port must be either the Class it belongs to or undefined.
Rule 246 (Error)
The ProvidedInterfaces provided by a Port must be implemented by the Class that types the Port.
Rule 247 (Warning)
An
Rule 248 (Warning)
If a Port runs a delegation to an internal Part, it must provide at least one Interface.
Rule 249 (Warning)
If a Port receives a delegation from an internal Part, it must have at least one interface.
Rule 250 (Block)
A CollaborationUse can only belong to an element of the following types: Class, Actor, UseCase, Signal, Node, Collaboration or Component.
Rule 251 (Block)
Instances can only be linked by a Link if they belong to the same Classifier or to one of its parents.
Rule 252 (Block)
Instances can only be linked by a Link if they belong to Packages.
Rule 253 (Block)
A NameSpace cannot import itself.
Rule 254 (Block)
An Artifact belongs to a Package, a Component, an Artifact or a TemplateParameter.
Rule 255 (Block)
A Node belongs to a Package, a Component, a Node or a TemplateParameter.
Rule 256 (Error)
In a RequirementContainer, the name of each element must be unique.
Rule 257 (Error)
In a Dictionary, the name of each element must be unique.
Rule 258 (Error)
In a RequirementProject, the name of each EnumeratedPropertyType must be unique.
Rule 259 (Error)
In a PropertySet, the name of each Property must be unique.
Rule 260 (Error)
In an EnumeratedPropertyType, the name of each PropertyEnumerationLiteral must be unique.
Rule 261 (Error)
In a RequirementProject, the name of each PropertySet must be unique.
Rule 262 (Error)
In a RequirementProject, the name of each PropertyType must be unique.
Rule 263 (Block)
A Usage link must have a destination.
Rule 264 (Block)
A documentation work product must have a document template.
Rule 265 (Error)
In a TemplateBinding, the TemplateParameterSubstitution must belong to the element instanciated by the TemplateBinding.
Rule 266 (Error)
A TemplateBinding must substitute all the TemplateParameters of the instanciated template element.
Rule 267 (Error)
A TemplateBinding can only substitute each TemplateParameter of the instanciated template element once.
Rule 268 (Error)
In a TemplateBinding, the TemplateParameterSubstitutions must be defined in the same order as the TemplateParameters of the instanciated template element.
Rule 269 (Block)
An element cannot have a TemplateBinding towards itself.
Rule 270 (Block)
A TemplateBinding must be created between two elements of the same type or between a Class and a DataType.
Rule 271 (Block)
A template belonging to a document work product must describe the metaclass of the documented model element.
Rule 272 (Block)
The document item selected for a 'Partial generation' must belong to the document template described by the document product.
Rule 273 (Error)
ExtensionPoints can only be referenced by an "extend" UseCaseDependency.
Rule 274 (Warning)
An "extend" UseCaseDependency must reference at least one ExtensionPoint.
Rule 275 (Error)
An "extend" UseCaseDependency can only reference the target's ExtensionPoint.
Rule 276 (Block)
A BindableInstance can be bound to an Attribute, an AssociationEnd or a BindableInstance.
Rule 277 (Block)
A ConnectorEnd can be bound to an Attribute, an AssociationEnd or a LinkEnd.
Rule 278 (Block)
A Connector can be bound to an Attribute, an Association or a Link.
Rule 279 (Block)
A Port can be bound only to a Port.
Rule 280 (Block)
A BindableInstance cannot belong to an Interface.
Rule 281 (Block)
An artifact stereotyped <<RAMComponent>> cannot manifest elements that belong to a deployed model component.
Rule 282 (Block)
A TemplateParameter must be linked to its NameSpace by the Parameterized relationship instead of the Owner relationship.
Rule 283 (Block)
Deployed MDA components must all have a different name. This rule applies not only to selected MDA components but also to MDA components which have been selected and then unselected.
Rule 284 (Block)
A Component must belong to a Class, a Package, a TemplateParameter or a Component.
Rule 285 (Error)
Actors and UseCases can only have binary associations.
Rule 62073 (Block)
An ActivityPartition cannot simultaneously contain ActivityPartitions and ActivityNodes.
Rule 9000 (Block)
A relationship from an Element must not reference another Element several times.
Rule 9001 (Block)
Element partition identifiers must be coherent.
Rule Free Edition (Warning)
The number of NameSpaces is limited in the Objecteering Free Edition. When this limit is exceeded, deployed MDA components are unselected and no MDA components can be deployed.
Rule Requirements Free Edition (Warning)
The number of Requirements and Dictionaries is limited in the Objecteering Free Edition. When this limit is exceeded, deployed MDA components are unselected and no MDA components can be deployed.
Rule 61007 (Block)
An AcceptCallEventAction cannot have InputPins.
Rule 61008 (Block)
An AcceptChangeEventAction cannot have InputPins.
Rule 61009 (Block)
An AcceptSignalAction cannot have InputPins.
Rule 61010 (Block)
An AcceptTimeEventAction cannot have InputPins.
Rule 61013 (Error)
The top Partitions of an Activity must not have a parent Partition.
Rule 61014 (Block)
The source and the target of an ActivityEdge must be owned by the same Activity.
Rule 61015 (Block)
The source and the target of an ActivityEdge must be contained by the same StructuredActivityNode.
Rule 61016 (Block)
All nodes and edges of an ActivityGroup must be in the same Activity as the group.
Rule 61017 (Block)
No node or edge in a group may be transitively contained by its subgroups or its containing groups.
Rule 61018 (Block)
An ActivityGroup may only be owned by at most one Activity or ActivityGroup.
Rule 61019 (Block)
An ActivityNode may only be owned by at most one Activity, StructuredNode, ActivityGroup or ConditionalClause.
Rule 61020 (Error)
An ActivityParameterNode must have a parameter from the container Activity.
Rule 61022 (Error)
An ActivityParameterNode must have either all incoming edges or all outgoing edges, and cannot have both incoming and outgoing edges.
Rule 61023 (Error)
ActivityParameterNodes with no incoming edges and one or more outgoing edges must have a parameter with in or inout direction.
Rule 61024 (Error)
ActivityParameterNodes with no outgoing edges and one or more incoming edges must have a parameter with out, inout, or return direction.
Rule 61025 (Block)
A Partition with isDimension = true cannot be contained in another Partition.
Rule 61026 (Error)
All Partitions of the same nesting level must represent parts of the same Classifier.
Rule 61027 (Error)
If a Partition meets the following three criteria:
1. is non-external
2. represents a Classifier
3. is contained in another Partition
then
· the containing Partition must represent a Classifier
· the Classifier of the subPartition must be either
o nested in the Classifier represented by the containing Partition, or
o the contained end of a strong composition association with the Classifier represented by the containing Partition.
Rule 61028 (Error)
If a Partition P1 satisfies these conditions:
1. represents a Part Part1
2. is the sub-Partition of another Partition P2
3. the part Part1 is owned by a Classifier C
then C must be related to P2 in one of the following two ways:
· P2 represents C, or
· P2 represents a part which instanciates C.
Rule 61029 (Error)
There must be one to one correspondence between:
· the InputPins of a CallBehaviorAction, and
· the In or Inout parameters of the called Behaviour.
Rule 61030 (Error)
There must be be one to one correspondence between:
· the OutputPins of a CallBehaviorAction, and
· the Out, Inout or Return BehaviorParameters of the called Behaviour.
Rule 61031 (Error)
The type and the maximum cardinality of a CallBehaviourAction's Pin must match the type and max multiplicity of the represented BehaviorParameter.
Rule 61032 (Error)
There must be be one to one correspondence between:
· the InputPins of a CallOperationAction, and
· the In or Inout parameters of the called Operation.
Rule 61033 (Error)
There must be be one to one correspondence between:
· the OutputPins of a CallOperationAction, and
· the Out, Inout or Return Parameters of the called Operation.
Rule 61034 (Error)
The type and the maximum cardinality of a CallOperationAction's Pin must match the type and max multiplicity of the represented Parameter.
Rule 61035 (Error)
The type of the target pin must be the same as the type that owns the Operation.
Rule 61036 (Block)
ControlFlows may not have ObjectNodes at either end, except for ObjectNodes with control type.
Rule 61037 (Error)
A DecisionNode has one incoming edge.
Rule 61038 (Error)
The edges coming into and out of a DecisionMergeNode must be either all object flows or all control flows.
Rule 61039 (Block)
A FinalNode cannot have outgoing edges.
Rule 61040 (Error)
If a ForkJoinNode has at least one incoming ObjectFlow, then all outgoing edges must be ObjectFlows.
Rule 61041 (Error)
A ForkJoinNode with all incoming edges of type ControlFlow must have all outgoing edges of type ControlFlow.
Rule 61042 (Error)
An InitialNode cannot have incoming edges.
Rule 61043 (Error)
Only control edges (ControlFlow) can have InitialNodes as their source.
Rule 61045 (Block)
A JoinNode has one outgoing edge.
Rule 61046 (Error)
If a JoinNode has an incoming ObjectFlow, it must have an outgoing ObjectFlow, otherwise, it must have an outgoing ControlFlow.
Rule 61047 (Error)
A MergeNode has one outgoing edge.
Rule 61048 (Error)
The edges coming into and out of a MergeNode must be either all ObjectFlows or all ControlFlows.
Rule 61049 (Block)
ObjectFlows may not have actions at either end.
Rule 61050 (Warning)
ObjectNodes connected by an ObjectFlow, with optionally intervening control nodes, must have compatible types. In particular, the downstream ObjectNode type must be the same or a supertype of the upstream ObjectNode type.
Rule 61051 (Warning)
ObjectNodes connected by an ObjectFlow, with optionally intervening control nodes, must have the same upper bounds.
Rule 61052 (Warning)
An edge with constant weight may not target an ObjectNode, or lead to an ObjectNode downstream with no intervening actions and with an upper bound less than the weight.
Rule 61053 (Error)
An ObjectFlow may have a selection behavior only if it has an ObjectNode as a source.
Rule 61054 (Error)
An ObjectFlow must not be simultaneusly multi-cast and multi-receive.
Rule 61055 (Block)
All edges coming into or going out from ObjectNodes (which are not control types) must be object flow edges (ObjectFlow).
Rule 61056 (Error)
ObjectNodes are not unique typed elements.
Rule 61057 (Block)
An ObjectNode has a selection behavior if and only if its ordering is 'Ordered'.
Rule 61058 (Block)
InputPins may have outgoing edges only when both the following conditions are met:
· they are on actions that are StructuredNodes, and
· these edges must target a Node contained by the StructuredNode.
Rule 61059 (Block)
OutputPins may have incoming edges only when both the following conditions are met:
· they are on actions that are StructuredNodes, and
· these edges must come from a node contained by the StructuredNode.
Rule 61061 (Error)
There must be one to one correspondence between:
· the pins of a SendSignalAction, and
· the attributes of the sent Signal.
Rule 61062 (Error)
The max cardinality of an argument pin must be the same as for the represented Attribute.
Rule 61063 (Block)
If the Operator is opt, loop, break, or neg, there must be exactly one operand.
Rule 61067
An ExecutionSpecification must start and finish on the same Lifeline.
Rule 61068
The (actual) Gate on an InteractionUse must refer to a (formal) Gate of the referenced Interaction.
Rule 61082 (Block)
If the sending and the receiving MessageEnd's are on the same same Lifeline, the sending MessageEnd must have a LineNumber lesser than or equal to the receiving MessageEnd.
Rule 61093 (Block)
ExecutionSpecification.Start.LineNumber must be less than ExecutionSpecification.Finish.LineNumber.
Rule 61094 (Block)
A Gate on CombinedFragments must satisfy these inequalities:
· Gate.OwnerFragment.getFirstLine()
· Gate.getFirstLine()
· Gate.OwnerFragment.getLastLine()
Rule 61095 (Block)
A Gate on an InteractionUse must satisfy these inequalities:
· Gate.OwnerUse.getFirstLine()
· Gate.getFirstLine()
· Gate.OwnerUse.getLastLine()
Rule 61096 (Block)
The LineNumber attribute on an InteractionFragment must always equal 1.
Rule 61097 (Block)
InteractionFragment.getLastLine() must be always equal the InteractionFragment.getFirstLine().
Rule 61098 (Block)
InteractionOperand.EndLineNumber must be equal to all InteractionOperand.Fragment.getLastLine().
Rule 61099 (Block)
ReceiveEvent.LineNumber must be equal to SendEvent.LineNumber.
Rule 61101 (Block)
An InteractionUse or a CombinedFragment must cover at least one Lifeline.
Rule 61102 (Warning)
A Gate should not cover any Lifelines.
Rule 61103 (Block)
An ExecutionSpecification, ExecutionOccurrenceSpecification or StateInvariant must cover exactly one Lifeline.
Rule 61104 (Block)
A PartDecomposition cannot receive creation or destruction Messages.
Rule 61105 (Block)
Messages cannot enter or leave an InteractionOperand.
Rule 61106 (Block)
An ActivityEdge must have a source and a target.
Rule 61107 (Block)
A Message must have a SendEvent and a ReceiveEvent.
Rule 61108 (Block)
An InformationFlow must have an InformationSource and an InformationTarget.
Rule 61109 (Warning)
An InformationFlow should convey information.
Rule 61110 (Block)
An ExecutionSpecification must have Start and Finish occurrences.