-
Key: UML24-95
-
Legacy Issue Number: 15566
-
Status: closed
-
Source: Model Driven Solutions ( Mr. Steve Cook)
-
Summary:
UML::CompositeStructures::InternalStructures::A_feature_featuringClassifier
UML::Activities::FundamentalActivities::A_subgroup_superGroup
UML::Activities::FundamentalActivities::A_containedNode_inGroup
UML::Activities::CompleteStructuredActivities::A_containedEdge_inGroup
UML::Activities::StructuredActivities::A_containedNode_inGroup
UML::Activities::CompleteActivities::A_containedNode_inGroup
UML::Activities::IntermediateActivities::A_subgroup_superGroup
UML::Activities::IntermediateActivities::A_containedEdge_inGroup
UML::Activities::IntermediateActivities::A_containedNode_inGroup
InfrastructureLibrary::Core::Abstractions::Constraints::A_ownedMember_namespace
InfrastructureLibrary::Core::Abstractions::Classifiers::A_feature_featuringClassifier
InfrastructureLibrary::Core::Abstractions::Namespaces::A_ownedMember_namespace
InfrastructureLibrary::Core::Abstractions::Ownerships::A_ownedElement_owner
-
Reported: UML 2.3 — Wed, 22 Sep 2010 04:00 GMT
-
Disposition: Resolved — UML 2.4
-
Disposition Summary:
These are associations with both ends derived. There is a MOF constraint: An Association is derived if all its Properties are derived. Hence all of these associations should be marked as derived. In addition, there is currently inconsistency elsewhere in the metamodel about which associations should be marked as derived. For example, A_redefinitionContext_region, with derived=false, and A_redefinitionContext_state, with derived=true. These are obviously inconsistent.
In order to correct this we?ll apply the following additional constraint:
? An association in which all navigable (class-owned) ends are derived is derived
The reasoning behind this is as follows.
If you take the meaning of an association to be a set of links, and the meaning of an association end to be a set of instances of the type at the end of the association, then “derived” means that these sets can be calculated from other information. The other ingredient is whether the set can be altered “by hand”, as it were: and I am assuming that non-navigable ends cannot be altered by hand, i.e. they do not correspond to a settable API on a class. I don?t believe there is anything formal to substantiate this assumption, but it seems to be current practice for the metamodel to be constructed according to it. In this sense, all non-navigable ends are “derived”, whether you say so or not.
The following are violations of this additional constraint:
InfrastructureLibrary::Core::Abstractions::BehavioralFeatures::A_parameter_behavioralFeature
InfrastructureLibrary::Core::Abstractions::Constraints::A_member_memberNamespace
InfrastructureLibrary::Core::Abstractions::Generalizations::A_general_classifier
InfrastructureLibrary::Core::Abstractions::Namespaces::A_member_memberNamespace
InfrastructureLibrary::Core::Abstractions::Redefinitions::A_redefinedElement_redefinableElement
InfrastructureLibrary::Core::Abstractions::Redefinitions::A_redefinitionContext_redefinableElement
InfrastructureLibrary::Core::Abstractions::Relationships::A_relatedElement_relationship
InfrastructureLibrary::Core::Abstractions::Relationships::A_source_directedRelationship
InfrastructureLibrary::Core::Abstractions::Relationships::A_target_directedRelationship
InfrastructureLibrary::Core::Abstractions::Super::A_inheritedMember_classifier
InfrastructureLibrary::Core::Constructs::A_attribute_classifier
InfrastructureLibrary::Core::Constructs::A_endType_association
InfrastructureLibrary::Core::Constructs::A_importedMember_namespace
InfrastructureLibrary::Core::Constructs::A_inheritedMember_classifier
InfrastructureLibrary::Core::Constructs::A_member_memberNamespace
InfrastructureLibrary::Core::Constructs::A_opposite_property
InfrastructureLibrary::Core::Constructs::A_parameter_behavioralFeature
InfrastructureLibrary::Core::Constructs::A_redefinedElement_redefinableElement
InfrastructureLibrary::Core::Constructs::A_redefinitionContext_redefinableElement
InfrastructureLibrary::Core::Constructs::A_relatedElement_relationship
InfrastructureLibrary::Core::Constructs::A_source_directedRelationship InfrastructureLibrary::Core::Constructs::A_target_directedRelationship
InfrastructureLibrary::Core::Constructs::A_type_operation
InfrastructureLibrary::Profiles::A_ownedStereotype_owningPackage
InfrastructureLibrary::Profiles::A_profile_stereotype
UML::Actions::BasicActions::A_input_action
UML::Actions::BasicActions::A_output_action
UML::Activities::CompleteStructuredActivities::A_input_action
UML::Activities::CompleteStructuredActivities::A_output_action
UML::AuxiliaryConstructs::Templates::A_inheritedParameter_redefinableTemplateSignature
UML::AuxiliaryConstructs::Templates::A_redefinitionContext_redefinableElement
UML::Classes::Interfaces::A_attribute_classifier
UML::Classes::Kernel::A_attribute_classifier
UML::Classes::Kernel::A_classifier_enumerationLiteral
UML::Classes::Kernel::A_endType_association
UML::Classes::Kernel::A_general_classifier
UML::Classes::Kernel::A_importedMember_namespace
UML::Classes::Kernel::A_inheritedMember_classifier
UML::Classes::Kernel::A_member_memberNamespace
UML::Classes::Kernel::A_opposite_property
UML::Classes::Kernel::A_parameter_behavioralFeature
UML::Classes::Kernel::A_redefinedElement_redefinableElement
UML::Classes::Kernel::A_redefinitionContext_redefinableElement
UML::Classes::Kernel::A_relatedElement_relationship
UML::Classes::Kernel::A_source_directedRelationship
UML::Classes::Kernel::A_superClass_class
UML::Classes::Kernel::A_target_directedRelationship
UML::Classes::Kernel::A_type_operation
UML::CommonBehaviors::BasicBehaviors::A_context_behavior
UML::CommonBehaviors::BasicBehaviors::A_result_opaqueExpression
UML::Components::BasicComponents::A_provided_component
UML::Components::BasicComponents::A_required_component
UML::CompositeStructures::InternalStructures::A_attribute_classifier
UML::CompositeStructures::InternalStructures::A_definingEnd_connectorEnd
UML::CompositeStructures::InternalStructures::A_part_structuredClassifier
UML::CompositeStructures::InternalStructures::A_role_structuredClassifier
UML::CompositeStructures::Ports::A_ownedPort_encapsulatedClassifier
UML::CompositeStructures::Ports::A_provided_port
UML::CompositeStructures::Ports::A_required_port
UML::StateMachines::BehaviorStateMachines::A_redefinitionContext_region
UML::StateMachines::BehaviorStateMachines::A_redefinitionContext_transition
UML::StateMachines::ProtocolStateMachines::A_referred_protocolTransition -
Updated: Fri, 6 Mar 2015 20:58 GMT
UML24 — Association conflicts with MemberEnds IsDerived flags
- Key: UML24-95
- OMG Task Force: UML 2.4 RTF