Audit rules list¶
- R1000: A Model Element cannot abstract itself.
- R1010: The top Partitions of an Activity must not have a Super-Partition.
- R1020: The source and the target of a Flow must be contained in the same Structured Activity Node.
- R1030: The source and the target of a Flow must be owned by the same Activity.
- R1040: An Activity Parameter Node must be represeneted by a Behavior Parameter owned by the same Activity.
- R1050: An Activity Parameter Node cannot have both incoming and outgoing edges.
- R1060: Activity Parameter Nodes with no incoming flow and one or more outgoing flow must have a Behavior Parameter with “In” or “In/Out” parameter passing mode.
- R1070: Activity Parameter Nodes with no outgoing flow and one or more incoming flow must have a Behavior Parameter with “Out” or “In/Out” parameter passing mode.
- R1080: All Partitions of the same nesting level must represent Parts of the same Classifier.
- R1090: If a Sub-Partition is non-external and represents a Classifier then the represented Classifier must be nested in the Classifier represented by its Super-Partition or be the extremity of a Composition with the latter.
- R1100: If a Sub-Partition represents a Part nested in a Classifier then its Super-Partition must represent the Classifier or an instance of the latter.
- R1110: There must be one to one correspondence between: (A) the Pins of a Call Behavior Action, and (B) the In, Out, InOut or Return Behavior Parameters of the called Behaviour.
- R1130: The type and the maximum cardinality of a Call Action'’s Pin must match the type and max multiplicity of the represented Parameter.
- R1140: There must be one to one correspondence between: (A) the Pins of a Call Operation Action, and (B) the In, Inout, Out and Return parameters of the called Operation.
- R1150: The Call Operation Action or Send Signal Action has more than one target Pin.
- R1160: A target Pin can only be owned by Call Operation Actions and Send Signal Actions
- R1170: The type of the target Pin must be the same as the type that owns the Operation.
- R1180: Control Flows may not have Object Nodes at either end, except for Object Nodes with control type.
- R1190: The Decision-Merge Node is used both as a Decision node and as a Merge node at the same time.
- R1200: The edges coming into and out of a Decision Merge Node must be either all Object Flows or all Control Flows.
- R1230: Only Control Flows can have Initial Nodes as their source.
- R1250: If a Fork/Join Node has an Object Flow in its incoming edges, it must have an Object Flow in its outgoing edges and vice versa. The same applies for Control Flows.
- R1280: Object Flows may not have Actions at either end.
- R1290: Object Nodes connected by an Object Flow, with optionally intervening control nodes, must have compatible types. In particular, the downstream Object Node type must be the same or a super type of the upstream Object Node type.
- R1300: Object Nodes connected by an Object Flow, with optionally intervening control nodes, must have the same upper bounds.
- R1310: An edge with constant weight may not target an Object Node, or lead to an Object Node downstream with no intervening actions and with an upper bound less than the weight.
- R1320: An Object Flow must not be simultaneusly multi-cast and multi-receive.
- R1350: If an Object Node has a ‘'Selection behavior’‘, then the ’‘Ordering’‘ of the Object Node is ordered and vice versa.
- R1360: Input Pins may have outgoing edges only when both the following conditions are met: (1) they are on Actions that are Structured Nodes, and (2) these edges must target a Node contained by the Structured Node.
- R1370: Output Pins may have incoming edges only when both the following conditions are met: (1) they are on Actions that are Structured Nodes, and (2) these edges must come from a node contained by the Structured Node.
- R1380: There must be one to one correspondence between: (A) the Pins of a Send Signal Action, and (B) the attributes of the sent Signal.
- R1390: The max cardinality of an argument Pin must be the same as for the represented Attribute.
- R1400: An Activity Parameter Node can only belong to an Activity.
- R1410: Only one Association End of an Association can be aggregate or composite.
- R1420: Actors and UseCases can only have binary Associations.
- R1430: Multiplicities of an AssociationEnd must be consistent: MultiplicityMin cannot be ‘*’ and MultiplicityMin must be inferior to MultiplicityMax.
- R1440: AssociationEnds cannot be composite on n-ary Associations.
- R1450: If an association is a composition, then the opposite maximum multiplicity must be 1.
- R1460: A public association oriented from a public Classifier cannot be linked to a private or protected Classifier.
- R1470: The name of an AssociationEnd’s qualifiers must be unique.
- R1480: An Attribute must be typed by a primitive type.
- R1490: In an instance, the type of an instantiated attribute must be in the instantiated class or in its parent classes.
- R1500: In an instance, the name of an instantiated attribute must be the same as the corresponding attribute.
- R1520: The name of a BindableInstance must be unique in it Classifier.
- R1530: An association or a port should have a name.
- R1540: A BindableInstance’s RepresentedFeature must not refer itself, directly or indirectly.
- R1550: If a BinbdableInstance has a type and has a represented feature, the type of the instance must be compatible with the type of this feature.
- R1560: Sub classes of an active class must be active.
- R1570: A class cannot represent more than one ClassAssociation.
- R1580: Attributes, Associations and Operations cannot simultaneously be abstract and class.
- R1590: Primitive GeneralClass cannot have associations.
- R1600: A primitive class cannot have collaborations.
- R1610: A primitive class cannot have state machines.
- R1620: A non-abstract Classifier cannot have abstract methods.
- R1640: A maximum of one ElementImport must exist between a NameSpace and another NameSpace or between an Operation and a NameSpace.
- R1650: An Enumeration cannot be abstract.
- R1660: An enumeration is always prilmitive.
- R1670: EnumlerationLitteral defined in an Enumeration must have an unique name.
- R1680: For a Call-type Event, the ‘Called operation’ field must be defined, whereas the ‘Instanciated signal’ must be empty.
- R1690: The ‘Expression’ field for a Change-type Event must be defined, whereas the ‘Called operation’ and ‘Instanciated signal’ fields must be empty.
- R1700: The ‘Instantiated signal’ field for a signal-type Event must be defined, whereas the ‘Called operation’ and ‘Expression’ fields must be empty.
- R1710: The ‘Expression’ field for a Time-type Event must be defined, whereas the ‘Called operation’ and ‘Instanciated signal’ fields must be empty.
- R1720: An abstract NameSpace should only inherit from an abstract NameSpace.
- R1730: A generalisation 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.
- R1740: An InformationFlow should convey information.
- R1750: Repetition of names is forbidden for all AtrributeLinks.
- R1760: There cannot be inconsistency in the multiplicities of an Instance
- R1780: The name of an Instance must be unique in its NameSpace.
- R1790: An instance must have a name, or the instantiation association must be defined.
- R1800: If an Operator is of type opt, loop, break or neg, there cannot be more than one Operand.
- R1810: An actual Gate on an InteractionUse must reference a formal Gate contained by the referenced Interaction.
- R1820: A gate cannot cover a lifeline.
- R1830: A PartDecomposition cannot receive ‘create’ or ‘destroy’ messages.
- R1860: In an interface, the visibility of all Features must be public.
- R1870: An interface cannot be implemented twice by the same class or the same component.
- R1910: A Link that instantiates an association must be coherent with this association.
- R1950: Messages of type ‘reply’ cannot invoke an Operation.
- R1960: A message must have the same name as the invoked Operation.
- R1970: A TemplateParameterSubstitution must reference a TemplateParameter.
- R1980: The names of a Classifier’s Attributes and AssociationEnds must be unique.
- R1990: The name of a Classifier’s inherited Attributes and Roles must be unique.
- R2010: In a Dictionary, the name of each element must be unique.
- R2030: In a PropertyContainer, the name of each EnumerationPropertyType must be unique.
- R2050: Some elements must have a name.
- R2060: The name of a NameSpace must be unique in its NameSpace.
- R2080: In a PropertySet, the name of each Property must be unique.
- R2100: In a EnumerationPropertyType, the name of each PropertyEnumerationLiteral must be unique.
- R2120: In a PropertyContainer, the name of each PropertySet must be unique.
- R2140: In a PropertyContainer, the name of each PropertyType must be unique.
- R2160: In an Analyst Container, the name of each element must be unique.
- R2170: The name of a Behavior must be unique in its NameSpace.
- R2180: No cycles can exist in a NameSpace inheritance graph.
- R2190: A maximum of one generalization may exist between two namespaces.
- R2200: A NameSpace cannot both derive and import another NameSpace.
- R2210: A leaf NameSpace cannot be derived.
- R2220: A leaf NameSpace cannot be abstract.
- R2230: A root NameSpace cannot inherit from any other NameSpace.
- R2240: There can be no inter-package/inter-component dependency cycle.
- R2250: All operations in a Classifier must have a different signature from inherited public and protected operations. Except for constructor, destructor and redefined operations.
- R2260: Each Operation in a Classifer must have a different signature.
- R2270: All an Operation’s Collaborations must have a different name.
- R2330: All an Operation’s Parameters must have a different name.
- R2340: A redefined Operation must belong to a parent or an implemented Interface of the owner of the Operation.
- R2350: A private Operation cannot be redefined.
- R2360: The visibility of an Operation cannot be greater than that of the Operations it redefines.
- R2370: A class (static) Operation cannot be redefined.
- R2380: An abstract Operation must not redefine a concrete Operation.
- R2390: A constructor cannot have return parameters.
- R2400: A destructor cannot have any kind of parameters.
- R2410: An operation cannot own both ‘create’ and ‘destroy’ stereotypes.
- R2420: An Operation must have the same signature as the Operation it redefines.
- R2430: All an Operation’s StateMachines must have a different name.
- R2440: An Operation cannot belong to an Enumeration.
- R2450: A package cannot have inheritance links.
- R2470: A maximum of one PackageImport link may exist between a NameSpace and a Package.
- R2500: An ‘out’ Parameter cannot have a default value.
- R2510: There cannot be any direct link between two Class Ports.
- R2520: If a Port runs a delegation towards an internal part, it must provide at least one interface.
- R2530: If a Port receives a delegation from an internal part, it must provide at least one interface.
- R2540: The interfaces provided by a port must be implemented by the Class that types the Port.
- R2550: If a Port is a behavior port, its provided interfaces must be implemented by the Class it belongs to.
- R2560: A behavior Port must provide at least one interface.
- R2570: If a Port is a behavior port, the type of the port must be either the Class it belongs to or undefined.
- R2580: A region cannot contain more than one deep history state.
- R2590: A region cannot contains more than one initial state.
- R2600: A state machine or a state cannot have two states with the same name.
- R2610: Only submachine states can have connection point references.
- R2620: Submachine states should not have entry or exit pseudo states defined.
- R2630: A region cannot contain more than one shallow history state.
- R2640: The context of a state machine cannot be an interface.
- R2650: The context of a protocol state machine must be a Classifier.
- R2660: A state in a protocol state machine cannot have entry, exit, or do activity actions.
- R2670: A protocol state machine cannot have history vertexes.
- R2680: The number of parameter of a TaggedValue must be the same as the number of parameter defined in the TaggedValue declaration.
- R2690: An element cannot have a TemplateBinding towards itself.
- R2700: A TemplateBinding can only substitute each TemplateParameter of the instantiated element once.
- R2720: A TemplateBinding must be created between two elements of the same type or between a Class and a DataType.
- R2730: A TemplateBinding must substitute all the TemplateParameters of the instanciated template element, and the TemplateParameterSubstitution must be defines in the same order as the TemplateParameters.
- R2740: In a TemplateBinding, the TemplateParameterSubstitution must belong to the instantiated template element.
- R2750: A transition from a fork or join pseudo state should not have guards or triggers.
- R2760: A fork segment must always target a state.
- R2770: A join segment must always originate from a state.
- R2780: Transitions outgoing pseudostates may not have a trigger (except for those coming out of the initial pseudostate).
- R2790: A transition from one region to another in the same immediate enclosing composite state is not allowed.
- R2800: An initial vertex can have at most one outgoing transition.
- R2810: History vertices can have at most one outgoing transition.
- R2820: The target of a transition cannot be an initial vertex.
- R2830: The source of a transition cannot be a final vertex.
- R2840: A transition should have only one of Processed, Effects, or BehaviorEffet defined.
- R2850: An element cannot have a usage dependency towards itself.
- R2860: A maximum of one dependency may exist between two use cases.
- R2870: There must be no cycle in use cases << extend >> dependency graph.
- R2880: There must be no cycle in use cases << include >> dependency graph.
- R2890: A communication link cannot have the same actor or use case as its source and target.
- R2900: An << extend >> use case dependency must reference at least one extension point.
- R2910: An << extend >> use case dependency can only reference the target’s extension points.
- R2920: Extension points can only be referenced by an << extend >> use case dependency.
- R2930: Message and CommunicationMessage cannot have both Signal and Operation properties defined.
- R2940: All transitions incoming a join vertex must originate in different regions of an orthogonal state.
- R2950: All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.
- R2960: Synonym, antonym, homonym, context, and kind-of dependencies can only link two terms.
- R2970: An Assigned dependency must be from an Actor, an Interface, a Package, or a Process, toward a Goal.
- R2980: A Measure dependency must be from a ModelElement toward a Goal.
- R2990: A Guarantee dependency must be from a Requirement toward a Goal.
- R3000: Positive influence and Negative influence dependencies must be between two Goals.
- R3010: A refers dependency must be between a Business Rule and a Term.
- R3020: A related dependency must be must be between two Business Rules or two Terms.
- R3030: A refine dependency must be between either: 1) from a Model Element or a Requirement towards a Requirement 2) from a Business Rule, an Activity or an Operation towards a Business Rule.
- R3040: An implement dependency must be from a Process or a Class towards a Business Rule.
- R3050: A part dependency must be between two Requirements or between two Goals.
- R3060: A satisfy or verify dependency must be from a ModelElement towards a Requirement.
- R3070: A derive dependency must be from a UseCase or a Requirement towards a Requirement.
- R3080: All FlowNodes should be part of a sequence starting with a StartEvent and finishing with an EndEvent.
- R3090: A SequenceFlow cannot have its source or target in different Pools.
- R3100: A SequcneFlow in a SubProcess must have its origin and target in the same SubProcess.
- R3110: A SequenceFlow cannot target a StartEvent nor have an EndEvent as its source.
- R3130: A MessageFlow cannot target a StartEvent or an IntermediateThrowEvent, nor have an EndEvent or an IntermediateCatchEvent as its source.
- R3140: All outgoing SequenceFlow from an EventBasedGateway or a ParallelGateway must have its guard properties empty.
- R3150: A MessageFlow cannot link two elements in the same lane.
- R3160: A MessageFlow cannot have a Gateway as its source or target.
- R3170: Inclusive Gateway,Complex Gateway and Parallel Gateway must have at least two outgoing Sequence Flows.
- R3180: A FlowElement (and respectively a BaseElement) cannot have a SequenceFlow (respectively a MessageFlow) towards itself.
- R3190: A DataAssociation cannot target a DataInput nor have a DataOutput as its source.
- R3220: A SequenceFlow outgoing from an EventBasedGateway must target an IntermediaryCatchEvent.
- R3230: All SequenceFlows outgoing from an ExclusiveGateway must have a guard, except for the default SequenceFlow.
- R3240: There can only be one sequence in a Process, a SubProcess or a Pool.
- R3250: A Process, a SubProcess, or a Pool should have at least one StartEvent and one EndEvent.