-
Key: KERML-20
-
Status: open
-
Source: Model Driven Solutions ( Mr. Ed Seidewitz)
-
Summary:
The following validation constraints are implied by textual descriptions in the specification, but are missing in the abstract syntax. They should be added, along with appropriate OCL.
8.3.3.1.10 Type
validateTypeOwnedUnioningNotOne – A Type must not have exactly one ownedUnioning.
validateTypeOwnedIntersectingNotOne – A Type must not have exactly one ownedIntersecting.
validateTypeOwnedDifferencingNotOne – A Type must not have exactly one ownedDifferencing.
8.3.3.3.3 Feature
validateFeatureChainingFeatureConformance – Each chainingFeature (other than the last) must conform to all the featuringTypes of the next Feature in the chain.
8.3.3.3.8 Redefinition
validateRedefinitionDirectionConformance – If the redefinedFeature of a Redefinition has a non-null direction, then the redefiningFeature must have the same direction.
8.3.3.3.10 Subsetting
validateSubsettingMultiplicityConformance – If the subsettingFeature of a Subsetting has a multiplicity that is a MultiplicityRange, then this must be consistent with the MultiplicityRange (if any) of the subsettedFeature (if the multiplicity bounds are model-level evaluable).
validateSubsettingUniquenessConformance – The subsettingFeature of a Subsetting must not have isUnique = false if the subsettedFeature has isUnique = true.
8.3.4.5.2 BindingConnector
validateBindingConnectorTypeConformance – Either the first end of a BindingConnector should conform to the second, or vice versa.
8.3.4.5.3 Connector
validateConnectorAssociationEnds – All associations typing a Connector must have the same number of associationEnds, which are the same as the number of relatedFatures of the Connector.
[Note: See the statement in 7.4.6.2 Connector Declaration on this.]validateConnectorTypeFeaturing – If a Connector has an owningType or (non-implied) ownedTypeFeaturings, then each of its relatedFeatures must have some featuringType of the Connector as a direct or indirect featuringType.
[Note: This validation constraint corresponds to the semantic constraint checkConnectorTypeFeaturing, in the case that the semantic constraint is not able to be satisfied by adding implied TypeFeaturings.]8.3.4.7.3 Expression
validateExpressionResultExpressionMembership – An Expression must own at most one ResultExpressionMembership.8.3.4.7.4 Function
validateFunctionResultExpressionMembership – A Function must own at most one ResultExpressionMembership.8.3.4.8.3 FeatureChainExpression
validateFeatureChainExpressionConformance – The featuringTypes of the targetFeature of a FeatureChainExpression must conform to the result parameter of the argument Expression of the FeatureChainExpression.
8.3.4.8.4 FeatureReferenceExpression
validateFeatureReferenceExpressionReferentIsFeature – The first Membership of a FeatureReferenceExpression that is not a ParameterMembership must have a Feature as its memberElement.
8.3.4.8.5 InvocationExpression
validateInvocationExpressionParameterRedefinition – Each input parameter of an InvocationExpression must redefine a feature of a type of the InvocationExpression.
validateInvocationExpressionNoDuplicateParameterRedefinition – Two different parameters of an InvocationExpression must not redefine the same feature of a type of the Invocationexpression.
8.3.4.8.14 OperatorExpression
validateOperatorExpressionCastConformance – If an OperatorExpression is for the cast operator (as), then the types of the result of the argument of an OperatorExpression must conform to the target types of the cast.
8.3.4.8.15 SelectExpression
validateSelectExpressionOperator – The operator of a SelectExpression must be “select”.
8.3.4.10.2 FeatureValue
validateFeatureValueOverriding – All Features directly or indirectly redefined by the featureWithValue of a FeatureValue must have only default FeatureValues.
8.3.4.12.3 MetadataFeature
validateMetadataFeatureMetaclassNotAbstract – The metaclass of a MetadataFeature must not be abstract.
validateMetadataFeatureAnnotatedElement – The annotatedElement of a MetadataFeature must have an abstract syntax metaclass consistent with the annotatedElement declarations for the MetadataFeature.
validateMetadataFeatureBody – Each ownedFeature of a MetadataFeature must have no declared name, redefine a Feature owned by a supertype of the MetadataFeature, either have no featureValue or a featureValue with a value Expression that is model-level evaluable, and only have ownedFeatures that also meet these restrictions.
-
Reported: KerML 1.0a1 — Fri, 21 Apr 2023 22:17 GMT
-
Updated: Mon, 8 Apr 2024 21:42 GMT
KERML — Validation constraints are missing in the KerML abstract syntax
- Key: KERML-20
- OMG Task Force: Kernel Modeling Language (KerML) 1.0 FTF