Issue 3898: Specify XMI parameters for the UML / XMI interchange format
Issue 4110: Semantics of firing compound transitions still appears to be circular
Issue 4448: Does visibility apply to creating an destroying links?
Issue 4932: Starting state machine
Issue 4937: Sending a signal after a delay
Issue 5107: Starting a state machine
Issue 5593: Namespace issue (UML 1.4 formal/2002-09-67, 2.5.3.26 Namespace )
Issue 5794: Designates a Generalization
Issue 5804: 2.5.2.27 ModelElement
Issue 5886: behaviour of the shallow history state and deep history state
Issue 5896: logic upperbound is the same as the lower bound.
Issue 5907: formal/03-03-01 : Omission of definition of Class "Action"
Issue 5977: saying {nonunique} on one end of a binary association is meaningless
Issue 6002: relationship should just be a cross-reference
Issue 6003: document appears to be inconsistent in how it handles concepts
Issue 6004: Relationship and DirectedRelationship in Core::Constructs
Issue 6005: cross-reference missing
Issue 6006: Classes diagram of the Core::Constructs package
Issue 6071: Conditional Node and Loop Node notation missing
Issue 6082: Suspension Region
Issue 6083: More examples
Issue 6086: More explanation needed on Figure 339
Issue 6088: Parameterization of lifelines
Issue 6111: Reentrancy 1
Issue 6114: State extension
Issue 6126: Target pin notation
Issue 6137: Promote local conditions to ExecutableNode
Issue 6150: Notation for method
Issue 6176: UML 2 Super/Metamodel::Constructs/owningComment
Issue 6187: UML 2 Super/Metamodel::Super/missing merge
Issue 6194: UML 2 Super/Package merge/redefinitions issue - lost association ends
Issue 6197: UML 2 Super/Metamodel::Kernel/missing merges
Issue 6200: UML 2 Super/Metamodel/redefinition and substitutability
Issue 6201: UML 2 Infra/Metamodel::Constructs/invalid OCL constraint for "opposite"
Issue 6216: UML 2 Super/pg.75/kinds of changeability
Issue 6262: UML 2 Super / Templates / TemplateParameter not named
Issue 6275: raisedException
Issue 6346: Activity OCL
Issue 6353: Deployment a dependency?
Issue 6368: Join nodes that destroy tokens
Issue 6372: Notes versus curly braces
Issue 6389: Syntax of names
Issue 6395: UML 2 Super / State machines / Transition triggers cannot be redefined
Issue 6398: UML 2 Super / Kernel features / cannot exclude superclass properties
Issue 6405: UML 2 super / Dependencies / improper subsetting?
Issue 6409: UML 2 Super/Interactions/missing OCL constraints
Issue 6422: Section 9.3.3
Issue 6423: Section 9.3.4 page 161, Presentation Option
Issue 6430: UML2 super/ad-03-04-01/Derived attributes and associations
Issue 6433: 03-04-01 Chap 2 p. 112/Components: Different ways to wire components
Issue 6441: Integration between behavioral "sublanguages": Interactions and Activities
Issue 6444: Activity diagram problems
Issue 6445: Clarification of use case semantics
Issue 6446: Clarification of Information Flow semantics
Issue 6451: UML 2 Super / Dependency / ownership of dependencies
Issue 6452: UML 2 Super / Missing OCL constraints
Issue 6455: instantiations of Classifiers
Issue 6456: Use 'represent' for the relationship of a model
Issue 6460: UML 2 Issue: definition of navigability
Issue 6462: UML 2 Issue: AssociationEnd
Issue 6463: UML 2 Issue: Message notation
Issue 6464: UML 2 Issue: isUnique
Issue 6466: UML 2 Issue: Qualified pathnames
Issue 6470: Section 7.11.2 Association
Issue 6487: Conditions for parameter sets
Issue 6489: Ports in Protocol State Machines
Issue 6492: ptc-03-09-15/Non-navigable ends with no role names nor multiplicities
Issue 6493: ptc-03-09-15/Constructs::Class superClass property
Issue 6495: ptc-03-09-15/Separate classification and generalization in Core::Basic
Issue 6496: ptc-03-09-15/Relationships among Core packages
Issue 6497: ptc-03-09-15/Need for examples to include instance models
Issue 6498: ptc-03-09-15/Explain the new association modeling constructs
Issue 6500: Federated models - UML2 issue
Issue 6501: Rose Model of UML 2.0 spec
Issue 6502: Multiplicity seems to be broken - UML2 Infra & Super
Issue 6503: Why not using the UML1 activity symbol for UML2 actions?
Issue 6524: class "InfrastructureLibrary.core.constructs.Association",
Issue 6525: two classes "NamedElement
Issue 6616: UML Superstructure FTF : isRoot property disappeared
Issue 6624: freeing namespace
Issue 6630: UML 2 Super / Classes / dependencies should be unidirectional
Issue 6637: UML 2 Infra/Metamodel/missing derivation indicators
Issue 6639: remove paragraph
Issue 6640: number of the figure is wrong
Issue 6641: well-formedness rules are not numbered correctly
Issue 6645: UML 2.0 Superstructure Kernal/Packages
Issue 6659: multiplicity of the association named "type" of type DataType
Issue 6660: The multiplicity of association named subaction of type Action ill formed
Issue 6661: In paragraph 5, the addition of 2, 5, 7 and -3 does not yield 9 but 11
Issue 6662: In the last paragraph, the period after the word "collections" on the secon
Issue 6665: UML 1.5 table of contents
Issue 6681: UML2 Super/Kernel Classes
Issue 6692: Operations and derived attributes
Issue 6696: Remove one of the dots between protectedAction and availableOutput
Issue 6697: Associations section of element JumpHandler
Issue 6699: UML 2.0 infra and super Constraints Diagram of the Kernel
Issue 6700: UML 2.0 Kernel Operations Diagram and Features Diagram and mdl
Issue 6702: The numbering of the sub-sections in 2.7.2 is wrong
Issue 6703: In "2.9.3.5 Instance", numbering of different well-formedness rules wrong
Issue 6704: The section about Procedure does not contain any well-formedness rules
Issue 6724: The Composition section does not follow the usual conventions
Issue 6725: missing closing parenthesis
Issue 6726: At the bottom of the page, the characters "antics." should be removed
Issue 6727: In 2.13.3, the first sub-section about ActivityGraph is not numbered
Issue 6866: Part subtype
Issue 6878: UML 2 Infrastructure / rule for redefinition of Property
Issue 6921: Inheritance of 'Enumerations' is not detailed
Issue 6922: Redefinitions of OCL constraints must be aligned with MOF2.0/UML2.0 class R
Issue 6923: Class InfrastructureLibrary::Core::Basic::Property
Issue 6927: UML 2 Super / Interactions / Ambiguous diagram tags
Issue 6975: missing illustrations of graphical paths for create and destroy messages
Issue 6989: UML 2 Super/Interactions/Constraints for create messages
Issue 6990: manage simultaneity of events
Issue 6991: transtion
Issue 7051: StateMachine - Constraints
Issue 7105: In normative XMI file for the metamodel, no Associations have a name.
Issue 7161: UML 2 Super/Interactions/Need constraints that cover multiple Lifelines
Issue 7166: show object flow or interactions
Issue 7223: Questions about DataTypes and generalization
Issue 7227: UML2 Super/Deployment/inheritance
Issue 7229: UML2 Super/Deployments/Manifestation
Issue 7246: Figure 78
Issue 7247: Connector - "provided Port" and "required Port" not defined Constraint 1
Issue 7248: Connector - inconsistencies in Constraint [2]
Issue 7249: Connector - inconsistencies in Constraint[3]
Issue 7250: Connector - inconsistencies in Constraint[4]
Issue 7251: Connector - inconsistencies in Constraint[5]
Issue 7254: completion transitions
Issue 7255: Priority of the joint transition
Issue 7274: UML2 Infra/11.5.1/Invalid reference to Attribute class
Issue 7303: simple time model" in CommonBehavior
Issue 7304: Notation sections for TimeObservation and DurationObservation
Issue 7329: large overlap between structural features and variables
Issue 7337: inconsistency in the action model
Issue 7338: metaattribute isReadOnly
Issue 7339: Property defines an association "datatype" which is redundant
Issue 7343: Section 11.7
Issue 7362: Clarify example in figure 133
Issue 7364: section on connectors in the component chapter
Issue 7372: surface notation for state machines
Issue 7375: useless example on p.330, Figure 247
Issue 7392: Interactions model sequences of events
Issue 7397: add an interaction fragment
Issue 7398: Provide exception handling for all behaviors.
Issue 7400: AssociationClass
Issue 7401: XMI schema
Issue 7406: TimeObservationAction and DurationObservationAction
Issue 7407: The specification is fond of using 'typically.'
Issue 7620: Coupling between StateMachines and Activities
Issue 7756: Unconsistent association extension description
Issue 7757: Unconsistent Profile extension description (02)
Issue 7782: Move Comment into Basic and add Kind
Issue 7783: Missing XMI tags in spec and XMI rendition of metamodel
Issue 7889: Inconsistent use of 'Element' between MOF and UML
Issue 7908: Design principles
Issue 7909: Problem with diagram references in Profiles section
Issue 7910: isComposite inconsistency in UML 2.0 and MOF 2.0
Issue 7938: DataType attributes UML 2 Super (ptc/04-10-02)
Issue 7939: DataType attributes UML 2 Super (ptc/04-10-02)
Issue 7942: Section: 7.3.43
Issue 7946: Section: 7.2.8
Issue 7947: Classes
Issue 7948: section 2.10.4.1 detailed semantics of collaborations
Issue 7949: Section: 7.3.44 - OCL incorrect
Issue 7950: Interactions
Issue 7951: UML 2 Super Basic Interactions
Issue 7952: Alternative entry and exit point notation is ambiguous
Issue 7956: InfrastructureLibrary defines, but should not use package merge
Issue 7958: should retain Comment and its associations to Element
Issue 7967: An observed time value must be written into a structural feature
Issue 7969: Section: 9.14.1
Issue 7970: Minor error in BNF of an message argument
Issue 7973: UML 2 Super / Incorrect statement on port visibility
Issue 7977: ReduceAction
Issue 7986: Section: 14.3.7
Issue 7987: Section: 14.3.13
Issue 7988: Section: 14.3.14
Issue 7989: Section: 14.3.16
Issue 7990: Section: Table 14
Issue 7993: Use case extension inconsistencies
Issue 7994: Presentation Options
Issue 7995: StateInvariants/Continuations
Issue 7996: Add concept "StateInvariant"
Issue 7997: Too much navigability from Generalizations
Issue 8012: Section: Classes, Behavior
Issue 8014: Disjointness should be independent of generalization
Issue 8015: Transitivity in composition
Issue 8016: Action for retrieving activity instance
Issue 8017: Pin/parameter matching constraints
Issue 8018: Section: CB/ACT
Issue 8019: Section: Classes
Issue 8020: constrainedElement direction
Issue 8021: Section: Classes
Issue 8022: Derived union notation
Issue 8023: Association specialization semantics
Issue 8024: End objects of a link In the semantics of AssociationClass
Issue 8025: Associations between interfaces
Issue 8026: Contextualized attribute values Figures 121
Issue 8027: Connector multiplicity notation
Issue 8028: create dependency Figures 103 and 121
Issue 8029: underlined association name
Issue 8030: Interactions chapter refers to ActivityInvocations
Issue 8031: Destruction semantics in StructuredClassifier
Issue 8032: Link maintenance in StructuredClassifier
Issue 8033: Figure 119 missing multiplicity
Issue 8034: Notation for classifierBehavior
Issue 8035: Notation for method
Issue 8036: Preserve order in result of read actions
Issue 8037: Optional inputs
Issue 8038: IsReadOnly constriant
Issue 8039: DestroyObjectAction semantics
Issue 8040: ObjectNode, constraint 1 In ObjectNode
Issue 8041: StructuredActivityNode specialized multiplicity
Issue 8042: Terminology Issue
Issue 8062: section 9.20.2 VisibilityKind lists two types of visibility
Issue 8063: Text references Figure 8 and the correct figure number is 6
Issue 8064: unclear statement
Issue 8065: extra word in the last sentence of the paragraph under Attributes
Issue 8066: clarify what a directed association is
Issue 8067: Section is badly worded and does not make a lot of sense
Issue 8068: typing error in the statement :unrestricted ?
Issue 8069: What happened to real numbers
Issue 8070: methods not defined under attributes
Issue 8071: ClassifierInState not supported in UML2.0 ?
Issue 8072: Figure 68
Issue 8073: Section: 11.3.1
Issue 8074: Section: 11.3.3
Issue 8075: search for referenced item -- Section: 11.3.4
Issue 8076: Section: 11.5
Issue 8077: Properties on Association for end objects
Issue 8078: Actor is a specialized Classifier and not BehavioredClassifier
Issue 8079: Section: 11.6.1
Issue 8080: Section: 11.8.3
Issue 8081: Section: 13.1.2
Issue 8082: Section: 13.1.5
Issue 8083: Section: 7.3.3
Issue 8084: Section: 7.3.6
Issue 8085: Section: 7.4.1
Issue 8086: Section: 6.5.1: Error in example
Issue 8087: All sections
Issue 8088: Section: 7.3.3
Issue 8089: Section: 7.3.8
Issue 8090: Section: 7.3.10
Issue 8091: Section: 7.3.12
Issue 8092: Section: 7.3.15
Issue 8093: Section: 7.3.20
Issue 8094: Stereotypes applying in UML 2.0
Issue 8095: Section: 7.3.22
Issue 8096: Section: 7.3.32
Issue 8097: Section: 7.3.32 Page: 96-99
Issue 8098: Section: 7.3.33
Issue 8099: Section: 7.3.34
Issue 8100: Section: 7.3.35
Issue 8101: Clarify the differences between redefining element and redefined element.
Issue 8102: Multiple typos in ptc/04-10-02
Issue 8103: Section: 8.3.1
Issue 8104: Section: 8.3.1 - typo
Issue 8105: Section: 8.3.1
Issue 8106: Section: 8.3.2
Issue 8107: Section: 9.20.2
Issue 8108: Section: 9.3.1
Issue 8109: Section: 9.3.2
Issue 8110: Section: 9.3.3
Issue 8111: Section: 9.3.4
Issue 8112: Section: 9.3.5
Issue 8113: Section: 9.3.6
Issue 8114: Section: 9.3.7
Issue 8115: Section: 9.3.9
Issue 8116: Section: 9.3.9
Issue 8117: Section: 9.3.10
Issue 8118: Section: 8.3.2
Issue 8119: Section: 8.3.2
Issue 8120: Section: 8.3.4
Issue 8126: Section: 9.3.11
Issue 8127: Section: 9.3.12
Issue 8128: Section: 9.3.13
Issue 8129: Section: 12.3.13
Issue 8130: Section: 12.3.13
Issue 8131: Section: 9.2
Issue 8132: Section: 10.3.1
Issue 8133: Section: 10.3.1
Issue 8134: Section: 10.3.3
Issue 8135: Section: 10.3.4
Issue 8136: Section: 10.3.5
Issue 8137: Section: 10.3.6
Issue 8138: Section: 10.3.8
Issue 8139: Section: 10.3.9
Issue 8140: Section: 10.3.10
Issue 8141: Section: 10.3.11
Issue 8142: Section: 10.3.11
Issue 8143: Section: 10.4
Issue 8144: Section: 11.1
Issue 8145: Section: 11.3.1
Issue 8146: Section: 11.3.2
Issue 8147: Section: 11.3.3
Issue 8148: Section: 11.3.4
Issue 8149: Section: 11.3.5
Issue 8150: Section: 11.3.6
Issue 8151: Section: 11.3.7
Issue 8152: Section: 11.3.8
Issue 8153: Section: 11.3.9
Issue 8154: Section: 11.3.10
Issue 8155: Section: 11.3.11
Issue 8156: Section: 11.3.12
Issue 8157: Section: 11.3.13
Issue 8158: Section: 11.3.14
Issue 8159: Section: 11.3.15
Issue 8160: Section: 11.3.16
Issue 8161: Section: 11.3.17
Issue 8162: Section: 11.3.18
Issue 8163: Section: 11.3.19
Issue 8164: Section: 11.3.20
Issue 8165: Section: 11.3.21
Issue 8166: Section: 11.3.22 -- significant revision?
Issue 8167: Section: 11.3.23 -- significant revision?
Issue 8168: Figure 89 on page 158 is incorrect
Issue 8169: Section: 11.3.24
Issue 8170: Section: 11.3.25
Issue 8171: Section: 11.3.26
Issue 8172: Section: 11.3.27
Issue 8173: Section: 11.3.28
Issue 8174: Section: 11.3.29
Issue 8175: Section: 11.3.30
Issue 8176: Section: 11.3.31
Issue 8177: Section: 11.3.33
Issue 8178: Section: 11.3.34
Issue 8180: Section: 11.3.35
Issue 8181: Section: 11.3.36
Issue 8182: Section: 11.3.27
Issue 8183: Section: 11.3.38
Issue 8185: Section: 11.3.40
Issue 8186: Section: 11.3.41
Issue 8187: Section: 11.3.43
Issue 8188: Section: 11.3.44
Issue 8189: Section: 11.3.45
Issue 8190: Section: 11.3.46
Issue 8191: Section: 11.3.47
Issue 8192: Section: 11.3.48
Issue 8193: Section: 11.3.49
Issue 8194: Section: 11.3.50
Issue 8195: Section: 11.3.51
Issue 8196: Section: 11.3.52
Issue 8197: Section: 11.3.42
Issue 8198: Section: 11.3.53
Issue 8199: Section: 11.3.54
Issue 8202: Section: 12.1
Issue 8203: Property string {bag} is redundant
Issue 8204: {redefined <end-name>} should be named {redefines <end-name>}
Issue 8206: Section: 12.2
Issue 8207: Section: 12.3.2
Issue 8208: Section: 12.3.4
Issue 8209: Section: 12.3.4
Issue 8210: Section: 12.3.5
Issue 8213: Section: 12.3.6
Issue 8214: Section: 12.3.7
Issue 8215: Section: 12.3.8
Issue 8216: Section: 12.1
Issue 8217: Section: 12.3.9
Issue 8218: Section: 12
Issue 8219: Section: 12.3.9
Issue 8220: Section: 12
Issue 8222: Section: 12.3.10
Issue 8223: Section: 12.3.12
Issue 8224: Section: 12.1
Issue 8225: Section: 12.3.13
Issue 8226: MultiplicityElement BNF too restrictive
Issue 8227: Incomplete BNF for Property
Issue 8228: BNF Notation for Operation is too restrictive
Issue 8229: Used of "Redefines ...from Abstractions" in descriptions is misleading
Issue 8231: Section: 12.3.14
Issue 8232: Section: 12.3.15
Issue 8233: Section: 12.3.16
Issue 8234: Section: 12.3.17
Issue 8235: Section: 12.3.18
Issue 8236: Section: 12.3.19
Issue 8237: Section: 12.3.6 & 12.3.19
Issue 8238: Section: 12.3.22
Issue 8239: Section: 12.3.24
Issue 8240: Section: 12.3.23
Issue 8241: Section: 12.3.27
Issue 8242: Section: 12.3.28
Issue 8243: Section: 12.3.30
Issue 8245: Section: 12.3.38
Issue 8246: namespace
Issue 8247: Section: 12.3.31
Issue 8248: Section: 12.3.32
Issue 8249: Section: 12.3.33
Issue 8250: Section: 12.3.33
Issue 8252: Section: 12.3.34
Issue 8253: Section: 12.3.35
Issue 8254: Section: 12.3
Issue 8255: Section: 12.3.35
Issue 8256: Profiles:Extension End
Issue 8257: Section: 12.3.37
Issue 8258: Section: 12.3.38
Issue 8260: Section: 12.3.40
Issue 8261: Section: 12.3.41
Issue 8262: Section: 12.3.43
Issue 8263: Section: 12.3.44
Issue 8264: UML 2 Super/templates/inexplicable constraint on defaults
Issue 8265: UML 2 super/templates/
Issue 8270: Section: 12.3.47
Issue 8271: Section: 12.2
Issue 8272: Section: 12.3.48
Issue 8273: Section: 11.3.48
Issue 8274: UML2/Infra section 11.6.2/ Enumerations should not have attributes
Issue 8275: Section: 12.3.50
Issue 8276: Section: 12.3.51
Issue 8277: Section: 12.3.52
Issue 8278: section 7.3.17 /EnumerationLiteral should not be an InstanceSpecification
Issue 8279: Section: 12.4
Issue 8280: Section: 12
Issue 8292: Section: 13.1
Issue 8293: Section: 12.3.46
Issue 8294: Section: 12.3.49
Issue 8295: Section: 13.3.2
Issue 8297: Section: 13.3.3
Issue 8298: Section: 7.3.36
Issue 8301: Section: 13.3.4
Issue 8302: Section: 13.3.7
Issue 8303: Section: 13.3.8
Issue 8304: Section: 13.3.10
Issue 8305: Section: 13.3.9
Issue 8306: Section: 13.3.11
Issue 8307: Section: 13.3.12
Issue 8308: Section: 13.3.14
Issue 8309: Section: 13.3.15
Issue 8310: Section: 13.3.17
Issue 8311: Section: 13.3.19
Issue 8312: Section: 13.3.20
Issue 8313: Section: 13.3.22
Issue 8314: Section: 13.3.23
Issue 8315: Section: 13.3.24
Issue 8316: Section: 13.3.26
Issue 8317: Section: 13.3.27
Issue 8318: Section: 13.3.28
Issue 8319: Section: 13.3.29
Issue 8320: Section: 13.3.30
Issue 8322: Section: 13
Issue 8323: Section: 14.3.2
Issue 8324: Section: 14.3.3
Issue 8325: Section: 14.3.4
Issue 8326: Section: 14.3.5
Issue 8327: Section: 14.3.6
Issue 8328: Section: 14.3.8
Issue 8329: Section: 14.3.10
Issue 8330: Section: 14.3.3 & 14.3.11
Issue 8331: Section: 14.3.12
Issue 8332: inconsistent description
Issue 8335: ReadStructuralFeatureAction
Issue 8336: RemoveStructuralFeatureValueAction specification
Issue 8337: Section: 14.3.14
Issue 8338: Section: 14.3.13
Issue 8339: Section: 14.3.15
Issue 8340: Section: 14.3.16
Issue 8341: Section: 14.3.17
Issue 8342: Section: 14.3.18
Issue 8343: Section: 14.3.19
Issue 8345: Section: 14.3.20
Issue 8346: Section: 14.3.21
Issue 8347: Section: 14.3.21
Issue 8348: Section: 14.3.24
Issue 8349: Section: 14.3.25
Issue 8350: Section: 14.3.26
Issue 8351: Section: 14.3.29
Issue 8352: Section: 14.4
Issue 8353: Section: 14
Issue 8356: Section: 11.3.5
Issue 8357: Section: 12.3.4
Issue 8385: UML 2 Super / Components / realizingClassifier
Issue 8386: Section: 8.3.4
Issue 8387: Section: 8.3.1
Issue 8401: Section: 15.3.1
Issue 8402: Section: 15.3.2
Issue 8403: Section: 15.3.3
Issue 8404: Section: 15.3.5
Issue 8405: Section: 15.3.5
Issue 8406: Section: 11.3.42
Issue 8407: Section: 15.3.6
Issue 8408: Section: 15.3.7
Issue 8409: Section: 15.3.8
Issue 8410: Section: 15.3.9
Issue 8411: Section: 15.3.10
Issue 8412: Specification: Action Semantics Section: 9.5
Issue 8413: Action Semantics Section: 9.5
Issue 8414: Section: 14
Issue 8415: Section: 15.3.11
Issue 8416: Section: 15.3.11
Issue 8433: Section: 15.3.12
Issue 8439: Appendix C.1
Issue 8440: Section: Appendix A
Issue 8443: Section: 15.3.14
Issue 8444: Section: 15.3.15
Issue 8445: Section: 15.3.16
Issue 8446: Section: 15.3.7
Issue 8447: Section 15
Issue 8449: Should Profiles::Image be an Element?
Issue 8450: Default values for ValueSpecification are not specified properly
Issue 8451: OCL for Property::opposite() is incorrect:
Issue 8452: Remove redundant superclass for Element
Issue 8453: Profiles::ExtensionEnd has wrong default multiplicity
Issue 8454: Profiles::ObjectNode has wrong default multiplicity
Issue 8455: Profiles::ObjectNode has wrong default multiplicity
Issue 8456: UML 2 Super / Collaborations / improper subset
Issue 8457: UML 2 Super / General / improper subsetting
Issue 8458: UML 2 Super / General / missing merges
Issue 8459: UML 2 Super / Conformance / inconsistencies
Issue 8460: UML 2 Super / Kernel / invalid restriction in isConsistentWith()
Issue 8461: UML 2 Super / Kernel / excessive restriction on redefinition
Issue 8462: UML 2 Super / General / invalid subset rule too strict
Issue 8463: UML 2 Super / Common Behaviors / missing multiplicites
Issue 8464: Section: 16.3.1
Issue 8465: Section: 16.3.3
Issue 8466: Section: 16.3.4
Issue 8467: Section: 16.3.5
Issue 8468: Section: 16.3.6
Issue 8469: Section: 14.3.3
Issue 8470: Section: Actions
Issue 8471: Decision node
Issue 8472: Section: Activities
Issue 8473: Activities section
Issue 8474: Section: Classes
Issue 8475: Section: Interactions
Issue 8476: Section: Common Behavior
Issue 8477: Section: Actions
Issue 8478: ValueSpecificationAction, Attribute section, is missing the return pin
Issue 8479: Section: Activities - clarification
Issue 8480: Section: Activities : Why is exception type needed?
Issue 8481: Section: Activities
Issue 8482: Section: Activities, ExpansionRegion
Issue 8483: Section: Activities, ExpansionRegion (02)
Issue 8484: Section: Activities, ExpansionRegion (03)
Issue 8485: Section: Activities, ExpansionRegion (04)
Issue 8486: Section: Activities, ExpansionRegion (05)
Issue 8487: ExpansionRegioin example, Figure 261: concurrent => parallel
Issue 8488: Expansion region description
Issue 8489: ExpansionRegion (behavior in the shorthand notation)
Issue 8490: Section: Activities
Issue 8491: Add constraint in LoopNode
Issue 8492: Section: Activities, LoopNode
Issue 8493: Semantics of isAssured/isDeterminant in conditional node
Issue 8494: Add constraints on conditional, loop, sequence to rule out node contents
Issue 8495: Add constraints on ConditionalNode
Issue 8496: Add constraints on conditional and loop nodes
Issue 8497: Add constraints on conditional and loop nodes (02)
Issue 8498: Constrain conditional node to have body pins if there is a result pin.
Issue 8499: No notation
Issue 8500: mustIsolate:
Issue 8501: SequenceNode should have way to set output pins in CompleteStructured
Issue 8502: Figure 209 of Activites
Issue 8503: Clarify the semantics of minimum multiplicity > 0 for streaming parameters
Issue 8506: Section: 17.2.1
Issue 8507: Section: 17.2.2
Issue 8508: Section: 17.3.1
Issue 8509: Section: 17.4
Issue 8510: Section: 17.5.1
Issue 8511: Section: 17.5.2
Issue 8512: Section: 17.5.1
Issue 8513: Section: 17.5.3
Issue 8514: Section: 17.5.3
Issue 8515: Section: 17.5.4
Issue 8516: Section: 17.5.5
Issue 8517: Section: 17.5.6
Issue 8518: Section: 17.1
Issue 8527: Section: 17.5.7
Issue 8528: Section: 17.5.8
Issue 8529: Section: 17.5.12
Issue 8530: Section: 17.5.13
Issue 8544: Section: 12 Activities
Issue 8587: Section: 17.5.14
Issue 8588: Section: 17.5.15
Issue 8589: Section: 17.5.16
Issue 8590: Section: 17.5.17
Issue 8591: Section: 17.5.18
Issue 8592: Section: 17.5.19
Issue 8593: Section: 17.5.20
Issue 8594: Section: 17
Issue 8595: Section: 18.1.2
Issue 8596: Section: 18.3.2
Issue 8598: Section: 18.2
Issue 8599: Section: 18.3.2
Issue 8600: Section: 18.3.3
Issue 8601: Section: 18.3.6
Issue 8602: Section: 18.3.7
Issue 8603: Section: 18.3.8
Issue 8604: Section: 18.4
Issue 8605: Section: 18
Issue 8606: Section: Appendix B
Issue 8607: Section: Appendix B (02)
Issue 8608: Section: Appendix C Table 25
Issue 8609: Section: Appendix C Table 26
Issue 8610: Section: Appendix C Table 27
Issue 8611: Section: 15.3.8
Issue 8612: Section: 15.3.8 (second issue)
Issue 8613: Section: D.1
Issue 8614: Section: D.2
Issue 8615: Section: D.3
Issue 8616: Section: D.4
Issue 8617: Section: E.1
Issue 8619: Section: Appendix F
Issue 8668: UML 2 Super / Activities / missing subsets
Issue 8670: Section: 12
Issue 8671: Section 12 (02)
Issue 8672: Section 12 (03)
Issue 8673: Figure 179 (Control nodes)
Issue 8674: text p.297
Issue 8675: Output tokens
Issue 8676: output tokens (02)
Issue 8677: token movement
Issue 8678: UML 2 -- Need explanations of XMI structure and usage
Issue 8679: token
Issue 8680: Section: 12
Issue 8681: add the rule of ``natural termination''
Issue 8682: A test cannot be empty
Issue 8683: ``conditional node or conditional node'' delete one.
Issue 8684: Add a Constraint
Issue 8685: Delete sentence
Issue 8686: reword sentence
Issue 8687: rewording isuse?
Issue 8688: UML 2 Different constraints for Property in Super and Infra
Issue 8689: editorial in section 12
Issue 8690: Section: 12.2
Issue 8692: Section: 7.3.36
Issue 8693: Section: 10.3.1
Issue 8696: policy to describe the Associations sub section of a meta class description
Issue 8698: CombinedFragment Loop notation
Issue 8699: UML2-rtf issue: communication diagram
Issue 8700: Meaning of relationship between iteration clause and Lifeline.selector clau
Issue 8702: Section: Actions
Issue 8705: Section: 8.3.1
Issue 8706: Profile Semantics, pag 723
Issue 8718: In Activities, Figure 176, Action should be abstract
Issue 8719: Semantics for instances applies to InstanceSpecification?
Issue 8720: String is primitive but has structure.
Issue 8721: Client/supplier on dependencies
Issue 8722: Misleading statement about multiplicity in AssociationClass
Issue 8723: Disjointness should be independent of generalization
Issue 8724: DataStoreNode has uniqueness, reverse constraint inherited from ObjectNode
Issue 8725: Clarify multiple inputs to expansion regions
Issue 8726: Element to Constraint navigation
Issue 8727: The create stereotype on Usage dependency
Issue 8728: Solid triange notation for Association
Issue 8729: Multiple exception handlers
Issue 8730: Exceptions thrown across synchronous invocations
Issue 8731: Activities
Issue 8732: In Figure 210, put merge before Use Part to merge the incoming flows
Issue 8733: LoopNode should move rather than copy values to/from loop variables
Issue 8734: Clarify first constraint on InputPin and OutputPin, move "only" to before "
Issue 8735: The Syle Guidelines for Stereotype
Issue 8736: Actions, CallBehaviorAction, third sentence,
Issue 8737: ControlFlow
Issue 8738: StructuredActivityNode, Semantics, third paragraph, first sentence,
Issue 8739: ExpansionRegion
Issue 8740: ConditionalNode and LoopNode test and bodies should be ExecutableNodes
Issue 8741: In Figure 12, ownedAttribute is bidirectional, in Figure 95, it is unidirec
Issue 8742: represents and occurrence keywords are switched
Issue 8743: Clarify which classifier or operation this is referring to
Issue 8744: CollaborationUse: Constraint 1,
Issue 8745: Section: Interactions
Issue 8746: Clarify caption of Figure 56
Issue 8747: Notation for connector end multiplicities.
Issue 8748: Operation calls on behavior ports
Issue 8749: ParameterSet, first line: "inputs *or* outputs".
Issue 8750: External exceptions.
Issue 8752: Last element in transition BNF
Issue 8753: Page: 591
Issue 8756: Section: Classes
Issue 8757: 1. Deployment
Issue 8758: Association in UseCase diagram
Issue 8759: OpaqueAction
Issue 8760: Events in Sequence diagram
Issue 8761: Arguments of Message
Issue 8763: Nested Nodes
Issue 8764: Section: 14.3.3
Issue 8765: Section: 14.3.3 Page: 508+
Issue 8766: Section: 12.3.37
Issue 8768: Section: Classes
Issue 8769: Can't specify mutator semantics for derived properties
Issue 8770: Section: Actions
Issue 8771: Section: Action/Activity
Issue 8772: Section: 11.3.48
Issue 8773: Page: 330
Issue 8774: Notation of Attributes and Associations subsections
Issue 8776: Section: 9.3.7
Issue 8777: Section: 8.3.1
Issue 8778: Section: 8.3.1 Page: 156 ff
Issue 8779: ConditionalNode inputs used by more than one test
Issue 8780: Input tokens to LoopNodes should be destroyed when the loop is done
Issue 8781: Actions should be able to overlap partitions, to support multiple participa
Issue 8782: ExecutableNode should be abstract in Figure 195. It is in Figure 197.
Issue 8784: MessageEnd
Issue 8785: Return message
Issue 8786: Arguments of Message
Issue 8787: Numbering
Issue 8788: Variables
Issue 8824: Obsolete term EventOccurrence still used in multiple places
Issue 8825: Incorrect Communication Domain Model
Issue 8826: Section: 12 and 13
Issue 8845: p. 721: Allow stereotypes to have properties that are typed by metaclasses
Issue 8846: p. 728: New presentation options. Replace the following paragraph
Issue 8847: p. 729: Extend the Clock example to show metaclass property
Issue 8848: Make instance model consistent with new definition of Clock
Issue 8849: p. 731: Make this example consistent with the new definition of Clock
Issue 8850: p. 731: Make example consistent with new definition of Clock.
Issue 8851: p. 732: Change example to be consistent with new definition of Clock
Issue 8852: p. 732: Show examples of new stereotype notation
Issue 8853: pp. 733-734: Add association as valid graphic path
Issue 8854: multiplicity should not be used/shown in an communicates association
Issue 8855: Issue 7368 - make Classifier::useCase navigable
Issue 8859: Section: 12.3.37 ObjectFlow
Issue 8861: Section: 12.3.2 Action
Issue 8866: Section: Classes
Issue 8867: OpaqueAction
Issue 8876: Page: 369/370
Issue 8877: Page: 129
Issue 8878: Page: 532
Issue 8880: 9.1 BehavioralFeature package
Issue 8882: Section: 10.1 Types Diagram
Issue 8883: UML 2.0 Super/Use Cases/Subject of a Use Case
Issue 8887: Section: 11.3.6 Classifiers diagram
Issue 8888: Section: 11.3.13 TypedElement (as specialized)
Issue 8889: Section: 11.5.1 DataType (as specialized)
Issue 8890: Section: 15.3.12
Issue 8891: Page: 423
Issue 8893: UseCase and Actors
Issue 8894: TimeExpression
Issue 8895: ObjectNode
Issue 8896: abstract Action in Activity diagram
Issue 8897: OutputPin
Issue 8898: Syntax of Transition
Issue 8899: reply messages in interactions
Issue 8900: Page: 157,162,163
Issue 8901: Page: 163
Issue 8903: page 97, Chapter 10.2.2. MultiplicityElement
Issue 8904: page 134, Chapter 11.4.1
Issue 8919: Section: 12.3.5
Issue 8920: Page: 62
Issue 8921: Meaning of navigability
Issue 8930: Section: 12.3.9
Issue 8932: UML Superstructure / Actions / incorrect form for subsetting
Issue 8933: UML Superstructure / Actions / Missing package heading
Issue 8935: UML2 issue: {unrestricted} described in text but not BNF
Issue 8936: event parameters
Issue 8938: Section: 15.3.14
Issue 8939: Section: 12.3.18 and 12.3.35
Issue 8945: Page: 420
Issue 8946: Section: 9.3.5
Issue 8947: Figure 430 references invalid metaclass
Issue 8951: UML 2 Super / Actions / Compliance Levels of Actions
Issue 8952: UML 2 - Invalid subsetting of composition ends
Issue 8955: connection point reference
Issue 8956: UML 2 Classes Notation for association end ownership
Issue 8957: UML 2 XMI DTD requirement
Issue 8963: UML2 Navigability Impact on Tools
Issue 8964: Interaction::lifeline should be ordered
Issue 8965: Section: 14.3.20
Issue 8966: Core::Constructs::Operation
Issue 8967: UML SuperStructure - Inconsistency re State Machine terms
Issue 8968: Page: 591,592
Issue 8970: Behavior
Issue 8972: Page: 255
Issue 8973: Page: 346-347
Issue 8974: Missing notation for association classes
Issue 8975: UML2 Super / 14.3.13 Interaction
Issue 8976: UML 2 Super / Undocumented properties
Issue 8977: Property ownership must be consistent across association redefinitions
Issue 8978: UML2 should specify default property ownership for association ends
Issue 8987: Section: 6.5
Issue 8989: UML 2 Super / Collaboration use issues (01)
Issue 8990: UML 2 Super / Collaboration use issues (02)
Issue 8993: UML 2 Super / miscellaneous figure-text discrepancies
Issue 8996: Invalid stereotype in StandardProfile
Issue 9000: Section: Activities
Issue 9001: Section: Common Behavior
Issue 9002: Section: Common Behavior (02)
Issue 9003: Section: Classes
Issue 9004: Section: Classes (02)
Issue 9005: Section: Common Behavior
Issue 9006: Section: Actions
Issue 9007: Section: Common Behaviors
Issue 9008: Section: Classes
Issue 9009: Section: Activities
Issue 9010: Section: Activities
Issue 9011: Section: Classes
Issue 9012: Section: Classes
Issue 9013: Section: Activities
Issue 9014: Section: Activities
Issue 9015: Section: Classes
Issue 9017: Section: 16.3.3
Issue 9023: 7.3.22 InstanceSpecification
Issue 9024: "ownedType" is not a valid element
Issue 9076: Page: 53-55
Issue 9077: Section: 14.4
Issue 9078: Section: Activities
Issue 9080: UML2 Superstructure Fig 2.2 Incomplete
Issue 9081: Section: 14.3.20 Message (from BasicInteractions)
Issue 9084: following imports from merged packages to unmerged packages should be remov
Issue 9085: body expression for Property::isConsistentWith(RedefinableElement)
Issue 9086: Rename Constraint::namespace
Issue 9087: Rename Package::ownedMember
Issue 9088: Rename Component::ownedMember
Issue 9089: Rename ActivityEdge::redefinedElement
Issue 9090: Rename ActivityNode::redefinedElement
Issue 9091: Replace {redefines redefinedElement}
Issue 9092: Replace {redefines redefinedElement}
Issue 9093: Replace {redefines redefinedElement}
Issue 9094: Replace {redefines redefinedElement}
Issue 9095: Rename ActivityPartition::subgroup to subpartition
Issue 9096: Change type of WriteStructuralFeatureAction::value
Issue 9097: Change type of WriteStructuralFeatureAction::value to ValueSpecification
Issue 9098: compliance levels L2 and L3
Issue 9099: Rename InformationFlow::target
Issue 9100: Rename InformationFlow::source
Issue 9101: (merged) compliance level L1
Issue 9102: (merged) compliance levels L2 and L3
Issue 9103: Rename OpaqueAction::input to inputPin
Issue 9104: Rename LinkAction::input to inputPin
Issue 9105: Make ActivityGroup::containedEdge a derived union
Issue 9106: Make ActivityGroup::containedNode a derived union
Issue 9107: Rename OpaqueAction::output to outputPin.
Issue 9108: Rename ActivityGroup::activity to containingActivity
Issue 9109: Component::realization should NOT be derived
Issue 9110: Classifier::parameter, Operation::parameter, and ConnectableElement::parame
Issue 9111: Page: 492-493
Issue 9117: UML 2 issue: redefining isComposite on association ends
Issue 9119: Realization classifier
Issue 9120: section, 12.3.27 ExpansionRegion(from ExtarStructureActivities
Issue 9122: UML 2.1 Regressions
Issue 9123: Section: Actions, Figure 156
Issue 9124: Need more flexible notation for activity partitions
Issue 9125: keyword, "buildcomponent", and a stereotype, "buildComponent"
Issue 9138: inconsistency wrt UML2 classifier behavior
Issue 9141: Section 8.3.2 sub-section "Notation" starting on page 149
Issue 9142: Section 8 Issue - Component Realization-Classifier multiplicity
Issue 9143: Section: 7.3.36 Operation
Issue 9145: Page: 107
Issue 9146: Section 7.2.1 of ptc/04-10-14
Issue 9172: Section: 15.3.15
Issue 9179: Section: Appendix A: Diagrams
Issue 9180: UML 2.0 issue: Package Primitive Types not merged
Issue 9181: UML 2.0 issue: Profile::ownedStereotype should be derived
Issue 9182: UML 2.0: invalid package merge diagrams for compliance points
Issue 9183: UML 2.0: separate profile application from profile importing
Issue 9184: UML 2.0: CMOF/UML mixup for profiles
Issue 9185: UML 2.0 issue: ownedMember xsi:type="uml:Stereotype" should be used
Issue 9186: UML 2.0: Inconsistencies in profile example XMI
Issue 9187: UML 2.1 XMI Issue
Issue 9188: uml::Extension::ownedEnd should not subset uml::Association::ownedEnd
Issue 9189: Artifact::fileName
Issue 9190: Parameter::effect
Issue 9191: Required attributes
Issue 9192: The following properties should not subset DirectedRelationship::source
Issue 9193: The following properties should not subset DirectedRelationship::target
Issue 9194: Compliance package L2 does not merge StructuredActions in the metamodel
Issue 9195: parameter of operation isRedefinitionContextValid() is inconistently named
Issue 9196: Transition guards cannot currently be evaluated because they have no contex
Issue 9197: Issue regarding "Action::effect : String"
Issue 9198: Behavior::context
Issue 9224: StateMachine::extendedStateMachine should have a multiplicity of 0..*.
Issue 9225: No notation for associating Exceptions with Operations
Issue 9230: choice of terminolgy for TransitionKind is non-intuitive
Issue 9232: Page: 161
Issue 9233: On page 26, Figure 7.9
Issue 9234: Operation should be a specialization of TypedElement and MultiplicityElemen
Issue 9235: Figure 12.18: Small typo: "subsets ownedMember" not "ownedmember"
Issue 9236: constraints owned by these properties have no context
Issue 9237: Section: Classes
Issue 9241: Operation::ownedParameter should be ordered in XMI?
Issue 9242: /qualifiedName attribute missing on Core::Constructs::NamedElement
Issue 9243: XMI file: Core::Constructs::Operation::bodyCondition should have upper boun
Issue 9244: Unclear relationship between the Basic and Abstractions packages
Issue 9245: Description of Element
Issue 9246: Element and Comment in Basic
Issue 9247: No ReadParameterAction or WriteParameterAction
Issue 9249: 7.3.4 Association Class
Issue 9256: Optional name attribute in NamedElement is misleading and insufficient
Issue 9330: Page: 338, 339
Issue 9337: 7.3.41 Parameter (from Kernel, AssociationClasses)"
Issue 9338: 7.3.41 Parameter (from Kernel, AssociationClasses)"
Issue 9339: consistent ordering of Association::memberEnd and ownedEnd
Issue 9340: Section: 14.4
Issue 9341: reference to Figure 12.87 missing
Issue 9351: UML 2.1/Superstructure/ call triggers vs signal triggers
Issue 9352: UML 2 Superstructure / CommonBehaviors / Incorrect types in text
Issue 9362: Page: 625
Issue 9369: Section: 7.3.9
Issue 9370: Section: Sequence diagrams
Issue 9371: All associations ends in the UML2 metamodel itself should be navigable
Issue 9372: Show an example of correct notation for the metamodel
Issue 9373: Use the new 'dot' notation in examples
Issue 9374: AssociationClass is severely underspecified
Issue 9375: Section: 7.3.7
Issue 9395: Fig 12.10
Issue 9398: UML 2/Templates -- single argument?
Issue 9400: Notation for ordering action input and output pins
Issue 9401: ControlNodes in ActivityPartitions
Issue 9402: Reception has no notation for its signal
Issue 9403: No ObjectEvent corresponding to SendObjectAction
Issue 9406: UML2: No notation for indicating Operation::raisedException
Issue 9407: UML2: No notation for BehavioredClassifier::ownedTrigger
Issue 9413: UML 2 Super / Composite Structure / ambiguous constraint
Issue 9416: Section: 12.3.48
Issue 9445: Link notation for instance diagrams does not cope with multiple classifiers
Issue 9464: UML 2 Super / Components / connectors to interfaces
Issue 9513: UML 2.2 RTF issue - line styles for profiles
Issue 9514: page 467, Section 13.3.24
Issue 9556: Question on InfrastrucutreLibrary::BehavioralFeatures::Parameter
Issue 9576: Section: 13.3.24 Signal (from Communications)
Issue 9577: New Issue on multiple guillemot pairs for same element
Issue 9578: assembly connectors
Issue 9597: Fig 7.14
Issue 9598: ptc/06-01-02:14.3.14, Notation
Issue 9599: New issue on notation for multiple stereotypes
Issue 9605: packagedElement
Issue 9606: ptc/06-01-02:14.3.14, Notation
Issue 9617: Section: 7.3.10
Issue 9619: Section: 9.3.13 - connectors
Issue 9622: the default for a Property should not be inconsistent with its type
Issue 9700: UML's support for null values and semantics is unclear
Issue 9701: Unnecessary restriction on aggregations being binary
Issue 9702: No way of specifying element documentation
Issue 9703: Unclear usage of LiteralExpression::type
Issue 9704: "Property::lowerValue" is not a good name
Issue 9705: ValueSpecification::isComputable()
Issue 9706: Definition of stereotype placement requires a name
Issue 9710: 11.3.26 OpaqueAction
Issue 9718: UML 2/ Super / SendSignalEvent erratum
Issue 9720: Action inputs/outputs
Issue 9750: A notation for Trigger
Issue 9751: UML/OCL spec mismatch-Constraint.context vs Constraint.constrainedElement
Issue 9752: Section: 11.1.3
Issue 9754: Section: 7.3.33
Issue 9760: Section: 9.14.2
Issue 9800: What exactly is a state list?
Issue 9803: Editorial bug in 2.1 Superstructure Convenience document
Issue 9805: Default value types
Issue 9806: General ordering cycles
Issue 9807: Section: 8.3.1
Issue 9808: Completion event modeling
Issue 9812: Page: 64 & 112
Issue 9813: Section: 9.2
Issue 9814: Section: 9.3.11
Issue 9817: Section: 7.2
Issue 9818: discrepancies between package dependencies and XMI file for Superstructure
Issue 9819: Section: Appendix F
Issue 9820: Section: Figure 14.5
Issue 9821: Section: 9.3.11
Issue 9822: Section: 7.3.44
Issue 9823: Section: 7
Issue 9824: Section: 15.3.14 Transition
Issue 9825: Notation (p 154, formal/05-07-04 )
Issue 9826: Section 10.2.1 "Class" (in Basic)
Issue 9827: Section 11.4.1 "Classifier" (in Constructs)
Issue 9828: Section 11.4.1 "Classifier" (in Constructs)
Issue 9829: Section: 12.3.8
Issue 9830: Stereotype attributes inherited from Class
Issue 9831: UML 2: "isLeaf"
Issue 9833: text of specs and corresponding XMI specs should be clarified
Issue 9834: Relationships
Issue 9839: Section: 15.3.12
Issue 9840: Section: 15.3.12, p 588, 589
Issue 9841: EnumerationLiteral should constrain InstanceSpecification
Issue 9842: Guidance for Representing Enumeration Values
Issue 9843: Figure 7.4 invalid redefines
Issue 9855: Section: Activities
Issue 9856: Section: Activities - Weight description
Issue 9857: Section: Activities - Weight notation
Issue 9858: Section Activities: Default weight
Issue 9859: ReadLinkAction
Issue 9860: Section: Activities - Pin ordering semantics
Issue 9861: Section: Activities - Preserving order of multiple tokens offered.
Issue 9862: Section: Actions - InputPin semantics wording
Issue 9863: Section: Actions - Output of read actions for no values
Issue 9864: Section: Activities - Semantics of fork node wording
Issue 9865: Section: Activities - Multiple activity parameters nodes for a single inout
Issue 9866: Section: Activities - Offer ordering on joins
Issue 9867: Section: Activities - Join node edge constraint
Issue 9868: Section: Activities - ForkNode semantics wording
Issue 9869: Section: Activities - Output pin semantics clarification
Issue 9870: Actions on non-unique properties with location specified
Issue 9871: Section: Activities - isSingleExecution default
Issue 9872: Section: Activities -StartClassifeirBehaviorAction and classifier behaviors
Issue 9873: Section: Common Behavior - isReentrant should default to true
Issue 9875: Section: Activities - Action semantic clarification
Issue 9877: Notation for stereotypes on Comments and other elements
Issue 9878: PrimitiveTypes access by UML (M1) models
Issue 9881: Bad cross reference for InterfaceRealization Notation
Issue 9885: text-diagram out of synch in Infrastructure 11.4.1
Issue 9886: OCL Syntax in expressions
Issue 9887: Optional values and evaluation of defaults
Issue 9888: Move Property::isId from MOF to UML
Issue 9889: Unclear which Property has aggregation
Issue 9890: Clarify isRequired
Issue 9891: ExtensionEnd description refers to old use of navigability
Issue 9923: Section: 13 & 14
Issue 9961: navigating from link to link ends
Issue 9962: Subclasses of InstanceSpecification
Issue 9963: No default value specified for Generalization::isSubstitutable
Issue 9999: Association::isDerived should be derived
Issue 10000: Missing inheritance in 9.3.12
Issue 10001: Merged Metam.:Property::class with redefinition of non-inherited property
Issue 10003: Section: 9.12.1
Issue 10004: Section: 9.13
Issue 10005: Section: 9.10.3
Issue 10006: Section: 9.19.1
Issue 10007: Section: 9.16.1
Issue 10044: Profile Structure Diagrams are missing from Annex A
Issue 10045: 11.3.47 on StructuralFeatureAction (and related sections on subclasses)
Issue 10074: Invalid mandatory compositions and associations
Issue 10076: Section: 14.3.20
Issue 10079: Invalid redefinitions introduced into metamodel
Issue 10080: Section: 11.3.5
Issue 10081: Section: 13.2
Issue 10082: Section: 15.3.8
Issue 10083: proper content for Figure 13.8
Issue 10086: Section: Annex C.1
Issue 10087: Figure 7.31
Issue 10140: Section: 7.3.3
Issue 10144: redefined properties
Issue 10145: 12.3.26 ExpansionNode
Issue 10146: 12.3.27 ExpansionRegion
Issue 10147: UML 2 state machines / entry point outgoing transitions
Issue 10151: UML 2: Semantics of isOrdered need to be clarified
Issue 10345: Section: 7
Issue 10347: Section: 17.5
Issue 10351: Section: 12.3.2 Action
Issue 10353: UML2: Parameter::isException overlaps with Operation::raisedException
Issue 10354: issue regarding required and provided interfaces
Issue 10356: Page 60 of the pdf
Issue 10376: uml.xsd schema file in ptc/2006-04-05 is not correctly generated
Issue 10379: Section: 7.3.38
Issue 10382: Meaning of Constraint visibility
Issue 10383: Section: 13.3.25
Issue 10386: Change references in Infra- and Superstructure to UML 2.1.1- URGENT ISSUE-
Issue 10388: Activity shape
Issue 10411: Section: Chapter: 7.3.2.4 View
Issue 10413: Constraint.context vs Constraint.constrainedElement
Issue 10441: UML2: ReadSelfAction with a context cannot access behavior owned attributes
Issue 10469: Figure 13.8 shows the wrong diagram
Issue 10474: Connector contract is inflexible
Issue 10498: Section: 15
Issue 10512: Section: 15
Issue 10513: Section: 13.2
Issue 10515: Section: 7
Issue 10521: AcceptCallAction has not operation
Issue 10526: UML 2 Superstructure/Components/overly stringent constraints
Issue 10529: Section: 14.3.14
Issue 10530: Section: 14.3.10
Issue 10536: A_end_role should not be bidirectional
Issue 10537: A_outgoing_source and A_incoming_target should not be bidirectional
Issue 10590: UML 2.1 Spec, Interactions: 14.3.18 - InteractionUse
Issue 10591: UML 2.1 Spec, Interactions: 14.3.18
Issue 10594: Section: e. g. 12.2. page 287
Issue 10597: Behavioral port
Issue 10600: UML 2 Superstructure: Abstractions should be acyclic
Issue 10634: UML2: notation issue
Issue 10635: Presentation option for return parameter for operation type are incomplete
Issue 10636: ReplyAction::replyValue type is incorrct
Issue 10637: Section: 12.3.38
Issue 10643: Section: 13 SimpleTime
Issue 10650: Section: 14.3.28 ReceiveSignalEvent (from BasicInteractions)
Issue 10651: Page: 155, 162
Issue 10655: UML2: Behavior without a specification should not be a classifier behavior
Issue 10656: clarification on Behavior::specification / meaning of InterfaceRealization
Issue 10731: Uses notation "Subsets Element::ownedElement" and similar
Issue 10775: section 13.3.2 – doc ptc/2006-04-02, v.2.1
Issue 10776: consistent descriptions of semantics of event consumption needed
Issue 10777: A notation for Trigger
Issue 10778: Mismatch between Superstructure ptc/06-04-02 and XML Schema ptc/06-04-05
Issue 10780: UML2: Actor cannot have ownedAttributes
Issue 10781: Section: 10.3.4 of formal/2007-02-03
Issue 10783: Section: 7.3.32
Issue 10788: Ptc/06-04-02/Pg 188
Issue 10789: Port.provided:Interface
Issue 10802: Section: 17/17.5.7
Issue 10814: Section: Composite Structures
Issue 10815: Flowing data into decision input behaviors
Issue 10816: Setting structural features of a data type
Issue 10818: Section: 12.3.30
Issue 10819: Diagram metaclass shall be introduced and shall be subclass of Element
Issue 10820: ConnectorEnd shall have references to provided or required interfaces
Issue 10821: ValueSpecification that refers to some Element shall be defined
Issue 10822: Ability to define "context specific" default values for Part
Issue 10823: names and namespaces
Issue 10824: Units and types are still problematic
Issue 10826: Repr. of applied stereotypes and their properties insufficiently described
Issue 10827: Consistency in description of ends owned by associations
Issue 10828: Figure 7.14: "Type" does not show its inheritance from "PackageableElement"
Issue 10829: Usage of "Element::ownedMember"
Issue 10830: "Constraint::context" is marked as derived in the metaclass description
Issue 10831: "PackageableElement::visibility" uses "false" as default value
Issue 10832: Section: 15.3.12
Issue 10930: Section: 18.3.8
Issue 10931: State Machines
Issue 10957: UML 2.1.1 - notation for parameter sets
Issue 10959: Section: 15.3.14
Issue 10960: Section: 13.3.24
Issue 10966: drawing a frame to represent Combined Fragment or an Interaction Occurrence
Issue 10967: description of 14.3.24 MessageSort (from BasicInteractions) - typo
Issue 10974: Explanation of Observation notation
Issue 10976: Section: 15.3.11
Issue 10992: UML 2 superstructure -- figure 9.4 is duplicate of figure 9.3
Issue 10999: 9.3.9 Invocation Action
Issue 11003: page 449 chapter 13.3.24 (Signal (from Communications)
Issue 11004: Section: 9.3.8
Issue 11007: Wrong notation description
Issue 11008: Wrong subsets
Issue 11054: Section 18.3.1
Issue 11055: Section: 16.3.2 Classifier (from UseCases)
Issue 11067: Section: 9 Composite Structures / Port notation
Issue 11068: Section: 14 Interactions: Lifeline representing an actor
Issue 11069: Section: 12.3.41 Streaming parameters for actions
Issue 11076: Behaviors Owned by State Machines
Issue 11087: Section: 9.3.11 p 182
Issue 11089: "representation"
Issue 11090: information flow source and target
Issue 11092: Section: 14.4 Timing Diagram: Continuous time axis
Issue 11109: Section: 11.4 Classifiers Diagram
Issue 11114: Section: 11.4
Issue 11115: Section: 7.3.21
Issue 11116: Section: 7.3.21 figure 7.47
Issue 11120: Property::isAttribute() query needs no argument
Issue 11152: UML 2.2 scope statement
Issue 11154: Section: Abstractions
Issue 11155: Section: Constructs
Issue 11156: Section: Abstractions (02)
Issue 11160: Namespace URI for Standard Profile(s)
Issue 11162: Section: 13.3.3
Issue 11164: Section: 9 composite structures
Issue 11200: Actor concept was indeed changed
Issue 11201: Section: 14.3.3
Issue 11234: UML 2.1.2: Path names for CMOF files
Issue 11238: composite subsets
Issue 11239: composite values
Issue 11240: defaultClassifier of ClassifierTemplateParameter
Issue 11243: constraining Classifiers
Issue 11244: RedefinableTemplateSignature
Issue 11265: Any ownedBehavior should be able to have AcceptEventAction
Issue 11268: Section: 12.3.1 AcceptEventAction
Issue 11272: Section: Annex A: Diagrams
Issue 11273: Section: Annex A: Diagrams
Issue 11286: first constraint for CombinedFragment
Issue 11287: Section: 7.3.3
Issue 11307: Section: 16.3.5
Issue 11323: UML2 Property collaborationRole should be removed
Issue 11342: Section: 7.3.37 Package (from Kernel)
Issue 11343: Section: 18.3.6 Profile (from Profiles)
Issue 11400: Change multiplicity of ClassifierTemplateParameter role
Issue 11401: Figure 14.5 - Messages.
Issue 11407: context of Constraint
Issue 11408: UML 2.1.1 - fig 7.14
Issue 11409: TimeEvent
Issue 11410: simpleTime package problems
Issue 11413: The section titled "Changes from previous UML" is not complete
Issue 11414: Incorrect word renders sentence meaningless: Chap. 12.3.41
Issue 11488: ElementImport
Issue 11489: In section 7.3.12 Figure 7.38
Issue 11503: Section: Composite Structures/Abstract syntax
Issue 11524: Figures 9.4 identical to figure 9.3
Issue 11625: Section: 7.3.7
Issue 11630: Section: 7.3.33
Issue 11646: StructuredActivityNode [UML 2.1.1]
Issue 11657: UML2 issue: ProfileApplication treated as Import
Issue 11683: UML2 Issue - 'abstract' not listed in keyword Annex
Issue 11762: Section: 8.3.2 Connector
Issue 11763: Section: 12
Issue 11807: Figure 7.48 and the accompanying discussion under 7.3.21
Issue 11815: Section: 14.4
Issue 11827: UML2 Issue: notation for Literals does not allow for name
Issue 11828: Figure 7.6
Issue 12158: The spec needs to clarify the isConsistentWith() method for transitions
Issue 12161: UML2: Missing ActionOutputPin
Issue 12162: pull semantics are only supported on Action inputs, not outputs
Issue 12166: should be able to show gates on communication diagrams
Issue 12167: inability to specify ordering of messages connected to gates is problematic
Issue 12168: TemplateSignature / TemplateParameter / StructuredClassifier
Issue 12169: Regarding the quote on p128
Issue 12170: section 15.3.14 Transition :: Constraints
Issue 12193: UML 2.1.1 Issue: Invalid association end in Figure 7.20
Issue 12195: Section 14.3.19
Issue 12197: UML 2: Need an explicit listing of all semantic variation points
Issue 12203: UML 2 has lost cability to represent operations by collaborations
Issue 12204: paragraph on "deferred events" on page 552
Issue 12218: 15.3.14: This paragraph refers to signal and change events
Issue 12224: Datatypes in UML profiles
Issue 12235: Table 8.2 must be named "Graphic paths..." instead of "Graphic nodes..."
Issue 12236: Table 8.2
Issue 12241: The semantics of an assembly connector remains unspecified
Issue 12244: association 'ownedTemplateSignature' of a Classifier
Issue 12250: formal definitions of 'isCompatibleWith' (pages 622, 647, 649)
Issue 12251: definition of 'isCompatibleWith' for ValueSpecification
Issue 12252: term 'templatedElement' not defined
Issue 12259: The list of literal described for the ennumeration MessageSort is not compl
Issue 12261: Comments owned by Packages
Issue 12262: Comments owned by Packages (02)
Issue 12263: description of MessageOccurenceSpecification
Issue 12266: PackageableElement (from Kernel), subsection: "Attribute"
Issue 12267: Section: 7.3.41
Issue 12271: section '10.3.12 Property (from Nodes)'
Issue 12272: Section 7.3.44
Issue 12273: undefined term 'Element::redefinedElement' occurs three times in standard
Issue 12274: new constraint ?
Issue 12275: UML Super 2.1.2:Feature
Issue 12278: UML 2.1.2:18.3.5 Package (from Profiles)
Issue 12279: Section: 18.3.3
Issue 12284: A final node that returns to the caller but leaves alive any parallel flow
Issue 12285: UML Super 2.1.2: section 18.3.2
Issue 12354: Section: 15.3.7 Constraint [2]
Issue 12355: UML 2.1.2 Super: Execution Specification
Issue 12356: Section: 8.3.3
Issue 12357: CMOF file for UML2 does not have derived Associations marked as such
Issue 12369: qualifiers
Issue 12379: Section 11.3.25 gives the definition of MultiplicityExpression::isConsisten
Issue 12380: Section: 15.3.11/Notation
Issue 12381: Section: 13.3.3/ Changes from previous UML
Issue 12382: Section: 7.3.10/Associations
Issue 12383: Section: 7.3.10/Associations
Issue 12384: Section: 7.3.10/Associations - insert reference
Issue 12385: Section: 12.3.8/Generalizations
Issue 12405: Car dependency example
Issue 12406: Figure showing an AssociationClass as a ternary association
Issue 12427: interpreting InstanceSpecification
Issue 12431: Section: 15 StateMachines: doActivity and internal transitions
Issue 12432: Section: 7.3.7 and 8.3.1
Issue 12433: Section: Activities: Modifications to the approved resolution of 10815
Issue 12434: Section: Activities
Issue 12436: first paragraph of section 7.8 UML kernel
Issue 12455: Section 14 Interaction
Issue 12492: Port
Issue 12511: Callout notation for many clients/suppliers
Issue 12516: Classifiers
Issue 12528: PackageMerge relationships
Issue 12530: Behavior's parameter list
Issue 12532: definition of RedefinableElement::isLeaf
Issue 12544: role bindings of a CollaborationUse
Issue 12545: Section 10.3.10
Issue 12556: Section: 7.3.35
Issue 12557: The behavior of an OpaqueExpression should itself be opaque
Issue 12558: Section: 13.3.23
Issue 12564: Section: 13.3.3
Issue 12565: Section: 12.2
Issue 12566: 3 3.2 Behavior (CommonBehaviors/BasicBehaviors)
Issue 12567: Section: 11.3.30,12.3.23
Issue 12568: Section: 14.3.24, 14.3.20
Issue 12569: Section: 7.3.36
Issue 12570: UML2 issue regarding Redefinition
Issue 12580: UML2 issue regarding RedefinableTemplateSignature
Issue 12583: OCL 2.0 8.2 Real
Issue 12584: Keyword ambiguity for DataType Section
Issue 12586: Section 7.3.50 "substitution"
Issue 12587: UML2: Need a better mechanism for integrating UML2 Profiles
Issue 12749: Section: 7.4 figure 7.1 missing dependency
Issue 12750: Section: 2.2-2.4 compliance level clarifiction needed
Issue 12774: Regression in XMI from UML 2.1.2 to UML 2.2
Issue 12775: Section: 9.3.8
Issue 12781: Incorrect OCL expression for constraint [1] on BehavioredClassifier
Issue 12782: Unspecified constraint [1] on AcceptEventAction
Issue 12783: Unspecified constraint [1] on ActivityEdge
Issue 12784: Unspecified constraint [2] on ActivityEdge
Issue 12785: Unspecified constraint [1] on ActivityEdge (CompleteStructuredActivities)
Issue 12786: Unspecified constraint [1 on Activity
Issue 12787: Unspecified constraint [2] on Activity
Issue 12788: Unspecified constraint [3] on Activity
Issue 12789: constraint [4] on AcceptEventAction and unordered result:OutputPin property
Issue 12790: Unspecified constraint [1] on ActivityNode
Issue 12791: Unspecified constraint [1] on ActivityNode (StructuredActivities)
Issue 12792: figure 13.12
Issue 12794: Property – Additional Operations, page 127.
Issue 12833: Clarification on use of Profiles.
Issue 12834: On the communication diagram in Fig 6.2 (P12)
Issue 12835: On the communication diagram in Fig 6.2 (second issue)
Issue 12836: On the table 2.3, page 8
Issue 12837: Figure 7.65 and its explanation, P115
Issue 12838: Typo P205 10.3.4
Issue 12839: 7.3.11 DataType, P61
Issue 12840: 18.3.8 Stereotype
Issue 12841: 7.3.44 Property P128
Issue 12842: 7.3.44 additional operation P128
Issue 12843: Typo 9.3.13 p190
Issue 12844: Classifier has association end "attribute"
Issue 12845: Property 7.3.44 p125
Issue 12846: 7.3.33 p100
Issue 12847: Metaclass Property is denoted in Interfaces Package on p.36
Issue 12848: TYPO p.54 Additional Operations
Issue 12850: operation allConnections
Issue 12851: p269-p270 Constraint
Issue 12852: issue to address how problem 11240 was actually addressed in UML 2.2 spec
Issue 12855: specificMachine association should be changed to be type StateMachine
Issue 12860: InterfaceRealization
Issue 12912: InstanceSpecifications
Issue 12915: Inconsistency in Superstructure 2.2 p. 550
Issue 12942: Actors cannot own Operations - a contradiction
Issue 12985: Could you please clarify what does the UML2 specifications intend for "provided port" and "required port"?
Issue 13058: 18.3.8 Generalization of stereotyped model elements
Issue 13080: New proposal for conjugate types for ports
Issue 13081: New proposal for conjugate types for ports
Issue 13083: UML 2.2 superstructure section 9.3.11 page 184: Port.isService
Issue 13088: MARTE/section 7.2.1/ "several labels for the same classifiers in the Metamodel" bug
Issue 13091: Super package should import NamedElement from the Visibilities package, not Namespaces
Issue 13092: Parameter isn't package (Heading 2 level)
Issue 13093: Figure 9.20
Issue 13134: Section: 14.3.20 Actors in Interactions
Issue 13136: Section: 7.3.12 Dependency (from Dependencies)
Issue 13137: Section: 7.3.39 PackageImport (from Kernel)
Issue 13140: Semantics of Ports in Components and CompositeStructures are incompatible
Issue 13141: UML 2.2 Section 9.3.1 nested classes paragrpah in wrong chapter
Issue 13142: UML2.2 Section 9.3.1 Presentation Options section
Issue 13146: UML2 section 8.3.1 OCL derivations on Component.provided and Component.required are still invalid
Issue 13147: UML 2.2 figure 8.10 has arrows the wrong way around
Issue 13148: Section: 14.3.3 CombinedFragment (from Fragments)
Issue 13149: Section: 14.3.24 MessageSort (from BasicInteractions)
Issue 13163: transitionkind Constraints
Issue 13164: UML. Clarify relationship of Substitution and InterfaceRealization
Issue 13165: There is no way to specify the behavior of operations which are members of data types
Issue 13188: "description" section of the Behavior metaclass
Issue 13192: UML: Standard Techniques to disambiguate crossing lines needed
Issue 13193: Section: 12.3.14 Figure 12.29 on page 320
Issue 13250: Val(MyCar.Interaction [SVWB
Issue 13253: description of Interaction provided by the Semantic section inconsistent
Issue 13254: Notation for ExecutionSpecification
Issue 13255: UML2.2 RTF: EnumerationLiteral is a DeploymentTarget
Issue 13256: Section: 14.3.13 Interaction (from BasicInteraction, Fragments)
Issue 13257: ParameterableElement as a formal template parameter
Issue 13258: inconsistency with how constraints are specified in UML and OCL
Issue 13291: Instance modeling does not take into account stereotypes properties
Issue 13306: Packaging Issues with Stereotype Extension
Issue 13324: Statemachine diagram in section 15.3.12 diagram 15.42 (and the text above)
Issue 13325: use of "internal" transition is used incorrectly in many places where "local" should be used.
Issue 13327: P479L.14 Section "Notation" in 14.3.10 ExecutionOccurences - Typo
Issue 13330: Allowing multiple Associations in a Package with the same name
Issue 13395: UML2: Unclear how to indicate what events a classifier might send
Issue 13425: Section: 7.3.9 Comment should be NamedElement
Issue 13449: we can create an invalid active state configuration
Issue 13452: Section 9.3.4 Collaboration Use, 2nd constraint creates unneces
Issue 13466: Lack of clarity about meaning of package shapes containing elements with fully qualified names
Issue 13476: UML 2: conflicting specifications for how to calculate context for a Behavior
Issue 13477: default multiplicty of association ends are defined more than one
Issue 13478: The UML XMI fails to include an ownedRule for the Constraint specified for an OpaqueExpression
Issue 13479: Section: 9.8.3 XMI fails to include a "lower" attribute
Issue 13480: In the XMI, Ownerships::Element fails to include a superClass attribute for Elements::Element
Issue 13481: In the XMI, Ownerships::Element erroneously includes an association for ownedComment.
Issue 13482: UML 2.2 Profiles Issue: Stereotypes extending multiple metaclasses are ill-formed as metamodel equivalents
Issue 13543: UML 2.2 Beta1 Figure 12.18 is misleading about Parameter::effect : ParameterEffectKind [0..1]
Issue 13591: Section: 7.4 Diagrams text on page 144
Issue 13592: "Table 7.3 - Graphic paths included in structure diagrams" on pp.143-144
Issue 13651: UML2.2. Contradications in 14.3.10
Issue 13653: UML2 : Lifeline identity for InteractionUse
Issue 13656: UML 2 - appearance of Association Ends as members of the related classes
Issue 13657: Section: 9.3.11 Port
Issue 13659: Figure 12.95 - "Fork node example"
Issue 13660: Table 12.1 - "Graphic nodes included in activity diagrams",
Issue 13661: Generalizations" for StructuredActivityNode on p. 417
Issue 13662: UML 2 7.3.3 : incorrect text about aggregationKind in associations
Issue 13664: UML 2.2 InteractionOperand abstract syntax
Issue 13665: Figure 2.2 contains more than four packages, description referes to four packages
Issue 13718: Section 12.3.48 on page 412
Issue 13788: Section 2.3 para 1 needs to be re-written
Issue 13789: Figure 7.1 shows no dependency
Issue 13790: Parameter is part of the BehavioralFeatures package.
Issue 13791: Paragraph 5: The text states that class Comment has no generalizations
Issue 13792: The "Generalizations" heading is missing before the "ValueSpecification" bullet.
Issue 13793: Two issues regarding Figure 10.2: 1
Issue 13794: Should the definition of Element state that it reuses the definition of Element from Abstractions::Elements?
Issue 13795: Section 13 "Core::Profiles" inconsistency
Issue 13796: Figure 13.2 shows class InfrastructureLibrary::Profiles::Element. Section 13 doesn't define a class named Element.
Issue 13797: Figure 13.2 shows an association between ProfileApplication and Profile that has role "appliedProfile
Issue 13798: In paragraph 2, the package reference to InfrastructureLibrary::Constructs::Class omits intermediate package "Core"
Issue 13799: In paragraph 4, the text should read "Class has a derived association ...". Currently, the sentence is missing "a".
Issue 13800: In the Attributes section, "integer" should be capitalized
Issue 13834: "Associations" part of the "9.10.3 Slot" chapter/section
Issue 13841: Concrete specialization of the Relationship meta-class are missing
Issue 13844: Figure 18.2 (which describes the contents of the Profiles package) is currently misleading
Issue 13846: chapter 2.2, p.3 Last paragaph, second sentence
Issue 13847: Section: Chapter 2.2 Compliance levels
Issue 13848: issue within UPDM with profile diagrams
Issue 13852: Section: Fig. 7.15: subsets at wrong side
Issue 13853: 18.3.6 Typo in Profile section
Issue 13855: Section: 18.3.2
Issue 13856: Section: 18.3.6
Issue 13857: The XMI document contains <ownedMember> elements which should be <packagedElement>
Issue 13858: Figure 18.9 shows a presentation option for an Interface which has not been introduced before (circle within box)
Issue 13859: The example in Figure 18.11 is badly designed in multiple ways and is strongly misleading
Issue 13860: Figure 18.15 does not reflect the example before
Issue 13861: Replace "extensionClock" with "extension_Clock" and "baseClass" with "base_Class"
Issue 13862: Section: 18.3.8
Issue 13863: URIs do not refer to existing resources (404 errors) Annex H
Issue 13867: Description of Level 1 diagram does not make sense with respect to figure 2.2
Issue 13868: Table 2.2 Example feature support statement references Note (4) and Note (5)
Issue 13898: what's the difference > between weight=1 and weight=*?
Issue 13908: there are numerous places where associations between UML elements have only one, navigable role
Issue 13909: Figures 9.17 and 9.19 and related text
Issue 13910: Missing keyword?
Issue 13911: Clarify how the provided and required interfaces of a Port are calculated
Issue 13912: The OCL for /required interfaces of Component is using ports.provided instead of ports.required
Issue 13914: Clarify that input pins do not accept more tokens than their actions can immediately consume
Issue 13920: current definition of a 'local' transition does not allow the case to have a local transition
Issue 13926: Template Binding Question
Issue 13927: Subsets vs. Redefines
Issue 13930: Validator issues with TestCase 2
Issue 13931: Color errors on figures in UML 2.2
Issue 13933: Clarification need on circle plus notation for containment
Issue 13936: UML2: Need clarification on circle plus notation for containment
Issue 13943: Activity groups should be named
Issue 13947: Figure 7.38 needs to be revised
Issue 13948: UML2.2 chapter 16 : Actor constraint [1] has invalid OCL
Issue 13991: Operation-interface should subset Feature-featuringClassifier and NamedElement-namespace
Issue 13992: lowerBound/upperBound constraints and derivations wrong
Issue 13993: UML 2.2 Issue - availability of PrimitiveTypes for UML models
Issue 13994: Section 9.9 should classifier be added to the diagram on p 50?
Issue 13995: confusion re diagram on p. 83
Issue 14021: UML2: error in definition of Class::nestedClassifier
Issue 14022: Visibility and Import relationships
Issue 14023: nestedClassifier
Issue 14027: Semantics of the AddVariableValueAction
Issue 14034: type mismatch
Issue 14035: Currently is it possible for a Classifier to specialize the same classifier directly more than once
Issue 14044: Should there be a constraint for extends equivalent to 16.3.6 [4]
Issue 14045: semantics of associating a use case with another use case, or indeed anything other than an actor, are unclear
Issue 14062: UML 2 chapter 17: template model cannot represent templates parameterized by value types
Issue 14063: remove StructuredActivities::ActivityGroup
Issue 14065: UML2: Missing semantics in definition of RedefinableTemplateSignature with multiple parents
Issue 14066: Properties need not be owned
Issue 14078: UML 2: notation and concepts for unbound and un-owned template parameters are not clear
Issue 14081: Package merge is missing a rule
Issue 14083: Profile::allOwningPackages
Issue 14084: Subsets vs. Redefines
Issue 14090: authorize a reference to an operation in a realized interface.
Issue 14092: Ambiguity in the names of the stereotypes in the standard profiles
Issue 14093: BNF of Constructs::Property
Issue 14114: Remove InputPint from StructuredActivities
Issue 14115: Need to copy down merged content to make constraints parse in receiving package
Issue 14116: Propagate RTF 2.3 changes to Infrastructure
Issue 14123: Remove redundantant constraint [2] in 7.3.4
Issue 14135: Difference between OCL and text in constraint [2] of 15.3.15
Issue 14183: Need notation option to show type stereotype on typed element
Issue 14186: The spec may require some clarification regarding figure 14.16
Issue 14192: The primitive types in the UML 2.3 infrastructure.xmi are private; they should be public
Issue 14216: Documentation of merge increments in the superstructure
Issue 14220: Language unit of Usage
Issue 14227: UML: Issue with stereotype icons in a profile
Issue 14228: Incorrect OCL in Infrastructure.xmi for 'Core-Constructs-Operation-isConsistentWith'
Issue 14235: Setting Classes-Interfaces-Interface-ownedAttribute would fail to populate Classes-Kernel-Property-owner
Issue 14258: Japan Superstructure PAS Ballot Comments - comment 1
Issue 14259: Japan Superstructure PAS Ballot Comments - comment 2
Issue 14260: Japan Superstructure PAS Ballot Comments - comment 3
Issue 14261: Japan Superstructure PAS Ballot Comments - comment 4
Issue 14262: Japan Superstructure PAS Ballot Comments - comment 5
Issue 14263: Japan Superstructure PAS Ballot Comments - comment 6
Issue 14264: Japan Superstructure PAS Ballot Comments - comment 7
Issue 14265: Japan Superstructure PAS Ballot Comments - comment 8
Issue 14266: Japan Superstructure PAS Ballot Comments - comment 9
Issue 14267: Japan Superstructure PAS Ballot Comments - comment 10
Issue 14268: Japan Superstructure PAS Ballot Comments - comment 11
Issue 14269: Japan Superstructure PAS Ballot Comments - comment 12
Issue 14270: Japan Superstructure PAS Ballot Comments - comment 13
Issue 14271: Japan Superstructure PAS Ballot Comments - comment 14
Issue 14272: Japan Superstructure PAS Ballot Comments - comment 15
Issue 14273: Japan Superstructure PAS Ballot Comments - comment 16
Issue 14274: Japan Superstructure PAS Ballot Comments - comment 17
Issue 14275: Japan Superstructure PAS Ballot Comments - comment 18
Issue 14276: Japan Superstructure PAS Ballot Comments - comment 19
Issue 14277: Japan Superstructure PAS Ballot Comments - comment 20
Issue 14278: Japan Infrastructure PAS Ballot Comments - comment 1
Issue 14279: Japan Infrastructure PAS Ballot Comments - comment 2
Issue 14280: Japan Infrastructure PAS Ballot Comments - comment 3
Issue 14281: Japan Infrastructure PAS Ballot Comments - comment 4
Issue 14282: Japan Infrastructure PAS Ballot Comments - comment 5
Issue 14283: Japan Infrastructure PAS Ballot Comments - comment 6
Issue 14284: Japan Infrastructure PAS Ballot Comments - comment 7
Issue 14285: Japan Infrastructure PAS Ballot Comments - comment 8
Issue 14286: Japan Infrastructure PAS Ballot Comments - comment 9
Issue 14287: Duplicate association in normative UML 2.3 superstructure file
Issue 14355: Names of ownedEnds that were there in UML 2.1.1 are missing in UML 2.2
Issue 14356: Reconcile the algebra of collections across OCL & UML’s intentional & extensional semantics
Issue 14426: Association class notation with just class or association
Issue 14429: UML 2.3 draft, 11.3.1 - AcceptCallAction
Issue 14431: notation of objet flow <<selection>> and <<transformation>>
Issue 14439: errors in OCL statements of Additional Operations?
Issue 14448: UML 2.3: Errors in example serialization for Profiles in Chapter 18
Issue 14449: PrimitiveType has missing constraints
Issue 14536: Stereotyped Constraints in UML
Issue 14544: Stereotyped Constraints in UML
Issue 14552: Ordered derived unions
Issue 14554: Interface-redefinedInterface should subset Classifier-redefinedClassifier
Issue 14555: UML 2 TemplateParameterSubstitution inconsistency about multiplicity of Actual and OwnedActual
Issue 14560: Value of a Property
Issue 14563: Cyclick dependency
Issue 14565: typo in new attribute name
Issue 14566: CMOF missing several redefined property relationships
Issue 14569: Constraint [1] for WriteStructuralFeatureAction is incorrect
Issue 14570: Constraint [3] on TestIdentityAction is incorrect
Issue 14580: Parameter type of MultiplicityElement::includesMultiplicity()
Issue 14588: are Create messages aynch or synch, or doesn't it matter?
Issue 14613: UML2 - non-unique association names in L3.merged.cmof
Issue 14621: UML2 - derivation for DeploymentTarget.deployedElement is invalid
Issue 14626: UML2 - definition of Property.opposite is wrong
Issue 14627: UML2: Incomplete definition for Activity.structuredNode
Issue 14629: UML 2 Events referred to by OccurrenceSpecifications should be optional
Issue 14630: Some owned operations with OCL expression bodies but without their "isQuery" set to "true"
Issue 14631: All enumertion literals in the model have their "classifier" collections empty
Issue 14632: Associations with same name that live in different packages violate unique name constraint
Issue 14633: Attributes without a type
Issue 14634: Errros with some "subsets" and redefines" where the contexts of subsetting/redefintion do not conform
Issue 14635: Errors with types of association ends not conforming to their subsetted ends
Issue 14636: Cycles in package imports
Issue 14637: Namespace collission due to package import
Issue 14638: Some associations in the normative XMI has one memberEnd
Issue 14643: AcceptEventAction notation
Issue 14862: Issue on generalization
Issue 14875: wrong Actor's constraint [1]"
Issue 14889: Wrong Spelling for "development"
Issue 14926: is composite, but does not subset ownedElement
Issue 14927: is composite and subsets not derived composite property:
Issue 14928: Property subsets other regular property, non-derived union
Issue 14929: lowered multiplicity
Issue 14930: One association end is derived, another is not
Issue 14931: remove BehavioredClassifier::ownedTrigger
Issue 14933: UML Issue: Refactor UML to separate SW-Specific Aspects from Foundation Language
Issue 14934: Simplify by Making UML More Consistent: Apply class and composite structure diagram rules to behavior modeling
Issue 14935: Simplify by Making UML More Consistent: Allow States to be model as classes supporting inheritance and composition
Issue 14936: UML: Need more robust value model that would enable capture of values vs time
Issue 14937: UML: Incorporate SysML Requirements Model into UML
Issue 14938: UML: Include text description field with model element
Issue 14939: UML Associate an image/icon with each model element
Issue 14940: UML: Provide unique URL/URI Reference to/from Model Elements
Issue 14941: UML: Include text description field with model element --- additional information added
Issue 14942: UML:Notational option to display inherited features in a subclass
Issue 14943: Provide notational mechanism to represent any group of model elements based on some criteria w/o stealing ownership
Issue 14944: UML: A strong ability to support reviewing packages
Issue 14945: UML: Support for maintaining what-if models in repository without massive duplication
Issue 14946: UML Support for multiple library levels
Issue 14947: UML: A strong ability to support generating Documents
Issue 14948: UML: Diagrams as Model Elements
Issue 14949: UML: Provide mathematical formalism for UML semantics to provide precise meaning to language constructs
Issue 14950: UML: Better Definition of Compliance
Issue 14951: UML: Large Scale Model Support:Federated/Distibuted Models
Issue 14952: UML: Cross model dependencies
Issue 14953: UML: Improve Sequence Diagram Semantics (3-issues)
Issue 14954: UML: Add abilities to specifiy intent of Assert, Negate, Consider, Ignore fragments
Issue 14955: UML:Access to standardized ontologies within models
Issue 14956: UML: Better Profile Capabilitiy
Issue 14957: UML: Timing semantics for activity diagram
Issue 14958: UML: Higher-level reusable frameworks
Issue 14959: UML has no way of distinguishing Notes from Comments
Issue 14960: UML is vague about which Element should own Comments
Issue 14961: Unclear constraint on stereotype associations
Issue 14962: loopVariable ownership
Issue 14963: Context of a behavior owned as a nested classifier
Issue 14964: Definition of Behavior::context is not correct
Issue 14977: Matching subsettting across association ends
Issue 14978: NamedElements whose owners do not subset Namespace
Issue 14989: TestIdentityAction for datatypes
Issue 14991: Expansion nodes using all the tokens in them as a single collection
Issue 14993: UML 2: property redefinitions should be symmetric across associations
Issue 14994: The containment between Activity and StructuredActivityNode has one end redefining and the other subsetting
Issue 14995: Subsetting clauses should show the subsetted property fully qualified.
Issue 15001: Incomplete resolution to 10826
Issue 15006: serialization of a profile should always include the nsURI and nsPrefix tags
Issue 15019: Package Extension
Issue 15020: Contents of Dependencies package
Issue 15046: Poor example of Dependency notation
Issue 15047: Lack of graphical example of multi-element Dependency Notation
Issue 15050: Parameter
Issue 15056: Figure 7.15
Issue 15107: Enumeration Literal
Issue 15120: Activity vs Action completion
Issue 15123: Sequence diagram and Communication diagrams should support instances as lifelines
Issue 15125: UML2.3: Missing subsetting from A_redefinedClassifier_classifier in XMI
Issue 15126: UML2.3 definition of Classifier::hasVisibilityOf is circular
Issue 15128: Association owned derived union
Issue 15136: MessageEvents
Issue 15144: Detailed modeling of the Standard Profiles
Issue 15145: Modeling sent messages in State Machines
Issue 15162: UML2 - Invalid constraint for Actor
Issue 15167: composite tags
Issue 15207: Timing Diagram and interchange
Issue 15208: Invalid type for Slot.value
Issue 15209: Invalid type for NamedElement.namespace
Issue 15216: Minor bug in Namespace::importMembers() query
Issue 15221: Bug in Core::Abstractions::Super::Classifier::hasVisibilityOf
Issue 15236: not sure it is possible to define a constraint without a context
Issue 15237: issue10087 and association-like notation
Issue 15239: Chapter 14 is ambiguous and contradictory about how to link up messages and execution specifications
Issue 15240: Owning of interaction fragments is ambiguous when InteractionOperands are present
Issue 15248: Initialization of complex fields
Issue 15251: Guard of activity edge should be optional
Issue 15259: Meaning of BodyCondition and its alignment with OCL
Issue 15263: UML 2 issue - misleadingly named associations
Issue 15264: Resolution to issue 14063
Issue 15265: UML 2 Subclasses of Classifier should subset redefinedClassifier when they redefine
Issue 15266: Issue 14287 and 13330 resolutions are inconsistent and incorrectly applied.
Issue 15267: UML2 Issue: OCL in resolution 11114 is incorrect
Issue 15268: Term "method activation" deprecated?
Issue 15269: UML 2.3, Figure 18.1
Issue 15274: split the addition of generalization relationships among association in 14977 in two parts
Issue 15278: Auxiliary
Issue 15279: Create
Issue 15280: It seems odd to say that Service “computes a value”.
Issue 15281: 'false' is not a member of VisibilityKind
Issue 15283: issues relating to Figure 7.14 - The Packages diagram of the Kernel package
Issue 15285: Figure 7.10 shows Feature::isStatic as abstract
Issue 15288: NamedElement::clientDependency constrained to subset DirectedRelationship::source
Issue 15290: Ports
Issue 15303: How to specify actual parameters to pass to parameterized submachine StateMachine
Issue 15312: Issue on UML 2.3 - Use of isAbstract for Interfaces
Issue 15315: Aggregation missing from Property string syntax
Issue 15356: UML 2.3 Issue: Constraint InformationFlow.sources_and_target_kinds
Issue 15369: UML 2.4: Add Property::isId
Issue 15370: UML 2.4: Add package:URI
Issue 15371: UML 2.3 Superstructure: Non-sensible text for modelLibrary stereotype
Issue 15372: Over-general sentence about MOF and Profiles
Issue 15378: UML 2.4: Inconsistent rendering of OCL in UML metamodel
Issue 15384: Typo: isStric => isStrict
Issue 15394: Ambiguous constraints for transitions
Issue 15399: "unique" annotation
Issue 15400: Nasty UML 2.x Issue - /qualifiedName is not unambiguous
Issue 15401: Qualified name is incorrectly claimed to be unambiguous
Issue 15413: Figure 9.2 (Abstractions subpackage dependencies) has wrong dependency
Issue 15419: The stereotype «Create» and keyword «create» are both defined in the UML 4 document
Issue 15421: UML Interactions: Misleading suggestion of relationship between Interactions and Activities modeling
Issue 15427: coveredBy : InteractionFragment [0..1] should be [*]
Issue 15429: "isStatic" property of Feature no longer appears in any diagram
Issue 15438: xmi files in the 2.4 RTF deliverables have cmof tags contained in a non-XMI root element
Issue 15439: UML2.4: StandardProfileL2 & L3 are incomplete as delivered
Issue 15440: Issue on UML 2.4 - notation for Component::provided
Issue 15449: Under-specified associations in UML2.4 & the need for clarifying the semantic directionality for all UML associations
Issue 15451: Clarifying the support for and semantics of subsetting/redefinition for a pair of properties defined in different contex
Issue 15485: UML 2 issue: connectors typed by Association Class
Issue 15499: Operation::isConsistentWith
Issue 15500: isConsistentWith
Issue 15501: bodyCondition and isQuery
Issue 15525: redefinitionContext of Property
Issue 15526: Missing subsetting of redefinitionContext by Property::owningAssociation
Issue 15529: The resolution to issue 13993 that moved PrimitiveTypes to an independent package contained a mistake
Issue 15530: UML 2 issue: UML 2.4 normative deliverables should be published in MOF2.4 / XMI 2.4 format
Issue 15560: Message's signature is still derived property (in text only):
Issue 15561: DestructionOccurenceSpecification is inherited from OccurenceSpecification instead of MessageOccurenceSpecification
Issue 15562: DestructionOccurenceSpecification text in Semantics still refers to events
Issue 15563: Association-owned association end name changes
Issue 15564: Fix 14977 vs. 14638
Issue 15565: Fix association end multiplicities
Issue 15566: Association conflicts with MemberEnds IsDerived flags
Issue 15567: Redefinition of association-owned ends requires association generalization
Issue 15568: Derived properties that are not marked read-only
Issue 15569: Multiplicity Element Is MultiValued With Default Value
Issue 15570: InstanceValue has no type
Issue 15571: Parameter have Effects
Issue 15572: EnumerationHasOperations : UML::VisibilityKind::bestVisibility
Issue 15573: The metamodel contains instances of Model
Issue 15574: Give all constraints unique names within their context.
Issue 15575: Change all properties typed by data types to aggregation=none
Issue 15622: UML 2.4 - Interaction
Issue 15664: Property::isID should not be optional
Issue 15668: isDerived with DefaultValue
Issue 15669: UML state machines: inconsistent subset of StateMachine::extendedStatemachine
Issue 15708: DecisionNode at all guards evaluated to false
Issue 15711: UML 2.4 - ConditionalNode - Semantics
Issue 15762: Problem with ExtensionEnd::lower
Issue 15763: No Constraint for multiple associations
Issue 15765: stereotype <<bind>> for defining parameterized classes is nowhere defined
Issue 15766: navigation only possible to generalization but not to specializations of elements
Issue 15768: Wrong constraint on Operation::bodyCondition
Issue 15769: Operation with multiple return parameter
Issue 15774: Missing relation between "Namespaces" package and "Ownerships" package in fig. 9.2 (p. 30)?
Issue 15778: Fix minor inconsistencies between infrastructure specification document & metamodel
Issue 15779: Be explicit that type does not need to be set for LiteralBoolean etc.
Issue 15781: Property.isReadOnly is redundant with StructuralFeature.isReadOnly
Issue 15787: Parameter semantics related to Behavior and BehavioralFeature
Issue 15788: UML 2.3 Infra 12 Incomplete conformance for infinity
Issue 15791: Deep history for orthogonal states
Issue 15804: Big UML 2.4 problem: missing defaults in XMI
Issue 15822: Part document structures in Infrastructure need to conform to ISO Standard Document Template Conventions
Issue 15823: Part document structures in Superstructure need to conform to ISO standard Document Template Conventions
Issue 15849: Creation of an expansion node under an activity is allowed by UML and SysML specifications
Issue 15850: Restrictions on decision nodes
Issue 15870: UML 2: Multiplicity of Lifeline's coveredBy is incorrectly specified
Issue 15873: UML 2.4: “Figure 7.31 shows the dot at the wrong end.”
Issue 15880: Wrong Classifier Name
Issue 15881: Constraint is Wrong
Issue 15889: Retationships and composite structures
Issue 15890: New notation for attribute
Issue 15898: Statement mistake
Issue 15899: Figure 7.31 propose an “association-like” notation for attributes
Issue 15903: XMI representation of stereotype application
Issue 15930: Tags typed by classes/blocks
Issue 15991: Notation of Lifelines
Issue 15993: Can a Generalization really be in multiple GeneralizationSets?
Issue 16002: Presentation options of statemachine transitions: Figure 15.45 is ambiguous or wrong
Issue 16043: Section numbering
Issue 16110: typo on page 46
Issue 16111: Figure 15.32
Issue 16115: No Rules for Element Names
Issue 16116: Package URI Attribute Uses Obsolete RFC 2396
Issue 16117: Profile URI Attribute - Mingled URI Definition and Use in XMI
Issue 16118: Metaclass stereotype notion
Issue 16119: Metaclass stereotype notion (02)
Issue 16120: Wrong package name on several Figures
Issue 16164: Typo: "joint" should say "join"
Issue 16169: Figure 15.32
Issue 16210: Property::isID
Issue 16232: No unambiguous way in UML 2.4 to serialize StructuredActivityNode
Issue 16249: State::stateInvariant multiplicity too restrictive
Issue 16267: Missing Namespace in Dependencies package definition?
Issue 16268: Interface element - associations multiplicity not defined
Issue 16292: Use cases specifying the same subject cannot be associated: exception
Issue 16301: UML type Real specification
Issue 16307: A deferrable trigger may have a guard
Issue 16342: Ambiguous stereotype notation
Issue 16350: Navigability orthogonal to end ownership or not?
Issue 16357: UML: unification of OCL declarations
Issue 16359: Number of Compliance Levels
Issue 16360: XML Metadata Interchange (XMI)
Issue 16361: XML Metadata Interchange (XMI) - p9
Issue 16362: Core Package versus Construct Package
Issue 16363: XMI in small caps
Issue 16400: ProfileApplication::appliedProfile as "importedProfile" instead of "appliedProfile"
Issue 16412: property.opposite
Issue 16483: UML Appendix A : Figure A.3 Two Diagrams of Packages”
Issue 16484: UML Appendix A: After Figure A.4
Issue 16493: UML 2.4: NamedElement.ownedRule could be ordered
Issue 16494: Irritating occurrence of subsystem stereotype in use case example diagrams
Issue 16567: Clarification about serializing the application of SysML 1.3 to a UML2.4.1 model
Issue 16569: Relation of message arguments to signature parameters ambiguous
Issue 16570: Message arguments for a Signal signature too restrictive
Issue 16571: Message arguments should not be contained in a message
Issue 16572: OccurrenceSpecification should have at least an optional notation
Issue 16581: UML 2.3: Transitions outgoing junction vertexes should be allowed to have triggers
Issue 16582: No XML-Schema for UML-XMI
Issue 16584: EnumerationLiterals in the XMI
Issue 16590: ChangeEvent association mismatch
Issue 16595: MultiplicityElement constraint 1 inconsistent with possible [0..0] multiplicity
Issue 16596: UML Superstructure Specification
Issue 16634: Subpart I and II are missing in Bookmarks
Issue 16635: "A_realization_abstraction_component" is useless
Issue 16638: RedefinableElement (from Kernel) is preferable
Issue 16639: poor figure resolution and a misspelling: fal...( false )
Issue 16642: {ordered} is rather far from +bodyOutput
Issue 16643: OpaqueBehavior#body attributes "nonunique" truncated as "nonuni..."
Issue 16644: role "interval" appears "interva"
Issue 16645: OpaqueBehavior#body attributes "nonunique" truncated as "nonuni..."
Issue 16646: misspelling: io-oargument
Issue 16647: Figure 15.2 does not include TransitionKind
Issue 16648: Implicit parameter assignment may cause name clashes
Issue 16649: Validity duration of implicitly assigned parameters in SignalEvent/CallEvent
Issue 16650: default value of ClassifierTemplateParameter#allowSubstitutable is "..."
Issue 16651: V2.4.1 from 11-08-05 on page 14 in Figure 7.3
Issue 16656: default is wrong
Issue 16658: The included use case is always required for the including use case to execute correctly
Issue 16723: Suggestions for editorial changes
Issue 16724: Error in UML diagrams?
Issue 16725: Reference in index to item that does not exist in contents
Issue 16875: V2.4.1 from 11-08-05 on page 14 in Figure 7.3
Issue 16896: ChangeEvent::changeExpression should be of type ValueSpecification
Issue 16897: Abstraction::mapping should be of type ValueSpecification or OpaqueExpression
Issue 16946: Use of term "locus of control"
Issue 16999: UML 2.4/2.5 Aliases
Issue 17096: Concerning Transition and its owned elements
Issue 17127: incorrect upper value of coveredBy of Lifeline
Issue 17131: Core package caption wrong
Issue 17160: how to instantiate associations between stereotypes
Issue 17172: Opposite ends of derived unions should be derived unions
Issue 17202: The property “packagedElement: PackageableElement [*]” is not a derived property and should not be prefixed with "/"
Issue 17226: Message Signature in Interactions and Reception.ownedParameter
Issue 17266: color of the notation is specified
Issue 17268: Add an example for the lifeline head shape
Issue 17283: Package merge on Class metatype causes semantic issues - particularly with state machine context
Issue 17289: Behavior should be derived from Classifier, not Class
Issue 17315: Interaction.action should subset ownedMember in lieu of ownedElement
Issue 17328: LifeLine instead of Lifeline
Issue 17333: Inconsistency: CentralBufferNode (ch .12.3.16) and fig. 12.15
Issue 17366: Constraint [1] uses undefined attribute "ownedAttribute
Issue 17370: What is "top-tier packages of the UML metamodel"?
Issue 17390: Migrate UML::Component's ability to own UML::PackageableElements to UML::Class
Issue 17393: Generalization should be allowed to be cyclic and should no be restricted to be owned by the specialized classifier
Issue 17398: Question About Arrows In Communication Diagramms
Issue 17461: missing words in section 14.1
Issue 17464: Link notation for stereotype property value
Issue 17466: DurationObservation#event should be ordered
Issue 17507: Surplus classifier field serialized in Superstructure.xmi
Issue 17530: A comment is a specialization of Element
Issue 17536: Specifying the multiplicity of a part with an attribute
Issue 17547: Operation "isConsistentWith" is not overridden for any RedefinableElement
Issue 17550: Attribute is represented by Property
Issue 17564: applying and associating stereotypes and explanation of all aspects of their serialization
Issue 17565: an instance spec should be a legitimate value of a property typed by a classifier
Issue 18239: test
Issue 3898: Specify XMI parameters for the UML / XMI interchange format (uml2-rtf)
Click here for this issue's archive.
Source: DSTC (Dr. Stephen Crawley, crawley(at)dstc.edu.au)
Nature: Uncategorized Issue
Severity:
Summary:
When the UML spec standardises an XMI-generated interchange format for
UML
models, it should include:
* the "input" MOF meta-model for UML that was used to generate the
interchange format, and
* a formal statement of the other XMI "parameters" used to generate
the interchange format.
If possible, the UML spec should include a definitive meta-model for
UML
expressed as a MOF / XMI document. This is a MOF alignment issue.
alignment is strong 2.0 requirement
In UML 1.4 beta R1, the semantics of firing compound transitions still appears to be circular and therefore incorrect. At any rate I am confused by the text so it may be confusing to others. As far as I can see the "Least Common Ancestor" is needed to determine the "main source", but actions following exit from the "main source" must be performed before the targets following a choice point are known, so without known targets there is no known LCA and therefore no specified "main source". On page 2-173 of 2.12: *** The least common ancestor (LCA) state of a transition is the lowest composite state that contains all the explicit source states and explicit target states of the compound transition. In case of junction segments, only the states related to the dynamically selected path are considered explicit targets (bypassed branches are not considered). If the LCA is not a concurrent state, the main source is a direct substate of the least common ancestor that contains the explicit source states, and the main target is a substate of the least common ancestor that contains the explicit target states. In case where the LCA is a concurrent state, the main source and main target are the concurrent state itself. The reason is that if a concurrent region is exited, it forces exit of the entire concurrent state. [...] Once a transition is enabled and is selected to fire, the following steps are carried out in order: • The main source state is properly exited. • Actions are executed in sequence following their linear order along the segments of the transition: The closer the action to the source state, the earlier it is executed. • If a choice point is encountered, the guards following that choice point are evaluated dynamically and a path whose guards are true is selected. • The main target state is properly entered. *** This is certainly much better than 1.3. But I still find it difficult to follow: Since guards following a choice point are evaluated dynamically, the targets are still unknown when the "main source" is exited. Therefore the LCA is still unknown. How then does one determine the "main source" as a "direct substate" of the (unknown) LCA? The (target) "states related to the dynamically selected path" referred to above for determining the LCA cannot be determined in the case of choice points, without having first determined which branches will be taken from the choice points. That requires performing exit actions for the "main source", then additional actions along the path to the choice point, in order to determine which branch will be taken. So the "main source" must be already known in order to determine the targets. If one defined the "initial source" as the LCA of the source states then the "main source" might be any superstate of that "initial source". With different targets, there might be additional actions to "properly exit" from enclosing superstates of the "initial source" before actions along the transition to a choice point. These could affect which branch is taken and therefore which enclosing superstate of the "initial source" must be "properly exited", which would affect which actions are performed before reaching the choice, and therefore affect the branch taken from the choice.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
It isn't clear whether visibility of association ends applies to
creating and destroying links. If it does, then what if one end is
private and the other public, can the private end create or destroy
a link?More time is needed to consider the interaction of visibility with associations, to align it with visibility of properties....The specification inadvertently omitted that visibility constrains access, as well as importation and inheritance. In the particular case of classes, visibility constrains the actions of methods of the class. Creation and destruction of links should be allowed by methods that have access to at least one end of the association.
[Steve Mellor] The action semantics has an action that starts a state machine. The state machine starts in some known initial (pseudo-)state. There are many cases where one wants to initialize a state machine so that starts in a specified (non-initial) state. Therefore the StartStateMachineAction needs to accept a state (possibly multi-leveled) as an input. The state machine will not execute any procedures or actions until after the state machine is in the target state and then detects an event.
Application: restoring state. Requires static specification of state, so complexity will be the same as having transitions to each state, and sending an event. Would make a dependence of actions on state machines. Similar problems with restoring attribute values, etc, of objects. Requires tracking and restoring execution execution. Too much for FTF to do consistently [Action Semantics FTF]: Application: restoring state. Requires static specification of state, so complexity will be the same as having transitions to each state, and sending an event. Would make a dependence of actions on state machines. Similar problems with restoring attribute values, etc, of objects. Requires tracking and restoring execution execution. Too much for FTF to do consistently [UML 2 FTF] There is too much debate around this for the FTF to resolve. The use case is to bring up a software system that is embedded in a larger physical system. The embedded system has objects reflecting the state of the physical objects. The filer would like to start the software system by instantiating classes, with the new instance reflecting the state of the physical objects. Using triggers/guards on constructor inputs makes too cumbersome a model. There was some concern about referring to states from actions outside the object. However, states are not always internal. There was also concern that the details of restarting an application are not properly part of modeling. However, modeling is not limited to a particular level of implementation. There was debate on whether entry points could be used for the applications, but in any case, the action would need to refer to a state.
Sending a signal after a delay
Can't handle time the way state machines, with expressions, because action model needs to be more precise. Why not on other actions besides SendSignalAction? What is the relation to the time submission? Too much for FTF. [Action Semantics FTF]: Can't handle time the way state machines, with expressions, because action model needs to be more precise. Why not on other actions besides SendSignalAction? What is the relation to the time submission? Too much for FTF. Too much of an enhancement for FTF, as indicated in the issue report. In the meantime, modelers can define actions for time delay.
Description: The State Machines chapter (Section 2.12) does not provide a clear description of what it means to "start" a state machine. Syntactically, we have the following: o Well-formedness rule [1] for Pseudostate (p. 2-157) says "An initial vertex [i.e., a initial pseudostate] can have at most one outgoing transition and no incoming transitions". Presumably, it is the single transition from the initial pseudostate at the top level that is taken when the state machine starts. o Well-formedness rule [6] for Transition (p. 2-160) says "An initial transition at the topmost level either has no trigger [i.e., event] or it has a trigger with the stereotype 'create'." Thus, the ONLY kind of event allowed on an initial transition is a "creation event". o The definition of the stereotype <<create>> is (p. 2-149): "Create is a stereotyped call event denoting that the instance receiving that event has just been created. For state machines, it triggers the initial transition at the topmost level of the state machine (and is the only kind of trigger that may be applied to an initial transition)." Thus, a "creation event" MUST be a call event. o However, well-formedness rule [5] for Transition (p. 2-160) states without qualification, that "Transitions outgoing pseudostates may not have a trigger"! This prohibits all together the "creation events" allowed by rule [6]. Semantically, there is no specific discussion of how a state machine "starts". Section 2.12.4.3 describes "Entering a non-concurrent composite state" on p. 2-162 and "Entering a concurrent composite state" on p. 2-163. Since the top state of a state machine must be a composite state, one could assume that "starting" a state machine has the semantics of entering the composite top state. However, this does not provide an explanation of the "creation events" allowed (or at least seem intended to be allowed) in the special case of the initial transition at the top level. Now, well-formedness rule [5] of StateMachine says "If a StateMachine describes a behavioral feature, it contains no triggers of type CallEvent, apart from the trigger on the initial transition (see OCL for Transition [8])" (this is probably intended to refer to Transition rule [6]). Presumably, then, the call event on the initial transition is suppose to be the call event for the behavioral feature described by the state machine, at least in this case, but this is not described in the semantics (and it doesn't make sense for this event to be a "creation" event, anyway). This issue came out during the finalization of the Action Semantics. In the Action Semantics, when an object is created, any state machine associated with the object (via its classifiers) are NOT started automatically. Instead, there is an explicit "StartStateMachineAction" which is supposed to "start the execution of the state machines." However, it is not clear from the current state machine semantics what it really means to do this. Recommendation: 1. Describe the "start" of the execution of a state machine as an RTC step from an implicit "not started" state (that is, not explicitly modeled in the state machine) to the target of the initial transition of the state machine (that is, the single transition with the top-level initial pseudo-state as its source). This RTC step includes the execution of any relevant transition actions and entry actions, per the usual state machine semantics. 2. Define that, if no other explicit specification is given in a model, a state machine associated with a classifier is assumed to start when an instance of the classifier is created and a state machine associated with a behavioral feature is assumed to start when that feature is invoked. (When the action semantics is included, a formal specification of the start of a state machine can be given with the StartStateMachineAction.) 3. Change well-formedness rule [5] to exclude the top initial pseudo-state. 4. Change well-formedness rule [6] to allow, if the state machine describes a behavioral feature, a trigger (call event or signal event) on the initial transition that corresponds to that behavioral feature. 5. If the state machine describes a classifier, then, in the absence of the action semantics, it is unclear whether a "creation event" is really useful at all (particularly since it would only allow for a single creation operation). With the action semantics, such an event is probably unnecessary, since the procedure for a creation operation will then be able to explicitly create an instance (using CreateObjectAction), start the state machine of that instance (using a StartStateMachineAction), which will get the state machine into a "real" state, and then send the instance a message (using an ExplicitInvocationAction), which can be handled by an event on the state machine, with any additional data required for initialization.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
The Namespace has the following definition constraint (p. 2-64): [1] The operation contents results in a Set containing all ModelElements contained by the Namespace. contents : Set(ModelElement) contents = self.ownedElement -> union(self.namespace, contents) The errors: 1. Syntax error in the union operation. According to Object Constraint Language Specification set has operation (p. 6-38) set->union(set2 : Set(T)) : Set(T) with the single parameter ! 2. The functions contents and allContents are used to receive all composite and aggregate elements of namespace according to specification of these functions (Is that right ?). For example all overriden functions in the descedent elements (Package, DataType) release these functions in this manner. In this case function contents must be realized as: contents = self.ownedElement 3.The functions contents and allContents is sometimes used to receive list of «accessable» objects ! For example: definition constraint #2 for BehavioralFeature (p. 2-54): [2] The type of the Parameters should be included in the Namespace of the Classifier. self.parameter->forAll( p | self.owner.namespace.allContents->includes (p.type) ) Why parameter can't use imported DataType ? Why parameter can't use DataType located in the Namespace binded with the namespace of classifier by «friend» Permission ? Note that DataType may be included in the namespace of namespace of owner. It also may be included directly into owner ! I may send the collection of such errors («contents» instead of «acessable»).
The text: Designates a Generalization whose parent GeneralizableElement is the immediate ancestor of the current GeneralizableElement. disagrees in plurality with the * cardinality of the generalization association end between GeneralizableElement and Generalization in the Core Package - Relationships diagram (Figure 2-6) on page 2-14.
This pertains to a part of the UML 1.4 spec which is completely changed in UML 2.0.
The text "deploymentLocation The set of locations may differ. Often it is more restrictive on the child." has no corresponding association in any diagram. The closest match is documented in 2.5.2.12 Component on pages 2-31 and 2-32. If this is the non-inherited feature discussed on page 2-44 is it not redundant and doesn't it cloud the meaning of the feature?
The referenced section 2.5.2.27 is from the UML 1.5 specification (formal/03-03-01, page 2-43). The reference to deploymentLocation was not carried forward into UML 2.0. In UML 2.0, “deploymentLocation” is a String attribute of DeploymentSpecification (formal/05-07-04, section 10.3.5, page 199).
In the UML specification the behaviour of the shallow history state and deep history state are described (added below). The final state is seen as a real state in UML which can have entry actions and in which can be stayed. When a child composite state is in its final state and at a higher level a transition is taken to an other state and then to the deep history state we expect that the final state is set active again, instead that then default history state is made active. For example we have a composite state that does the setup of a piece of hardware and it is in the final state, but it doesn't leave the composite state because another condition is not true yet. When now the composite state is left at a higher level (for example emergency), then we go back according to the spec to the default history state, so we do the complete setup again, but we expect to return in the final state. Shallow history entry: If the transition terminates on a shallow history pseudostate, the active substate becomes the most recently active substate prior to this entry, unless the most recently active substate is the final state or if this is the first entry into this state. In the latter two cases, the default history state is entered. This is the substate that is target of the transition originating from the history pseudostate. (If no such transition is specified, the situation is illegal and its handling is not defined.) If the active substate determined by history is a composite state, then it proceeds with its default entry. • Deep history entry: The rule here is the same as for shallow history except that the rule is applied recursively to all levels in the active state configuration below this one.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
3] The operation lowerbound returns the lowest lower bound of the ranges in a multiplicity. lowerbound( ) : Integer; lowerbound = self.range->exists(r : MultiplicityRange |r.lower = result) and self.range->forall(r : MultiplicityRange |r.lower <= result) [4] The operation upperbound returns the highest upper bound of the ranges in a multiplicity. upperbound( ) : UnlimitedInteger; upperbound = self.range->exists(r : MultiplicityRange |r.upper = result) and self.range->forall(r : MultiplicityRange |r.upper <= result) ============================================= according to the logic upperbound is the same as the lower bound. should the upperbound read as r.upper >= result instead of r.upper <= result on the last line?
This pertains to an area in previous versions of UML that has completely changed in UML 2.0. The issue is no longer relevant.
I believe I found an omission from the UML 1.5 Specification formal/03-03-01: p. 2-112, Fig. 2-18: Association between "Message" and "Action (from Common Behavior)" In Sec. 2.9 Common Behavior; none of the diagrams or text specify Class "Action". p. Index-1 cites "Action" p 2-103. p. 2-103 has no mention of "Action". The first item in Sec. 2.9.3 is "2.9.3.1 AttributeLink", not "2.9.3.1 Action" as would be alphabetized. My question is what is definition of the "Action" Class in Fig. 2-18?
UML 2 Revision Task Force Disposition: Closed, no change OMG Issue No: 5907 Document ptc/06-01-01 Page 621 OMG Issue No: 5907 Title: Formal/03-03-01: Omission of Definition of Class “Action” Source: Kurt Stephens, ks@kurtstephens.com Summary: I believe I found an omission from the UML 1.5 Specification formal/03-03-01: • p. 2-112, Fig. 2-18: Association between "Message" and "Action (from Common Behavior)" • In Sec. 2.9 Common Behavior; none of the diagrams or text specify Class "Action". • p. Index-1 cites "Action" p 2-103. • p. 2-103 has no mention of "Action". • The first item in Sec. 2.9.3 is "2.9.3.1 AttributeLink", not "2.9.3.1 Action" as would be alphabetized. My question is what is definition of the "Action" Class in Fig. 2-18? Discussion: This pertains to parts of an older version of the UML spec (1.5) which has completely changed in UML 2.0. This issue is no longer relevant. Disposition: Closed, no change
Also, saying {nonunique} on one end of a binary association is
meaningless by the current rules, because the other end remains {unique} by
default, so no duplicate links would be allowedDue to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
There is no clear relationship between NamedElement, TypedElement and Type as defined in Core::Basic and items by the same name in Core::Abstractions::Namespaces and Core::Abstractions::TypedElements. There is no reference between the two although the concepts seem identical. It seems like the relationship should just be a cross-reference. However, is it a type-instance relationship? Or is a refinement relationship (as can be seen in other parts of the spec)? Or is it something else? What is going on here?
It was an explicit design decision to split off the Abstractions hierarchy from the part of the Infrastructure that supports the UML and MOF modeling languages. The general idea behind the Abstractions concepts is to provide a potentially useful “grab-bag” of metamodeling patterns that might prove useful some day in as yet unknown modeling languages. On the other hand, the Basic and Constructs packages are specifically designed to support the MOF and UML languages. The separation is intended to ensure that MOF and UML remain unaffected by the needs of future modeling languages.
This document appears to be inconsistent in how it handles concepts with the same name. In some cases, the class diagrams make it clear that a concept is being imported from one package to another by reference. However, there are a lot of cases where the same concept name is used in separate packages but it is not clear if it is the same concept, a parallel concept, or a refinement of the concept. In many cases the documentation of the concepts is the same (or nearly so) everywhere it appears. This tends to imply that it is, in fact, the same concept. However, if this were the case, then it should be defined in one package and imported by reference in other packages. On the other hand, since the import by reference is actually done in some cases, that tends to imply that, where the import by reference is not done, something else significant is going on. What that significant thing "is" is never made clear - at least not as far as I can tell. I suspect the same problem exists in the UML 2.0 Superstructure submission because they were both written by the same group. Proper understanding of the metamodel becomes impossible without this issue getting resolved. Someone needs to go through both of these documents and locate every place the same concept name is used in multiple packages and make sure it is clear how the concepts with the same name in different packages relate to each other.
This issue relates to the old version of Infrastructure. In this case, there is clearly a misunderstanding on part of the submitter about the architecture of the Infrastructure and the semantics of package merge. Once these are understood, the issue disappears. However, it is definitely the case that the introductory text describing the architecture and the role of package merge are extremely unclear and need to be fixed. These will be dealt with as part of the resolution to issue 6002. Disposition: Closed, no change
There doesn't seem to be any value in the specialization of Relationship and DirectedRelationship in Core::Constructs from their definitions in Core::Abstractions::Relationships. The documentation clearly states that the specializations don't add anything to the either concept. In fact, it appears that this can be said for everything in the Core::Constructs Root Diagram. If this is the case, why do these specializations exist? The UML spec is big enough - there is no point in adding things that don't need to be there. If the goal is to merely create a single diagram that includes concepts and relationships that were previously spread across multiple diagrams, then why not simply create the diagram and have every contained concept refer to the package where it was originally defined? If there is a compelling reason for these specializations, then that reason needs to be spelled out in the spec - because it isn't obvious to me.
See the resolutions to issue 6002 and 6003. Disposition: Closed, no change
The reference to TypedElement in the Expressions diagram for Core::Constructs makes no cross-reference to the definition of TypedElement in Core::Abstractions::TypedElements or Core::Basic. Is it a reference to either of these or is it yet another definition of a concept with the same name?
This is intentional because Abstractions and Basic are de-coupled from each other in the latest version of the Infrastructure. This allows the two to evolve independently. However, this is not explained very well (and is even incorrect) in the introduction to the Infrastructure, which needs to be rewritten substantively to clarify how these things relate to each other. That will be handled as part of the resolution to issue 6002. Disposition: Closed, no change
In the Classes diagram of the Core::Constructs package, the references to StructuralFeature, Relationship, Type, and Classifier have no cross-reference to the package where they were originally defined, whereas other concepts in this diagram do. It is clear from the fact that some of these concepts are involved in derived roles or relationships, that they MUST have been defined somewhere else. The document needs to be fixed so that it is self consistent and so that proper cross-references are indicated.
See the resolutions to issues 6005, 6003, and 6002. Disposition: Closed, no change
In 03-07-06 there was notation for conditional nodes and loop nodes for activities. These are missing in 03-08-02. Makes taking the certification difficult
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
“Supspension region” is a concept from MSC-2000 that occurred in earlier drafts of UML 2.0. It was removed since the metamodel had not been properly updated. A suspension region is an area of a lifeline where no events should occur since the lifeline is waiting for reply from an operation call. This has been flagged as a potential FTF issue before.
This is a concept that highlights a syntactic requirement. Often users think that suspension is always the case between call and reply, but since lifelines may be decomposed into independent sub-parts, this is not necessarily the case. That is why it is needed to clarify a synchronization situation. Still it is a new concept, and cannot be considered critical for the use of Interactions.
The Interaction chapter contains a number of examples, but there have been requests for even more examples especially on the different kinds of combined fragments (Section 14.3.1)
This is indeed a reasonable request and additional examples would indeed be helpful. However, since it is not a critical issue or an inconsistency in the spec itself, the issue is deferred to an RTF.
The Figure 339 on page 425 needs more explanation. The use of lifelines to represent return value, and the notation for interaction occurrences with return value should be explained in greater length. Furthermore it should be made clear how the operations put and get are used to set and read values from lifelines representing attributes and parameters.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
In general there is a need to have lifelines as formal parameters such that Interactions can be used in slightly different contexts. This may now be partly achieved through templates, but more notation etc. is needed for this to be really practical.
This is a feature enhancement and, therefore, outside of the scope of an FTF, whose purpose is to fix inconsistencies and add clarifications. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
How is the effect if isReentrant achieved for actions other than call actions? isReentrant is only on behaviors. Perhaps it should also be available on actions and operations
A resolution of this issue has to await further clarification of the activity view of reentrancy. This issue should be resolved in a manner consistent with activities, if possible. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
State should be an extension of type rather than object node.
This requires more discussion on what should be specifiable as a type, and layering the state machine model (issue 7555). Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
On CallOperationAction, etc, how do you tell graphically which pin is the target?
This is does not affect usage or implementability enough for the FTF to address. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Promote local precondition to ExecutableNode. There might be other associations on Action that should be at ExecutableNode
It may be that local preconditions should apply to object nodes also. Postpone for discussion in RTF. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Provide a notation for a behavior used as a method of an operation
OMG Issue No: 6150 NIST (Mr. Conrad Bock, conrad.bock@nist.gov conradb@cme.nist.gov) It is probably worthwhile to define a graphical syntax representing BehavioralFeature.method. This could take the form of either • showing the name of the instance of Behavior which is the method along in the compartment where the behavioral feature is exhibited • having a graphical link between the behavioral feature and a symbol representing the behavior instance (similar to how it is shown that a CollaborationOccurrence represents a Classifier (see Figure 106). The downside of either is that users typically don’t think of the behavioral feature and the behavior as separate things and usually would not dream of naming the behavior (of course, this is not required). In particular, if the behavior is described by a body string a convenient way of showing that body string with the behavioral feature would be desired. Today tools typically use the property sheet for the behavioral feature to show the associated behavior. There are already different vendor specific solutions for some behaviors as methods. We need to gain better experience before standardizing as solution. Disposition: Deferred It is probably worthwhile to define a graphical syntax representing BehavioralFeature.method. This could take the form of either . showing the name of the instance of Behavior which is the method along in the compartment where the behavioral feature is exhibited . having a graphical link between the behavioral feature and a symbol representing the behavior instance (similar to how it is shown that a CollaborationOccurrence represents a Classifier (see Figure 106). The downside of either is that users typically don.t think of the behavioral feature and the behavior as separate things and usually would not dream of naming the behavior (of course, this is not required). In particular, if the behavior is described by a body string a convenient way of showing that body string with the behavioral feature would be desired. Today tools typically use the property sheet for the behavioral feature to show the associated behavior. There are already different vendor specific solutions for some behaviors as methods. We need to gain better experience before standardizing as solution. The situation has not changed from the discussion in 2003. There have been no new developments in tool specific notations for method, nor have there been further requests for such notation. However, the issue seems still relevant. Therefore, the suggestion is to defer further. Revised Text: N/A Disposition: Deferred
Constructs association owningCommet:Element[0..1] c--> ownedCommet:Comment[0..*] should have been owningElement:Element[0..1] c--> ownedCommet:Comment[0..*] as defined in Kernel/Root.
The issue identifies as real problem in the Rose model InfrastructureLibrary.cat file. The offending "owningComment" association end name appears only in this file (most recent version: ftp://ftp.omg.org/pub/UML_2.0_superstructure-ftf/_UML2-Super.MDL.040711.zip) and does not appear in either the UML 2.0 Superstructure FAS (ptc/03-08-02) or the UML 2.0 Infrastructure FAS (ptc/03-09-15). Resolution: In the InfrastructureLibrary.cat file, change the name of the association end InfrastructureLibrary::Core::Abstractions::Comments::owningComment to InfrastructureLibrary::Core::Abstractions::Comments::owningElement.
Package Super isn't merged anywhere, so the constraints it adds to Classifier are never included in L3
No packages from Abstractions are currently merged into any compliance level pending reorganization of Abstractions. Disposition: Closed, no change
There is a subtle problem with redefinitions resulting from package merge. Property names have to match by name or the merging property has to redefine the merged property, AND the property types have the same name. Otherwise association ends are lost. For example, consider package Communications which is merged into BehaivorStateMachines. Communications has association ownedBehavior:Behavior <--> context:BehavioredClassifier (ignoring multiplicities to keep the text simpler). BehaviorStateMachines has class StateMachine which specializes Behavior, and has association ownedStateMachine:StateMachine {redefines ownedBehavior} <--> context:BehavioredClassifier. After the merge, merging BehavioredClassifier must contain two properties for ownedBehavior:Behavior and ownedStatemachine:StateMachine. Otherwise the association to the superclass is lost. This is a case where a class ends up redefining one of its own properties, and where ! the redefined and redefining properties both appear in the merged result.Property ownedStateMachine:StateMachine has been removed as a result of other issue resolution, so this particular problem no longer exists. Other instances of lost association ends resulting from package merge are handled in their own specific issue. Disposition: Closed, no change
Kernel does not merge Abstractions::Namespaces, Abstractions, Multiplicities, Ownerships, and Visibilities
No packages from Abstractions are currently merged into any compliance level pending reorganization of Abstractions. Disposition: Closed, no change
Redefinition, as used in UML2, sometimes violates superclass substituitability rules. For example, redefining multiplicity from many to 1 breaks some OCL constraints. For example, Statemachines changed a multiplicity from many to 1. Statemachines redefines association to OwnedBehaviors to OwnedStateMachines which does not allow other types of owned behaviors.
Indeed. However, this is a serious and contentious theoretical issue and it’s resolution is beyond the scope of the FTF. Fortunately, the specific issue with state machines has been eliminated by the resolution to issue 6185. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Is OCL for InfrastructureLibrary::Core::Constructs::Property::opposite() incorrect? Should it be:
opposite =
if owningAssociation->empty() and association.memberEnd->size() = 2 then
let otherEnd = (association.memberEnd - self)->any() in
if otherEnd.owningAssociation->empty() then otherEnd else Set{} endif
else Set {}
endif
pg. 75: StructuralFeature::isReadOnly Limits severely limits previous capabilities to define various kinds of changeability. Even if some people think that the varieties of changeablity are not right, we should make this an enumerated value to provide extensibility for profiles. Call it "changeablity" as before. Should have enum values: Changeable (unrestricted) readOnly (no changes after initialization) [Note that the meaning and semantics of "initialization" are completely undefined, so this isn't all that useful.] The following additional choices were available in UML1: CreateOnly (add a set any time after initialization but no further changes) addOnly (may add members to the set but not change or remove any) Both of these occur in practice often enough.
The only subclass of abstract metaclass StructuralFeature in UML2 is Property which already has ownedAttribute isReadOnly: Boolean. This property comes from package Basic and is part of the alignment with MOF2. MOF2 also has a number of rules about initialization of read-only properties that may make the distinctions between changeable and readOnly unnecessary. It is not clear what the value for createOnly would be over having a default for a read-only property. And addOnly semantics may be better handled by the containing class rather than the feature itself.
TemplateParameters do not appear to be namable. They inherit from Element and not NamedElement. In UML 1.5 they inherited from ModelElement (i.e. were namable). They need to be named to be referred to in the implementation of the template.
TemplateParameters do not appear to be namable. They inherit from Element and not NamedElement. In UML 1.5 they inherited from ModelElement (i.e. were namable). They need to be named to be referred to in the implementation of the temp late. Discussion: The real problem is not the one stated above. This is because there is a mistaken assumption here that the metamodel element called TemplateParameter models the actual parameter. Instead, it is merely a “pointer” to the parameter. A more precise name might be to call it ParameterReference or ParameterSelector. But, such a change would require a very careful examination of the very, very many references to the term “template parameter” to distinguish whether it refers to the actual parameter or to the reference to the parameter. This is a significant change that, arguably, is out of scope of this FTF, since it is not something that is broken or inconsistent in the spec. The metamodel element called TemplateParameter is merely a “pointer” to some named element owned by the templateable element (e.g., an attribute) that has been designated as a template parameter. Therefore, there is no need for TemplateParamter to be a named element, since it is never referenced. Disposition: Closed, no change
Reviewing of the Rose MDL file the diagram Constructs::Operations (Class Diagram) displays raisedException as a reference from both BehavioralFeature as well as Operation. Operation inherits from BehavioralFeature as well. I believe this violates a well-formedness rule that all structural features must be distinguishable.
The spec explicitly states that such redefinitions need to be made explicitly. This is related to the resolution to more general issue 8461. Any resolution to this issue will be resolved as part of the resolution to 8461.
Not all the constraints in the Activities section have corresponding OCL specifications. These should be added
This is does not affect usage or implementability enough for the FTF to address, and is a very large and time-consuming change. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
If Artifact and Node are classifiers, why is deployment a dependency? Then runtime artifacts cannot be deployed to runtime nodes.
Run-time artifacts can be deployed to runtime models, but the type consistency is not formally guaranteed (that is, if Artifact A is deployed to Node B, then instances of A are deployed to instances of B, but there is no ‘instantiation’ of the deployment relationship). In order to formalize the instantiation aspect, Deployment would need to be modeled as a subtype of Association. This solution has been touched on in the submission process as a simplification and tightening of the model but requires some time to work out and bed down, as it would be a non-trivial change. Hence, it would be best tackled in an RTF process. Note (if this solution direction is accepted) that the notation would need to be changed to not use a dependency, but rather an association (possibly with keyword <<deploy>>).
Would be useful if join nodes optionally destroyed tokens not accepted, especially when using join expressions.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Why do decision input behaviors use the note notation and join specification use curly braces?
This is does not affect usage or implementability enough for the FTF to address, and requires too many changes. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Issue: The UML infrastructure specification does not specify the syntax for names. This prevents model interchange. Proposal: Specify the syntax for the string in Name. At least, the characters that may be used in names, and any rules about where in the name certain characters may not (or may) appear. Include in the syntax specification a list of characters used in (or excluded from) names using (seven and) eight bit characters and a list of characters used in (or excluded from) names using sixteen bit characters. [After a quick glance, the rules sent to the UML 2 Superstructure FTF mail list looks like it will do the job. Or, in any event, get us started.]
The name of a metaclass is captured in a MOF String, which in XMI is enclosed in quotation marks. Therefore, there is no problem with model interchange here. The reason there are no syntax restrictions on names is that it provides latitude to support different naming conventions used in different contexts and languages. Restricting this could prove to be an impediment to the use of UML in situations that have their own idiosyncratic rules for names. Disposition: Closed, no change
Transition triggers do not appear to be redefinable in the current metamodel. There does not seem to be any reason for this restriction and it should be removed
Disposition: Deferred to UML 2.4 RTF
In practice it is not always possible to refactor class hierarchies to ensure that all attributes are defined in the appropraite classes in that hierarchy. For example, a class hierarchy may be supplied by a third party or may be used by multiple products whereas the refactoring may only be required in a subset of them. In such cases, it is extremely useful to be able to exclude undesirable features inherited from a superclass. This einently practical technique should be supported in UML to allow those systems that use that feature to be properly modeled.
This may be the case, but modifying this aspect of UML exceeds the bounds of FTF scope. Excluding inherited properties makes the meaning of specialization/generalization unpredictable and violates a common invariant of object-oriented systems. Generalization is not always the best way to model relationships between classes, and the desire to redefine or remove inherited properties is often a good indication that delegation should be used instead. Delegation is especially useful in situations where classes need to be decoupled for change management or other reasons. Disposition: Closed, no change
Should Dependency::supplier subset DirectedRelationship::target and Dependency::client subset DirectedRelationship::source? Otherwise, the source and target properties of specializations that add no additional properties (e.g. Usage) will be empty...
Resolution: This is already resolved in the UML 2.2 specification. Revised Text: None. Disposition: Closed No Change
Not all the constraints in the Interactions section (14.3). They should be added
These constraints should definitely be added. This should be done in an RTF. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
The Collaboration example on page 159 appears to be a CollaborationOccurrence rather than a Collaboration. I recommend that the Collaboration example be revised to a description of the Observer pattern (or some other collaboration) and the example be continued in the CollaborationOccurrence section. In addition to fixing the example, I believe it is important to make the Collaboration and CollaborationOccurrence examples cohesive
The submitter is incorrect in believing that the example (Figures 104 and 105) represent a collaboration occurrence. They are indeed collaborations. However, the submitter makes a good point on having a single example between the collaboration and the collaboration occurrence section. To this effect, it would be possible to update this example by replacing Figures 104 and 105 by an updated version of the example in Figure 107 (albeit one would have to add types to the parts in that example) and make it a little more interesting. The current example in Figures 104 and 105 was adapted from UML 1.4. Disposition: Deferred
The statement "A dashed arrow with a stick arrowhead may be used to show that a collaboration is used in a classifier, optionally labelled with the keyword «represents»." and the accompanying example are confusing. Please clarify what this presentation option is trying to accomplish.
I do agree with the submitter that this presentation option could be confusing. It has been taken over from UML 1.4 for reasons of backwards compatibility. While I have not seen any examples of actual use, it would be unwise to change this further in a backwards incompatible way without being able to point to practical experience of the use of this construct. If no practical experience can be found, it might be best to delete this presentation option.
Issue: There are many places where the specification indicates that an attribute or association is derived, but does not state how it is derived; that is, the specification does not state, in English or in OCL, how to compute the derivation. Recommendation: Specify, in English and OCL, how to compute the derivations of all derived attributes and associations.
These specifications should definitely be added. This should be done in an RTF. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Issue: Re Chapter 2, Components, Figure 2-15, p. 112: The text of the fifth paragraph says: “A component has a number of provided and required Interfaces, that form the basis for wiring components together, either using Dependencies, or by using Connectors.” Is this really an either or choice? What is the real semantic distinction? And what is the semantic distinction between wiring via connectors without ports vs. wiring via connectors with ports? Recommendation: Clearly specify the semantic distinctions among the three ways of wiring components together: 1) Via Dependencies 2) Via Connectors without Ports 3) Via Connectors with Ports. If there are no semantic distinctions--that is, if the distinctions are purely mechanical--then the specification should probably changed such that there is one way to wire components together.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Although both Sequence Diagrams and Activity Diagrams have added many advanced features in UML 2, these features appear to have been added independently, so that they appear as two separate behavioral languages. Consider improving the integration between them by supporting the following: a) Allow for an activity in an activity diagram to represent an invoked operation in a message on a sequence diagram. b) Allow for interaction diagram notations to be applied to activity diagrams, such as the use of references, alternates, and gates. c) Clarify that time and other constraints can be applied to an activity diagram in a manner similar to how they are applied to sequence diagrams.
This issue is part of a much larger discussion that cannot be handled by one working group alone. In fact this issue has to be covered in face-to-face meetings resulting in a commitment to unify the language even further. It is still an important topic and an obvious desire for many of us for the future. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Description: The following are some recommendations to improve Activity diagrams for systems engineering applications: a) Generalize pins so that they can be applied to control as well as data. b) Clarify how activity diagrams can be used to represent continuous behavior (e.g., streaming input). c) Clarify how an object node to represent a role.
This is too vaguely stated to act on. Part of item a) is covered in 6348. defer. From FTF: This is too vaguely stated to act on. Part of item a) is covered in 6348. defer RTF: Could not obtain clarification from filer. The part of item a) referred to in the FTF comment is that 6348 enabled pins to treat data as control (Pin.isControl) and allowing control edges to be used with object nodes (ObjectNode.isControlType). Part of item b) was addressed in FTF issue 6902, which added text to section 6.3 explaining that UML is for discrete modeling, but it “does not dictate the amount of time between events, which can be as small as needed by the application, for example, when simulating continuous behaviors.” Disposition: Closed, no change
Use cases and associated sequence and activity diagrams are widely used by systems engineers to specify the functionality of the system, and describe the interaction between the system and the actors. However, there is much confusion regarding use case semantics. Consider the following recommendations to clarify use case semantics: a) Establish an explicit representation to depict the relationship between a use case and its realization as a sequence diagram, activity diagram, etc. In addition, allow for a similar representation to show the relationship between an included/extended use case, and the interaction fragments which realize the included/extended use case. b) Clarify the relationship between a use case (solid oval) and a collaboration (dashed oval), and determine whether they can represent the same or a similar concept.
UML already supports this capability since it allows a classifier (in this case a use case) to have associated a number of behaviors that are in some ways related to the classifier (e.g., they may represent realizations of the classifier in some way, or illustrations of specific executions related to the classifier, etc.) However, the proposed resolutions are asking for a specialization of these general (meta)associations that would have special realization semantics. Such semantics might prove to be tricky to define in the case of use cases, and require some study (i.e., what does it mean for a behavior to “realize” a use case? Is it just an illustration of one possible realization or is it more general?) These are, in effect, requirements for new modeling features and, therefore, fall outside the scope of an FTF or RTF. This should be the subject of a separate RFP.
Description: Consider the following recommendations to improve Information Flow semantics: b) Allow Information Flow to be specialized and decomposed using aggregation. c) Allow Information Flow between classifiers with ports and interfaces. Make provisions for relating the information flow to a port, such that an Information Flow can flow through a port. d) Allow Information Flows between classifiers with object flows across activity partitions. e) Change the name from Information Flow to Item Flow (or something similar) to allow for the flow of non-information, such as physical items specified in systems engineering applications.
These are very good suggestions but such changes clearly qualify as new features – since they extend the current definition of Information Flows – and are, therefore, out of scope of the FTF. Resolution: b) needs an entire new specification. The combination of these new mechanisms with the relations between targets & sources, the association Information Items is not at all defined. That door is dangerous to open now. I suggest to reject this one. Regarding c): Information flow are explicitly allowed between ports and interfaces. (may be the issue is outdated) d) OK, although I have never seen a dependency drawn between partitions. It also shows an inconsistency in the spec that does not allow sources & target being ActivityNodes. Regarding e) "Information" is purposely a very broad word that encompasses anything we want to exchange between sources and targets. It does not prevent at all "physical items": their circulation is also information.
At present, a dependency is not owned by any other element except a package. It seems to make sense for a dependency to be owned by its source. For example, the client of a usage should own it, since that would mean that the usage would be deleted along whenever its client is deleted -- it makes no sense to have a dependency independently of the depending (source) element.
Unfortunately, this recommended fix would not solve the problem since more than one model element can be the source (client) of a Dependency. Since, in general, each source element is equal to all the others, there is no basis for singling out one of them to be the “owner”. Disposition: Closed, no change
In the final adopted spec, there are numerous constraints associated with the various metaclasses that do not have corresponding OCL written. This should be fixed.
These constraints should definitely be added. This should be done in an RTF. defer Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
7 and 14: "An instance specification is a model element that represents an instance in a modeled system." [7.7.1] There are no objects in a UML 2 model, but only models of objects, that is, instance specifications. The instantiation of a UML class is not in the model, but in the modeled system. At the same time, "an ExecutionOccurrence is an instantiation of a unit of behavior ..." [14.3.4] Suggested resolution: Abandon the idea that there are no objects in a model. Specify that an instanceSpecification with a class is an object in the model, the instiantiation of a class is an object in the model. Likewise for an association and its links, and so on. This brings the theory of classifiers and their instances and instantiations into alignment with the theory of behaviors and their occurrences. It is consistent with the existence of power types in the language. It is consistent with the MOF specification of meta-layers. It removes the conflation of the type conformance and instatiation relationships with the representation relationship. It reduces the meanings conflated into 'instance of' by one. Thus, the UML places instantiations of Classifiers in the modeled system (not in the UML model) and, at the same time, places instantiations of Behaviors in the UML model (not in the modeled system).
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
"An instance specification is a model element that represents an instance in a modeled system." [7.7.1] That is, the relationship of the instanceSpecification with a class to an object of that class is the representation relationship. At the same time, a lifeline represents a connectable element. [14.2] This is an example of a recurrent problem in the specification: model elements that represent other model elements. At the same time, "attributes of a class are represented by instances of Propert[ies]..." This is an example of an occassional and quite striking problem in the specification: items in the modeled system that represent model elements. The theory of representation needs to be settled. That done, the specification needs to be reviewed with this in mind and all improper uses of representation corrected.
Indeed. It would be useful if the theory of representation was settled. However, this is a deep issue that exceeds the scope of an F/RTF. Hence, it is better to defer this issue to a subsequent revision of UML. The submitter is absolutely right and that more care should have been taken in the use of this term and many others. Unfortunately, the problem is endemic in both the Infra and Super specs (and, likely, many other OMG specs). A count reveals close to 500 uses of the word “represent” or its derivatives scattered throughout the document. Each of these would have to be examined and appropriate action taken. Of course, this would only solve this particular case of loose terminology but not the overall problem. The FTF punted this issue by deferring it. However, it is unrealistic to expect that any future RTF will have the resources or the time to fix this particular problem, let alone the more general problem. What is really required is a set of OMG-wide style guidelines and, possibly, a glossary of approved defined terms that should be used in writing all submissions related to modeling. This is a problem that exceeds this particular specification and should be posed as an issue to the OMG as a whole. Furthermore, although the loose use of “represents” is confusing in certain spots, in most cases, it is not a problem that will lead to errors in tool implementation or significant misinterpretation by readers. Therefore, it is proposed to close this issue in the context of this specification. Disposition: Closed, no change
PROBLEM STATEMENT There is no definition for navigability or navigation in the Spec. Other concepts of similar importance, such as visibility, multiplicity, etc., are defined in the Spec, so it is not clear why it should be assumed that this concept does not require a definition. PROPOSED SOLUTION Add definition in Section 4 (Terms and definitions): The navigability of a binary association specifies the ability of an instance of the source classifier to access the instances of the target classifier by means of the association instances (links) that connect them. Navigability is closely related to the possibility of sending messages through associations (a message cannot be sent through an association instance against its navigability, that is, navigability is required for sending messages through associations), but they remain nonetheless different concepts.
PROBLEM STATEMENT In UML 1 the navigability of an association end was specified by the meta-attribute AssociationEnd.isNavigable. In UML 2 apparently this meta-attribute dissapears, and AssociationEnd is substituted by Property. We know whether an association end is navigable by the following rule: if the property is owned by a class, it represents a navigable end; if the property is owned by an association, it represents a non-navigable end (see Superstructure, p. 89). However, references to old metaclass AssociationEnd and old meta-attribute isNavigable still appear in the Spec in several places and OCL expressions (AssociationEnd appears in: Infrastructure, p. 33; Superstructure, pp. 119, 245; isNavigable appears in: Superstructure, p. 245). PROPOSED SOLUTION Add derived meta-attribute /isNavigable to metaclass Property. Eliminate references to AssociationEnd.
Disposition: Deferred to UML 2.4 RTF
PROBLEM STATEMENT According to Superstructure, p. 430, the notation for messages in interaction diagrams is as follows (we put assumptions between parenthesis): asynchronous message - (solid line) open arrowhead synchronous message - (solid line) filled arrowhead reply message - dashed line (filled or open arrowhead?) object creation - dashed line open arrowhead However, the example given in Figure 333, p. 414, shows a different notation: asynchronous message - solid line open arrowhead (not shown in this diagram, but in others) synchronous message - solid line filled arrowhead reply message - dashed line OPEN arrowhead object creation - SOLID line open arrowhead Another confusing aspect of the notation is that in a reply message, which is not a true message, the message name is the name of the operation invoked on the callee (same as in the corresponding synchronous call), but it suggests instead that there is an operation with this name in the caller. In Figure 333, the reply labeled as "foo(_)" visually suggests that there is an operation named foo in class C1, which is wrong: foo is defined in C2, not in C1. It would make more sense to label a reply message with the name of the value returned. PROPOSED SOLUTION The simplest solution would be to fix Figure 333 using a dashed arrow to represent object creation, although this would yield the same notation for object creation and reply message. Therefore, beyond this simplest solution, we propose something more advanced: First, state explicitly the notation for all kinds of messages, leaving no place for assumptions. Second, use a filled arrowhead for reply messages, since this emphasizes the conceptual proximity to the synchronous message it is a reply from. Third, use the notation for object creation also for object deletion, which currently is not mentioned. That is: asynchronous message - SOLID LINE open arrowhead synchronous message - SOLID LINE filled arrowhead reply message - dashed line FILLED ARROWHEAD object creation OR DELETION - dashed line open arrowhead Or better, simply drop object creation as an special kind of message. Object creation (and deletion) was not considered a special kind of message in UML 1, and it is not at all clear why it should be in UML 2. Probably, an object creation is either synchronous or asynchronous, but not "something else" in the same meta-specialization row. In fact, the constraints and semantics of Message (Superstructure, p. 429) do not consider object creation as messages: "The signature must either refer an Operation (...) or a Signal", "A Message reflects either an Operation call (...) or a sending and reception of a Signal". Neither does the meta-attribute Message.messageSort, which has the following permitted values: synchCall, synchSignal, asynchCall, asynchSignal. By the way, what do synchSignal and asynchCall mean? The "sorts" of message are not defined in the Spec. Although calls are considered in other places to be either synchronous or asynchronous, signals are explicitly defined to be asynchronous (Superstructure, pp. 15, 371, 394 and 395), therefore at least synchSignal is banned. Finally, we also propose to label reply messages with the name of the value returned by the operation call, not the operation name itself. In Figure 333, this would leave the replies foo(_) and doit(_) without label, and the last reply would be labeled simply as "x".
We have here 3 different problems: 1. There is an error in the illustration (partly due to Visio problems) 2. Notation needs to be fairly backward compatible 3. Notation needs to be fairly consistent with its semantics The first problem is easily fixed. The two latter problems are potentially in conflict. Here are the individual problems: 1. Create and reply messages use the same notation a. This is true, but it does not seem to trouble users of these constructs UML 2 Revision Task Force Disposition: Resolved OMG Issue No: 6463 Document ptc/06-01-01 Page 44 b. They are distinguishable as the create message arrowhead always ends at the head of a new lifeline. That is never the case for any other message. 2. Reply message uses open arrowhead even though it is the reply of a synchronous call. a. Again this does not seem to bother users, but filled arrowhead would be preferable, but not backward compatible. 3. Textual notation for reply messages a. The current notation does include what is needed, and the suggested changes fail to address what is needed. In the example we have on the last reply message “x=bar(_):15” and this means the following: i. “x=” tells where the value of the reply should be stored. x is an attribute of the lifeline receiving the reply. ii. “bar” is the name of the operation and it is true that this may be redundant if we demand always to use execution occurrences to tie call and reply, but in fact we do not require this. It seems reasonable to indicate the name of the operation called to obtain the result. iii. “(_)” means that there is one parameter and it is not a return parameter and is therefore insignificant at the reply. There may have been return parameters and we would have needed this parenthesis. iv. “:15” gives the value of the operation returned. Since sequence diagrams describe very concrete runs, the returned value is important. 4. The create, delete and reply messages are not properly coded in the metamodel a. this is unfortunately the case and should be corrected. Conclusion: We do not do any changes of the notation, mainly because confusion is not so high and it is backwards compatible. We need to correct the figure and the coding of the special messages. Revised Text: Add to the enumeration of MessageSort the following items: • createMessage – the message designating the creation of another lifeline object • deleteMessage – the message designating the termination of another lifeline • reply – the message is a reply message to an operation call
PROBLEM STATEMENT
"When one or more ends of the association have isUnique=false, it is
possible to have several links associating the same set of instances."
(Superstructure, p. 81)
As Pierre-Alain Muller demonstrated in an informal conversation with Bran
Selic during a lunch in San Francisco in the last UML Conference (I also was
taking part in that conversation), isUnique must have the same value for all
ends in an association.
This has implications, for example, for the property strings that can be
placed near the association ends ({ordered}, {bag}, {seq}). According to the
table in Superstructure, p. 92, if one end is a Set or an OrderedSet, then
the opposite end must be a Set or an OrderedSet, too; and if one end is a
Bag or a Sequence, then the opposite end must be a Bag or a Sequence, too.
PROPOSED SOLUTION
Explain this in the Spec.
Disposition: Deferred to UML 2.4 RTF
PROBLEM STATEMENT
The notation for qualified names is double-colon ('::'). However, the Spec
always and everywhere uses a different notation: instead of
"Kernel::Comment", "Comment (from Kernel)".
PROPOSED SOLUTION
Use the standard notation for qualified names.
Disposition: Deferred to UML 2.4 RTF
What is the sematics of an association with neither end navigable? Provide an example of when this might be used. (C to D page 85).
Disposition: Deferred to UML 2.4 RTF
Selection behavior on object nodes should be changed to allow execution at insertion time, keeping the queue
This issue should be titled “Selection behavior”.. Requires more discussio n on how to express sorting procedures in the model. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Protocol machines should not have ports in them. It should be an extension in the ports package. Otherwise there is a backwards dependency onto composite structure.
Statemachines already depend on ports via triggers, so the proposed change will not remove the dependency. Furthermore, creating a dependency from composite structures to statemachines would create a more serious layering problem. Therefore, resolving this dependency requires a non-trivial restructuring that shall be done by an RTF at this point.
Issue: It appears that associations with neither end names nor multiplicities on non-navigable ends are used in parts of the UML Core that are defined via CMOF. See, for example, section 9.9, figure 35, p. 62, for example. I understand that for elements defined via EMOF, this signifies a simple property. But is it appropriate for elements defined with CMOF. Recommendation: Either correct this by adding multiplicities and end names or explain in the specification why it is alright to omit them in these cases
Issue: Constructs::Class has a superClass property that redefines general, which is from Constructs::Classifier (section 11.3, figure 73, p. 111); but Constructs::Class also inherits from Basic::Class, which has superClass as a property (section 10.2, 66, p. 97). What does this mean? Is this a bug? Is it something correct having to do with package merge? Recommendation: Determine whether this is intended or an oversight. If it is an oversight, correct it. If not, explain the meaning of having these both of these properties.
This is not a problem, since the rules of package merge unify these two properties as defined in rule 2 of the general transformation rules of package merge (see page 118 of ptc/04-10-02) Disposition: Closed, no change
Issue: One of the main requirements for a core that can be reused by CWM hinges on whether it is possible to reuse the abstract syntax that supports classification and supports having properties (or features), without pulling in generalization constructs. U2P’s Core::Basic package, upon which EMOF is based, does not appear to adequately separate these concerns. The most abstract level of Core::Basic's inheritance hierarchy at which the ability to have properties appears is in the Class metaclass. But Class also carries the “baggage” of a definition of superclass. The Core::Abstractions package does appear to adequately separate these concerns. It does so by defining a simple Classifier in the Core::Abstractions::Classifiers package that supports features but not generalization. The Core::Abstractions::Super package defines another Classifier metaclass that subclasses Core::Abstractions::Classifiers::Classifier and adds support for generalization. Presumably, then, the intent is that CWM metamodels that support classification and properties but not generalization can reuse Core::Abstractions::Classifiers::Classifier. However, Core::Basic does not reuse either of these basic definitions of Classifier from Core::Abstractions, and EMOF is based on Core::Basic. Thus, if a CWM metamodel reuses Core::Abstractions::Classifiers::Classifier, it will not share a common definition of Classifier with EMOF. That could mean that a metamodel expressed solely via EMOF will not be able to be the source or target in a unified approach to transformations. This is not a problem for CMOF, though, because CMOF is based on Core::Constructs, whose Classifiers are based on Core::Abstractions. Recommendation: Solving the problem for EMOF would require some refactoring of Core::Basic to separate concerns between classification and generalization.
Disposition: Deferred to UML 2.4 RTF
Issue: The superficial impression that Core::Abstractions is the lowest layer in the U2P Core does not stand up under close examination. Core::Basic is closer to being the fundamental layer because it uses none of the new association modeling constructs (such as derived unions and subsets) to define itself; but is not entirely so because it imports two packages from Abstractions. Recommendation: It would be worth considering whether the two packages that Basic imports from Abstractions can be placed in Basic, so that Basic is unambiguously the lowest layer in Core. This would also make EMOF unambiguously the lowest-—i.e. the most fundamental—-layer of MOF, since EMOF is based on Core::Basic while CMOF is based on Core::Constructs.
Resolved by Issue 7956. Basic (and no other UML2 or MOF2 compliance level) no longer merges anything from Abstractions. Figure 64 on page 91 of the Infrastructure specification is simply a schematic diagram to show that model elements in Basic were influenced and/or derived (by copy) from elements in Abstractions. But there is no longer any connection between Basic and Abstractions. Disposition: Closed, no change
Issue and Recommendation: In general the specification of the Core would benefit from instance diagrams accompanying example models, especially in cases where there is significant change from UML 1.x. An instance diagram accompanying an example model would show how the model instantiates the elements of metamodel. This will contribute to a greater level of common understanding among readers of the specification and thus will help ensure interoperability. For example, consider Figure 3-23 from the submission document and which defines the abstract syntax for the elements of the Core::Constructs::Constraints package. Despite the existence of accompanying explanatory text, the distinction between the Namespace that owns a Constraint and the Namespace that provides the context for a Constraint may be difficult for the reader to grasp completely. Figures 3-24, 3-25, and 3-26 from the submission document, respectively, provide example models. An instance diagram for at least one of the examples that shows how the elements of the example model instantiate elements of Core::Constructs::Constraints would go a long way toward preventing misunderstandings. Such misunderstandings would compromise interoperability, since there is a high probability (in my opinion) that different implementers would render models to XMI differently. This example is only one of many that I could cite from the submission where examples *plus* associated instance diagrams would be beneficial.
Disposition: Deferred to UML 2.4 RTF
Issue: The Core’s abstract syntax makes heavy use of new association modeling constructs. Two of them in particular may be unfamiliar to many who read the submission: · Subsets · Derived unions The submission provides only a brief explanation of these two new constructs, which I quote below: "A navigable property may be marked as a subset of another, as long as the owner of the subsetting property is the same as or a specialization of the owner of the subsetted property. In this case, the collection associated with an instance of the subsetting property must be included in (or the same as) the collection associated with the corresponding instance of the subsetted property. A property may be marked as being a derived union. This means that the collection of values denoted by the property in some context is derived by being the strict union of all of the values denoted, in the same context, by properties defined to subset it. If the property has a multiplicity upper bound of 1, then this means that the values of all the subsets must be null or the same." Recommendation: Since these constructs are so heavily used to define the Core itself, it would be useful for the submission to provide some overall guidance on how to use them. Providing rationale for why specific ones are chosen in specific places in the definition of the Core would be an effective way of disseminating understanding of these constructs and understanding of the Core as well.
Disposition: Deferred to UML 2.4 RTF
When creating a complete environment for agreements and BCF we need to work with ModelElements, classes, package, models etc created and managed by many unrelated person and organisations. This means that we need to support loosely coupled models (federated models) where an association starts in one model (stored in doc A) and ends in another model (stored in document B). This may mean that we need to add references to an external modelelement so the assoication that references "out" to external ME need to be annotated with for example UUID of remote modelelement, name of model where the remote/external model , physicial location of remote model (URL) etc. We may also want to attach constraints to the remote modelement that restricts "incomming" associations. The question is how are loosely coupled model handled in UML 2 ?
Model is a kind of Package and can be imported and referenced. There is no implication about storage units. XMI supports references that cross document boundaries. This is a tool issue, and many tools do support the requirements listed in the summary.
Class Diagram:Constructs/Packages in the Rose file shows the nestedPackage/package association the spec shows nestedPackage/nestingpackage I believe the spec to be in error... I am not sure where to report this and or who keeps this model up to date. Any recommendations would be appreciated
This problem was detected and resolved in the FTF. Disposition: Closed, no change
The current Infastructure document defines it at page 54 as (line
numbers have been added by me):
(1) multiplicity ::= multiplicity_range
(2) multiplicity_range ::= [lower '..'] upper
(3) lower ::= integer
(4) upper ::= unlimited_natural | '*'
But at page 56 (also page 20 of the Superstructure document which
copies
the definition) it says:
(5) multiplicity ::= multiplicty_range [{order_designator}]
(6) multiplicity_range ::= [lower '..'] upper
(7) lower ::= integer | value_specification
(8) upper ::= unlimited_natural | '*' | value_specification
(9) order_designator ::= ordered | unordered
(10) uniqueness_designator ::= unique | nonunique
There are several problems arising from this definition:
(P1) (9) and (10) are never used
(P2) Defining the lower bound as "integer" (according to page 142 of
the
Infrastructure document) allows it to specify multiplicities with
lower bounds *below* 0 (e.g. [-5..7], [-42..0])
(P3) (4) and (8) include the asterisk symbol (*) to denote an
infinite
upper bound. Though, this is redundant since the symbol is already
there
as part of the lexical representation of unlimited_natural (according
to
page 144 of the Infrastructure document)
(P3) (4) and (8) define the upper bound using the datatype
"unlimited_natural" which comprimises all integer numbers starting
from
zero. Thus multiplicities like [0..0] would be legal.
(P4) It should be mentioned that the lower part is lower or equal to
the
value given for the upper part (where '*' is geater than any other
element of the set named integer). Otherwise multiplicities like
[8..2]
would be considered legal.
(P5) What is the role of the value_specification mentioned at (8) and
(9) isn't it redundant there?
Or am I just misreading the spec?
UML 2 Revision Task Force Disposition: Closed, no change OMG Issue No: 6502 Document ptc/06-01-01 Page 641 Or am I just misreading the spec? Discussion: The response to these items is embedded below each: • (P1) (9) and (10) are never used This claim is simply incorrect: both of these designators can be used in specifying a multiplicity • (P2) Defining the lower bound as "integer" (according to page 142 of the Infrastructure document) allows it to specify multiplicities with lower bounds *below* 0 (e.g. [-5..7], [-42..0]) Technically, this is true, but the possibility is prevented by an OCL constraint. The BNF is used merely to define the valid notational forms and does not deal with semantic constraints, which are covered elsewhere. The case where a lower bound would require an UnlimitedNatural does not seem to be required and may confuse some readers and would likely cause a disruption in numerous implementations. • (P3) (4) and (8) include the asterisk symbol (*) to denote an infinite upper bound. Though, this is redundant since the symbol is already there as part of the lexical representation of unlimited_natural (according to page 144 of the Infrastructure document) This was fixed in the FTF. • (P4) (4) and (8) define the upper bound using the datatype "unlimited_natural" which comprimises all integer numbers starting from zero. Thus multiplicities like [0..0] would be legal. Once again (see the response to (P2)), the submitter is mistakenly assuming that the BNF is used to define the semantic constraints, whereas it merely specifies the notation. • (P5) It should be mentioned that the lower part is lower or equal to the value given for the upper part (where '*' is geater than any other element of the set named integer). Otherwise multiplicities like [8..2] would be considered legal. Again, there is a constraint that deals with that case. • (P6) What is the role of the value_specification mentioned at (8) and (9) isn't it redundant there? Value specifications allow the use of various symbolic references. Disposition: Closed, no change
I didn't recognize it before, but now I am surprised that the action
symbol
is not the same as the UML1 activity symbol ("shape with straight top
and bottom
and with convex arcs on the two sides").
Actions are no activities, but the semantic is similar for
the "normal" UML user.
In UML1 the user has to distinguish between the activity symbol and
the state symbol ("round-cornered rectangle"), especially if states
and activities
are shown within the same diagram.
Now you has to use the UML1 state symbol for actions. I think that
this is confusing
for the normal UML user.
Another point is that the action symbol is the same as the state
symbol. There will
be no chance for a misunderstanding, because both symbols are not
allowed within the same
diagram. But it would be much clearer if the action symbol has a
different notation and
looks like the UML1 activity symbol.
So, why not using the UML1 activity symbol for UML2 actions?
This is too large and debatable a change for the FTF to address, and does not affect implementability. UML2 completely separates state machine and activity semantics and notation. This eliminates the need to have different symbols to distinguish states from activities on the same diagram. UML2 could have used the UML1.x activity notation for actions in an activity, but rounded rectangles are somewhat easier to draw by hand, and there shape may be simpler to manage. At this point, the cost of changing this is probably greater than its value. Disposition: Closed, no change
found something strange in the specification of UML 2.0. First of all, in the class "InfrastructureLibrary.core.constructs.Association", there is an attribute "ownedEnd" with return type of "InfrastructureLibrary.Core.Constructs.Property" and 0...*; and it its direct subclass "infrastructurelibrary.profiles.Extension", there is an attribute "ownedEnd" which redefines ownedEnd in class "Association", but with return type "infrastructurelibrary.profiles.ExtensionEnd" and multiplicity of 1. It causes conflicts of generated JMI interface.
Extension is a subclass of Association, and ExtensionEnd is a subclass of Property. So Extension::ownedEnd: ExtensionEnd is an implicit redefinition of inherited property Association::ownedEnd: Property. Redefinitions of this sort are used throughout the UML2 metamodel, many of them occurring as the result of package merges. Unfortunately, there is no way to have this fixed without a major reworking of the entire UML metamodel and a change in the definition of UML 2. This is because the concept of property redefinition is (a) a fundamental capability of UML 2.0 and (b) very tightly integrated into the metamodel. Removing it, which is what would be required to deal with this issue, is far outside the scope of an RTF. Disposition: Closed, no change
Secondly, there are two classes "NamedElement" holding un-redefined attribute "name", one is in the package "InfrastructureLibrary.Core.Basic", and the other is in the package "InfrastructureLibrary.Core.Abstractions.Namespaces". The problem is that there are a lot of classes directly or indirectly inheriting both of them e.g. class "InstanceSpecification" in package uml.classes.kernel, and it causes problem of duplicated parameters in class creation in the generated JMI interfaces. e.g. " public InstanceSpecification createInstanceSpecification (java.lang.String name, infrastructurelibrary.core.abstractions.visibilities.VisibilityKind visibility, java.lang.String name, java.util.Collection classifier); " Similiar cases happen to attribute "type", "isAbstract" etc.
The submitter seems to be unfamiliar with the rules for redefinition and package merge, which resolve such issues in general. In this particular case, due to the fact that Abstractions and Basic have been de-coupled in the FTF work, the two are completely distinct elements and are not intended to be used together. If someone does decide to use them together, however, package merge would resolve any contention. See also the resolution to issue 6003 and 6002. Disposition: Closed, no change
The property isRoot has disappeared from Classifier. INtention was to move it to RedefinableElement but it seems to have dropped through the cracks. On page 399 FAS: section 13.3.4 The metaattributes isLeaf and isRoot have been replaced by properties inherited from RedefinableElement. On page 86 FAS section 7.8.3 RedefinableElement: isLeaf: Boolean Indicates whether it is possible to further specialize a RedefinableElement. If the value is true, then it is not possible to further specialize the RedefinableElement. Default value is false. But no mention of isRoot....
Disposition: Deferred to UML 2.4 RTF
I know ODP is <adjective>, so i'd like to add mention of a couple of other places where we will find name space standing on its own, and not conflated with package or other container.
An IETF namespace is exactly "a set of terms usable as names."
As Karl reminded me, a C++ name space is also "a set of terms usable as names," declared with the keyword 'namespace' and used with the keywords 'using namespace' (providing a naming context) or with the scope operator, '::' (converting a simple name to a name that is an identifier).
[Unlike most Java tools, there is no requirement that the things in a C++ namespace all be in any particular container. Karl tells me that C++ programmers he works with don't like the way Java tools insist that a package-cum-namespace be identified with a directory that contains all elements of that package. (Of course, tools that do that are following "the extremely simple example" in The Java Language Specification. Sometimes the effect of simple examples on the future of the world.) It can be fine to have such simplifications in a programming language, but it's good to have more flexibility in models.]
C++ also provides a form for aliases:
namespace new_name = current_name ;
Still more flexible is that other approach, which in addition to distinguishing name space from naming context, also allows the same item to have fully qualified names from different namespaces. If that's in MOF, let's use it. (Is that accomplished the relaxing, which MOF 2 package import provides? (If i import C from Pa into Pb, can i identify it with 'Pb::C'?))
If not, let's put it there.
Seems to me to be easy to accomplish, if Namespace is first class.
This is a significant change at the core of the metamodel and requires further study. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
In the metamodel, UML::Classes::Dependencies::NamedElement::supplierDependency should not be navigable, as it does not make sense for the supplier of a dependency to know about its dependencies
This is fully consistent with the pattern used for all the other kinds of directed relationships (Generalization, PackageMerge, ElementImport and PackageImport.) Note that this does not prevent tools from readily determining the dependencies targeting a particular model element if necessary, since that information can be easily computed or cached by the tool when the dependency is constructed.
Package::nestedPackage and Profile::ownedStereotype should be derived, just as Package::ownedType is (all three subset Package::ownedMember). In general, if the contents of a subset are determined soley by type (and the superset property is not derived), the subset property should be derived.
The paragraph starting at the bottom of page 2-200 with "A user model uses instances..." and finishing at the top of page 2-201 describes figure 2-37 which has been removed from the specification 1.4 when transiting to 1.5. Thus, the paragraph should be either adapted to reflect the change or removed.
The offending paragraph was removed during the finalization phase. The issue is no longer applicable. Disposition: Closed, no change
At the bottom of page 2-216, the paragraph "This life cycle may be depicted informally using a statechart diagram, as shown in Figure 2-39." should actually read "This life cycle may be depicted informally using a statechart diagram, as shown in Figure 2-40." The number of the figure is wrong.
This paragraph was removed in the finalization phase, so the issue is no longer relevant. Disposition: Closed, no change
The well-formedness rules are not numbered correctly. After the note in the middle of the page, the numbering scheme starts over at [1] instead of going on to [10].
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
The Property ownedMember of the Class Package is redefined to specialize the EndType from NamedElement to PackageableElement. But is incorrectly changed from a derived union to NON Derived. If it is intended to be non derived the property string subsets on all the other members are in error. ownedMember for a Package should be a derived union subset by the following Properties: ownedType nestedPackage ownedRule An OCL equivalent would be as follows: ownedMember=ownedType->union(nestedPackage)->union(ownedRule)
Disposition: Deferred to UML 2.4 RTF
The multiplicity of the association named "type" of type DataType is given as [1..1}. It should be [1..1], i.e. with square brackets instead of curly braces
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
The multiplicity of the association named subaction of type Action is ill formed. Instead of [1..] it should read [1..1].
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
In paragraph 5, the addition of 2, 5, 7 and -3 does not yield 9 but 11. That's why "...subaction Addition is the scalar 9." should read "...subaction Addition is the scalar 11."
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
In the last paragraph, the period after the word "collections" on the second line should be removed
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
The example text <Company xmi:id="Company_1" name="Acme"> <HQAddress xmi:id="Address_1" Street="Side Street" </Company>City="Hometown"/> should be <Company xmi:id="Company_1" name="Acme"> <HQAddress xmi:id="Address_1" Street="Side Street" City="Hometown"/> </Company>
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
section 7.11 Does Property.aggregation have meaning for properties typed by value types, (Data Type and subtypes)?
Disposition: Deferred to UML 2.4 RTF
I am looking at ValueSpecification which introduces Additional Operations, such as integerValue(). My question is : What is the reasoning behind making these Operations vs. Derived attributes? In MultiplicityElement we have a derived attribute lower which is equal to lowerBound(). What logic is used to determine whether an Operation has a corresponding Attribute? Also the spec seems to indicate that all derived values will be implemented via some operation. Is this a requirement or an assumption of implementation? Why can’t lower in MultiplicityElement simple be defined as if lowerValue->notEmpty() then 1 else lowerValue.integerValue()… what makes the lowerBound() operation required?
It is usually a question of balance between efficiency and the need to minimize the storage requirements for storing models (in both dynamic and persistent store). In principle, anything that can be computed should be defined as an operation. Non-derived attributes provide the basic input data from which such computations can be effected. Derived attributes are typically used when the computation is judged to be inefficient in some sense. (Clearly, there is a discretionary element in this, and such criteria are not necessarily applied consistently in the spec.) In the particular case of MultiplicityElement::lowerBound(), this was necessary since it is possible that no lower bound was actually specified by the modeler. Concerning derived values, the intent is to provide a specification of how each derived feature is computed, whether through a formally specified formula (in OCL, for example), or, where this is impractical or infeasible for some reason, in precise natural language. However, because this is a lengthy undertaking requiring significant resources, it was deemed impractical to hold up release of the specification until this task was completed. Instead, its completion has been relegated to subsequent revision task forces. The same applies to various constraints. Disposition: Closed, no change
In the Outputs listing, "self.jumpHandler.protectedAction..availableOutput.type" should read "self.jumpHandler.protectedAction.availableOutput.type" Remove one of the dots between protectedAction and availableOutput
The issue no longer applies. UML 2 replaced JumpHandler with ExceptionHandler. Disposition: Closed, no change
In the Associations section of element JumpHandler, the protectedAction association misses appropriate type information. The line should read: protectedAction: Action [0..*]
JumpHandler (UML 1.5) is replaced by ExceptionHandler in UML 2. The type of the protected node is correct (ExecutableNode). Disposition: Closed, no change
The Constraint:namespace to Namespace:ownedRule association depicted in the super structure spec on page (31) should be made navigable on both ends and the namespace property should be renamed to owningNamespace and this should subset context and subset namespace.
Constraint::namespace redefines NamedElement::namespace so it should retain the same name. Namespace was probably used instead of owningNamespace to keep the name shorter and to follow the conventional meaning of the word (and its use in XML).
The operations diagram redefines the formalParameter Property and removes the {ordered subsets parameter subsets ownedMember}.
The mdl file has an added associtation between Operation: ownedparameter and Parameter:operation that isn’t defined in the spec.
I believe the intent was to specialize the property Parameter:operation but I do not find the Operation:formalParameter Parameter:operation association required at all and would recommend its removal.
This would require the ownerformalParam be made navigable. But I feel that this change is already required to sync the OCL and Superstructure specs.
An alternative would be to add a unidirectional derived Property to the Parameter Class named operation and the derivation simply being operation=ownerFormalParam
Disposition: Deferred to UML 2.4 RTF
The numbering of the sub-sections in 2.7.2 is wrong. In "2.7 Data Types", we have "2.7.1 Overview" and "2.7.2 Abstract Syntax". Below that, the numbering starts with "2.7.3.1 AggregationKind" instead of "2.7.2.1 AggregationKind".
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
In "2.9.3.5 Instance", the numbering of the different well-formedness rules is wrong. Below rule [2], there are two rule [3], one of which is not left-aligned properly.
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
The section about Procedure does not contain any well-formedness rules. Instead, the section repeats the content (copy-paste!!) of section 2.9.2.11 about attributes and associations.
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
The Composition section does not follow the usual conventions of first presenting the attributes and then the associations of the model element.
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
In the second additional operation of the model element StateMachine, there is a missing closing parenthesis in the last else branch, i.e. the last else branch should read
At the bottom of the page, the characters "antics." should be removed
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
In 2.13.3, the first sub-section about ActivityGraph is not numbered, it should be 2.13.3.1. Subsequent sub-sections should be renumbered
This refers to an old version of the spec. The referenced text is not present in the new version. Disposition: Closed, no change
Would be useful to be able to assign a subtype for objects that fill a part, to add additional characteristics. For example, a person fills the Employee part of a company, and is reclassified under a subtype of person that has an office. It is not sufficient to use the subtype as the type of the part, because the model wouldn't record what objects are allowed to fill the parts. The object is reclassified under the subtype after filling the part.
The issue suggests a new feature of UML. While interesting, such is considered outside the scope of this FTF. The issue suggests a new feature of UML. While interesting, such is considered outside the scope of this FTF.
The isConsistentWith() query defined on Property implies that in order for a property redefinition to be logically consistent, the redefining property must be derived if the redefined property is derived. Are these the correct semantics for redefinition? There are cases in the metamodel where this constraint is violated (e.g. Package::ownedMember is not derived, but it redefines derived property Namespace::ownedMember). If there is to be a constraint on redefinition, perhaps it makes more sense the other way around, i.e. a redefining property must be non-derived if the redefined property is non-derived.
Disposition: Deferred to UML 2.4 RTF
Inheritance of 'Enumerations' is not detailed with repsect to their (ordered) owned 'EnumerationLiteral's. Proposed resolution: Add a constraint to restrict Enumerations to be unable to inherit from each other (at least favored in MOF) or specify how Literals are ordered.
Disposition: Deferred to UML 2.4 RTF
Redefinitions of OCL constraints must be aligned with MOF2.0/UML2.0 class Redefinition. I could not find any detailed information with respect to redefinition of (especially OCL class OclExpression) constraints in the docs ptc/03-09-15, ptc/03-10-04. A more precise semantic would help for the QVT redefinitions w.r.t patterns and technology mappings interoperability (JMI <> MOF2IDL alignment). Proposed resolution: It would be useful to add more precise abstract semantic for redefinition contexts of constraints (e.g. class 'Constraint' should specify that redefinition context must also be inheritance)
Disposition: Deferred to UML 2.4 RTF
Class InfrastructureLibrary::Core::Basic::Property contains an attribute named 'default' of type 'String'. If initial values should be provided for a Property instance, then there is no possibility to evaluate the string without a schema. I'm not sure about the intension of this default property, especially for MOF (it seems to be useable only for visualization in UML). Proposed resolution: If evaluation should be processable by tools (e.g. code generators), then the type of 'default' must be changed to class "Type" or a schema for evaluation should be provided.
Property defaults in Basic and Constructs (and therefore EMOF and CMOF) can only be specified for primitive types, so only String is needed. UML2 Kernel supports more complex default values through defaultValue:ValueSpecification. In Kernel::Property:/default is derived from defaultValue. Disposition: Closed, no change
Diagrams have a frame and a tag that describes the kind of diagram. Most diagrams correspond to a portion of the metamodel, and in most cases there is a one-to-one correspondence between metamodel chapters and diagram types, although variants are allowed for special cases (such as 'package'). There are four kinds of diagrams showing interactions, each with its own unique contents and syntax: sequence diagrams, communications diagrams, interaction overview diagrams, and timing diagrams. Unlike the difference between class diagrams and package diagrams, for example, each of these is very different in appearance and content from the others, even though they allegedly all map to the same interaction model (which might be dubious in practice, given the very different content, but that's another matter). However, the examples all use the same tag, 'sd', for all of the kinds of interaction diagram. Clearly 'sd' is an abreviation for 'sequence diagram' and it is inappropriate for the other types. (The fact that it is an English-language abreviation is another problem that we will let pass for now.) It would seem that each kind of diagram should have its own tag, given that they have different syntax and usage. For example, we could use 'sd', 'cd', 'iod', and 'td' if we wish to keep the same abbreviated format. But in any case the tags should be different and they should be descriptive of the diagram, not the underlying modeling chapter. (The official tag for interaction diagrams as a group is 'interaction', not 'sd' (page 589), so 'sd' is already descriptive of just one variant.) If the argument is that you can tell apart the different variants of interaction diagram by looking at them, that argument would apply with even more force to the diagrams for different kinds of models, such as class diagrams, state machine diagrams, etc., so we wouldn't need tags at all. (Which may be true, and users will probably not bother most of the time, but let's at least get it right in the standard.)
While this is possibly a reasonable suggestion, it does not represent either a consistency fix or a clarification and is more appropriately resolved in some future revision. This is an overall discussion and not only for Interactions. The question is about two different aspects: 1. What should the tab keyword indicate? a. the type of diagram b. the object defined by the diagram c. irrelevant, the tab is only for naming
Table 15 does not include illustrations for - create message (a graphical path flowing into a Lifeline head). - create message to lost - create message from found More illustrations need to be added to Table 15 as the new sorts of messages are added, for example: - synch and async create - synch and async destroy
Disposition: Deferred to UML 2.4 RTF
page 429 Constraints for message need to include "no EventOccurences before receiving the create message". In the graphic notation this is handled by defining the create graphic path as flowing into the Lifeline head symbol, but since we do not want to introduce the concept of a Lifeline head in the meta-model, we need an additional constraint. Constraints need to be updated as new sorts of messages are added.
The following constraint could be added: “[9] No EventOccurences should occur before receiving the create message on the corresponding Lifeline” However this constraint does not allow modeling a situation where a create message may be sent to an existing entity either due to error or intent (e.g., to model erroneous behavior). The above constraint applies to valid interactions. It is unclear how this constraint applies to multivalued instances. Therefore, it seems safer to not add this constraint. Duplicate of Issue 8327 (even though this came first), see the resolution of 8327 Disposition: See issue 8327 for disposition
Issue 1: to have the possibility to manage simultaneity of events, and be able to trigger a transition by a condition on several events. By this way, the triggering condition of a transition may be specified through an event formula such as: (e1 and e2) or e3 This point we then involve to relax a constraint on the semantics of RTC and to introduce then the possiblity to dequeue several events of the queue at the same time. May it be just an additional open variation semantics point?
The RTC model is currently fundamental to UML statemachines. Allowing several events to be posted to a statemachine has a significant ramification on the current spec beyond just adding a way to express simultaneity. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Issue 2: In the same spirit, we would like also to specifiy that a transtion is fired only if an event is not available at a given instant. We need the concepts of instant and event absence. Note that the absence combined with "and" and "or" can express kinds of priorities (e.g., "a and not b").
This proposal is relevant in case where simultaneity of events is allowed as requested in issues 6990. Since 6990 is deferred, this request shall be deferred as well. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
"[1] The classifier context of a state machine cannot be an interface" should be: [1] The context classifier of a state machine cannot be an interface. not redefinitionContext.oclIsKindOf(Interface) "[2] The context classifier of the method state machine of a behavioral feature must be the classifier that owns the behavioral feature." should be: [2] The context classifier of the method state machine of a behavioral feature must be one of the classifier that features the behavioral feature -- note that a behavorial feature can be associated with 1..* -- classifiers if self.specification->notEmpty() then self.specification.featuringClassifier->includes(redefinitionContext) endif "[3] The connection points of a state machine are pseudostates of kind entry point or exit point." should be: [3] The connection points of a state machine are pseudostates of kind entry point or exit point. connectionPoint->forAll(cp | cp.kind = #entryPoint or cp.kind = #exitPoint ) "[4] A state machine as the method for a behavioral feature cannot have entry/exit connection points." should be: [4] A state machine as the method for a behavioral feature cannot have entry/exit connection points. self.specification->notEmpty() implies ( self.connectionPoint->forAll(cp | not (cp.kind = #entryPoint or cp.kind = #exitPoint) ) )
The OCL was left out of the final adopted specification and needs to be inserted. However, the OCL constraints recommended above are mostly incorrect. Instead, the following OCL expressions need to be inserted for constraints [1] through [4] of StateMachine on page 490 respectively: ?? context->notEmpty() implies not context.oclIsKindOf(Interface) ?? specification->notEmpty() implies (context->notEmpty() and specification->featuringClassifier-> exists (c | c = context)) ?? connectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint) ?? specification->notEmpty() implies connectionPoint->isEmpty()
In the normative XMI file for the metamodel, no Associations have a name. The name is needed for generating APIs and (in some cases) XMI elements; and their absence actually makes UML2 an invalid MOF2 metamodel: MOF2 Core has the following constraint for CMOF: [6] Names are required for all classifiers and features (though there is nothing to prevent these names being automatically generated by a tool). (Association is a classifier) We could get by with not having a name in the MDL and auto-generating a name into the XMI. This is in fact what the Unisys XMI plug-in did when no Association name was provided - and this was hence reflected in the normative XMI for UML 1.x (the names were of the form A_<end1>_<end2>).
This is a duplicate of issue 6492, which was resolved in earlier ballots. Disposition: See issue 6492 for disposition
Consider an Interaction that describes collaboration of several parts of a classifier that owns some attributes. None of the parts own this attribute. I need to be able to describe a constraint, involving these attributes. Or when the overall classifier has a State Machine describing its overall behavior, and we want to refer to these states in an Interaction. In order to achieve this, it would be desirable to use: 1. A guard that covers more than one lifeline (represents a guard involving the attributes, "global" to the set of Lifelines) 2. A state symbol that covers more than one lifeline (represents a state invariant refering to the state of some state machine "global" to the set of Lifelines) 3. A state invariant covering more than one lifeline (represents an invariant involving the attributes, "global" to the set of Lifelines)
Although this is a reasonable feature to request, it is an enhancement that exceeds the scope of the FTF. One of the main issues with it is that the semantics of defining such constraints in a distributed environment are not simple and require some serious consideration. The issue here is that Interactions consider all lifelines as potentially concurrent, and the restrictions on guards reflect this to prevent specifying distributed decisions that would imply implicit synchronization. The fact is, however, that many systems are such that it is known that the lifelines are not concurrent and checking remotely or on enclosing objects is not really hazardous. The problem is that we do not have a good way to define this in the specification. This is of course not dependent upon Interactions, but is a feature of all of UML. There seems to be a need to define object groups that share the same “thread” and are only pseudo-concurrent. If we had had such a construct, the guard could cover any subset of such a “same-thread-set-of-objects”.
There needs to be a way to show object flow or interactions between multiply concurrent threads or processes in Activity Diagrams. Example: In TCP sockets, the interaction between a client and server should be able to be shown with two separate start points, one for the client and one for the server. The connection sequence and packet flow should be able to be shown. With a single start point, the diagrams imply that one action starts both processes. I would like to illustrate multiple concurrent threads or processes and their interactions in an Activity Diagram and be able to distinguish between the flowing threads. I would also like to show access to objects shared by the threads or processes.
Activity diagrams only show task dependency, which can be achieved by multiple implemented processes. An activity can have more than one initial node. These are all started when the activity is. The initial nodes can be used in separate partitions to indicate which actions are taken on the client and server. If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. FTF: Activity diagrams only show task dependency, which can be achieved by multiple implemented processes. An activity can have more than one initial node. These are all started when the activity is. The initial nodes can be used in separate partitions to indicate which actions are taken on the client and server. If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. RTF: Hybrid diagrams are too complicated a topic for an RTF to address. There are many combinations and not enough experience to choose among them.
I have a few questions regarding section 7.12 entitled "Kernel - the
DataTypes Diagram" in the final adopted Superstructure spec (03-08-02).
DataType specializes Classifier, and as such it also inherits the ability to
have generalization relationships with other Classifiers. Classifier has an
additional operation 'maySpecializeType(Classifier):boolean' that is
described/defined as follows:
"The query maySpecializeType() determines whether this classifier may have a
generalization relationship to classifiers of
the specified type. By default a classifier may specialize classifiers of
the same or a more general type. It is intended to be
redefined by classifiers that have different specialization constraints."
(p. 63)
with the OCL:
Classifier::maySpecializeType(c : Classifier) : Boolean;
maySpecializeType = self.oclIsKindOf(c.oclType)
DataType, nor its subtypes PrimitiveType and Enumeration, defines no
additional constraints or additional operations. These additional
constraints are executed/applied in the UML2 metamodel (rather than in a
UML2 model), correct? If so, then this implies that a DataType may
specialize another DataType, Classifier, Namespace, Type, etc., but that
DataType may not specialize PrimitiveType or Enumeration. Please correct me
if I'm interpreting this incorrectly.
Consider an example with:
* a PrimitiveType named "string"
* a PrimitiveType named "float"
* a DataType named "InternationalPrice" that specializes "float" and
adds a new attribute/property called "currency" of type "string"
The "InternationalPrice" DataType is conceptually a qualified type, meaning
it is a float plus a qualifier of the value. Examples of instances would be
{426.36, "US Dollars"}, {401.23, "Euros"}, {749.42, "Yen"}.
If my interpretations of the Superstructure spec are correct, then this
example cannot be modeled using UML2. And, in fact, the specification would
actually allow me to create a new PrimitiveType named "double" that actually
specializes my "InternationalPrice" DataType (since DataType is a supertype
of PrimitiveType). My thought is that this is either a issue with the
'maySpecializeType' operation or it is an issue with DataType, PrimitiveType
and Enumeration not being properly constrained.
Disposition: Deferred to UML 2.4 RTF
Deployment should not be a Dependency Section 10.3.4, figure 126 show the Deployment subclass of Dependency with location subsetting client and deployedArtifact subsetting supplier. This means in effect that a Node is deemed dependent on the Artifacts that are deployed to it which seems to me the wrong way round if anything. Since it is not really true either that an Artifact is dependent on the Node it is deployed to, it does not seem sensible for Deployment to inherit from Dependency at all: it should inherit directly from DirectedRelationship. [Aside: Figure 126 shows 'subsets source' and 'subsets target' which is not reflected in section 10.3.4. I had assumed that Dependency would itself specify client and supplier to subset/redefine source and target but this oddly appears not to be the case]
Disposition: Deferred to UML 2.4 RTF
Manifestation should inherit from Realization In Section 10.3.10 and Figure 124 it would make more sense for Manifestation to inherit from Realization rather than directly from Abstraction. The semantics of Realization are described as "A Realization signifies that the client set of elements are an implementation of the supplier set,.." which surely includes manifestation. The spec also states that Realization may be used to model transformations, which fits with the example given in Manifestation: "<<tool generated>> and <<custom code>> might be two manifestations for different classes". BTW There is a missing word in the description of Manifestation "A manifestation is the concrete physical of one or more model elements by an artifact."
Disposition: Deferred to UML 2.4 RTF
Figure 78 - inconsistencies with Class Descriptions Figure 78 shows an enumeration ConnectorKind which is not defined in this chapter, however (see also Issue #7001). Suggestion: define ConnectorKind in section 8.3 - Class Descriptions. Figure 78 shows an association between Connector and Behavior with association end "+contract". This association is not defined in Section 8.3.2 - Connector, however.
Resolution deferred for the next RTF
Connector - "provided Port" and "required Port" not defined Constraint 1, "[1] A delegation connector must only be defined between used Interfaces or Ports of the same kind, e.g. between two provided Ports or between two required Ports." uses the concepts "provided Port" and "required Port". Neither of them is defined in the spec. Furthermore, a Connector is not expected to be defined between Interfaces, but an Association is. A Connector is defined between ConnectableElements whose specializations are Property, Port, Parameter, and Variable, but not Interface. I suggest to replace Constraint [1] with "[1] A delegation connector must only be defined between a ConnectableElement (i.e. a Port) of the component and a ConnectableElement (i.e. a Property or a Port) of one of its internal parts."
Resolution deferred for the next RTF
Connector - inconsistencies in Constraint [2] Constraint [2] says: "[2] If a delegation connector is defined between a used Interface or Port and an internal Part Classifier, then that Classifier must have an “implements” relationship to the Interface type of that Port." There are two problems with this constraint: 1. A connector cannot be defined between a used Interface and an internal Part, because Interface is not a ConnectableElement. 2. What is "the Interface type of that Port" ? The Classifier given by port.type? This Classifier can be but does not have to be an Interface. Or one of the Interfaces given by port.required? Which one?
Resolution deferred for the next RTF
Connector - inconsistencies in Constraint[3] Constraint [3] says: "[3] If a delegation connector is defined between a source Interface or Port and a target Interface or Port, then the target Interface must support a signature compatible subset of Operations of the source Interface or Port." There are two problems with this constraint: 1. An Interface cannot be the source or the target of a connector, because Interface is not a ConnectableElement. 2. If a connector is defined between a source Port and a target Port (which is possible, because Port is a ConnectableElement) - what is the "target Interface"? One of the Interfaces port.type is implementing? Or one of the Interfaces in port.provided? - what are the Operations of the source Port? The Operations of the Classifier given by port.type? Or the union of all Operations of all Interfaces given by port.required and port.provided? - what does "signature compatible" mean for Interfaces?
Resolution deferred for the next RTF
Connector - inconsistencies in Constraint[4] Constraint [4] says: "[4] In a complete model, if a source Port has delegation connectors to a set of delegated target Ports, then the union of the Interfaces of these target Ports must be signature compatible with the Interface that types the source Port." There are two problems with this constraint: 1. What is "the union of the Interfaces of these target Ports"? First, it is not clear, what a "union of interfaces" is. A "union of a set of interfaces" could be an anonymous Interface which specializes all the interfaces in the set of interfaces, but this should be made clear, because "union of interfaces" is not defined somewhere else in the spec. Second, it is not clear what the Interfaces of a target Ports are. All Interfaces provided by the Classifier port.type including the Classifier port.type itself, if port.type is an Interface? Union the Interfaces in port.provided? Do we have to include the Interfaces in port.required as well? 2. What does "signature compatible" mean?
Connector - inconsistencies in Constraint[5] Constraint [5] says: "[5] An assembly connector must only be defined from a required Interface or Ports to a provided Interface or Port." There are two problems with this constraint: 1. A connector cannot be defined from or to an Interface, because Interface is not a ConnectableElement. 2. It is not clear what a "required Port" or a "provided Port" is.
Suppose that we have two composite states, nested within to two concurrent regions, which both become "complete" as part of the same "run-to-completion" step, and each of the composite states is the source for a completion transition. I.e. within this "run-to-completion" step two completion events are generated. How should these two completion events be dispatched? - Sequentially, in the same sequential order in which they have been generated. - Sequentially, but any ordering is allowed, - Concurrently. I.e. both completion transitions are considered enabled. - other ??? or any of the above Notice that completion transition may have guards, and activity, hence the firing of one of them may cause the other to become no more "enabled". Hence the above three cases may really cause different system behaviors.
Disposition: Deferred to UML 2.4 RTF
The specification says that: "The priority of joined transitions is based on the priority of the transition with the most transitively nested source state". Suppose that a join transition is has two transitions with source states at the same depth, but in two different regions. How is is established which of the two transition defines the priority of the join transition?. Notice that, depending on which transition is choosen, different other transitions might be allowed or disallowed to be fired. Some possible anwers are: - Any of the two transitions can be chosen statically. (i.e. the priority of the join transition always remains the same). - Any of the two transitions can be chosen, and the choice truly, completely nondeterministic (hence possibly dynamic) I.e. the priority of the join transitions can change each time the join transition is fired.
Disposition: Deferred to UML 2.4 RTF
In section 11.5.1 (DataType) the first association is specified as: ownedAttribute: Attribute[*] The Attributes owned by the DataType. This is out of date: the class Attribute has been replaced by Property, though the association name is OK referring to 'Attribute'. This is reflected in the diagram above that text (Fig 86). Proposed resolution: Replace the above text with: ownedAttribute: Property[*] The Properties owned by the DataType.
Fixed by resolution to issue 6596 Disposition: Closed, no change
For the "simple time model" in CommonBehavior, it is unclear when the DurationObservationAction and TimeObservationAction would be executed. For one, it is not stated when these actions are executed. I assume that when the execution of the model reaches the point of the attached model elements, then these actions are executed. Several problems: (i) It is unclear what determines when these actions are executed. If the actions are embedded in a sequence of actions, where control flow indicates when they execute, what is the meaning of the association to a named element? If that named element is reached later in the execution, does the execution wait? If it is reached earlier, does that element have to wait until the action sequence is enabled? (ii) There should be some constraint on the "NamedElements" associated with TimeExpression that limits those to elements that can be enountered during execution, as these elements appear to determine when these actions are evaluated. There is a tension between these actions being embedded in a sequence of actions where their execution is determined by the control and data flow, and the associated "NamedElements" that would determine the observation of time also. Normally, actions are used within a sequence of actions (an activity). These two actions are different in that they seem to make no sense within an activity due to that they have very special invocation points. They seem to only make sense as stand-alone elements. Maybe it should not be an action, but some other model element, that should dictate how time and duration are observed.
A proper resolution of this issue depends on changes in progress with respect to the action and activity model. In addition, a more encompassing improvement of the “simple time model” and related concepts is required.
The Notation sections for TimeObservation and DurationObservation seem inadequate: 1. The syntax for TimeObservation only allows "now" as a TimeExpression, but indicates in the previous sentence that more complex expressions are possible. 2. The syntax for DurationObservation includes the unexplained non-terminal symbol "duration". 3. In the example, figure 321, there are no associations to named elements shown. I assume that these refer to the begin and end of the arrow, but that is not indicated.
A proper resolution of this issue depends on changes in progress with respect to the action and activity model. In addition, a more encompassing improvement of the “simple time model” and related concepts is required.
There is large overlap between structural features and variables. For example, examine the structural features actions and compare them to variable action. Upon study, one will discover that structural features and variables have much more in common. In fact, the following equation seems to hold: StructuralFeature = Variable + Feature That is: a variable denotes a location able to hold an instance. A structural feature is a feature of an object and denotes a location ale to hold an instance. Therefore, I suggest that StructuralFeature be made a subtype of Variable. In the infrastructure, variable would have no interpretation, other than being an abstract metaclass indicating the ability to hold a value. In the superstructure, variable is concrete as described in Activities. Not only would this allow to eliminate the duplication of actions related to accessing variables, but also, other duplications (as, e.g., with respect to their being connectable elements and the related explanations) could be avoided.
This is indeed the case but the issue needs to be addressed in greater depth since it is at the core of the semantics of UML, and is out of scope of an FTF. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
There is an inconsistency in the action model between actions for StructuralFeatures in general, and actions operating on links. The family of structural feature action, such as WriteStructuralFeatureAction, are defined for any kind of structural feature. Consequentially, these actions can manipulate values that are not due to attributes or assication ends (both special cases of Property) but of any kind of StructuralFeature. However, actions defined for links can only operate on links that are due to associations in the model. This because LinkEnd is identified through the association to a Property (named "end"). However, there are other links in the model, such as those due to Connectors. To make these consistent, one either should limit the structural feature actions to apply to Properties (rather than StructuralFeatures), or one should generalize the link actions to apply to liks identified by any StructuralFeature, not just to links identified by Properties. This difference in generality does, of course, not matter for the UML as defined, but it could hamper the deployment of actions to profiles that define other kinds of links. (This is, luckily, not a problem for links due to Connectors, as we can argue that for links due to connectors that are not explicitly typed, these are identified by the ends of the derived associations.)
Two comments on the issue text: "there are other links in the model, such as those due to Connectors". The links established due to connectors are just links any other (link = an instance of an association). "or one should generalize the link actions to apply to liks identified by any StructuralFeature". Links cannot be identified by structural features that are not association ends, because there are no links in that case. In separate discussion with the filer, there was concern that structural feature were not well enough defined to have actions defined on them. Structural feature inherits from TypedElement, which provides a way to map to instances of a type, as explained in the entry for Kernel::TypedElement. The structural feature actions provide the results of this mapping, as explained in the semantics of StructuralFeature. The filer would like this issue held for further discussion.
The metaattribute isReadOnly is defined both for StructuralFeature and its subclass Property. Clearly, one or the other is incorrect. This, I believe, points to an unclarity in what StructuralFeatures are, as opposed to Property. By definition, StructuralFeatures denote values that are held in slots of an object. I believe that the intuition behind Property is that a property denotes a value that might be added, modified, or deleted during the course of the lifetime of a system. This is exemplified in the two variants of property: attribute and association end. As "isReadOnly" has to do with limiting the modification of the value, it is best placed on Property, assuming this intuition is correct. This intuition is substantiated by that Port is not a property but a structural feature, and ports cannot be modified, changed, or assigned to. (Note that if this intuition is not correct, the difference between Property and StructuralFeature needs to be clarified.) A consequence of this is also that one needs to clarify the set of actions that apply to StructuralFeatures (e.g., WriteStructuralFeatureAction). If it is Properties that are modified, etc., then these actions should really apply to properties, not structural features in general. Again, this change is consistent, as none of these actions makes sense for Ports. Further, for links the actions are already limited to properties (see LinkEndData). An issue regarding the inconsistency between actions applying to structural features and actions applying to links has been submitted and should be dealt with consistently.
Disposition: Deferred to UML 2.4 RTF
Property defines an association "datatype". This association is redundant for the following reasons: (i) A DataType is a kind of classifier, so saying that a property can be owned by a DataType adds nothing new. (ii) as feature, one can navigate from the property to the featuringClassifier, and so the navigability to an owning data type is already given. Moreover, an association to a data type would be incorrect if the property would otherwise be owned by a different Classifier. Moreover, if this property is owned by a classifier, there is no guarantee that the datatype association references the same DataType. There are no consistency constraints. Anyway, this association is redundant, can possibly lead to inconsistent models, and should be deleted. The last sentence on p.92 "A property may be owned by and in the namespace of a datatype." is correct even if the association is deleted. However, this sentence adds no new information either and is best deleted also.
Disposition: Deferred to UML 2.4 RTF
In the manner of representing the relationship between BehavioralFeature and Parameter the infrastructure imposes either a limit on the nature of parameters on modeling languages reusing the infrastructure or forces them to duplicate this mechanism. The infrastructure decided to represent as concrete associations the kinds of parameters, and distinguishes two: returnResult and formalParameter. The parameter association is then derived as a union of these. However, there may be a large number of parameter kinds. For example, the superstructure defines four, and one can easily imagine additional ones. To be more reusable and expandable, parameter should be characterized by its kind (does it return a result, is it a formal parameter). Note that this is, in reality, a property of the parameter, not of the relation between BehavioralFeature and Parameter and thus is modeled better this way anyway. Define an attribute "direction" on Parameter of type "ParameterDirectionKind". In infrastructure give it two values: in, and returnResult. This type can be extended in other languages, e.g., the UML uses also out, and inout). Make BehavioralFeature.parameter concrete. Make the formalParameter and returnResult associations derived from the direction attribute of each parameter. The result is the identical model, but much more reusable. Note that the superstructure was forced to introduce both mechanisms, thus running into the risk of inconsistencies, if the two mechanisms do not match up. There is no negative impact on the infrastructure of relying on the more reusable option proposed here. The number of model elements stored in the repository is identical for infrastructure, and lower for superstructure.
This is a fixed by the resolution to issue 7344. BehavioralFeature no longer separates returnResult and formalParameter. It has BehavioralFeature::ownedParameter and Parameter has direction:ParameterDirectionKind. Disposition: Closed, no change
Could you describe in details the meaning of the example described in Figure 133, because it could very useful to understand the deployment specification concept. Moreover, is there anything lacking in figure 134? It contains no model element with the <<deployment specification>> stereotype.
Figure 133 (page 214, ptc/04-10-02; same as Figure 10.11, page 199, formal/05-07-04) is not discussed in or referenced by the text, and as pointed out by the issue, the figure caption does not provide any clue has to how the figure assists understanding of the text. It seems to be meant merely as an example of what the specification level (left box) and instance level (right box) look like. A simple reference to the figure from the text should help clarify the role of the figure. The point of Figure 134 is to show how a DeploymentSpecification instance is associated with the Artifact(s) it describes. The figure seems to accomplish this goal without the necessity of a “model element with the <<deployment specification>> stereotype”. The issue text does not say why such an addition would be helpful, and the figure seems to accomplish its goal as is. No change seems needed. Note that the first sentence of DeploymentSpecification’s Notation subsection is poorly formed: “A DeploymentSpecification is graphically displayed as a classifier rectangle that is attached to a component artifact that is deployed on a container using a regular dependency notation is used.”
The section on connectors in the component chapter does not add any new functionality to the connectors defined in internal structure. It does provide an additional notation for assembly connectors. There is no reason to have this section in components. Everything that is said semantically about connectors here applies equally to the more general connector. Suggestion: Do not subtype connector in component but move the content of this section to the connector section in internal structure and merge with the section there. Adjust the examples to apply to structured classifiers in general (i.e., delete the component symbol). Further, the ConnectorKind should be derived as it is determined by the manner in which the connector is attached to connectable elements. Deriving this connector ensures that constraints are always true and allows to do away with some consistency constraints. (Actually, it is not clear what the value of this attribute is, as it is already determined from the attachments.) Alternatively, if the presentation option is not in general desired (albeit I cannot see why this additional consistency would not be wanted), the text can be moved up but the presentation option can be added in this section.
The surface notation for state machines allows to show, on the line representing a transition, certain key actions that will be performed by the behavior associated with the transition. This is straightforward, when the behavior is an activity (as those actions can be referenced). However, for any other behavior, e.g., an opaque behavior, we need a method of (in the metamodel) show that this behavior does contain certain actions. Note that this should not give an alternative way of defining sequences of actions; rather, this should merely state that this behavior will contain the exhibited actions but it may contain many more. Those actions would merely give a means of representing the graphical constructs in the metamodel
Disposition: Deferred to UML 2.4 RTF
p.330, Figure 247. This example is useless, as it canot be understood without much detail on the FFT computation. It would be better to use examples that readers can readily understand.
The issue is subjective. Some readers might find the example helpful. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Interactions model sequences of events. The metaclass EventOccurrence represents the occurrence of an event. Currently, there are the following kinds of events known: i. sending of a message ii. receiving of a message iii. start of the execution of a behavior iv. finish of the execution of a behavior v. stop First, clearly, there could be many more events that one might want to represent on a lifeline. In particular, the invocation of an action is a possible event, and should be allowed to be represented. Secondly, event occurrence is modeled poorly. It is shown as a kind of message end, which means that every event occurrence inherits the notion of being a message end point, even if the event has nothing to do with a message (such as a stop event). Clearly the inheritance hierarchy is inverted. A message end can represent an event occurrence (such as the sending or receiving of a message). But not every event occurrence is a message event.
Resolution deferred for the next RTF
Sequence diagrams are often used to describe abstract system behavior in the form of the interaction of the system with its environment. Experience has shown that systems have normal behavior and exceptional behavior (in response to unusual or unexpected events). UML2 has introduced a mechanism of representing exceptions. However, interactions do not give us a vehicle of showing exceptional behavior. Recommendation: add an interaction fragment indicating exceptional handling similar to the way this is done in the activity chapter.
Indeed. However, this is a feature request that is outside the scope of an FTF. Exception handling would be good to have also in sequence diagrams. However, judging from work done in the UML Testing Profile, and from the Master thesis of a student from University of Oslo, it is not as simple to include as implied in this suggestion. Introducing another operator for a combined fragment is hardly enough, but may be part of the final solution. Disposition: Closed, no change
UML2 has added the capability of dealing with exceptional behavior. Exception handling can occur at various levels of the model. Unfortunately, the exception handling mechanism has not been systematically developed. Any kind of behavior should support the mechanism of catching and handling an exception that was raised somewhere within that behavior. Unfortunately, currently only activities allow for this. Similar capabilities should be available for interactions and statemachines, and even for use cases. Recommendation: Provide exception handling for all behaviors.
Disposition: Deferred to UML 2.4 RTF
The text says that a non-navigable end of an association class is an attribute of that association class. "When a property is owned by a class it represents an attribute." [7.11.4] "AssociationClass is both an Association and a Class." [7.16.1] "When a property is owned by an association it represents a non-navigable end of the association." [7.11.2] This is good, is as expected, and is consistent with both the object and the relational theories of modelling. It is said that the drawings tell a different story. If so, they should be corrected. There is no practical advantage to requiring that the non-navigable ends of an association class are not attributes of that class. On the contrary, such a requirement is unexpected and will be confusing.
Disposition: Deferred to UML 2.4 RTF
"[C]omplying with a package requires complying with its abstract syntax, well-formedness rules, semantics, notation and XMI schema," [2] but there is no XMI schema. "It is expected that the normative XMI for this specification will be generated by a Finalization Task Force, which will architectually align and finalize the relevant specifications." [Appendix F] That is consistent with the OMG Document Archives, which show: ad/03-04-02: XMI for U2 Partners' UML 2.0: Superstructure, 3rd. revision (Contact: Mr. Cris Kobryn) No description of this document is available. Formats: Note: Not yet available. An XMI schema should be supplied, or the requirement to comply with an XMI schema should be removed.
Resolution deferred for the next RTF. This is a duplicate with 3898. Disposition: See issue 3898 for disposition
TimeObservationAction and DurationObservationAction are described as actions, but are not really actions like the actions of the action chapter. They would never be used when defining a behavior, but are part of a metalanguage to define temporal constraints and to refer to measured times and durations in formulating such constraints. However, these two elements are the only aspects of this language, everything else is left to be defined later (see TimeExpression). Putting these two mechanisms into the specifications unduly constrains any profile that would want to define a notation for expressing temporal constraints. Such a language might not see a need to use the actions described in this chapter. My recommendation is to find a different way of expressing time observations and duration observations in the metamodel. The syntax examples clearly show that they are not meant to be used within an activity as actions. Note that the only way to use these observations is to create a "fake" activity attached to the interaction (e.g., as a nestedClassifier) which contains only this action. A rather convoluted and heavy-weight means of expressing the simple concept of "NOW" (as the point in time when some model element is executed). A simpler mechanism is clearly needed.
A proper resolution of this issue depends on changes in progress with respect to the action and activity model. In addition, a more encompassing improvement of the “simple time model” and related concepts is required.
The specification is fond of using 'typically.' The term should be use with care in a specification. Typically, 'must' or 'may' are better choices. For example, at 7.4.1 p.42: The multiplicity bounds are typically shown in the format: lower-bound..upper-bound It will be better to write: The multiplicity bounds are shown in the format: lower-bound..upper-bound simply deleting 'typically.' (In this case, the syntax specification should show the case when the two bounds are equal.)
This is indeed a valid issue, since the term typically (sorry!) leads to confusion and ambiguity that should not be encountered in a spec. Unfrotunately, there are 72 uses of this term in the current spec and each one would have to be reviewed individually. This does not seem feasible in the short time left for the work of this FTF. Therefore, it is work that should be picked up by a subsequent RTF.======================The discussion associated with the resolution to issue 6456 equally applies here (except that there are 71 uses of this term and its derivatives – still a very large number). Disposition: Closed, no change
As I was reading through the text of issue 6114 it dawned on me that there is a needless and problematic coupling between state machines and activities. Namely, in figure 187, there is an association from ObjectNode to State, presumably to deal with the old "object in state" idea. This is similar to the coupling that was attempted but rejected in the Interactions chapter. While it may look attractive to have a formal link to the idea of State from state machines, there are two serious problems that make this much more trouble than it's worth: (1) The notion of "object state" -- as seen by users/manipulators of that object -- could be completely different from the implementation state of that object. This is the old principle of hiding implementation. Viewed from the outside, an invoice object may be in the "Paid" state, but this does not necessarily mean that the object has such a state in its implementation. In fact, there is no guarantee that the implementation will be based on state machines at all. Of course, you can say that this is a reference to some kind of external state machine view of an object -- which sounds reasonable, but here is where the second problem comes in: (2) State in the UML 2.0 spec comes with a sh..load of baggage: in effect, the whole state machine kit and caboodle. It's not very modular, and, unless you use profiles to shear away all the stuff that you don't want (which is about 99% of state machines machinery), you will force vendors who innocently just want to support the simple idea of "object in state" to implement all of state machines. Like I say, the feature doesn't look worth it. Let your State concept be a simple name. My guess is that most users who want to use this feature don't even want to know what a state machine is (the concept of states is not necessarily linked to state machines!). So, my suggestion is that in figure 187, you simply provide a subclass of ObjectNode called ObjectInState and give it a "stateName" attribute and you will get what 95% of your users want. Tying state machines to activities for that one little feature seems overkill.
This is deferred for the same reasons as 6114. Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
b) More worryingly, 18.3.5 Semantics also says "As part of a profile, it is not possible to have an association between two stereotypes or between a stereotype and a metaclass unless they are subsets of existing associations in the reference metamodel." I fail to see how a profile could in fact could cause an association between 2 stereotypes to subset an existing association in a reference metamodel since the stereotypes do not at all inherit from the baseClasses so do not inherit any of its properties or associations in order to be able to subset them: this is emphasized by the MOF representation shown in the new Figure 447. --- Indeed profiles do not support association subsetting. This should be made clear in the spec to avoid any confusion while using profiles. . Discussion In Profiles:Profile:semantics, change the paragraph As part of a profile, it is not possible to have an association between two stereotypes or between a stereotype and a metaclass unless they are subsets of existing associations in the reference metamodel. Into As part of a profile, it is not possible to have an association between two stereotypes or between a stereotype and a metaclass.
18.3.5 says that "A profile by definition extends a reference metamodel or another profile." While in theory I could see how it might be modeled, I don't see how the latter could work in practice with real tools. Let's extend the current example and define a new Profile called ClockTechnology with Stereotype AtomicClock with baseClass Clock and property radioactiveElement:String..." --- Import between profiles is supported, and stereotype generalization is the usual way to achieve what has been called "extending a profile". The reference to profile extension should be simply discarded. A profile extends a reference metamodel. . Discussion In Profiles:Profile:semantics, change the first sentence A profile by definition extends a reference metamodel or another profile. Into A profile by definition extends a reference metamodel.
In Profiles:Profile:semantics, change the first sentence A profile by definition extends a reference metamodel or another profile. Into A profile by definition extends a reference metamodel. Here also, the suggested change has been already made. This issue is obsolete (already solved). Disposition: Closed, no change
Move Comment into Basic and add Kind The ability to annotate and describe elements and diagrams is pretty fundamental so should be included in Basic. There should also be the recognition that there are different kinds of comment: for example most tools have a dialog allowing people to enter a Description for an Element; and separately may allow the element to be annotated on diagrams in a particular context. At the moment there is no way to distinguish these. The UML Metamodel itself is an example of the need for different kinds of Comment: each Class has a number of distinct sections (e.g. Description, Semantics, Notation). Hence there should be a 'kind' attribute on Comment to reflect this.
Resolution Changes to Infrastructure: Remove the class Comment and the association Element::ownedComment from Figure 71 and add to Figure 65 Move Section 11.1.1 Comment to 10.1.1 and renumber the following sections in sections 11.1 and 10.1
This issue applies to Infrastructure, Superstructure and MOF In the XMI for Superstructure for example (in OMG document ad/03-04-02), while this does use the nsuri for MOF (using the correct form xmlns:cmof="http:///schema.omg.org/spec/mof/2.0/cmof.xmi) it does not contain any XMI tags to define for UML what its nsuri and prefix should be: which are needed in order to generate the UML xsd. Neither does the XMI for the MOF Core itself contain an XMI tag to define that the nsuri and prefix should be as just quoted. In any case these important values should be included in the specification documents as well as being buried in tags in the XMI files.
UML uses Element to mean any Element in a Model, which is inherently something that has an identity separate from its value: this even includes elements such as ValueSpecification. MOF uses Object for such a thing, and uses Element to represent any value: specifically when used to declare parameters in Reflection then Element is used to represent both 'Objects' and plain data values (such as integers or strings) used as property or parameter values. Object inherits from Element. Proposed resolution: MOF should swap the names of Object and Element: this makes it consistent with UML and with languages such as Java where java.lang.object can represent data values.
have a general problem with the UML 2.0 specification. A graphical modelling language is essential for succesful software development. However the more I read about UML 2.0 the more I had the impression that UML 2.0 has not been developed with actual real-world software development in mind. Just to give one highlight of UML 2.0 is the merge relation between packages: The relation leads to bad designs and incomprehensible software systems, e.g. like like badly designed inheritance hierarchies etc. Especially consider the following case: a trifle change in the diagram (change the merge relationship into e.g. an access relationship) causes a tremendous amount of changes on the code and the configuration level. The only way to handle this is to forbid the merge relationship and to hope that nobody is blind enough to actually use it. Reading the manual, I stumbled over numerous similar issues. I'm sorry to say but I'm very disappointed with UML 2.0 as it is
One can argue for and against the thesis in this issue. However, it is, in essence, a critique that does not really indicate how the problem is to be fixed other than to redo all of UML 2.0 from the beginning. Since that falls outside the scope of an RTF and also of reality, this issue will be closed with no changes made. Disposition: Closed, no change
2nd paragraph in Stereotype Semantics does not have proper cross-references to the figures and hence they have not been updated as other figures have been inserted. The para currently reads: An instance "S" of Stereotype is a kind of (meta) class. Relating it to a metaclass "C" from the reference metamodel (typically UML) using an "Extension" (which is a specific kind of association), signifies that model elements of type C can be extended by an instance of "S" (see example Figure 454). At the model level (such as in Figure 457) instances of "S" are related to "C" model elements (instances of "C") by links (occurrences of the association/extension from "S’ to "C"). But the 2 references should be to Figure 456 and Figure 461 respectively.
The usage of isComposite varies in these two specs as detailed below. Hope this proves useful. Rob ------- UML 2.0 ------- The UML 2.0 Infrastructure spec (03-09-15) section 10.2.4 defines Basic::Property::isComposite as follows: -- isComposite : Boolean If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute. The default value is false. i.e. an attribute marked "isComposite" is the container for the value. -- However, Constructs::Property (which inherits Basic::Property) has the following constraint: [3] A multiplicity of a composite aggregation must not have an upper bound greater than 1. isComposite implies (upperBound()->isEmpty() or upperBound() <= 1) This is surely intended to mean that an object can have [0..1] containers, rather than (as defined by the two definitions above) that a container can store [0..1] instances in each composite property. The difficulty seems to be one of terminology - from the perspective of a property, being composite implies the property is composite, ie. contains zero or more objects, while from the perspective of an object, the composite of an object could be viewed as a container. The problem can be fixed by redefining the constraint something like: [3] If a property has isComposite==true, than if the property has an opposite, that opposite property must have an upper bound greater than 1. isComposite implies (opposite == null) or (opposite.upperBound()->isEmpty() or opposite.upperBound() <= 1). In 11.3.1 - Association, "Composition is represented by the isComposite attribute on the part end of the association being set to true." - again this is the opposite sense. This is also indicates that there is a degree of complexity implementing MOF::Reflection::Object::container() - there is actually no property for which this is a simple test. Instead, it is necessary to find a property of the object such that the opposite property is marked isComposite, there is no guarantee such a property is accessible, hence an implementation must, in some cases, store a separate (hidden) reference to the object's container. This is an implementation property however. The other alternative I can see would be to replace isComposite on the container object with isContainer on the contained object, or even to have both (with an appropriate constraint to guarantee that the two properties are consistent). --------- MOF 2.0 --------- The same problem manifests in the definition of CMOF abstract semantics. In section 15.2, ClassInstance includes the following definition: 2. At most one Slot for an isComposite property may have a value. (this needs more work if the owner reference is not navigable) Using the current definition of isComposite, this needs to be restated to the effect that at most one slot for a property that is the opposite of an isComposite property may have a value. And again, in the specification of DataType... For all properties, isReadOnly is true, isComposite is false, isDerivedUnion is false Surely this is not correct - a data type may contain other datatypes, which by definition are stored by value, implying strong ownership, and hence a composition relationship. Indeed, any classifier containing a property whose value is a data type should always have isComposite set to true. In 15.4, Object::delete() seems to use isComposite correctly given the definition. Later, however, Object::owningProperty() uses the other approach - using isComposite() to identify the container of the current object.
Disposition: Deferred to UML 2.4 RTF
On Figure 13, DataType::ownedAttribute is specified as ordered but in the associations section on page 59, it is not specified as ordered.
On Figure 13, DataType::ownedAttribute is specified as ordered but in the associations section on page 59, it is not specified as ordered.
Notation for a primitive type should be <<primitiveType>> instead of <<primitive>>. That's more consistent to the general usage of keywords that they are identical to the metaclass name
This argument may be valid, but the impact of making this change at this point when tools have been released and books have been published based on the old notation, it simply does not seem to be worth the disruption that it would cause. Disposition: Closed, no change
In my opinion, the sentence "When a language is reflective, there is no need to define another language to specify its semantics." is false. Any natural language is reflective. However, just take a dictionary of a language that you don't know, you will not understand anything. In fact, the semantics of UML is described in english, not in UML, which explains that you can understand the metamodel.
The submitter raises a philosophical point that may be valid and is certainly debatable. However, the quoted statement was in the specific context of the explanation of the 4- layer model, where it was used to justify why the architecture stops the potentially infinite succession of metalevels at M3. However, the text itself can be modified to avoid making a statement that can be misunderstood as being a general statement.
I see a problem in the definition of the InstanceSpecification of a new primitive like Real. The value is specified by a ValueSpecification. The UML metamodel of ValueSpecifications reflects the predefined primitive types of UML: LiteralInteger, LiteralString, and so on. This is an indirect dependency from the Kernel package to the AuxiliaryConstructs package. That dependency direction shouldn't be allowed. How to specify a value specification for a primitive type Real? I think that we need LiteralReal to do that.
My question concerns section 2.10.4.1 (detailed semantics of collaborations). The last part of the 4th paragraph starts as follows: "However, instances of different classifiers can play the role defined by the classifier role, as long as they have all the required properties." Allow me to illustrate my interpretation of this section by means of an example. Suppose there is a class A with 5 operations, o1, o2, o3, o4 and o5, and there is a class B with 3 operations, identical to o2, o3 and o4. Suppose there is a classifier role R in a collaboration, which has A as its base. The role can then specify a subset of the features of A. These features are then required by instances which play the role. Suppose this subset consists of o2 and o3. Then the quote from the spec above claims that instances of B are allowed to play role R. Is this correct so far? Then, the spec goes on: "Several classifier roles may have the same base classifier, even in the same collaboration, but their features and contained elements may be different subsets of the features and contained elements of the classifier. These classifier roles specify different roles played by (possibly different) instances of the same classifier." So, considering again role R from my example, suppose there is now a different classifier role Q, which also has A as its base. Suppose Q specifies o3 and o4 as the required subset of A's features. Now the last sentence from the spec quote seems to say that only (possibly different) instances of A can play roles R and Q. This would mean that an instance of B is NOT allowed to play either R or Q, which would contradict my example above.
This issue appears to be against UML 1.x, as the semantics of collaboration does not contain the cited passages and it relies on concepts that have been removed in UML 2.0. Collaborations have been clarified significantly in UML 2.0; the author of this issue is invited to check whether his concern still exists. Disposition: Closed, no change
The OCL for the derivation of association /opposite for Property in section 7.3.44, page 126 is incorrect. It's derivation in section "Constraints" on page 126 as given as follows: [1] If this property is owned by a class, associated with a binary association, and the other end of the association is also owned by a class, then opposite gives the other end. opposite = if owningAssociation->notEmpty() and association.memberEnd->size() = 2 then let otherEnd = (association.memberEnd - self)->any() in if otherEnd.owningAssociation->notEmpty() then otherEnd else Set{} endif else Set {} endif I think that the prose "this property is owned by a class" should translate into "class" and not "owningAssociation" in the above OCL. In other words, the prose does not agree with the OCL. So contraint [1] for opposite should read opposite = if class->notEmpty() and ... let ... in if otherEnd.class -> notEmpty() then ... else Set {} endif
In the description of the Graphic Paths for a Communication Diagram I can find no mention of what the lines between the Lifelines correspond to - although I did find this in the description of Message: "On Communication Diagrams, the Messages are decorated by a small arrow along the connector close to the Message name and sequence number in the direction of the Message." I assume this means that the lines correspond to a Connector model element. The Graphic Paths section should be updated to include this information and justification added as to why a Connector is needed in order for Messages to be shown between two lifelines on a Communication Diagram (this seems an overly tight constraint to me).
The line between two lifelines of a Communication Diagram is merely a placeholder for the set of message identifiers (including sequence numbers) for messages between these lifelines. Messages are also in sequence diagrams associated with connectors (optionally), and there is no difference for Communication Diagrams. On your resolution; I understand that this graphic path is not associated to a connector but I found the use of the term "connector" in the description confusing and I think it should be replaced. I also think that the graphic paths section for any diagram should include all graphic paths, even if they don't represent abstract syntax elements.
Basic Interactions includes SendOperationEvent whose superclass is MessageEvent, which is in CommonBehaviors::Communications. The problem is that the Basic Interactions package is in Level 1, but CommonBehaviors::Communications is in Level 2. The same is true for SendSignalEvent. In fact Event itself is also in Communications so there's a problem with the whole set of Event subtypes defined in BasicInteractions. Also BasicActions::SendSignalAction references Communications::Signal
Alternative entry and exit point notation is ambiguous. It is not clear if it relates to an entry point or to an exit point.
Disposition: Deferred to UML 2.4 RTF
The resolution to 7623 said to replace all «import» by «merge» in Infrastructure Figure 70. These changes should be reversed because they result in InfrastructureLibrary both defining and being defined by package merge making it very difficult to implement UML2. Any implementation would have to do these merges by hand in order to have an implementation of Constructs that could be used to implement package merge, EMOF CMOF, or any other UML2 compliance level.
Before 7623, InfrastructureLibrary defined, but did not use package merge. Packages in Abstractions were only imported into Basic and Constructs. And because neither Basic nor Constructs actually referred to anything in Abstractions, these imports had no consequence one way or the other. They had no effect on the merge, and no effect on XMI and/or XSD generation for either MOF2 or UML2. However, changing them to merges, and modifying Constructs so a merge is required to make it complete changes things. In order to actually do the package merges resulting from 7623, and to generate the XMI and XSD for EMOF, CMOF, and all of the UML2 compliance levels, Abstractions must be cleaned up. That is, all of the extraneous superclasses have to be removed, the proper superclasses from dependent packages have to be added in order for all references to be resolved before the merge, and any other errors that may be in Abstractions will need to be corrected. The full extent of the required changes cannot be known until the merges are actually attempted. Both the Superstructure and MOF/Infra FTFs have agreed to defer Abstractions issues. Therefore, the resolution to issue 7623 should be amended so that Abstractions is not merged into Constructs, and therefore any issues resulting from these merges can be deferred. As a result, Abstractions will remain more decoupled from the rest of MOF2 and UML2 making it easier to address the deferred issues in an RTF. The "import"s that were in Figure 70 are not actually necessary. These are left over from the old definition of package merge which required the imports in order to make the imported metaclasses visible for subclassing by their corresponding merging classes. The new definition of package merge eliminates this subclassing and therefore the need to retain imports to merged packages. As a result, there are actually no dependencies between the Abstractions packages, Basic, and/or Constructs. However, it is still useful to indicate how Basic and Constructs were derived, and how they relate to Abstractions packages that contributed to their definition. This issue was resolved on a previous ballot. Changes are already in the Infra spec. Disposition: Closed, no change
The resolution to Issue 7782 (Move Comment from Constructs to Basic) removed Comment from Constructs. For consistency with the rest of Constructs (which included everything else reused from Basic), the resolution should not have removed Comment from Constructs, it should have just copied Comment into Basic.
TimeObservationAction is a specialized WriteStructuralFeatureAction. An observed time value must be written into a structural feature. If modeling activities with that kind of action it would be useful to be able to write the time value to a variable instead of a structural feature. The time value is often used temporarily
The allOwnedElements query (defined in Core::Abstractions::Ownerships) operates by recursing downward through the ownership hierarchy. Its OCL implementation looks like this: Element::allOwnedElements(): Set(Element); allOwnedElements = ownedElement->union(ownedElement->collect(e | e.allOwnedElements())) In the absence of sophisticated optimization, this query is only guaranteed to terminate if the ownership hierarchy is non-circular. The ownership hierarchy is guaranteed to be circular by constraint [1] (An element may not directly or indirectly own itself). But the OCL description of constraint [1] is written in terms of the allOwnedElements() query: not self.allOwnedElements()->includes(self) If a modeling tool were to be written based on these rules in a straightforward way, it would never be able to detect a violation of constraint [1]. Instead it would go into infinite recursion while trying to check the constraint. Proposed solution: Add the following operation to 9.14.1: [3] The query isCircularlyOwned walks the chain of direct and indirect owners of an element, checking whether the chain contains any circularities, or any of the elements in the set prohibitedElements. Element::isCircularlyOwned(prohibitedElements: Set(Element)): Boolean; isCircularlyOwned = if owner->isEmpty() then false else if prohibitedElements->including(self)->includes(owner) then true else owner.isCircularlyOwned(prohibitedElements->including(self)) And change constraint [1] to: [1] An element may not be directly or indirectly owned by itself. not self.isCircularlyOwned(Set{})
Minor error in BNF of an message argument: Instead <argument> ::= (<[parameter-name> ‘=’] write <argument> ::= ([<parameter-name> ‘=’]
The updated UML spec p162 states: "UML Superstructure 2.0 Draft Adopted Specification A port of a classifier is shown as a small square symbol. The name of the port is placed near the square symbol. If the port symbol is placed overlapping the boundary of the rectangle symbol denoting that classifier this port is exposed (i.e., its visibility is public). If the port is shown inside the rectangle symbol, then the port is hidden and its visibility is as specified (it is protected by default)." This text was supposed to be removed by the FTF -- the placement of the port is independent of its visibility. Port placement is merely a question of graphical convenience. Their visibility is indicated by the usual means as for all other properties (+, -, and #).
It has come to my attention that the removal of the ReduceAction (fair enough) requires the use of a variable (a very bad idea) to construct an alternative specification. To do something like Reduce(<data expression>, Add) in UML 1.5, you would have to say: - An activity/structure node with variable Sum. - The expansion region takes the collection as input and has no output. In this case, the output collection will have only one element in it. - In the region, edges coming from/going to the inputs/outputs take elements from the input collections and put elements in the output collections. - The region uses CallOperationAction with operation timeofLastCall to get the time and CallBehaviorAction on the (primitive) FunctionBehavior for addition and updates the variable. - After the region is complete, the variable has the sum in it. The 1.5 Action Model included variables so that those who "needed" them could have them. However, the introduction of variables changes the static-single-assignemnt nature of the language and would now require data-flow analysis of a developer model to work out what is happening. Before all we had to do was scan for Variable Actions and reject the developer model so proposed. In other words, those of us in the translation business did not need variables, and we could ignore those models that used them. Now we're stuck. Topic: ReduceAction UML 1.5 had ReduceAction, which repeatedly applied a function pairwise to elements of a collection until only only element is left. It did not constrain order or concurrency of application. It was replaced with ExpansionRegion UML 2, which requires commitment to order and concurrency.
... of an object. (missing period) ... destruction of the instance -> of the object ... that this instanceowns -> instance owns
The issue is in principle trivial as the suggestions are meant to be editorial. However, implicitly the question of using “instance” or “object” sneaks in here. Neither in the Interactions chapter nor in other chapters is the distinction well established. I have decided here to propose an editorial change that use “object” whenever we are talking about an instance of a class, and that is what we are doing here.
... needs not be the whole -> need not be
The suggested editorial change is incorrect English. Disposition: Closed, no change
... <interactionconstraint> -> <InteractionConstraint> ... in Figure 335 -> Figure 335 or 352
... and InteractionOperand represent -> represents
Bottom of page: Node type "Stop" should be "Destruction event"
According to Figure 401, an Extend object references at least one ExtensionPoint which itself must be owned by exactly one UseCase.
Therefore it seems that the Extend.extendedCase property is redundant and should be derived.
Also the section for ExtensionPoint does not include the useCase property shown in Figure 401, which itself does not show the {subset}.
Proposed resolution
-----------------------------
1) Update Figure 401 to replace +extendedCase by +/extendedCase
2) Update Figure 401 to replace +useCase by +useCase {subsets owner}.
3) Section 16.3.3 Extend: update the Associations section to replace:
extendedCase : UseCase [1] References the use case that is being extended. (Specializes DirectedRelationship.target.)
by
/extendedCase : UseCase [1] References the use case that is being extended: this is derived as the Use case that owns the ExtensionPoint(s). (Specializes DirectedRelationship.target.) in OCL: extendedCase = self.extensionLocation->useCase
4) Section 16.3.4 ExtensionPoint update the Associations section to replace:
No additional associations
by
useCase: UseCase [1] References the use case that owns the ExtensionPoint. (subsets owner.)
Disposition: Deferred to UML 2.4 RTF
Presentation Options: Add after first sentence: "State symbols may optionally be used to describe a Constraint" "The regions represent the orthogonal regions of states" - delete this. The identifier need -> The name of the state need
StateInvariants/Continuations: add to figure a Continuation (e.g. Idle) that spans :Y and an additional lifeline :X
Add concept "StateInvariant" in figure, with arrows to "mystate" and "{Y.p == 15}"
This is a significant issue with the Superstructure, Classes chapter, PowerTypes package, impacting implementability and consistency between products at different levels of conformance to UML 2. I propose to simplify the abstract syntax to specify a one way arrow navigating a one-many metassociation from GeneralizationSet to Generalizations that belong to that set. The problem here is very much the same as the problem with dependency, but in a different part of the metamodel. Figure 18, The contents of PowerTypes package shows a many-many navigable association between GeneralizationSet.generalization and Generalization.generalizationSet. Problems with this: 1. only 1-way navigation is desired. As toolvendor I don't want to update the Generalization to have any info wrt what if any GeneralizationSets it belongs to. As a user, I do not want the generalization relationship itself, which is very simple in a UML Level 1 product, to be muddied with extra info in a UML product that goes beyond Level 1 by adding support for PowerSets. 2. only 1-many cardinality is desired. Although not navigable, a mapping from generalization to the generalization set is still provided in the metamodel, in a conceptual sense. Point 2 is consistent with thinking of the specialization classifier in the generalization as being an instance of more than one powertype, because this classifier is just a participant in the generalization, it is the generalization that we want to have a mapping to at most one powertype. The scope of the required change is limited to the text and diagram specifying this metasssociation of GeneralizationSet.
Disposition: Deferred to UML 2.4 RTF
There doe snot appear to be a way to model parameters to operations that are multi-dimensional arrays. In general, such arrays can be modeled based on qualifiers. However, this assumes that there is an association between two Classifiers. This doesn't apply to parameters. Note that Parameters are MultiplicityElements, but that only allows the modeling of single dimensions.
Disposition: Deferred to UML 2.4 RTF
Disjointness should be independent of generalization. Two classes can be disjoint, but have no common supertype. This facilitates the mapping to OWL
Disposition: Deferred to UML 2.4 RTF
Transitivity in composition: The semantics of Association say composite associations are transitive. Transitivity violates the single-owner rule for composition mentioned in the same paragraph. It also requires that the association have the same class on both ends.
Action for retrieving activity instance: There should be an action for getting the instance of the activity class currently executing, for reflective applications.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Pin/parameter matching constraints: The wording for CallAction, constraints 2 and 3 should be consistent with the wording of constraint 3 for CallBehaviorAction and CallOperationAction
Resolved by Issue 7319. Disposition: Closed, no change
Matching by order difficult to implement Matching by order of the parameters of methods and operations and pins and parameters is difficult to implement in relation database implementations.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Dependency should specialize source/target On Dependency, client and supplier should specialize source and target from DirectedRelationship. Source/target are derived unions, so can't be used otherwise
constrainedElement direction The association between Constraint and Element named "constrainedElement" is unidirectional from Constraint to Element. This means implementations are not required to provide efficient navigation from an element to the constraints on it. Since the constraints of a model element are part of the definition of that element, the required navigation should at least be from the element to the constraint.
Disposition: Deferred to UML 2.4 RTF
Specializing one association end Suppose we have a class diagram like this: <pre>
aend bend
A ----------------------------- B
^ ^
| |
| |
| |
| |
| subbend |
| {subsets bend} |
SubA -------------------------- SubB
</pre>
What metarelation is used between the lower left end and the upper left end (aend)? It is not redefined or subsetted.
There are four properties in this model (assuming the properties are owned by the class): A::bend, B::aend, SubA::subbend, and an unnamed property ::SubB (or SubB::subA by default). The subsets constraint only indicates all the elements in SubA::subbend must be contained in A::bend. There are no constraints or any other connection between properties B::aend and SubB::subA. Disposition: Closed, no change
Derived union notation Why is the semantics and notation for subsetting/redefinition in Association, while derived union is in Property?
Disposition: Deferred to UML 2.4 RTF
Association specialization semantics The semantics of Association addresses specialization. Some of this paragraph is applicable to Generalization and should be moved there. The discussion specific to association could be clearer, for example, what does "correlates positively" mean?
Disposition: Deferred to UML 2.4 RTF
End objects of a link In the semantics of AssociationClass, it says: It should be noted that in an instance of an association class, there is only one instance of the associated classifiers at each end , i.e. from the instance point of view, the multiplicity of the associations ends are "1". Two comments: - This is applicable to Association generally. - The portion after "i.e" is misleding. Instances have no multiplicity.
Disposition: Deferred to UML 2.4 RTF
Associations between interfaces The wording of the caption in Figure 56 implies that association between interfaces have implication on required and provided interfaces. My udisjoinnderstanding from mailing list discussion is that this is only an example, not a semantics. Should be clarified in the caption that this is an example of applying associations to interfaces.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Contextualized attribute values Figures 121 is an unworkable solution to defining contextualized attribute values. It requires restating all the parts and connectors in the composite class, otherwise the constructor would be incomplete. The class-based solution requires separate properties for each contextualized value with connectors to them from the contextualized property. The metamodel should be extended to include contextualized datatype properties, or at least a presentation option for the current cumbersome model (see Figure 12 and discussion in http://www.jot.fm/issues/issue_2004_11/column5
Disposition: Deferred to UML 2.4 RTF
Connector multiplicity notation The notation section of ConnectorEnd says multiplicities shown on connector lines represent the multiplicities of both the association *and* the connector: These adornments specify properties of the association typing the connector. The multiplicity indicates the number of instances that may be connected to each instance of the role on the other end. But these multiplicity can be different, and have separate elements in the metamodel.
The adornments on connector ends either specify properties of the association that types the owning connector (when that association is inferred) or it reflects properties of that association, otherwise. The multiplicity may be more specific than the multiplicity of the association typing the connector.
create dependency Figures 103 and 121 use create dependencies, which do not apply to the example. Standard stereotypes defines create for BehavioralFeature as: "Specifies that the designated feature creates an instance of the classifier to which the feature is attached. May be promoted to the Classifier containing the feature."
underlined association name Figures 120 and 121 underline the association names, which doesn't seem consistent with the notation for instances in Figure 21.
Interactions chapter refers to ActivityInvocations The Interactions chapter still refers to ActivityInvocations, which was only in an intermediate draft of the original submission. I think it should be CallBehaviorAction or CallOperationAction, not sure.
Destruction semantics in StructuredClassifier The destruction semantics in StructuredClassifier should include destruction of links created due to connectors between noncomposite properties
After further discussions with Conrad, proposing enhancements to the text on p.171 along the lines suggested by Conrad: In section 9.3.6. "Connector", subsection "Semantics", replace the last sentence of the 2nd paragraph by: "All such links corresponding to connectors are destroyed, when the containing classifier instance is destroyed." This reflects Conrad's phrasing "all links that exist only because of connectors between roles of the structured classifier". However, I use "corresponding to connectors" to match the sentence before, where we talk about the creation of links corresponding to connectors. The connectors being destroyed are precisely those connectors that we speak about in the previous sentence. I think this is clearer.
Link maintenance in StructuredClassifier The semantics of StructuredClassifier should indicate that links are created/destroyed according to connectors when objects are added/removed from the connected properties. Extend Create/Destroy/ClearLinkAction and Add/Remove/ClearStructuralFeature with boolean properties that "turn on" this semantics.
Figure 119 missing multiplicity. Figure 119 (Connectors and parts in a structure diagram) is missing a multiplicity on the right side of the connetor
The multiplicity on the right end of the connector has been purposefully elided, as defined in section 9.3.7
Need a notation for instances of the classifierBehavior metaassociation (Figure 311).
Disposition: Deferred to UML 2.4 RTF
Need a notation for instances of the specification/method metaassociation (Figure 311).
The semantics of the various read actions (ReadStructuralFeatureAction, etc) should specify that the order of the retrieved collections is preserved in the values of the output pin.
When does an action start when all its inputs are optional?
By optional inputs, the filer presumably meant that the lower multiplicity of the input pins are all zero, perhaps due to being on a CallAction for a behavior or operation with parameters that all have zero lower multiplicity. The Actions chapter only requires that values are available on the input pins up to the lower multiplicity, which intentionally leaves the case of all optional inputs open to the specialized behaviors that use actions (see InputPin in Actions). If the action is in an activity, the action can be started with a control flow (see ControlFlow). If it has no incoming control flow, and is not an exception handler body of action for an ActionPin, the action can start when the containing activity or structured node does (see InitialNode and StructuredActivityNode). Disposition: Closed, no change
done) IsReadOnly constriant Constraint on StructuralFeature::isReadOnly: if true and there is no intialization value, then the lower multiplicity must be zero.
This is overconstrained, because the default value could be set dynamically before initialization, rather than a default value. As long as this happens before initialization is over, there is no violation of multiplicity. In any case, UML doesn't enforce when constraints are evaluated or inconsistencies repaired. Disposition: Closed, no change
Clarify the "owns" language in DestroyObjectAction to mean the objects related by composite associations
ObjectNode, constraint 1 In ObjectNode, Constraints (Complete Activities), the first constraint regarding upperbound should be removed. The size of the object node buffers can be any size.
The semantics of StructuredActivityNode still says "This constraint is modeled as a specialized multiplicity from ActivityNode and ActivityEdge to StructuredActivityNode". The FTF changed the metamodel for this to not use specialized multiplicity.
The FTF issue was 6677 and was about interruptible regions, not structured activities. Disposition: Closed, no change
When we build a state machine (nee State chart diagram) to define the behavior of a Dog, say, each dog instance has its own state. In other words, each copy of the state machine diagram has it's own state. What is the official term for each-copy-of-the-state-machine, the entity that has state. We need to be able to say "The <state machine thing> for Fido is in the state 'Barking'" and "The <state machine thing> for Rover is in the state Sleeping".
In section 9.20.2 VisibilityKind lists two types of visibility--Public and Private. Yet the glossary (page 19) and Figure 80 on page 119 (and many other figures) list three--Public, Private, and Protected. Version 1.5 also defined a fourth type of visibility--Package. Please clarify and or enhance the definition of VisibilityKind in 9.20.2 to explain the differences between the glossary and the Figure.
The glossary has been removed in the final version of the spec. This issue is no longer applicable. Disposition: Closed, no change
Text references Figure 8 and the correct figure number is 6
The last part of the following statement makes no sense to me: "Understandability. While increasing the precision and conciseness, the specification techniques should also improve the readability of the specification. For this reason a less than strict formalism is applied, since a strict formalism formal technigues" It appears that part of the sentence got left out as there is no period
believe that there is an extra word in the last sentence of the paragraph under Attributes. "If the mulitplicity of the attribute is supressed if it is '1' (default in UML)." I believe the sentence should read "The multipliticy of the attribute is supressed if is is '1' (default in UML)."
am not an expert on UML and am reading this to learn about it. Could you please clarify what a directed association is. A search of the document does not yield any other reference to this term.
There are no explicit references to the term “directed association” in the entire text of the spec. Consequently, it is not clear from the issue text if this is a reference to (a) an association with navigability adornments or (b) to the fact that an association name may include an arrow indicating the order in which a binary association is to be traversed when reading the diagram. Since the concept of navigability is discussed at length in the spec, I will presume that the confusion is with the latter. With respect to that, the spec states the following: On a binary association drawn as a solid line, a solid triangular arrowhead next to or in place of the name of the association and pointing along the line in the direction of one end indicates that end to be the last in the order of the ends of the association. The arrow indicates that the association is to be read as associating the end away from the direction of the arrow with the end to which the arrow is pointing (see Figure 19).
Section is badly worded and does not make a lot of sense. I interpreted it as "Often an informal convention is used to show (a part of) a construct, e.g., the name of a class should be centered and in bold."
believe there is a typing error in the statement :unrestricted: Indicated that there is no restriction no [should be to?] adding new values, changing a value, or removing values to an occurrence of a StructuralFeature
The elements for numbers you define in the Literals package are LiteralInteger and LiteralUnlimitedNatural. What happened to real numbers? Natural numbers do no include decimals.
The Literals package is necessary to use the built-in primitive types Integer, String, UnlimitedNatural, and Boolean. The Literal classes map values in value specifications to the appropriate primitive type. All other number types that are not built-in can be defined by introducing a new primitive type, e.g. primitive type Real. These user-defined types are integrated into value specifications via the instance value class. Disposition: Closed, no change
In all previous sections when a diagram shows a named association, the text defines these under the heading Associations. All of a sudden you've changed methods and are not defining these under attributes. A clarification as to why this is done would help those of us who are not UML experts.
The submitter is confused by the difference between the Associations and Attributes subsections of metaclass descriptions. Note that this issue was raised in the context of the older version of the spec (ptc/03-09-15). The required explanation was added in the later version of the spec (ptc/04-11-16) in section 6.3.1. Disposition: Closed, no change
In the UML 1.x, we have the notion of ClassifierInState. We used them for representing associations and methods of classes that are valid when instances of these classes are in the corresponding states. Could you let me know how to do that using UML 2 ? If class-in-states are not supported in UML 2.0, I am afraid, we cannot represent these valuable information particularly for reifying business processes. For example Order[Delivery] , Order[Billing], etc.. with their operations and session attributes !
Disposition: Deferred to UML 2.4 RTF
Figure 68 does not show the {composite} notation for the attribute ownedType: TypeThe {composite} notation was removed in the finalization task force and any references
to it should also be removed.The last phrase in the sixth paragraph from the top which starts with "For n-ary associations..." is an incomplete prepositional phrase and the meaning is unclear
The description refers to the Classifiers Diagram but no figure number (Figure 84) or page number (page 127) is given. It would greatly facilitate the reading if the user did not have to search for this. In section 6.3 on How to Read this Specification, it is stated that extensive cross-references are given. This specification would be better if more cross-references were given, especially when a figure or section that is found elsewhere in the document is referenced. I sent in a request to clarify Chapter/Section 10.2. I have since found that an excellent clarification exists in Chapter 11.3. If this had be referenced in Chapter 10.2 it would have saved this reader several hours of confusion and frustration
Note that this issue was raised in the context of the older version of the spec (ptc/03-09- 15). The required explanation was added in the later version of the spec (ptc/04-11-16) in section 6.3.1. Disposition: Closed, no change
A reference is made to the Operations Diagram in the Description section but no figure number (93) or page number (146) is given. It would save time and greatly decrease the frustration factor for this reader if I didn't have to search for the referenced item.
There are numerous examples of this in the spec, far too numerous to detect and fix at this point. Fortunately, for those looking at the spec in electronic form, there are hyperlinks that direct readers to the appropriate references item. Given the size of this spec (over 800 pages), this is definitely the preferred format for accessing this document (furthermore, it is more environmentally friendly as well ;-) ) Disposition: Closed, no change
The phrase that starts "These constructs that are used..." is not a complete sentence and confusing. I believe that the word "that" needs to be deleted
The memberEnd/ownedEnd/NavigableOwnedEnd properties of Association represent the navigations from one end object to other end objects along the association. There are no properties available for navigating from an instance of an association (link) to the end objects. This has a number of negative effects: - The model cannot represent structured associations properly, because association classes that are also structured classifiers cannot have connectors to end objects, because the end objects cannot be reached with StructuredClassifier.role (see constraint 3 on Connector). - An InstanceSpecification for link can use memberEnd properties of association as properties of the link, even though these properties are ownedAttribute of the end classes, rather than the association. This is due to the loose definition of Classifier.allFeatures. - A special action is needed to retrieve (the end objects of links (ReadLinkObjectEndAction), rather than (using the action for attribute values ReadStructuralFeatureAction. The metamodel should have an association for properties that have the end objects of link objects as values.
Disposition: Deferred to UML 2.4 RTF
Actor is a specialized Classifier and not BehavioredClassifier. Therefore an actor is not allowed to realize an interface. I propose to inherit Actor from BehavioredClassifier. It is useful to model actors with interfaces. The actor/subject communication requires the definition of signals/messages that can be sent from the subject to an actor.
The each sentence in the third paragraph under semantics appears to have an incorrect "and" in them. I believe the and should be replaced by the word "or" in each sentence. The second paragraph seems to have a couple of misplaced hyphens.
The hyphens problem was resolved by the resolution to issue 6164. The submitter is making the wrong assumption about how element import works. The statements are saying, in effect, that, in case of name clashes, the clashing name is NOT imported (the submitter seems to be assuming that it is). However, the text should be clarified to avoid confusion.
Figure 98 shows an merged package P::A in the source package S. I do not see how P::A got merged when Figure 97 shows no merge between target P and source S or between source R and source S. The text says that packages P and Q are being merged by package R while package S merges on package Q (with the open ended arrow indicating Q as the target but the keyword <<merge>> at the end nearest S. The statement above Figure 98 says the transformed packages R and Q are shown but the figure has the packages labeled R and S. There appears to be no merge connection between P and S but a subpackage from P appears in S. The text and figures are very confusing and need clarification
This whole area was redone in the finalization phase so that the issue above is no longer applicable. Disposition: Closed, no change
Additional option [1] says that the query lowerBound () returns the lower bound of the multiplicity as an Integer. Why is the type Interger used instead of the type UnlimitedNatural? An integer can be a negative number but not so with naturals. My understanding is that multipliticity is not allowed to be less than 0.
The submitter is losing sight of the fact that lowerBound is always constrained to be a non-negative number by constraint [2] of MultiplicityElement (see page 77 in ptc/04-11-16). However, there is an error here in the definition of this operation that has an extra set of square brackets. See also the resolution to issue 6502.
Figure 115 shows the <<enumeration>> Color, but shouldn't that be labeled as ColorKind as shown in Figure 88 and specified in Conventions and Typography in 8.5?
The example shows an example of a user model that does not have to conform to the conventions used in the spec itself. Furthermore, there is no Style Guideline associated with Enumeration that might suggest that the convention used in the spec should be applied to user models as well. Hence, this is a perfectly valid example and nothing needs to be changed. Disposition: Closed, no change
Second sentence in second paragraph under description is somewhat confusing. "The constraint does not necessilarily apply to the namespace itself, but may also apply to the elements in the namespace." The use of the word "also" bothers me. Do you mean "instead" rather than also. Wouldn't it make more sense, in the context of the first part of the sentence, that the constraint could instead apply to the elements in the namespace rather than the namespace. If you mean that a constraint could apply to both or the namespace or the element in the namespace then the statement needs to be reworded
There appears to be a conflict between the Superstructure VisibilityKind and the Infrastructure VisibilityKind (ptc/03-09-15, section 9.20.2, pg 93). Superstructure lists the four found in vers 1.5 of UML but Infrastructure lists only public and private. What is the correct enumeration for VisibilityKind? Has the Superstructure refined the Infrastructure? If so, a clarification that Superstructure VisibilityKind is refining that from Infrastructure would be helpful.
This is a duplicate of issue 6515, which was resolved in the FTF (Ballot 19). However, it seems that the fix for this issue was applied to the superstructure but was accidentally omitted in the infrastructure. Therefore, the fixes should be applied to the Infrastructure.
Multiplicity is non-negative so shouldn't the lower bound be typed as an unlimited natural (a non-negative number) instead of an integer which can be negative? The upper bound is typed as an unlimited natural. This question also applies to Infrastructure (ptc/03-09-15, sections 9.11 and 9.12).
The submitter is losing sight of the fact that lowerBound is always constrained to be a non-negative number by constraint [2] of MultiplicityElement (see page 97 in ptc/04-10-02). See also the resolution to issue 6502. Disposition: Closed, no change
Error in example. Text for /isComposite : Boolean A state with isComposite = True is said to be a composite state. A composite state is a state that contains at leas one region> BUT the OCL says IsComposite = (region >1) which translates to is greater than one. Use the is equal to or greater than symbol or change the number to 0.
This constraint was changed in the FTF. However, there seems to be an error in the OCL for the corresponding “fixed” constraints which refer to a feature called “content”. This should be replaced by the feature named “region”.
With the new format of putting all of the diagrams at the beginning of the chapters, I am finding it very difficult to determine which diagram goes with what sub-section. Add references in the text to the diagram most applicable to the descriptions/definitions
Disposition: Deferred to UML 2.4 RTF
Clarification of subsetting is still confusing to me. The Note has an incomplete sentence for the last "sentence." I believe you need to remove the starting word "If."
The text deals with a subtle context and the current formulation may be somewhat confusing to readers who are not used to formalized natural language.
The association package:Package[0..1] is listed as being an association of Classifier. However, the only figure to diagram this association is Figure 14 and the association is from Type not Classifier.
This association end seems to be a remnant of some previous version of the metamodel. It should be removed. The error only occurs in the Superstructure and not in the Infrastructure.
If constraind elements are those elements required to evaluate the constraint spedividation, why is the multiplicity for the specification: ValueSpecification[0..1]? Shouldn't the multiplicity be 1? If not, please clarify.
Indeed. The metamodel actually shows the multiplicity correctly.
Issues 6164 and 6159 still have not been addressed. Figure 36 reads that the client CarFactory is dependent upon the supplier Car which is not what the text states.
I am confused by the statements that say "the name of the imported element must be qualified in order to to used and is not added to the importing namespace." Add a statement to clarify that if the name is qualified, how the element is referenced by another element.
I see no problem with this text. It seems perfectly clear. Basically, it is saying that, in case of a name clash with a local element, the element with the clashing name is not imported. If the latter element needs to be referenced, the fully qualified name has to be used. Disposition: Closed, no change
Text says that Manager constitutes one GeneralizationSet but Figure 42 uses the word Employee. Please correct
I have some questions regarding stereotypes using in UML 2.0. 1. How to declare user defined stereotype in the model? Should class with stereotype <<metaclass>> and metaclass name be created in the model? How to declare stereotype <<metaclass>>? 2. Is some relationship between stereotyped model element and stereotype instance exist? Where stereotype instance should be created (contained) and how model element can collect all applied stereotypes?
These aspects have been largely discussed and amended in the spec. I believe that this issue is outdated. 1. A <<metaclass>> model element should indeed be part of the model (if not already present, it should be defined) and an extension between the stereotype instance and that model element created as per the metamodel in figure 446. 2. The relationship between a stereotype instance and the stereotyped model element is explained in the semantics section of Extension on page 717 and in figure 448. Since, by definition, stereotyped model elements are not affected by the presence of stereotypes, a tool will have to either do a search of the model or cache information that identifies which stereotypes are applied to that model element. Disposition: Closed, no change
Figures 50 and 51 cause me confusion because Fig. 50 uses as the classifier name a type (String). Yet Fig. 51 shows "Other properties of the feature, such as type" on the second line of the slot streetNumber:Integer = 381. Should the classifier name in Fig. 50 be a type or something more like myAddress. Please clarify, especially that there is a difference, as indicated by the naming convertion, between the instance specification and the feature shown in the slot.
The submitter seems to be reading more into the text than is there. I see nothing confusing about it. In figure 50, the name of the classifier of the InstanceSpecification “streetName” is indeed “String” – as one would expect. Figure 51 shows an instance of some composite data type (Address) with two attributes whose values are shown. In case of the lower attribute (“streetNumber”) the type of attribute is shown as “Integer” – as one would expect. Disposition: Closed, no change
Since the lower bound of multiplicity can not be negative by definition, shouldn't the type of /lower MultiplicityElement be UnlimitedNatural? Also, /upper is missing from the list of attributes
My apologies, I now see the /upper but still question use of Interger as the type for /lower instead of UnlimitedNatural. My apologies, I now see the /upper but still question use of Interger as the type for /lower instead of UnlimitedNatural. This issue has already been addressed by the resolution to issue 6502. Disposition: Closed, no change
The document defines multiplicity as an "inclusive interval of non-negative integers" which is the same thing as Unlimited Naturals, but in several other places the "non-negative" qualifier for integer is left off leaving only integer as the definition of the lower bound and integers may be negative. Examples are Additional Operations [4]and in the second paragraph of semantics. Additional Operations [2] OCL is incorrect if the type for includesCardinality(c:Integer) is Integer because the third line says that includesCardinality = (lowerBound() <= C) and (UpperBound () >= C). Everywhere else it is stated that the upperBound is UnlimitedNatural NOT an integer. Remove the word "is" following specification in the second sentence of the first paragraph under Notation.
Constraint [2] of MultiplicityElement ensures that lower bounds of MultiplicityElements are non-negative integers, so the problems that are listed in the issue cannot occur. (It could be argued that it would have been “cleaner” to define the type of “lower” as UnlimitedNatural, but that is merely an optimization that is not worth the disruption that such a change would induce in existing tools.). AdditionalOperation [2] is fine even if the argument C is a negative Integer. In fact, defining the argument as a type Integer is certainly more general and will not result in exceptions if a negative argument is provided.
I am not an OCL expert (barely a novice) but it seems to me that Constraint [2] is incorrect in stating "->select(ns|ns.name->isEmpty())". Shouldn't that be ->select(ns|ns.name->notEmpty()) because the constraint is saying that there is a name and all of the containing namespaces have a names (in other words, all of the containing namespaces are notEmpty).
No, the OCL is correct. The fragment: self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) is saying that if the set of namespaces whose name is empty is itself empty, then every namespace has a name. Disposition: Closed, no change
The sentence "The contraint does not apply to the namespace itself, but may also apply to elements in the namespace." would be better if "also" was replaced with "instead."
That would actually be incorrect. The sentence is saying that the constraint may cover either the namespace itself, or the names it contains, or, possibly, to both. Disposition: Closed, no change
The modifications made for multiple languages (Issue 3391) could often be taken by the reader to mean that multiple languages may exist simultaneously in a single opaque expression. An example is the attribute "language:String[0..*] specifies the languages in which the expression is stated" could be interpreted to mean that the expression could be stated in mixed languages. Additionally plurality of verbs and modifying expressions often do not agree with the plurality of the sentence subject. An example of this is "The languages of an opaque expression, is specified, is often..." Subject is the sentence is "languages" so verb should be "are." Furthermore, this statement implies that a single ("an") opaque expression may have more than one language ("languages").
It is quite possible that multiple languages may co-exist in the same expression (although they are expected to be serialized rather than interleaved in such cases). These typically serve as alternative forms of expression for the same content.
Clarify the differences between redefining element and redefined element.
Disposition: Deferred to UML 2.4 RTF
Multiple typos (If you don't want them submitted this way, I'll complete an issue for each.) section 6.34 page 11 Delete word “to” in “The read/write actions can also be used to by one…” section 7.3.3 page 38 Delete word “If’ in the Note “If the lower multiplicity for an end of…” Section 7.3.5 page 46 Correct typo “pr” to “or” in ownedParameter:Parameter[*] Section 7.3.11 page 60 Change “has” to “have” in 2nd para 2nd sentence “Instances of a data type that “has”…” Instances is the subject of the sentence Section 7.3.11 page 61 Add word “to” to Notation sentence 6 “In this case, cone or more arrows with their tails on the clients are connected “to” the tails…” Section 7.3.20 page 71 Change “is” to are in generalizationSet “Designates a set in which instances of Generalization “are” considered members.” The verb refers to the subject of the which clause (instances). Section 7.3.21 page 83 Change “is” to “if” in last sentence of section “Or, “if” a new subclass…” Section 7.3.32 page 97 Change “These constraint” to “These constraints” Section 7.3.32 page 98 Delete word “is” in 2nd sentence of Notation “In general, the notation will include a multiplicity specification shown as…” Section 7.3.37 page 111 Change “is” to “are” in 4th paragraph of Semantics “The public contents of a package are…” Subject of the sentence is contents not package. Section 7.3.49 page 135 and page 136 (Description) Change verb “specify” to “specifies” in “A structureal feature is a typed feature of a classifier that specifies the structure…” Section 7.3.49 page 137 Change verb from “signifies” to signifying” in 1st sentence of Decsription Section 7.3.53 page 139 Delete word “of” in 1st sentence of Semantics
Disposition: Deferred to UML 2.4 RTF
Add ending guillemets to specification in isIndirectlyInstantiated. Verify that OCL for /provided:Interface[*] is correct. 3rd and 4th lines don't look right to me
-- BranSelic - 19 May 2005 Line 3 of the OCL constraint should say "RealizedInterfaces(self)" instead of "RealizeInterfaces(self)".
Typo - Change "Components" to Component in ownedMember:PackageableElement[*] 1st sentence
Add component icon to fig. 90 <<component>> :ShoppingCart to be consistent with others in diagram
Constraints have no OCL syntax or mention that constraints are not definable in OCL. Type in constraint [5] - delete "s" from first "Ports".
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Either delete Issue 7240 note from page, make the correction, or explain why the correction was not made.
Page references are incorrect for "Property" and "StructuredClassifier".
Better choice of word in Changes from UML 1.x would be to change the "of" in last sentence to "that."
Incorrect page number for reference for "Property" under Description
OCL notation is missing from Constraints. Please add or add note that OCL notation is not able to express constraints
Disposition: Deferred to UML 2.4 RTF
Add Generalization TypedElement (from Kernal) to fig. 96.
The issue assumes incorrectly that a ConnectorEnd is a typed element. This is not the case. Disposition: Closed, no change
Need OCL notation for Constraints. Correct page reference number for StructuredClassifier
Disposition: Deferred to UML 2.4 RTF
Correct multiplicity of role:ConnectableElement[1] so that fig. 96 agrees with that defined in Associations. Add OCL notation for Constraints. Ports under Notation also reads to me like it could be expressed in OCL notation somewhere--like a constraint which would need to be added.
Disposition: Deferred to UML 2.4 RTF
Add generalization for InvocationAction to fig 101 to agree with text on 187
As a general rule, we do not show generalizations that are merge increments explicitly in the abstract syntax. Disposition: Closed, no change
Add OCL notation to Constraints. Notation says to see "CallOperationAction" for an example, but no examples are given in that section
I can't find appropriate figure for the generalization "Parameter (from Kernel, AssociationClasses)". Add appropriate OCL notation to Constraints
It is unclear what the issue is pointing to. Parameter is appropriately specialized from Parameter in Kernel. The resolution will focus on the OCL only. -- ThomasWeigert - 18 May 2005 As far as I can see the Parameter (Collaboration) can't navigate to it's context. The associations from Connectable Element ? to the context (Structured Classifier ? or Collaboration) isn't navigable. Therefore it's not possible for the Parameter class to evaluate the constraint. -- TimWeilkiens - 20 May 2005 Tim, navigability is not meaningful in OCL 2.0, which means that your OCL expression can navigate against the arrow. -- BranSelic - 20 May 2005 Bran, in that case the OCL constraint is easy. However it sounds strange to me. How can the parameter (the context of the constraint) evaluate the expression? Could you give me the appropriate chapter reference in OCL specification?
Reword/rewrite the last two paragraphs of Semantics. Many grammatical mistakes between sentence subject and verb plurality (because of intervening phrases), hard to understand sentences, and an incomplete sentence (last one).
"In a system context where there are multople components that provide or require a particular interface, a notation abstraction can be used that combines by joining the multiple connectors." Combines what? Client keyword missing from fig. 93.
Correct statement under Constraints to read "No additional constraints."
According to fig. 97, Associations need multiplicities added to all and derived symbol to required:Interface and provided:Interface. Add OCL notation to Constraints
Disposition: Deferred to UML 2.4 RTF
In Examples, the reference page number to SturcturedClassifier is incorrect
Associations need derived symbol added to role:ConnectableElement and /part:Property (as shown in fig. 95), a statement that role is derived, and multiplicities added to all associations (as shown in fig. 95).
Under Notation change "name of the part" to rolename to differentiate it from the name of the part (as in composition).
Fig 121 uses the word "make" for the constructor. Unfortunately, this word could be misconstrued to be a noun and refer to the make of the car (Volvo, Audie, Ford) instead of the verb it is intend to be. Suggest changing "make" to "assemble."
There is no explanation in the chapter or the section on StrucutredActivities as to why two StructuredActivities packages are drawn, both <<merge>> in fig. 94. Please clarify somewhere
The issue misses that this section extends Structured Activities ? (see Figure 102). Disposition: Closed, no change
Figure 124 does not show what the Generalizations "Classifier (from Kernel, Dependencies, PowerTypes)" indicates, or the association ownedProperty:Property, or the multiplicity listed for attribute filename:String[0..1]
[21 Apr 2005] Figure 124 does correctly show the subject Generalization, but the labeling is not exactly as given in the text on page 207. This is likely due to Rose’s limitation of showing only one package name for a class, as is done in Figure 124 for Classifier shown as “(from Dependencies)”. I don’t see an easy way to fix the figure to match the text, so I suggest no change be made. The text on page 207 is very explicit about which Classifier is meant – the one on page 50. The complaint about ownedProperty:Property refers to the absensce of ownedProperty as an association end name in Figure 124. In fact, the end named “ownedAttribute” should be changed to “ownedProperty” to match the text. Section 6.5.2 requires attribute multiplicity to be shown if it is not the default [0..*]. Consequently, the missing [0..1] multiplicity on the “filename:String” attribute of Artifact should be added to Figure 124. Also, for editorial consistency, the “filename” in the Attributes subsection on page 207 should be correctly render as “fileName”. [22 Apr 2005] Conrad Bock suggests: “Since the name "ownedAttribute" is used in classes as well as datatypes already, it seems like we should leave it that way in deployments. No need to incur a backwards incompatibility with 2.0.” Seems like a good suggestion. The Revised Text section changed to preserve the ownedAttribute name rather than the ownedProperty name.
Typo in 1st line of Notation. In Semantics, clarify which Appendix to see
Kernel generalization is not shown in fig. 126
Although the Summary doesn’t say so, the issue’s archive indicates that the target pages are 206 (where Figure 126 is located) and 210 (DeployedArtifact class description). The text on page 210 says that DeployedArtifact inherits from “NamedElement (from Kernel, Dependencies)” whereas Figure 126 shows it inheriting from “NamedElement (from Dependencies)”. The additional increment should be included in the diagram.
The Associations for the Nodes Package text do not agree with Fig. 126.
Although the Summary doesn’t say so, the issue’s archive indicates that the target pages are 206 (where Figure 126 is located) and 211 (Deployment class description), giving us a clue that it is the Association section of the Deployment class that does not agree with Figure 126. To agree with Figure 126, the type of the location should be DeployedTarget, not Node. This change implies no semantic restrictions over the previous situation because Node inherits from DeployedTarget.
Generalization, Association, and Constraints in text don't agree with fig. 127
Fig 126 does not show all generalizations listed; text for the Association deployment:Deployment[*] does not mention that the association specializes ownedElement as shown in the figure
A corresponding change needs to be made for the manifestation association in Figure 124 as well.
I don't believe that fig 125 shows the composite association between nodes and ExecutionEnvironment as expressed in Semantics. Typo - add ending guillemets to <<J2EE container.
My reading of the subject section suggests that Node’s nestedNode association is the “composite association” referred to in the Semantics section. The nestedNode association is shown in Figure 125. The missing guillemet does appear in formal/05-07-04. Disposition: Closed, no change
Constraints are not shown on fig 126 as other constraints have been shown on other figures. Under Notation, should "instance" be "instance specification?"
The convention used in the UML specifications is to NOT include constraints in the diagrams. The constraints in figures 125 and 127 should be removed and replaced by OCL constraints.
Fig 124 shows that the Association utilizedElement:PackageableElement also subsets target
The specialization of the association nestedNode:Node is not shown in fig. 125
Need to write the info for the Changes from previous UML section or remove it
Disposition: Deferred to UML 2.4 RTF
Table 8 Node Reference says Node has keyword options <<device>> and <<execution environment>> but these are not mentioned in the Node section nor are they diagrammed anywhere.
There appears to be substantial confusion in the text regarding whether “device” and “execution environment” are stereotypes of Node or subtypes of Node. The proposed changes favor the subtypes of Node interpretation of these items because it results in far less drastic changes to the text. The issue references the text “Has keyword options «device» and «execution environment».” in the Node row of Table 8 on page 224, section 10.4. Rather than being stereotypes as the offending text indicates, Device and ExecutionEnvironment are defined as subtypes of Node in sections 10.3.7 and 10.3.8, respectively. Note also that the text “A Device is notated by a Node annotated with the stereotype «device»” in the Notation section on page 217 is inconsistent with the representation of devices as a subtype of Node and should be removed as well. In section 10.3.11, page 222, the third paragraph of the Semantics section suggests that Nodes can be labeled with «application server», «client workstation», «mobile device», and «embedded device». To be consistent with the subtypes of Node interpretation, the former two of these prototypes would be better applied to the Device class and the latter two, the ExecutionEnvironment class. Rather than moving these examples stereotypes, it seems better to just remove them.
Typos and rewording requests Basic Concepts para 2 - Change "Behavior" to "Behaviors" Basic Concepts para 3 - Change "Operations" to "Operation calls" Intermediate Concepts para 1 sentence 1 - change "various action primitive actions" to "various primitive actions" Intermediate Concepts para 1 sentence 3 - rewrite to something like: S"pecifically, a single primitive action is defined so that it either carries out a computation or accesses object memory, but never both." Intermediate Concepts para 6 sentence 4 - Add verb in "multiplicity bound ignored" to "multiplicity bound is ignored" Intermediate Concepts para 6 last sentence - replace the pronoun "these" with the appropriate noun - I don't know if "these" refers to the points where the lower multiplicity bound is ignored or the points where the modeler has determined that the lower multiplicity bound is enforced. Intermediate Actions, Read Write Actions (page 230) para 3 sentence 1 - needs rewording: "ranging from" implies a "to" something which is not listed; "implementation-dependent" is a modifiying phrase but I don't know what it is modifying (the following comma may not be needed). My interpretation of the sentence meaning is: "Value specificationc cover various expressions ranging from implementation-dependent constants to complex expressions with possible side-effects."
Add that retureInformation:OutputPin[1..1] is a specialization or subsets output as shown in fig. 152. Add OCL expression for constraint 1 or that the constraint cannot be expressed in OCL. Constraint [3] contains a typo in the 1st line "isUnmrashall" should be "isUnmarshall"
Add the specialization (subsets) statement to result:OutputPin[0..*] as shown in fig. 152. Add OCL statements to Constraints. Constraint [2] needs clarification. Last part of sentence is confusing. Typo - Semantics, para 2, sentence 1 - Change "unmarshall" it "isUnmarshall"
Fig. 142 does not list Dependencies as a generalization. Associations /input:InputPin[*] and /output:OutputPin[*] need the specialization or subset statement as shown in fig. 143 Association /context:Classifier[1] does not agree with multiplicity in fig. 142 Delete headers Examples and Rationale as these sections are blank
In Actions, Action: Generalizations, remove “Dependencies”. Editor’s note: not done since this is an automatic cross reference to a header (cannot remove part of the header) Associations: /input and /output entries, at beginning of text, add (Specialized from Element:ownedElement) Editor’s note: adjusted to conform to document conventions /context entry, change multiplicity to 0..1.
Association fromAction:Action[1] missing the specialization or subsets statement shown in fig. 159. Add OCL statements to constraints. Fig. 161 shows the association +action between i2:ActionInputPin and s1:ReadSetAction and between i4:ActionInputPin and s2:ReadSetAction but this is not an association defined for ActionInputPin in the text or shown on fig. 159. Either correct +action association to +fromAction or add +action as an association of ActionInputPin. I may be totally incorrect but shouldn't there be some link or association from the classifier bar:Signal?
It seems to me that the OCL statement does not specify that the UnlimitedNatural needs to be >0. Remove the header Examples as there are none
The fact that the value of the insertAtPin must be greater than 0 is a run-time semantic constraint that cannot be captured in the abstract syntax constraint OCL. The rest is a duplicate of 8155. Disposition: Closed, no change
It seems to me that the OCL statement does not specify that the UnlimitedNatural needs to be >0. Add "The insertion point is ignored when replacing all values." as last sentence in para 2 of Semantics. Remove the header Examples as there are none.
The fact that the value of the insertAtPin must be greater than 0 is a run-time semantic constraint that cannot be captured in the abstract syntax constraint OCL. The header issue is a duplicate of 8155.
Add OCL statements as appropriate for Constraints. Typo - Need a couple of line feeds before the header Notation
Fig. 144 shows a default for isSynchronous:Boolean = true but this is not indicated in the Attributes section. Associations result:OutputPin[0..*] multiplicity does not match fig. 144; change the description to: "An ordered list of output pins..." and add a statement about the specialization or subsets. Add OCL notation to Constraints.
Add OCL notation to Constraints. Delete Examples heading as there are none
Add OCL notation to Constraints. Typo - place a period at the end of the definition of the operation:Operation[1] association Add a subsets or specialization statement to the association target:InputPin[1] as is shown in fig. 144
Delete Examples header as there are none
Delete Examples header as there are none
Delete Examples header as there are none.
In description, change "positive integer" to "unlimitedNumber greater than 0" Delete Examples hearder as there are none
Delete the header Examples as there are non
Constraint 1 says that the classifier cannot be abstract but fig. 146 shows the Classifier name in italics. Delete header Examples as there are none
The classifier referred to in the constraint is from the user model. The one in Figure 146 is from the UML metamodel. Disposition: Closed, no change
Change "positive integer" in the Description section to "unlimitedNatural >0" Delete the header Example as there are none
The description sections are intentionally informal. The Semantics section and constraints in LinkEndDestructionData specify unlimitedNatural. Headers issue is duplicate with 8155. Disposition: Closed, no change
I am confused by the request of issue 7179 to replace 'input' by 'target' in both constraints and then seeing 'input' replaced by 'target' only in the OCL notation. Please clarify. I am also confused by constraint [2] since part 11.3.19 InputPin says nothing about the type of inputPin. Delete the header Examples as there are none.
In DestroyObjectAction, the input pin referred to in the first two constraints is retrieved in OCL using the target association. Constraint [2] is correct. An input pin is a specialized pin which is a specialized typed element. Example header is duplicate of 8155. Disposition: Closed, no change
Bold the heading Associations. Delete the heading Examples as there are none. Constraint [2] of 11.3.18 says that input pin has no type but there is no such constraint mentioned for 11.3.19 (which is the section describing inputPin.
InputPin is a TypedElement and, so, inherits a “type” property. This property is optional. Constraint [2] of 11.3.18 simply says that the input pin of a DestroyObjectAction has no type, it does not make a general statement about input pins. The Example header issue is a duplicate of 8155.
Superclass generalization is not written on fig. 144. Association argument:InputPin[0..*] multiplicity does not agree with fig. 144. Association argument:InputPin[0..*]in fig. 144 says it is ordered and subsets input. Add statements to the definition of the association. Under Constraints say none.
For “Association argument:InputPin[0..*] multiplicity does not agree with fig. 144.” => For me there is no pb.
Associated figures 148 & 150 do not diagram an direct association between LinkAction and InputPin. Please clarify, add to figures, or delete the association from the section. Constraint [2] OCL notation has an extra ending ) Semantics need to be rewritten clarifying how LinkAction and inputPin are associated. None of the figures containing the classifier LinkAction show an association with a multiplicity of 1..1. Delete heading Examples as there are none.
The relation between LinkAction, LinkEndData, and InputPin is given in constraint [3] in the first Constraints section, and constraint [1] in the second Constraints section. Added some text for this in the Semantics section. The constraint link end data input pin multiplicity is given in constraint [3] of LinkEndData.
If LinkEndCreationData is not an action, should it be in this part? Wouldn't the action be to read data from this element or write data to this element? LinkEndCreationData is found in two packages but the discussion/text only addresses its use from the IntermediateActions with no mention of its use in CompleteActions. If this section is to stay in this part then rewrite introduction, description, associations, constraints and semantics to address its use/application in CompleteActions. OCL notation for Constraint[2] does not say that the UnlimitedNatural must be >0 as is stated in the definition of the association insertAt:InputPin. Too many closing ")" for the number of opening "(" in Constraint [2] OCL notation Delete the Examples header as there are none.
LinkEndCreationData is used relate input pins of CreateLinkAction and CreateLinkObjectAction with other required information, which is the "data" referred to in the name (see Figures 150 and 156). It is only used with CreateLinkAction and CreateLinkObjectAction, so only makes sense in the Actions chapter. The semantics of LinkEndCreationData already says it is used to specify qualifiers in complete actions. The fact that insertAt must be greater than zero is a runtime constraint. The constraint sections in the specificaiton only express modeltime constraints. Disposition: Closed, no change
I read and understand little difference between LinkEndData and LinkEndCreationData or LinkEndDestructionData. If none of these elements are actions what are they doing in Actions? Wouldn't the action be to read to or write from these elements? Add the package CompleteActions name to the Description and mention that LinkEndData identifies one end of a link to be destroyed. Add "(IntermediateActions)" to the first Constraint header. I'm not certain that constraint (IntermediateActions) [3] multiplicity agrees with the association value:InputPin[0..1] mulitplicity The instruction under semantics to see LinkAction and its children needs to be rewritten. Through following all of the instructions to see different sections, I finally found semantics information in ReadLinkAction, CreateLinkAction, and DestroyLinkAction. Delete header Examples as there are none.
LinkEndData, LinkEndCreationData, and LinkEndDestructionData are used relate input pins of descendants of LinkAction with other required information, which is the "data" referred to in the names. The semantics sections specify the general case of LinkEndData, and what is special about the subtypes LinkEndCreationData, and LinkEndDestructionData. They are only used the descendants of LinkAction, so only makes sense in the Actions chapter. LinkEndData is not just for link destruction, which is covered in LinkEndDestructionData, and DestroyLinkAction. The third constraint of LinkAction ensures the pins of the actions are the same as those referred to by their link end data, it doesn’t give a multiplicity. The reference to LinkAction is to because the actions explain the use of LinkEndData and its decendants. The examples header is duplicate with 8155. Disposition: Closed, no change
ptc/04-10-02: Figure 89 on page 158 is incorrect: the delegation connector on the left seems to be pointing the wrong way. More generally, it is not clear why an arrow is required on delegation connectors, since they are automatically implied when a port is connected to a part or a port on a part. The arrow can be misleading since some may interpret incorrectly it as a restriction on the direction of data flow. Note that the table 5 on page 166 does not show the arrow notation nor does table 7. Finally, the title of table 5 should say: "graphic paths" instead of "graphic nodes"
If this is not an action why is it discussed in Actions? Move to appropriate Chapter. Wouldn't the action be more like writing to LinkEndDestroyData? If it stays in this chapter please clarify the introduction and description especially explaining how this is different from LinkEndData. Also need to clarify/explain statement "Qualifer values are used in CompleteActions." I don't see a fit with that statement in this section. Attribute in fig 150 is isRemoveDuplicates:Boolean = false so change either the figure or the attribute name in the text. Add OCL notation to Constraints. Constraint [1] typo in "DestroyLinkActiuon" Constraint [2] needs to emphasize that the type UnlimitedNatural is >0. Delete the header Examples as there are none. Typo in Rationale - "LinkeEndDestructionData"
See discussion in issues 8166 and 8167 for parts of issue not addressed below. OCL is duplicate with 6346.
Add the superclass pointer "(from Kernal)" to fig. 143. No operations are indicated in fig 143. Constraint [2] appears to have an operation name missing or misspelled
By convention, operations are not shown in metamodel diagrams. The reason why there is no “from Kernel” label in MultiplicityElement is because the metamodel erroneously includes an increment of MultiplicityElement. This increment should be removed.
The generalization in figure 142 doesn't agree with that mentioned in the section. Attributes are both ordered. Delete header Examples as there are none
Description should mention the multiplicity expressed in fig. 143. Delete the header Examples as there are none
The issue does not say which multiplicity. Rest is duplicate of 8155. Disposition: Closed, no change
Typos - In description delete provide and change accept to accepts. Add OCL notation to Constraints. Delete header Examples as there are none.
Please clarify the relationship and differences between QualifierValue, LinkEndCreationData, LinkEndData, and LinkEndDestructionData especially since QualifierValue, LinkEndData, and LinkEndCreationData are all in the CompleteActions package. Constraint [2] change "are" to "is" Delete Examples header as there are none.
See discussion in 8166, 8167, and 8169. QualifierValue in particular specifically says link end data and related elements are for identifying links, and what they identify.
Association exception:InputPin[1..1] is subsetted according to fig 158. Delete Examples heading as there are none
Fig 153 shows that the association result:OutputPin[1..1] is subsetted. Add OCL notation for constraint [1]. I believe the wording of constraint [1] might be better as: "The type of the result output pin is the type of the classifier."
OCL is duplicate with 6346. The wording is correct as is. The type is exactly the classifier, rather than the type of the classifier (which would be a powertype, or a metametaclass).
Delete Examples header as there are none
Association result:OutputPin[1..1] is Specialized from Action:output according to fig. 155. Rewrite Constraint [4] as "The type of the object input pin is the type of the association class that owns the association end." Complete the Semantics section. Delete the header Examples as there are none
Constraint [4] is correct as written. The association class is a type, the type of the link object being read. (Note that the constraint refers to the association class of the link object, not the Association metaclass.) The Example header issue is a duplicate of 8155.
Add the specialized statement needed for the association result"OutputPin[1..1] as shown in fig. 155. Add semantics or delete the header. Delete the Examples header as there are none.
Add OCL notation to constraint [2]. Delete Examples header as there are none
Delete the Examples header as there are none
Delete the Examples header as there are none
Typo - removeAt:InputPin [0..1] Unlimitednatural needs correcting. Add specialization to association removeAt:InputPin [0..1] as shown in fig. 147. Constraint [1] needs OCL notation. Add that the Unlimited Natural number must be >0 to the constraint definition. Delete Examples header as there are none. Last statement in the Changes from previous UML is not supported by fig. 147. There is no other mention of RemoveAttributeValusAction in this version of the Superstructure
The association removeAt:InputPin[0..1] is subsets input from Actions according to fig. 157. Correct typo in Constraint [1] "removaeAt". Add OCL notation for the constraint. Constraint also needs to mention that the Unlimited Natural must be >0. Typo - Last line of para 1 of semantics - change "support" to "supports" Delete header Examples as there are none
OCL issue is a duplicate of 6452. Header issue is a duplicate of 8155. The fact that the value on the removeAt pin must be greater than zero is a run-time semantic requirement that cannot be captured in an abstract syntax constraint.
Association target:inputPin[1] subsets input from BasicActions according to figure 145
Association target:inputPin[1] subsets input from Input according to fig 144. Add OCL notation to the constraints. Semantics [1] change "his" to "the".
Add OCL Notation to Constraints
Add OCL notation to constraint [2]. My guess would be self.object.type=self.classifier.type (That's pure guess since I know very little OCL.) Delete header Examples as there are none
Delete header Example as there are none
Fig. 241 shows the generalization of UnmarshallAction to be Actions (from Basic). Correct either figure or text. Association object:inputPin[1..1] subsets nput from Input and association result:OutputPin[1..1] subsets output from Output according to fig 241. Add OCL notation to constraints
Add OCL notation to constraints. Delete Examples header as there are none
Association value:ValueSpecification[1] does not express a specialization in the figure. Please correct either text or figure. Add OCL notation to constraints
Delete Examples header as there are none
Delete Examples header as there are none
The text does not agree with fig. 152. Correct either the figure or the text. Fig shows that ReplyAction generalizes Actions (from BasicActions), that the association replyToCall is to CallEvent not Trigger, that the association replyValue is to InputPin not OutputPin and that this association subsets input from Actions, that the association returnInformation:InputPin subsets input from Actions. Constraint [1] uses the word "trigger" but figure would indicate that "call event" would be more correct. This constraint needs OCL notation. Semantics really don't agree with figure. [2] needs the word "to" added after meaning and the word trigger is still used when the figure would indicate call even is mor appropriate.
Put a line feed before Notation header. Delete Examples header as there are none
In Actions, WriteStructuralFeatureAction, insert linefeed before Notation header. Rest is duplicate of 8155.
Delete header Examples as there are none
Italicize activity as well as execution in sent 2 of para 1 under Actions and activities. Basic Activities describes basic and structured levels as orthogonal where either can be used without the other or both can be used to support modeling... . Yet StructuredActivities says that this level requires the basic level. Fig. 175 does not support this statement. Please clarify and fix.
The italics in the first sentence are only for emphasis. They are not applicable to the second.
Property string {bag} is redundant. Use property string {nonunique}defined for MultiplicityElement insteadThe property strings {nonunique} and {bag} have the same meaning and representation in the repository{redefined <end-name>} should be named {redefines <end-name>}
Remove duplicate redefines activity statement for association activity between StructuredActivityNode and Activity.
According to fig. 187 the associations localPrecondition:Constraint[0..*] and localPostcondition:Constraint[0..*] are subsets of ownedElement. In addition, the multiplicity shown in the fig does not agree with the multiplicity of the text for either association. Para 1, pg 338, sentence 3 appears to have an extra word - tokens - before control tokens. If this isn't extra, then rewrite sentence to make it more clear. The Rationale is a very good description of what an Action is and I suggest placing that paragraph in the Description section. The paragraph for the rationale is not really a rationale or justification--it is a description.
None of the multiplicities listed with the associations agree with the multiplicities diagrammed. Please correct either figures (probable) or the text. Associations in the text do not mention any subsets that are illustrated in the associated figures. There is no figure given for Activity in the IntermediateActivity Package but several references to that package (pg 343, 345. Please add a figure for that package for Activity or add Activity to one of the IntermediateActivity figures. Figure 211 is not discussed and appears to give no added value to the section unless figure 210 should contain an action to create a Trouble Ticket.
Add OCL notation to constraints
Add subsets (or specializes) or redefines statements to associations as indicated by the associated figures. Correct either the association multiplicity or the associated diagram multiplicity so that they agree. Italicize ActivityEdge in fig. 196. Add OCL notation to constraints. In Semantics (CompleteActivities) change "Edges" beginning paragraphs 3 and 4 to "ActivityEdges". In notation change stick-arrowhead to open arrowhead
Multiplicities are correct as written. Missing OCL is a duplicate of 6452. The word “Edges” at the beginning of the indicated paragraphs is used colloquially, consistent with usage throughout the semantics section, not as the name of the ActivityEdge metaclass.
Delete the headers Presentation Option and Style Guidelines as there are none. "In Figure 222, two ways to reach an activity final exist;..." the figure number needs to be changed to 223
In Activities, ActivityFinalNode, in paragraph above Figure 223, first sentence, replace “Figure 222” with “Figure 223”. Rest is duplicate with 8155.
Add IntermediateActivities to the section header list of packages. Typo - remove "that" from the first sentence. Add appropriate subsets information to the associations as shown in the diagrams. Make the text and diagram multiplicities agree for the associations. Add OCL notation to the constraints
ActivityGroup has no new characteristics in IntermediateActivities. The multiplicities only differ in format. OCL is duplicate with 6346.
Delete the package name "(CompleteStructuredActivities)" after Attributes because ActivityNode is not part of that package according to the figures. Add subsets notations to the associations as shown in the figures. Change the multiplicities of the associations so that the figures and the text agree. Add OCL notation to the constraints
ActivityNode is part of CompleteStructuredActivities, see Figure 196. The multiplicities only differ in format. OCL is duplicate with 6346.
If BasicActivities and StructuralActivities are orthogonal, why does the structural level require the basic level? This concept is not supported by fig. 175. Please forgive me if I've already sent this one in, but I hadn't marked my comment as submitted.
Add the multiplicity [1..] to the association. Reword the description of the association parameter:Parameter. It could be interpreted as "the same object node will accept as well as provide parameter values." If that's not the case, i.e., one node accepts and another not provides (which I think is what is meant) then change the "and" to "or." Add OCL notation to the constraints. Constraint [3] needs rewording to something like "Activity parameter nodes must have neither incoming nor outgoing edges" or "Activity parameter nodes must have only incoming or outgoing edges but not both." Wording depends on meaning of constraint. Please clarify semantics to address the following questions. Are input values placed as tokens on input activity parameter nodes at the beginning of flows? Since this node is at the beginning of the flow is that why it has no incoming edges? If it has no incomind edges, how are the values placed on the node? Para 1 of semantics says to see semantics at ObjectNode, Action, and ActivityParamenterNode. This is the semantics section for ActivityParameterNode. Delete that phrase or correct it to the proper reference semantics section. The package CompleteActivities does not show any diagrams with ActivityParameterNode. Delete those package references on pg. 366 or explain why that package is referenced.
This is a duplicate of 8219. However, the resolution of 8219 did not correct the description, as requested.
Use of the term edge(s)is confusing without the appropriate qualifier - "Control" or "Object." Suggest changing edge or edges to ControlEdge(s) and/or ObjectEdge(s) as appropriate
The term “edge” is used to mean both kinds. The issue refers to the entire Activities chapter. If there are specific cases where it should be replaced with one or the other kind of edge, then issues can be filed on those. Disposition: Closed, no change
Add the multiplicity [1..] to the association. Reword the description of the association parameter:Parameter. It could be interpreted as "the same object node will accept as well as provide parameter values." If that's not the case, i.e., one node accepts and another not provides (which I think is what is meant) then change the "and" to "or." Add OCL notation to the constraints. Constraint [3] needs rewording to something like "Activity parameter nodes must have neither incoming nor outgoing edges" or "Activity parameter nodes must have only incoming or outgoing edges but not both." Wording depends on meaning of constraint. Please clarify semantics to address the following questions. Are input values placed as tokens on input activity parameter nodes at the beginning of flows? Since this node is at the beginning of the flow is that why it has no incoming edges? If it has no incomind edges, how are the values placed on the node? Para 1 of semantics says to see semantics at ObjectNode, Action, and ActivityParamenterNode. This is the semantics section for ActivityParameterNode. Delete that phrase or correct it to the proper reference semantics section. The package CompleteActivities does not show any diagrams with ActivityParameterNode. Delete those package references on pg. 366 or explain why that package is referenced.
Use of the term edge(s)is confusing without the appropriate qualifier - "Control" or "Object." Suggest changing edge or edges to ControlEdge(s) and/or ObjectEdge(s) as appropriate
The issue refers to the whole chapter 12. In general it is ok to use the term edge if referring to activity edges in general. I agree that the term “control edge” or “control flow” should be used if only referring to that kind of edge. Same for object flow. Provide specific issues for such cases. Disposition: Closed, no change
Associated fig. 184 does not show generalizations from FundamentalActivities for ActivityGroup or from Dependencies for NamedElement. The association activity:Activity[0..1] is not diagrammed in fig. 184. The description for the association represents:Element[0..1] needs rewording. Does it mean "An element constraining the behaviors invoked by the nodes in the partition" (constraining used as a verb) or "The element constraining behaviors that are invoked by the nodes in the partition (constraining used as the noun "constraining behaviors")? Fig. 184 shows additional associations: ContainedEdge:ActivityEdge[1..1] and containedNode:ActivityNode[1..1]. These need to be added to text. Add OCL notation to constraints.
In Figure 184: The generalization to ActivityGroup (BasicActivities) is correct because the figure is in IntermediateActivities, which depends on BasicActivities. The generalization to NamedElement (Kernel) is correct because IntermediateActivities depends on Kernel, through BasicActivities and FundamentalActivities. The association activity:Activity[0..1] is not diagrammed because it is inherited without specialization. In ActivityPartition: The description for the association represents:Element[0..1] uses “constraining” as a verb. Neither sentence suggested by the filer seems better, and using "constraining behaviors" in the particular sentence cited would be ungrammatical. Rest is duplicate of 6346.
Associated fig. 192 spells association name as ownedParameterSet (no "s"), does not show the same multiplicity, and shows that this association subsets ownedMember. Make fig and text agree.
Typo - Capitalize the "M" in ownedMember of the subsets not for the BehavioralFeature association ownedParameterSet:ParameterSet
Fig. 192 spells the association as ownedParameterSet (no "s"), does not express the same multiplitity as the text, and indicates that the association subsets ownedmember (need to capitalize the "M" in the figure). Make text and figure agree.
The BNF for Notation in 9.12 of Infra and 7.3.32 of Super does not allow specification of uniqueness-designator without preceding order-designator.
This seems too restrictive and is in fact inconsistent with the example in Fig 59 of Super which just shows {unique}.
In BNF Notation for Property (11.3.4 of Infra, 7.3.44 of Super), <prop-modifier> is defined but never refered to
In 11.8.2 (Infra) and 7.3.36 (Super) the notation BNF requires a {<oper-property} any time there is a ':' after the operation nameFor example 11.7.2 of Infra: the name property states Redefines the corresponding attributes from Basic::NamedElement and Abstractions::Visibilities::NamedElement. However there is no redefinition occurring; nor would it make sense.
This descriptions resulted from the old definition of package merge where the merging package specialized and redefined matching classes and properties from the merged class. Since this is no longer the case, the description of NamedElement::name should change.
For the Attributes, Associations, and Constraints sub-sections change "None" to "No new." This would be a good policy to follow for all "(as Specialized)" concepts where no new information is presented in the 'as Specialized" concept.
Change "None" to "No new" for sub-sections Attributes, Associations, and Constraints
Package CompleteActivities is not supported by fig. 182 as a generalization for this concept. Change Figure 293 reference in sub-section Notation to either figure 294 or, more likely, figure 301.
Multiplicity for StructuredActivities associations test:ActivityNode[0..*] and body:ActivityNode[0..*] and for CompleteStructuredActivities association bodyOutput:outputPin[0..*] do not agree with figures 195 and 196 respectively. Remove the second set of parantheses from the sub-section heading Associations ((CompleteStructuredActivities)).
The generalization from CompleteStructuredActivities is not supported by the figures. Typo - add a space before last sentence in para 2 of sub-section Description. (Before Note that... .) Change wording of definition of attribute isDeterminate:Boolean to "If true, the modeler asserts that at most only one of concurrent tests will succeed and therefore the choice of the clause is deterministic." The multiplicity of the CompleteStructuredActivities association result:OutputPin[0..*] is not what is shown on fig 196. Also change the definition to reflect that the association is ordered and subsets output. Delete sub-section headers Notation, Presentation Option, and Examples are there are none. Suggest changing wording in sent 5 para 4 of sub-section semantics to "If the isDeterminate attribute has a true value, the modeler asserts that at most only one of concurrent test sections will yeild a test value (the predecessor relationship may be used to enforce this assertion)."
Generalization is supported by merge (StructuredActivityNode appears in CompleteStructuredActivities). Following resolution of 8493, the revised text removes the word “concurrently” from the description of the entry for isDeterminate. Multiplicity formats are consistent. Ordering of output is inherited, so is not stated here. Headers issue is duplicate with 8155. The sentence in Semantics was corrected in 8493.
Fig. 179 does not support generalizations of CompleteActivities, CompleteStructuredActivities, or IntermediateActivities packages. Add OCL notation
Those packages are the ones merging ActivityEdge. OCL is duplicate with 6346. Disposition: Closed, no change
I'm confused. Fig. 178 shows ActivityFinalNode as a child of ControlNode in the BasicActivities sub-package, but in fig. 183 it is a "grandchild" of ControlNode and a child of FinalNod in the IntermediateActivities sub-package. Can a concept be both a child and a grandchild of the same higher-level concept, in this case ControlNode?
Yes, a class can have the same grandparent through more than one generalization path. In this case, it is done because an intermediate class is not in one of the packages, while its parent and child are. Disposition: Closed, no change
Add OCL Notation to constraints. Typo - remove 2nd "a" from sent3 of para 2 of sub-section Notation. Delete sub-section headers Presentation Option and Style Guidelines as there are none.
Change type font to italics on fig. 195. Change association handler:ExceptionHandler [0..1] so that fig. 197 and text agree. Add the subsets ownedElement note as shown in fig 197.
Add subsets note to association protectedNode:ExecutableNode[1..1] as shown on fig. 197. Add OCL notation to constraints. Under sub-section Presentation Option change "interrupting edge is a zig-zag adornment..." to "exception handler is a zig-zag adornment..." Delete sub-section heading Rationale as there is none. Typo - Under sub-section Changes from previous UML in para 2 put a space between first and second sentences.
Add OCL notation to the constraint. In sub-section Semantics, last sent. of para 1 change "concurrency" to "mode." Typo - In sub-section Presentation Option, put a space after Figure 259. On Page 399, change figure reference number to 261. In fig. 261, chane <<concurrent>> to <<parallel>>.
Add OCL notation to the constraint
Add OCL notation to the constraints
I may be all wet (after all it is a Monday morning and raining here) but I think fig. 265 needs to be redrawn. The notation between the BuildComponent and InstallComponent activites is different than the notation between the InstallComponent and DeliverApplication activities yet the flow is basically the same. To agree with the left side of the flow between BuildComponent and InstallComponent activities, there should be a fork after the InstallComponent activity with an edge going to DeliverApplication activity and an edge going to a decisionNode. The decisionNode should have two edges exiting it. One labeled [more components to be installed] and going back to the InstallComponent activity; a second labeled [no more components to be installed] going to a Flow final node. The edge and the [no more components to be installed] label need to be removed from the edge going from the decisionNode to the DeliverApplication activity. Out of curiosity, why was a fork notation used and not the decisionNode with three control flow edges leading from it?
After the Build Component action has completed, the activity can in proceed to install the component, and check to see if any further components need to be built. If there are no more components to build, then the forked parallel flow terminates, but the activity continues with the installation of any previously built components. If there are additional components to build, they are built with the Build Component action and then sent to be installed. The reason for a fork here is to allow additional components to be built while previously built components are installed. A fork cannot be included after the Install Component action as this would result in the application being delivered after its first component was installed. Disposition: Closed, no change
The namespace is xmlns:Model="omg.org.mof.Model" Surely it should be xmlns:Model="org.omg.mof.Model" " The official/latest version of this file: omg.org/models/MOF1.4/XMI1.1/Model1.4/Model.xml" does not exist on the OMG web site.
Disposition: Deferred to UML 2.4 RTF
Add OCL notation to constraints. Reword last sentence in last paragraph of sub-section Semantics. The entire sentence is confusing and unclear
Add OCL notation
Add OCL notation to constraint. Correct multiplicity of association interrutingEdge:ActivityEdge[0..*] so that fig. 194 and text agree. Typos - Change 2nd sent. of 2nd para in sub-section Semantics to "...and the token arrives at the target even is an interruption occurs... . " - Under sub-section Presentation Option, spell zigzag as one word, not two.
Disposition: Deferred to UML 2.4 RTF
The order cancellation request example lends itself to enhancement. Fig. 274 could be enhanced if there was drawn a fork from invoice providing multiple edges of "no payment needed" or "make payment" with the "no payment needed" edge directly entering the join. Another fork could also be added after the AcceptPayment activity with one outgoing edge labeled "refund payment" with an edge to an activity "IssueRefund" then an edge going to the join. The explanation would reiterate that a token transfer, once initiated (SendInvoice activity), that is outside of the region is not interruptable. That since the SendInvoice activity is outside the region, no matter when the CancelOrder interrupt activity is issued, the SendInvoice activity is issued. However, corrective activities are needed to be performed before the CloseOrder actvity can be accomplished. This would be to either issue the invoice stating no payment is due or to issue a refund once payment is received. Additionally, wouldn't the CancelOrder activity more likely go to the merge before the CloseOrder activity instead of directly to the Activity Final? Otherwise, logically thinking, some order is out there not closed (just canceled). But then maybe (probably??) I'm missing the point of the example in which case a better explanation of the example needs to be provided.
The order cancellation request example could be improved by better analysis, as well as an indication of the activity involved in Cancel Order. It should be kept in mind that Cancel Order is a fairly complex activity, involving process-based “compensation.” Compensation would consist of processes such as requesting return of already-shipped items, refunding payments, closing the order, and terminating the activity. So, most of the improvements suggested in this issue would be handled instead within the Cancel Order activity. Adding the suggested enhancements (or an activity diagram containing the Cancel Order activity would indeed enhance the Process Order activity. However, in doing so, it could detract from the clarity of the example¹s primary propose: clearly illustrate an example of using an InteruptableActivityRegion. Disposition: Closed, no change
Add the package name IntermediateActivities to the first Associations sub-section. Add the subsets ownedElement statement (as shown in fig 193) to the association joinSpec:ValueSpecification[1..1]. Typo - remove the second a between containing and join in the 4th sent of the Notation sub-section 1st para. Change AcceptOrder behavior to SendInvoice behavior (as shown in fig 277) in the 1st sentence in the Examples sub-section. Add OCL notation to the constraints
Correct multiplicities of associations so that the figures (195 and 196) agree with text. Add subsets statments to descriptions as shown in fig. 96. Typo - 5th para, 1st sent of Semantic sub-section change "body sections has" to "body section has." Delete sub-sections Notation and Examples as there are none.
Add sections for front end node and back end node as mentioned in LoopNode
The issue references p 415, which is the semantics of LoopNode, already describing front end and back end nodes. This semantics is actually redundant with the semantics of StructuredActivityNode, but that is a separate issue. Disposition: Closed, no change
I forgot to mention that "ordered" needs to be added to the following associations: results:OutputPin[0..*], loopVariable:OutputPin[0..*], and loopVariableInput:InputPin[0..*] as shown in fig. 196.
Profiles:Extension End - the spec needs to be clear on the behaviour of the
{required} property of an extension if the extending stereotype in question
has subclasses. Are those sub-stereotypes also required?Add OCL notation to constraints. In the Semantics (CompleteActivities) sub-section, third para change receiving to multireceiving and is to are. In Examples sub-section, the example describing fig. 286, last line indicates that the selection specifies that a query operatiion that takes an Order evaluates the customer object via the Order.customer:Party association. This is not what is diagrammed in the right side of fig. 286.
The multiplicity of association (CompleteActivities) inState:State[0..*] does not agree with fig. 189. Add OCL notation to constraint (BasicActivities) [1]. Add OCL notation to contraints (CompleteActivities. Add "(BasicActivities)" to the 1st Semantics sub-section
The multiplicities “*” and “[0..*]” mean the same thing. Since ObjectNode is introduced in BasicActivities, the header for that is not put in Semantics. The rest is duplicate with 6346. Disposition: Closed, no change
Add package names "(CompleteStructuredActivities, StructuredActivities)" Add OCL notation
Disposition: Deferred to UML 2.4 RTF
The attribute effect:ParameterEffectKind[0..1] does not display this multiplicity in fig. 192. Reword the definition of attribute isStream:Boolean[1..1]=false to "Tells whether an input parameter may accept valuses or an output parameter post values while the behavior is executing." parameterSet:ParameterSet[0..*] listed as an attribute is an association. Please move it to the Association sub-section. The multiplicity for parameterSet:ParameterSet[0..*] does not agree with fig. 192. Add OCL notation to the constraints. Under sub-section Notation the last sent. says to "See notation for Operations." but gives no reference location. Is this supposed to be at page 105?
It’s not necessary to reword the definition of attribute isStream. The proposed rewording is just another verbalism and doesn’t introduce any important information.
The association condition:Constraint[0..*] does not have the same multiplicity as fig. 192. Also the fig. indicates that the association subsets ownedElement. Add OCL notation to constraints
Add package name to first Constraint sub-section. Left fig of fig. 295 needs an "s" on end. Shouldn't exception handler edges also be used in figures 296 and 303? If not, please clarify that the execption pin notation takes the place of the notation for the exception handler notation.
The first subsection is taken to be for the lowest package. Exception handlers are a different construct from exception parameters. See Parameter and ExceptionHandler classes in Activity chapter.
The definition of TemplateParameter states that the parameter cannot own at the same time its parametered element and default element. The ownership of those two elements is mutually exclusive. It is also expressed as an OCL constraint. However, there is no justification offered in the spec for this constraint and one is not obvious. The constraint should be removed.
The definition of Classifier and ClassifierTemplateParameter indicates that there may be additional constraint placed on the parameter. Examples and notation also indicate that. However, there is no defined way to express that constraint in the metamodel (at the very least it is not obvious and is very open for interpretation). The metamodel must provide a meta-association from ClassifierTemplateParameter to Classifier to represent the constraining classifier.
Fo the association executableNode:ExecutableNode[*] mention that it redefines containedNode as shown in diagram 195
Fig. 196 shows no relationship between concepts immediately under Action (StructuredActivityNode and ActivityEdge) and any of the other concepts in the diagram. There are no connecting lines. If this is truly the case, break this single diagram into two or, as I think (after reading section 12.3.47) there should be some relationship shown between the concepts on the right side of the diagram and those on the extreme left, add lines to show the appropriate relationships.
Only direct generalizations are shown between metaclasses, so none are shown between Action and ConditionalNode and LoopNode. The other relationships are in StructuredActivities and are available by the package merge. In general the metamodel diagrams are grouped by subject matter, including subject matter that might not be completely interconnected. Disposition: Closed, no change
In sub-section Description, structured activity node is noted as possibly having pins in CompleteStructuredActivities but no pins show any relationship to StructuredActivityNode in fig. 196. The association variable:Variable[0..1] is diagrammed (fig. 195) as belonging to the StructuredActivities package which does not agree in multiplicity and which does indicate that ownedMember is subsetted. A third association is also diagrammed in fig. 195. The association activity:Activity[o..1]. The figure also shows that this association redefines Activity. Figure 196 shows an association of containedEdge:ActivityEdge[?..*]. The figure shows multiplicity as * but in too many cases this should be shown as 0..* In addition, fig. 196 indicates that this association redefined contaniedEdge. Add OCL notation to constraints. In 3rd para of sub-section Semantics, last sentence add the verb "are" between tokens and left. Under the sub-section notation change the word enclosed to enclosing and add the appropriate notation symbology as it is not found in the descriptions of the children of StructuredActivityNode (conditionalNode, loopNode, or sequenceNode as shown in fig. 195) or in section 12.4.
In StructuredActivityNode, the entry for association variable:Variable[0..*] has the correct multiplicity and matches Figure 195. Multiplicities * and [0..*] are equivalent, per resolution to issue 8258. ExpansionRegion is a child of StructuredActivityNode and has notation.
Under sub-section Notation, say see fig. 307
Figure 307 is an example, it uses the generic action notation in Activities, it does not introduce new notation for UnmarshallAction. Disposition: Closed, no change
11.6.2 of Infra and 7.3.16 of Super refer to the possibility of Enumerations having attributes: "A compartment listing the attributes for the enumeration is placed below the name compartment." This concept does not make sense to me: an enumeration inherently represents a single value-set modeled through owned EnumerationLiterals. The only type of attribute that might ever make sense is a derived attribute (e.g. Color.isPrimary). Proposed resolution: Add constraint to above sections on Enumeration to state that only attributes permitted are derived ones. Also that any Operation must have isQuery=true.
Disposition: Deferred to UML 2.4 RTF
Add "See "ValuePin (from BasicAQctions)" on page 309." immediately under concept heading. Change None to No new under the sub-section Associations. Delete the word "these" in the 3rd sentence of sub-section Semantics. Delete sub-section Examples as there are none.
Under sub-sections Associations and Constraints change none to no new
The association activityScope:Activity[0..1] substes owner as indicated in fit. 195. Add OCL notation to Constraints. Type - lower case the second letter in the second sentence of sub-section Additional Operations.
In Super (but not Infra) EnumerationLiteral inherits from InstanceSpecification. This allows a single Enumeration value e.g. 'private' or 'red' to have many slots (InstanceSpecification.slot). Moreover it allows the value to have many classifiers (InstanceSpecification.classifier) independently of the Enumeration that owns the EnumerationLiteral - it does not make any sense to have this redundant property. All that is needed surely is a value: so if anything EnumerationLiteral should inherit from ValueSpecification. However this still inherits too much: for example an EnumerationLiteral should be owned only by its Enumeration and so should not inherit from PackageableElement as does ValueSpecification. Furthermore inheriting from TypedElement seems to introduce capability that is not catered for in the notation etc: if anything the underlying type for an Enumeration should be specified at the Enumeration not the EnumerationLiteral level (which would allow the different alternatives for an Enumeration to have different types). The only useful capability on EnumerationLiteral is that it should have a name (which is all that Infrastructure allows), and optionally a value. The latter should be specified in the same way as the default value of a Property. Proposed resolution: EnumerationLiteral should inherit only from NamedElement. It should have an optional property: value:ValueSpecification [0..1] The Notation section should describe how to indicate the value, which should be the same as for the default value of a Property
Disposition: Deferred to UML 2.4 RTF
Typos - remove the dash from between page and the number when referencing. ActivityNode Notation cell delete ExecutableNode and ControlNode as they just refer the reader elsewhere. ControlNode Notation cell delete FinalNode as it just refers reader elsewhere. Add ActivityNode and FlowNode. ExeceptionHandler Notation cell does not exactly agree with fig. 253. In fig. 253 the small square sits across the HandlerBodyNode instead of abutting it.
Cells that refer to other cells are helpful to explain notation for abstract classes. There is already an ActivityNode cell, and the metamodel has no FlowNode.
General comments. Change the multiplicities on the figures to reflect 0..* instead of only *. Some of the figures show it the 0..* way but most do not. If the text lists associations as [0..*] the associated figures should agree. Add OCL notation where possible and where there is no OCL notation available so note it. Delete sub-section headings where there is nothing under them or state None. For specialized concepts, if there is no new information to impart change the word from none to the phrase no new if there was some information in the original concept description sub-section. Generalizations are often not diagrammed in the appropriate Abstract Syntax package diagrams. For instance, the concept ControlNode generalized ActivityNode (from BasicActivities. Even though ActivityNode (the parent) is found in other packages, ControlNode (the child) is not. Should mention be made that ControlNode generalizes ActivityNode from the StructuredActivities package when ContronNode isn't in this package? If so, explain more fully in the How to Read This Specification Section (6.5) about the direct generalizations of a concept being generalized to all packages to which the parent belongs. Where a generalization is diagrammed not all of the "from" packages are listed as indicated in the concept text. Add all package names to the parent namespace or use ellipses to indicate that the list is longer than the namespace allows.
Multiplicities are in proper format. Empty section issue is duplicate with 8231. Headers issue is duplicate with 8155. OCL is duplicate with 6346. The generalization diagramming and class entries reflects package merge, as explained in updates from FTF, such as FTF issue 6279. Disposition: Closed, no change
Figures 307 and 308 are identical. Fig. 308 does not show what the text is describing as the Communication Domain Model(especially the paragraph on pg 457 starting with "As shown in Figure 308..."). Fig. 307 (and current 308) multiplicity for the association execution:BehaviorExecution is diagrammed as * but I wonder if it shouldn't be 0..* since the text indicates that an object may or may not cause the execution of a behavior. In the paragraph immediately following fig. 309, I believe that "The execution of a send action results in a send request, which results in a signal event occurrence (not a call event occurrence as stated). Minor editing call - In the first line on page 457, change synchronously and asynchronously to synchronous and asynchronous.
For sub-sections Associations and Constraints change the None to No new.
Under sub-section Associations and Constraints change None to No new
Specialization mentioned for the association context:BehavioredClassifier[0..1] is not shown on figure 311. Multiplicities for ownedParameter:Parameter in the text do not agree with fig. 311. According to the text the ownedParameter:Parameter references a list of parameters "that can be given" which implies that no parameters may be given and therefore the multiplicity should be [0..*]. This is not what is shown in fig. 311. Multiplicities for remaining associations listed do not agree between the text and the diagrams (fig. 311 & 313). Multiplicities should probably be [0..*] which are not what are shown in figs. 311 & 313. Add the specialization for the association redefinedBehavior:Behavior in the text to agree with fig. 311. Specializations listed for the associations precondition:Constraint and postcondition:Constraint do not agree with fig. 313. Figure 313 shows that these associations subset ownedRule. Add OCL notation to the constraints where possible or indicate that OCL notation is not available.
Multiplicities for the associations need to be added to the text for raisedException:Classifier[0..*], and changed in the associated diagrams to reflect the correct multiplicity (1 for method:Behavior (according to the text) and not * as shown in fig. 311 and 0..* for fig. 315). Unless "specializes" means the same thing as "redefines" change either the text for raisedException:Classifier from specializes to redefines or change fig 315. from redefines to specializes. Regardless, less confusion would occur if the text and the figure used the same word.
The issue text confuses the description of BehavioralFeature.behavior with a specificaiaton of multiplicity.
BNF of a operation defines name and type of a parameter as mandatory fields. But both are optional
The Notation for an operation only applies if the operation is actually shown (it is optional as explained in the section describing the Presentation Options of Classifier on page 53 of the superstructure. However, we can eliminate potential confusion by adding a simple explanation.
Under sub-section Generalizations change "Class" to "Classifier." Figures use italics for displaying the concept name so you need to mention that BehavioredClassifier is an abstract class. Under sub-section Associations add package name BasicBehaviors before the first two associations. Add the multiplicity which should probably be [0..*] and if this is correct then change fig. 311 to agree with [0..*] or 1 as is currently indicated by the text. If the multiplicity is as indicated in fig. 311 (*), then change the text to agree. For the association ownedTrigger:Trigger[0..*], fig. 316 does not indicate this multiplicity. Make the two agree. Add OCL notation or a note that OCL can not supply notation. The sub-section Semantics describes two BehavioredClassifiers - an immediate event and an input event pool. Possibly consider making these children of BehavioredClassifiers or of Event (fig. 316), i.e. ImmediateEventOccurrence and InputEventPool, instead of just Event. If this is done then two additional concepts would need to be added.
Multiplicity for ownedTrigger is given in Figure 316. The semantics section does not describe two alternate kinds of Behaviored Classifiers ? , but two possible manifestations of the behavior, depending on the Trigger associated.
Add the specializes or subsets comment to the association to agree with fig. 317. Question: If the default value of a Boolean expression is true and its value changes to false would there be a corresponding changeExpression? To me the description and semantics imply that the default value for all Boolean expressions is set at false and this isn't true (e.g., MutliplicityElement attribute isUnique; Port attribute isService). Therefore, what happens when those values change?
As stated, the change event occurs only when the value of a Boolean expression changes to true. This has nothing to do with what the default value for expressions is. -- BranSelic - 20 May 2005 Change "." notation to "::" notation.
Under sub-section Description change "each of its instance" to "each of its instances." The multiplicity for the association ownedReception:Reception in the text does not agree with fig. 314. If it is [0..*} both text and fig. 314 need changing. Specializes Classifier.feature is not shown in fig. 314 as a specialization of Class but rather as a subset of Interface. Correct either the fig. 314 or text.
Specialization of feature is shown in Figure 314 as described in text. -- BranSelic - 20 May 2005 change "*" to "0..*" in revised text.
Figure 318 shows an association of specification:DurationInterval[1] that redefines specification. Add this to the text or delete the association from the figure. Delete the "." after "DurationConstaint in Figure 320 caption.
Reword the last sentence under sub-section Semantics. Assuming is not good. State clearly that the ending point in time and the starting point in time would swap. Change "assuming" to "because." Under sub-section Notation, change "Often a Duration is a non-negative integer expression..." to "Often a Duration is an UnlimitedNatural number..." Use of the word "often" implies that the notation could be expresses as a negative integer which, for Duration is an impossibility (at least in our universe
Describe more fully that DurationInterval defines the range between the minimum and maximum duration times allowed. To be consistent with other mutliplicities, show the multiplicities of the associations on fir. 318. Add comment that the associations redefine minimum and maximum as indicated by fig. 318. Sub-section Notation mentions DurationExpression but this concept is not defined. Add this as a concept.
To be consistent, add the multiplicity for duration:Duration[1] to figure 318. Also, fig. 318 indicates that the association redefines value. Please indicate this in the text. I am not familiar with BFN but should "<urationobservation>" be "<durationObservation>"?
The first sentence in the issue description is a duplicate. -- BranSelic - 20 May 2005 the illegible part of the text said: I am not familiar with BFN but should "" be ""? (it was accidentally corrupted due to the OMG database software quirk which removes text between angular brackets). I don't think that this correction is necessary. also, changed dot notation to double-colon notation
Add OCL notation or a note that OCL is unable define a notation for the constraints.
Regarding the solution below, what about recursive nesting level (e.g., the attributes of the attributes)? -- ThomasWeigert - 19 May 2005 Good question. I've changed the OCL slightly and introduced a recursive function. Please check! I'm not sure what happens if d.ownedAttributes is a empty set? Does it evaluate to true? -- Tim Weilkiens - 20 May 2005 Fixed recursive function to work on the type of the ownedAttributes not the attributes themselves. Fixed first constraint to test the size() of the select result. -- PeteRivett - 28 Jun 2005
The association multiplicity in the text does not agree with fig. 314. If multiplicity is [0..*], both text and figure need to be changed
-- BranSelic - 20 May 2005 changed to 0..* as per guidelines
Figure 318 shows the association specification:Interfal[1] that redefines specification. Add this to sub-section Associations in the concept since the concept is not as specialized
The multiplicity of the attribute language:String[*] in the text does not agree with that shown in fig. 311. Change fig. 311 to agree with the text. Delete the sub-section heading Examples are there none.
-- BranSelic - 20 May 2005 changed to 0..*
Add OCL notation to or a note that OCL can not define the constraints
Did I understand it right that "The behavior must not have formal parameters." means that there are no in,out,inout parameters? -- Tim Weilkiens What this means is that the Behavior that is at self.behavior must not have any parameter other than return parameters. Maybe the English text should be changed (there used to be an association "formalParameter"). We probably should change the text to say that it should only have return result parameters. -- ThomasWeigert - 24 May 2005
Add OCL notation to constraint [2] or the note that ICL notation is not definable
I propose to move the constraint to Class (from Communications) with the same text and the OCL: not self.isActive implies self.ownedReception.isEmpty() It isn't easy to navigate from Reception to Class. It's possible to go via Behavioral Feature ? ::method to Behavior and via Behavior::context to Behaviored Classifier ? . Then checking if the Behaviored Classifier ? is a Class (downcast) and evaluating the isActive property. So it's possible to define such a constraint, but it's not nice. And I think it's the responsibility of Class and not of Reception. -- TimWeilkiens This is a good idea. -- ThomasWeigert - 24 May 2005
Under sub-section Description change wording to the following: "A signal is a specification of a type of send request instances that communicated..." and "The data...are representedas attributes..."
Fig. 317 shows signal:Signal[1] as an association of SignalEvent, not an attribute. Either correct text or figure. Delete the "." leading the first paragraph under the sub-section Notation
It should be updated in the text to match the figure. I cannot see any leading “.” Under the Notation sub-section (probably got confused with a smudge on the submitters screen
Add package name SimpleTime to association when:TimeExpression[1]. Fig. 318 shows that this association redefines when. Add the association for the package Communications as shown in fig. 317. This is when:ValueSpecification[1] that subsets ownedElement.
Under sub-section Description change "represent" to "represents." Under sub-section Notation, reword "Often a TimeExpression is a non-negative integer" to "Often a TimeExpression is an UnlimitedNatural number." Saying that often a TimeExpression is a non-negative integer implies that it may, at times, be a negative integer
To be consistent with other multiplicities on the figure, add the multiplicities for the associations. Also mention that each association redefines minimum or maximum
To be consistent with other multiplicities in fig. 318, add the association multiplicity to the figure. Mention that the association redefines value as shown in the figure. I am not familiar with BNF notation but should "<timeobservation>" be spelled "<timeObservation>?"
Most of this issue was resolved in the resolution to 8318. The capitalization of a BNF entry is a matter of taste – no need to change it. Disposition: Closed, no change
The generalization "Dependencies" is not listed in fig. 316 under NamedElement. Add this to the figure. The association port:Port[*] is not diagrammed anywhere. Either remove this association from the text or add it to a figure. The sub-section Changes from UML 1.x indicates that the corresponding metaclass was changed from Event but names listed in the BNF definition are all children or grandchildren of the metaclass Event in fig. 317. I believe something needs to change or be clarified but I don't know what.
The port association was moved into the composite structure package. Regarding the question as to the BNF, this is intended. The trigger references the specified event.
General comments: Add OCL notation to the constraints where possible. If not possible state that OCL notation is not available for the constraint. Either delete sub-section headings where there is no data for the sub-section or add the word "None." Make certain that the multiplicities for the associations agree between the text and the associated figures. There is inconsistency in representation of 0..* on figures, sometimes the figures use * to mean 0..* (according to the text definitions) and then sometimes 0..* is used. Several times the figures will note that an association is a redefinition of or subsets a class but the text does not mention this. Be certain to add the appropriate statement to the text definition.
Multiplicity of the association does not agree with fig. 330. Change fig. to agree with text definition
Association operand:InteractionOperand[1..*] subsets ownedElement according to fig. 332. Please add appropriate specializes comment to text. Typo - In the last sentence of sub-section Semantics for Loop change wording from "The loop construct represent..." to "The loop construct represents..."
Attribute sub-section heading needs to be changed to Associations. Fig. 331 shows message:NamedElement[0..*] as an association
Fig. 331 does not show package name for the generalization InteractionFragment. Typo - Change paragraph 3 of Notation to "A Continuation that is alone in an InteractionFragment is considered to be at the end of the enclosing InteractionFragment."
For point a) above, there is nothing special with InteractionFragment. It is defined in Interactions. No change should be done. For point b) the suggested correction is correct.
If DescriptionEvent has a constraint that no other OccurrenceSpecification may appear below the OccurrenceSpecification that references the DescructionEvent on a given Lifeline in an InteractionOperand then a similar constraint should be added to the CreationEvent. "No other OccurrenceSpecification may appear above an OccurrenceSpecification which references a CreaationEvent on a given Lifeline in an InteractionOperand."
It seems reasonable that the Destruction Event and the Creation Event are symmetrical and that the constraints are also symmetrical. There are, however, difficult to understand how creation (and destruction) is meant to be modeled in the metamodel. The creation used to be modeled by a message from the creator to the head of the created, but Creation Events cannot appear as MessageEnds because it is not a subclass of MessageEvent.
Typos - Correct Semantics sub-section sentence to "An execution event represents the start or finish of the execution of an action or a behavior."
Typos - Under sub-section Notation, start 3rd paragraph with "For ExecutionSpecification..." In the last sentence of paragraph 3 of Notation write " "(and start and finish associations refer to the very same OccurrenceSpecification)."
The Description for the concept Gate identifies the different roles gates play as formal, actual, and expression. Fig. 332 uses the terms formal and actual in the association names but not expression. I think expression is very descriptive and suggest changing the name of the association from cfragmentGateGate to expressionGate:Gate. This would require changing figure 332 and the text for CombinedFragment.
I agree with the comment of the issue. In early versions of the metamodel during the submission period, the association had the name ‘expressionGate’, but it was deliberately changed at some point. We find that this decision should not be reversed only for minor explanatory reasons. Disposition: Closed, no change
Change wording of definitions for associations to: "The OccurrenceSpecification referenced that comes before the OccurrenceSpecification referenced by after" and "The OccurrenceSpecification referenced that comes after the OccurrenceSpecification referenced by before"
There is an inconsistent description about determining conflicting transitions of a internal transition. According to sector Conflicting transitions, p.492: "Two transitions are said to conflict if they both exit the same state", two internal transitions in the same configration won't be conflict, However, P.492 says "Each orthogonal region in the active state configuration that is not decomposed into orthogonal regions can fire at most one transition as a result of the current event" There are two possible explanation: 1.Internal transition is treated orthogonal to the container region: thus, any two internal transitions in different state won't be confilict. 2.Internal transition is treated as self-transition without entry/exit action: thus, internal transition will be conflict with transitions which are conflict with corresponding self-transition. And a orthogonal region fires at most one transition(either internal or non-internal) an example: A and B are two states of top state. A is superState of AA AA is superState of AAA and AAB t1 is an internal transition of A t2 is an internal transition of AA t3 is an external transition from AAA to AAB t4 is an external transition from AA to B does t1 and t2 conflict? t2 and t3? which should be chosen for firing?
Disposition: Deferred to UML 2.4 RTF
This issue concerns the ReadStructuralFeatureAction. This action reads the values of a structural feature, in order if the structural feature is ordered. According to the sepcification, the multiplicity of the structural feature must be compatible with the multiplicity of the output pin, so the output pin will contain all the values of the structural feature. There is no way to read the value of a single element from a multi-valued structural feature without reading all its values. Adding an input pin (readAt) to ReadStructuralFeatureAction would allow this. This input pin would represent the index of the value we want to read in the structural feature. This issue stands for ReadVariableAction as well.
Disposition: Deferred to UML 2.4 RTF
According to the RemoveStructuralFeatureValueAction specification we always have to specify the value to remove. It is not possible to remove an element from a multi-valued structural feature just by specifying its number in the set and without specifying its value. It would be interesting to have this option.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Both associations are shown in fig. 331 as "subsets ownedElement" so please add this specialization to the definition text or remove notes from the figure.
Having checked other places where the subset constraint has been used, there does not seem to be any rule that this information should be repeated in the text. Rather I find the opposite that it is not mentioned. Disposition: Closed, no change
Separate the associations into appropriate packages which are identified. Multiplicity of association lifeline:LifeLine[0..*] is not diagrammed as 0..*. The association is diagrammed as subsets ownedMember. The association event:MessageEnd is not diagrammed anywhere. If such an association exists, it should probably be diagrammed in fig. 329. Association message:Message[*] subsets ownedMember in fig. 329. Association action:Action[*] subsets ownedElement in fig. 330. Typos - 2nd paragraph, pg 527, 2nd sent. should be "Similarly the deteailed actions...are often omited in Interactions,..." Delete the word "are" from 1st sent. of 3rd para under Notation
Separate the associations into packages. Add the specialization for subsets namespace to enclosingOperand:InteractionOperand[0..1] and subets ownedElement for enclosingInteraction:Interaction[0..1] as shown in the appropriate figures.
It is not clear what is meant by separating the associations into packages. Adding specializations to the descriptions of the associations is not commonplace. Disposition: Closed, no change
Typo - 2nd sent. under sub-section Description change represent to represents. Add specialization notes to definitions for associations. Association fragment:InteractionFragment subsets ownedMember according to fig. 331 and is ordered. Typo - End the 2nd paragraph under sub-section Semantics with a period. Association guard:InteractionConstraint subsets ownedElement.
The specializations of associations are not normally mentioned in the text. Closed, no change for them. The typos were resolved.
Change the name of this enumeration to InteractionOperatorKind and add "break" to the list of Literals in the text
For the sake of uniform terminology the name change should be carried out. The last typo correction in the resolution was found when considering this issue, but not really mentioned by it.
Second sentence in sub-section Description is missing a word. "...the contents of the referred Interaction xxx [from?? to??] where the InteractionUse is." Change the class name of the association argument:InputPin[*] either on fig 333 to InputPin or to Action in the text. Class name in fig. 333 is Action. This association is also shown in the figure as ordered. Association actualGate:Gate[*] subsets ownedElement. Mention specialization in definition of the association. I'm confused between the BNF use of io-argument and your use of argument. If the name of the association is "io-argument" as indicated by BNF and Issue 1751, should the name on the diagram and in the sub-section Associations be changed to io-argument? Also, para 2 on og 534 italizes argument instead of io-argument. Typo - Second sent. on pg. 534 needs a space between "explained" and "in."
Disposition: Deferred to UML 2.4 RTF
Change class name for the association selector to OpaqueExpression (as per fig. 328) or change class name on fig. 328. Interaction:Interaction[1] subsets namespace according to the fig. Mention the specialization in the text definition. Typo - First sent. of Semantics change "OccurrenceSpecification" to "OccurrenceSpecifications."
The modeling of expressions and valuespecifications has changed since the typing of the ‘selector’ attribute. I believe the correct typing now should be ValueSpecification because the selector in general refers to something that will yield a value at runtime.
According to fig. 329 the association interaction:Interaction[1] subsets namespace and the association argument:ValueSpecification[*] is ordered and subsets ownedElement. Correct text to reflect fig. Constraint [3] change the last word from "Parameter" to "Argument." In sub-section Semantics, para. 4, delete the dash (-). Typo - First para., pg 540, put a space between "as" and "well" In sub-section Notation, begin a new paragraph with the second sent. of the current 3rd paragraph
Resolved the typos. The extra information for the associations has not been customary to include in the Interactions chapter.
Since the description say that a MessageEnd represents what can and not what must occur at the end of a message and fig. 329 shows the multiplicity of the association to be 0..1, change the multiplicity of messate:Message from [1] to [0..1].
It is hard to think how one could legally have a dangling MessageEnd. The only reasonable scenario that I can find is that it should be legal to have diagrams with gates that are not yet attached. Semantically it does not make much sense, though. Still there is now a discrepancy between the metamodel and the text and in this case the text should be changed.
In sub-section Description, change enumerator name from MessageSort to MessageKind
Change the name of the enumeration list to MessageSortKind on fig. 329, as the section heading, and in sub-section Description
This issue is probably a call for more uniform terminology by always ending enumerations in “-kind”, but I find this unnecessary. Disposition: Closed, no change
The associations toBefore:GeneralOrdering and toAfter:GeneralOrdering use "EventOccurrence" in the definition. OccurrenceSpecification appears to be the renamed "EventOccurrence." The class EventOccurrence is not defined as a concept in this document. However, the name is still used in many places. EventOccurrence occurs in the following places: figures 307, 308, and 347; pages 509 (weak sequencing # 3), 544, 549, and 794; and in the Frame row, Notation column of tables 14, 16, 18, and 19. Either change the class name or define the concept
EventOccurrence does not appear in the MDL file. Change all instances of EventOccurrence to OccurrenceSpecification. This appears to be related to Issues #6980 and 6682.
Typos - Place a period "." at the ent of i) and iii); In first line of Style guidelines sub-section, change "are" to "is."
Association invariant:Constraint[1] subsets ownedElement and association covered:Lifekube[1] redefines (not subsets/specializes) covered according to fig. 328. Typos - Last sentence of sub-section Semantics, change has to have and is to are.
Subsetting is normally not mentioned in the association text in Interactions. The typos are corrected below.
Be consistent in the use of the period (.) ending the statement in the reference column of the tables. Place a period at the end of the sentence under sub-section Graphic Paths, pages 554 and 561. First line, page 556 shange shows to show.
Add Ocl notation to constraints where possible or note that OCL notation is not possible. Page numbers of odd numbered pages are not in the same place as the are for other chapters. Move them to the lower right corner. Delete sub-section headings where the sub-section contains no information or state "None." If a concept is not "(as specialized)" and there are no atttributes, associations, etc. write "None" instead of "No additional xxx." Not all of the figures contain package names for the generalized parents. Add as many of these as possible or use the ellipses as appropriate.
Disposition: Deferred to UML 2.4 RTF
The specification says: "If isReplaceAll is false and the structural feature is unordered and nonunique, then adding an existing value has no effect." This should be replaced by: "If isReplaceAll is false and the structural feature is unordered and UNIQUE, then adding an existing value has no effect."
p 346, keyword «singleExecution» is used for activities that execute as a single shared execution. p 347, keyword «singleCopy» is used in figure is used to specify single execution. Anyway use an uppercase for the first letter of the keyword, as done for Precondition and Postcondition.
InterfaceRealization is a subclass of Realization that inherits the attribute Realization::realizingClassifier (defined in the Components package). This attribute has a multiplicity of 1, which means that InterfaceRealization must have a "realizingClassifier", even though this attribute only makes sense when the target is a Component and not an Interface. This is complicated further by the fact that InterfaceRealization has its own association end that serves a similar purpose called "implementingClassifier". But, this only makes sense for the case when the target of the realization is an Interface and not a Component. InterfaceRealization should not be forced to have a "realizingClassifier" attribute. The best way to fix this may be to define a separate subclass of Realization for the case of Components (e.g., ComponentRealization) such that the two cases are kept apart. Alternatively, the multiplicity on Realization::realizingClassifier could be set to 0..1.
Notation of a component realization is described as the same as the realization dependency, i.e. dashed line with open arrow-head. But the realization dependency has a triangular arrow-head. Please note that all component example figures use the open arrow-head. I would prefer the triangular arrow-head.
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Fig. 87 on page 157 shows a composite structure diagram. Therefore the horizontal line below the component name is missing (see 9.3.13 for composite structure notation).
Typo - Delete the word "of" from the first sent. of sub-section Descriptions. Delete sub-section Attributes or state "None" instead of "No additional attributes." The multiplicities for the associations entry:Pseudostate[1..*] and exit:Pseudostate[1..*] don't agree with figure 354. Change the word "refreshens" to "references" in association definition for state:State[0..1]. In sub-section Semantics, last words of para 2, change "pseudo states" to "pseudostates." Under sub-section Presentation Options change Figure "362" to "361" in the para talking about entry point and change Figure "361" to "362" in the para talking about exit point. Just thought I'd mention that when I printed a hardcopy (PDF using Adobe Acrobat Reader 6.0), the submachine state symbol in fig. 359 had a bold outline and the entry circle is normal weight whereas the submachine state symbol line weight in figs. 360-362 are normal weight as is the example on pg, 638. The exit circle in fig. 360 and on pg. 638 is in bold line weight. There also appears to be a difference in the line weights in the softcopy version.
No issue has been identified with the word “of” in the text – seemed to be overlooked by the issue submitter - no change.
Fig. 354 shows the association owningState:State[*]. Please add this to the sub-section or delete it from the diagram. Also, explain how a state can have multiple final states as indicated by the multiplicity in the figure. In the sub-section Semantics, the first sentence seems to contradict constraint number [4]. Please clarify more fully how a final state may be entered if there can be no entry behavior.
The issues here are all misunderstandings of the submitter. The association owningState in fig. 354 refers to the state constraint and not to FinalState. There is no issue with a region to have more than a single FinalState instances. The fact they can be reduced to a single instance doesn’t pose any semantic problem. Also there is no contradiction between the constraint of FinalState not to be associated with entry behavior definitions, with the fact that entering a FinalState has behavioral implications. However, some of this confusion stem from the lacking of OCLs in addition to English text. Therefore the OCL shall be added.
Change "No additonal attributes." to "None."
Typo - In sub-section Description, change "abide" to "abides." Under sub-section Attributes, change "No additonal attributes" to "None." According to fig. 357, associations specificMachine:ProtocolStateMachine[1] subsets source, subsets owner and generalMachine:ProtocolStateMachine[1] subsets target. Mention these specializations in the definitions. Change sent. under sub-section Constraints to "None."
Typos - For consistency, spell as "pre- and post-conditions" in the Semantics sub-section
In the ReplyAction specification, the association replyValue is specified as an OutputPin which is inconsistant with the specification of this association on Figure 152 (p 241) where it is specified as an InputPin to ReplyAction. The specification page 300 should be changed to InputPin instead of OutputPin.
Change "No additional attributes" to "None." The association conformance:ProtocolConformance[*] subsets ownedElement. Please add a specialization statement to the definition. Fig. 357 shows another association: interface:Interface[0..1] that subsets namespace. Add to associations or delete from fig. Constraint [3] is missing two ending parantheses but they may be found in constraint [4] as it has two extra. Delete the very small dot in front of the list of specifications in sub-section Semantics. "Depending on the context" is confusing in light of constraint [1] and "or they can be different" needs further explanation. Totally reword and redefine this paragraph. I, unfortunately, don't know enough to help you further. Typos - Reword to "Protocol state machine interpretation can be: Change "sub-statemachines" to "sub-state machines" in first line of next to last para in sub-section Semantics. In last para of sub-section Semantics, last word of second sent. should be "machines."
Typos - "In a protocol state machine, several transitions can refer to the same operation as illustrated below." Change below to "Figure 366" as the figure is above the text in the current version. Para. above Unreferred Operations, change "stat" to "state." Association "\referred:Operation[0..*]" needs the slash direction changed to "/" and the multiplicity of fig. 357 doesn't agree with that listed in the text. Change "No additional attributes" to "None."
Typo - Change "Pseudostate are" to "Pseudostates are" in sub-section Description. Fig. 354 says that the association stateMachine:Statemachine[0..1] subsets namespace. Also correct "Statemachine" to S"tateMachine." Fig 354 also shows an association state:State[0..1] that subsets owner. Correct the number of parantheses for constraints [1], [4], and [6]. Bold the word "and" in constraint [3.
Font style is not consistent in the list of literal values for PseudoStateKind. Delete sub-sections Attributes and Associations or change line to "None."
Delete sub-section Attributes or change line to "None." Fig. 354 shows that association transition:Transition[*] subsets ownedMember as does association subvertex:Vertex[*]. Fig. 355 shows that association extendedRegion:Region[0..1] redefines redefinedElement and that association /redefinitionContext:Classifier[1] subsets redefinitionContext. Within subsections Additional constraints and Additional operations stateMachine often appears with a lower case "m." Typo - delete the apostrophy starting the sentence in Additional constraing [2].
Minor inconsistencies between abstract syntax and text within the metaclass region. Typos. The resolution is to flow the findings above regarding the region metaclass.
Figure 27 illustrates a directed association from JumpHandler to HandlerAction. Yet the documentation on page 115 says there is a reference from HandlerAction to JumpHandler (jumpHandler 1..1). Where is the association from HandlerAction to JumpHandler? The multiplicity at the (non-navigable) JumpHandler end of A_HandlerAction_JumpHandler is 0..*.
This refers to part of the metamodel and text that was rewritten in UML 2. Disposition: Closed, no change
The JumpAction->Inputs section documents jumpOccurrence:RuntimeInstance[1..1]. The second sentence of the documentation contains a typo that makes the meaning of the documentation unclear. Please re-write the second sentence.
Issue refers to UML 1.x. The JumpAction is replaced by RaiseExceptionAction in UML 2. The sentence with the typo isn’t in the UML2 specification document. Disposition: Closed, no change
How to show class operation calls in interaction diagrams? A discussion in the umlforum list came to the conclusion that the name in the lifeline header should be the class name. In that case it is not possible to differentiate between "ClassName" only and "RoleName" only. Besides the notational problem I can't see how a class operation call could fit into the interaction meta-model. However it is necessary to show such a call. It's a typical part of an interaction.
The issue here is to be able to describe calls on static methods. Sequence diagrams in UML 2 do not cover this. It is possible to suggest that the lifeline header text be augmented by the possibility to write class as a keyword before the class name. This would indicate that the lifeline represents the imaginary object performing static methods of that class. There will, however, be cascading effects on static requirements since this lifeline does not have any counterpart in the composite structure of the enclosing classifier. For reasons of time pressure, we suggest to defer.
No mention of figures 387 and 390 are made in the text. Reference figure 387 on pages 600 (Composite state) and page 606 (Entering an orthogonal composite state). Reference figure 390 at end of paragraph 2 on page 613. Typos - In sentence under Exiting an orthogonal state, change "is" in last sentence to "are." - Under Composite state (pg 609) Upper case Decomposition compartment. - Page 606, Under Exiting non-orthogonal state, change "from a composite state..." to "from a simple composite state..." to agree with the line just above Simple state in sub-section Description on page 600. - Page 606, first paragraph, change "il defined" to "ill defined." - Page 612, under Examples, change "sub state machine" to "submachine state." - Page 614, first line, change "In Figure 391 this state machine" to "In Figure 391 the state machine of figure 389 an figure 390." - Page 614, first line of Rational change "Submachine states...has been..." to "State machines...have been...."
Attributes are derived and need this noted. Also add OCL notation to the derived attributes as per the "How to Read this Specification" (page 14)indicates will be done. isComposit=(region>1) - modified from page 14. isOrthogonal=(region>=2) ??? isSimple=((region=0) and (submachineState=0)) ??? isSubmachineState=(SubmachineState>0) I question the multiplicity of the association connection:ConnectionPointReference[*]. Shouldn't it be [0..*] because the association wouldn't exist if the state was simple or compound. Ths association also subsets ownedMember and that needs to be added to the definition. According to fig. 354, the multiplicity for connectionPoint:Pseudostate is 0..8 and this association subsets ownedElement. I question the multipliticy of the association deferrableTrigger:Trigger[*]. Do all state have MULTIPLE deferrable triggers? First paragraph on page 605 says "a state may specify a set or event types that may be deferred in that state." Associations doActivity:Behavior[0..1], entry:Behavior[0..1], and exit:Behavior[0..1] all subset ownedElement according to fig. 354. Association redefinedState:State[0..1] redefines redefinedElement. This needs stating in the definition. I question the multiplicity of region:Region[*]. If the state is a simple state it has no regions (page 600). Change the multiplicity to [0..*] here and in fig. 354. Association /redefinitionContext:Classifier[1] subsets redefinitionContext and needs mentioning in the definition. Add OCL notation to constraint [3]. OCL font format doesn't appear correct for constraint [4]. Constraint [7] repeats constraint [1] but is just worded and expressed slightly differently. Should bulleted statements on page 605 immediately above Entering a non-orthogonal state be added as constraints? Should an exit point be added to the ATM state machine in fig. 391?
Delete sub-section Attributes or change line to "None." Association connectionPoint:Pseudostate[*] subsets ownedMember. According to fig. 354, there is an association submachineState:State[*] that needs to be added and defined in the text. Association extendedStateMachine:StateMachine[*] redefines:redefinableElement I think. Figure 355 is overwritten by fig. 356 and this association is hard to read. In fig. 355, classifier StateMachine is not generalized or connected to any other classifier in the figure. Draw appropriate connections or make the StateMachine classifier a separate figure. Correct spelling of "conectionPoint" in OCL notation for constraint [3]. Add OCL notation to Additional Operations [1], [3], and [4] or otherwise note that OCL notation is not available for these operations. Typos - Para immediately above Run-to-completion and concurrency (pg. 671), change "... the invoked object complete..." to "...the invoked object completes..." - Page 619, 7th para. change "is" to "are." - Page 612, 1st para, last sent., does the capitalization of "verifyTransaction" need changing? - Personal preference for easier understanding place commas in "for, e.g., classes" on page 623 in sub-section Rational (second such labeled sub-section). Complete the sentence/paragraph for the last paragraph under StateMachine extension.
There are few items already fixed in the post FTF text. Revised text includes only those not yet addressed.
script is an artifact stereotype on compliance level L1. Artifact is an element on level L2. That's a mismatch.
A use case diagram is a structural diagram. Similar to operations in classes in shows the structure of the system services. Therefore a use case is a specialized Classifier and not Behavior like model elements of all other behavior diagrams (interaction, activity, and state machine).
The classification of diagrams is a fuzzy concept to start with and has no precise formal meaning. While it is true that a use case diagram is, in essence a specialized class diagram, most users expect it to be a behavioral diagram – because it deals with functional requirements and because it has traditionally been classified in that category in UML 1. Changing this at this point is likely to introduce confusion. Disposition: Closed, no change
Association guard:Constraint[0..1] subsets ownedElement. Need to add this to the definition. Association replacedTransition:Transition[0..1] redefined redefinedElement. Need to add this to the definition. Association /redefinitionContext:Classifier[1] subsets redefinitionContext. Need to add this to the definition. Also need to add OCL notation. Constraint [2] - delete last paranthesis. Add OCL notation or a note that OCL cannot express constraint [7]. Add OCL notation or a note that OCL cannot express Additional operation [1]. Typos - pg. 626, para 4, sent 2, add "s" to transition. - pg. 627, 1st bullet under sub-section Example, first sent, delete the final "s" in "states." Why aren't he bulleted statements under sub-section Enabled (compound) transitions constraints? The activities named in fig. 396 ("MinorReq = ID;" and "MajorReq = ID:") are not the same format as indicated in Table 20 ("MinorReq := Id;") - the colon is missing before the equal sign in the figure.
Add OCL notation to the constraints or a note that OCL notation is unavailable for these constraints. Typos - first bullet of sub-section Semantics, change "occur" to "occurs." - second bullet of sub-section Semantics, cange "stat" to "state." If a transition of kind external leaves the border of the composite state, how can it end at the composite state itself? Please provide a figure to illustrate this.
(1.1) Update as suggested. (1.2) Update as suggested. (2.1) Update as suggested. (2.2) Update as suggested. (3) Not sure what to do with this one. Is an illustration needed or is the definition inconsistent with itself?
The multiplicities for the association definitions do not agree with those shown in fig. 354. Typo - Additional operation [1], change "sate" to "state." Question - Are the "?" and "-- no other valid cases possible" legal OCL notation?
Inconsistent in the spelling of pre- and post-condition vs pre condition and post condition. Other sections use pre- and post-condition. Association postCondition:Constraint[0..1] subsets ownedElement and preCondition:Constraint[0..1] subsets guard according to fig 357. Question: Why doesn't association postCondition:Constraint subset guard instead or inaddition to ownedElement? For other concepts where pre- and post-conditions exist, they both subset guard
(1) I was able find places where “pre-condition”, “pre condition”, and “precondition” (same for post) were used in Section 15. Not sure which format is considered official style. (2) Assocation end “postCondition: Constraint[0..1]” is shown subsetting “Element::ownedElement” on figure 358 on page 577. Update as suggested. (3) Assocation end “preCondition: Constraint[0..1]” is shown subsetting “Transition::guard” on figure 358 on page 577. Update as suggested. (4) I could not find any other references to pre- or post-conditions subsetting guard as association ends.
General comments - Delete sub-sections tat are empty or state "None." If class is not "as specialized' do not say "No additional xxxx" but rather "None" or delete the sub-section. Add OCL notation or a note that OCL notation is not available for constraints and/or additional operations and/or derived attributes where appropriate.
Disposition: Deferred to UML 2.4 RTF
Should Image a subclass of Element? Image and diagram interchange may benefit from reflective capabilities inherited from MOF. Having Image, and all UML metaclasses be a subclass of Element may make it easier for MOF based tools to reflectively navigate the visual notation. Recommendation: Make Profiles::Image a subclass of Element
There are a few cases when the default is documented as a ValueExpression, as follows:
- JoinNode.joinSpec = {default value is" and"}
- ActivityEdge.guard= {default value is "true"}
These defaults are currently just plain text in the Rose Model displayed under the ValueSpecification as shown in figure 185 in the superstructure specification.
They should be included formally in the model. However it is not clear that the UML2 notation text allows defaults for association ends, and that those defaults can include expressions that construct instances of classes such as ValueSpecification. For example, the notation for ActivityEdge::guard in figure 185 could be:
+guard = LiteralBoolean(true)
The default value for guard is set to a newly constructed LiteralBoolean (a ValueSpecification) with value true.
Recommendation:
Ensure the text notation for default values includes the ability to construct InstanceSpecifications, and that the notation supports defaults for properties on association ends.
Disposition: Deferred to UML 2.4 RTF
OCL for InfrastructureLibrary::Core::Constructs::Property::opposite() should it be:
opposite =
if owningAssociation->empty() and association.memberEnd->size() = 2 then
let otherEnd = (association.memberEnd - self)->any() in
if otherEnd.owningAssociation->empty() then otherEnd else Set{} endif
else Set {}
endif
Recommendation:
Fix the operation definition.
Yes, there is an error here (although the correction expression must use the “isEmpty()” operation and not “empty()”)
Abstractions::Comments::Comment is a subclass of Abstractions::Comments::Element which is a subclass of Abstractions::Ownerships::Element. The resolution to issue 6279 redefines package merges such that the Element superclass of Element should be removed. Recommendation: Delete Abstractions::Comments::Element, and make Comment a subclass of Ownerships::Element. Move the associations from Comments::Element to Ownerships::Element
ExtensionEnd should have a default multiplicity of 0..1 which differs from the inherited MultiplicityElements::lower which defaults to 1. I think therefore that there needs to be an override by ExtensionEnd redefining lower with a different default. Recommendation: Redefine inherited MultiplicityElement::lower to have default 0 in ExtensionEnd.
ObjectNode::upper should have default multiplicity unbounded (“*”) in order of object nodes to be multi-valued by default. Recommendation: Redefine inherited MultiplicityElement::upper to have default “*” in ObjectNode.
ObjectNode is not a MultiplicityElement. The filer might be referring to Pin, but the multiplicity of pins is specified in each action. The upperBound of object nodes defaults to unlimited. Disposition: Closed, no change
ObjectNode::upper should have default multiplicity unbounded (“*”) in order of object nodes to be multi-valued by default. Recommendation: Redefine inherited MultiplicityElement::upper to have default “*” in ObjectNode.
In figure 100 of ptc/04-10-02, the association end Classifier::representation subsets “Classifier::occurrence” and should subset “Classifier::collaborationUse”. The fix should also be applied to the Associations specification for Classifier in the Composite Structures chapter on page 175.
Recommendation:
Change figure 100 as specified above.
In the entry for Associations of Classifier on page 175, replace the parenthesized expression:
Subsets Classifier.occurrence
By the expression:
Subsets Classifier.collaborationUse
-- BranSelic - 20 May 2005 changed to double-colon convention
The following properties (in the subsets constraints) are unresolved in their unmerged, containing package. The problem is that the properties in these subsets constraints are not defined in the unmerged package. They will be defined in the various compliance levels once the packages have been merged. However, the package merge rules (and the desire to be able to check OCL constraints on unmerged packages) require all references to be resolved before the merge.
Superstructure::LogicalView::UML::CompositeStructures::InternalStructures::Property::_structuredClassifier {subsets classifier}
Superstructure::LogicalView::UML::Components::BasicComponents::Component::realization {subsets clientDependency}
Superstructure::Logical View::UML::Deployments::Artifacts::Artifact::manifestation {subsets clientDependency}
Recommendation:
These are either resolved by including the proper superclass in the unmerged package so that the properties are visible, or copying the associations from another merged package in order to make the properties visible.
Compliance level L3 references, but does not merge: Superstructure::Logical View::UML::CommonBehaviors Superstructure::Logical View::UML::CompositeStructures There are a number of diagrams in the UML2 Rose model that contain unlabeled dependencies between packages. In particular, Activities, Interactions, StateMachines, and UseCases have dependencies to CommonBehaviors that are unlabeled. See diagram UML/Behavior Packages and UML/UML Top-Level Packages. Since CommonBehaviors does not contain any classes, it does not necessarily need to be merged into any compliance level. Instead, the packages it contains are merged as needed. Recommendation: Remove all unlabeled dependencies between packages, or mark them as either package imports or package merges as needed.
Since CommonBehaviors does not directly contain any classes, it does not necessarily need to be merged into any compliance level. Instead, the packages it contains are merged as needed. The package imports are ok because the are merged away in the compliance levels. UML2 models are CMOF models, and CMOF does not support dependencies. So all unlabeled dependencies in the UML2 metamodel should be either package imports or merges.
Summary: There are two fundamental inconsistencies in the way that conformance is defined: · BasicActions and BasicInteractions, which are defined at L1, both reference Signal and Event, defined in CommonBehaviors::Communications, which is defined at L2. · Profiles are defined as L2 but Appendix C defines a profile for level L1. Clearly, if L1 is to support profiles, the definition of profiles needs to be defined at that level as well or a lower level. Recommendation: For the first item, move CommonBehaviors::Communications from L2 to L1 For the second item, a minimal impact resolution is to retain the L1 system as such, but to include it as part of compliance level L2. In general, the standard profiles should be specified explicitly as belonging to the appropriate compliance levels in section 2.4
A derived union association end represents a union of all of its subsets. The leaf subsets clearly have to be non-derived. However, in operation Property::isConsistentWith(), defined on page 127 of ptc/-04-10-02, it is stated that a derived property cannot be redefined by a non-derived property. This means that all such subsets of derived unions will be incorrect. Clearly, this restriction should be removed.
Recommendation:
Remove the constraint:
(prop.isDerived implies isDerived)
from the operation Property::isConsistentWith() (on pg. 127)
Disposition: Deferred to UML 2.4 RTF
In section 7.3.44 on pg. 130 of ptc/04-10-02 there is a constraint that states: “All redefinitions shall be made explicit with the use of a {redefines <x>} property string.” Unfortunately, this is violated in numerous places in the metamodel. This results in numerous inconsistencies in the metamodel.
Recommendation:
As a practical resolution with minimal impact, it is recommended that this restriction be removed. This means that the use of the same association end name for a given association end implies a redefinition of the corresponding association end in an ancestor class.
For practical reasons, this restriction should be removed. This means that the use of the same association end name for a given association end implies a redefinition of the corresponding association end in an ancestor class. This is typical practice in most OO programming languages.
The redefinition rule [4] of Property on page 127 of ptc/04-10-02 restricts a navigable property from being redefined by a non-navigable property. Unfortunately, this rule is violated in many parts of the model. Recommendation: As a practical resolution for this problem, it is suggested that this constraint be removed since it does not seem to provide any benefits and yet prevents the realization of the agreed design intent
The UML2 specification current couples navigability and property ownership as described in section 6.5.2. In addition, there is currently no notation for specifying property ownership separate from navigability. Although section 6.5.2 may specify useful defaults in the absence of anything specific from the modeler, this is not currently part of the specification. As a result, any redefinition that changes navigability will also change the property from an ownedAttribute of a class to/from an ownedEnd of an Association. This will result in an invalid redefinition because the redefined property will not be in a classifier that is a generalization of the classifier containing the redefining property (the redefinition context). In addition, even if there was notation that allowed the ownership to be specified separately from the navigability, there are instances in the UML2 model where navigability of the same property is redefined to be both navigable and non-navigable in different subclasses which results in the property needing to be owned by an association and class at the same time. Constraint [4] in section 7.3.44 says a navigable property can only be redefined or subsetted by a navigable property. There are many cases in the UML2 model where this constraint is violated for subsetted properties contributing to derived unions. For example, Element::/element is a navigable derived union which is redefined or subsetted by many non-navigable and navigable non-derived properties. This results in many invalid subsets because of changes in navigability in different subclasses for the same inherited property. However, the subsetting context for an association end is the classifier at the other end. Constraint [3] says subsetting may only occur when the context of the subsetting property conforms to the context of the subsetting property. That is, the subsetting context must be the same or a subclass of the subsetted context. This is the case of all of the subsets in the UML2 model as long as navigability is ignored. In theory, the subsetting context from a non-navigable subsetted end would not be a property of a classifier inherited by the context of the subsetting end. However, a property does know its association, so like OCL, subsetting can be defined to be independent of navigability. It is not clear this is the intent of the UML2 specification, but it is clearly used many times in the metamodel. Redefinitions must be stricter because the redefined property must not simply be accessible, but must be a inherited. Fortunately there are no instances where redefinitions change property ownership. When an association generalizes another association and redefines its ends, the redefined end must be accessible through the generalization. This means redefining and redefined properties must be ownedEnds of the association or ownedAttributes of the participating classes. Redefining ownership (either directly or indirectly by changing navigability with default ownership) resulting in the redefined property no longer being a member of the general classifier would result in an invalid redefinition. As a result, constraint [4] in section 7.3.44 both over-constrains subsets and is incomplete. It should state the redefined property must be inherited from a generalization of the classifier containing the redefining property. This doesn’t apply to subsetting because it’s not a redefinition. So constraint [4] should not reference subsetted properties.
In figure 318 on page 463, the multiplicities of DurationObservationAction::duration and TimeObservationAction::now are not specified. This results in violations of the redefinition rules for these association ends. Recommendation: Set the multiplicities for these association ends to 1, to conform to the multiplicity of WriteStructuralfeatureAction::value association end that they redefine
Delete sub-sections Attributes and Rationale as there are none. I question, in light of Constraint [1] and the second paragraph in sub-section Semantics, that there are no associations for an actor. Both constraint [1] and Semantics clearly indicate that there are associations and the Semantics paragraph even indicates multiplicity possibilities greater than one. Figure 401 shows no navigability and association between UseCase and Actor although both Constraint [1] and Semantics indicate that there should be some. Typo - There are eleven "(" but only ten ")" in constraint [1]. Personal preference - Restate Changes from previous UML to "The additon of the constraint that requires that all actors must have names has been added."
Disposition: Deferred to UML 2.4 RTF
Under sub-section Generalizations add the generalization "NamedElement (from Kernal)" on page xxx" (page 100 I believe). This generalization is diagrammed in fig. 401. Delete sub-section Attributes or change wording to "None."
Fig. 401 shows 2 associations: extend:Extend{*] and useCase:UseCase[1]. Define these in the sub-section Associations. Delete sub-section Attributes or change the wording to "None."
Add the generalization "NamedElement (from Kernal)" on page xxx (page 100 I believe). This generalization is shown in fig. 401 and mentioned in the Description sub-section. Delete sub-sections Attributes and Constraints or change wording to "None." In sub-section Semantics, I'm not certain that the following statement is reflected in fig. 401 "Since the primary use of the include relationship is for reuse of common parts, what is left in a base use case is usually not complete in iteself by dependent on the included parts to be meaningful. This is relfected in the direction of the relationship, indicating that the base use case depends on the addition but not vice versa." Reword 2nd sent of para 2, Semantics, to "All of the behavior of the included use case is executed...." or "The included use case behavior is executed at a single..."
Sub-section Attributes and Constraints are not empty. It seems that the submitter refers to ptc/03-08-02. Fig. 401 reflects the content of the quoted sentence as far as it is possible for a class diagram.
Delete sub-section Attributes or change wording to "None." For the associations include:Include[*] and extend:Extend[*], the "Specialized Classifier.feature" is not shown in fig. 401. Add OCL notation to constraints [2] and [3] or indicate the OCL notation is not available. Add an ending ")" to Additional Operation OCL notation--one missing. Typo - 1st sent. of para 3 of Semantics, change "describe" to "Describes." There is no association or navigable link between UseCase and Actor shown in fig. 401. Add appropriate link(s).
The wording "No additional attributes. " in the attributes section is conform to our decision. It warns readers that there may be associations involving this concept that are defined somewhere else. The typo change "describe" to "describes" is already done. There is no need to define an association between UseCase and Actor. The relationship between both elements in a user model is a common association that is defined between their base class classifier.
Typo: Constraint 3 contains the word "IntectionFragment". Should be InteractionFragment
Add actions for reading and writing parameter values, so flows are not required in structured activities
Decision node should be able to take decision based on input separate from the flow being routed
Disposition: Deferred to UML 2.4 RTF
Object node should be a multiplicity element, and use multiplicity upper for upperbound
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
Add presentation option for multiple object flows between two actions, shown as one line.
Disposition: Deferred to UML 2.4 RTF
Enumeration should have a constraint that the classifier of its literals is the enumeration
Disposition: Deferred to UML 2.4 RTF
Interactions: What object receives SendEvent, etc? Affects how AcceptEventAction is used
Disposition: Deferred to UML 2.4 RTF
Common Behavior: why does Figure 326 refer to Signal from Communications, but not Operation form Communications? (it looks like Communications can refer to Kernel:Operations rather than defining its own).
In Communications, semantics and a semantic variation point are added to Operation. Defining this semantics requires the presence of concepts that are introduced in Commuincations. However, this semantics is not necessarily required for interactions, and thus Operation::Kernel is referenced there. Disposition: Closed, no change
Figure 141, remove import from IntermediateActions to Communications. Add an import from BasicActions to Communications
ValueSpecificationAction, Attribute section, is missing the return pin
Clarify the constraints on ExceptionHandler, that results must be output pins introduced on structured nodes in CompleteStructuredActivities.
Disposition: Deferred to UML 2.4 RTF
Add constraint in ExceptionHandler that exception type must be compatible with the exception handler input. Why is exception type needed?
Disposition: Deferred to UML 2.4 RTF
<pre> ExceptionHandler, clarify working of constraint [1]: "[1] The exception body may not have any explicit input or output edges." It should say the exception handler and its input object node are not the source or target of any edge. </pre>
ExpansionRegion, clarify wording in description: expansion nodes are not input pins.
ExpansionRegion: remove "If an expansion region has outputs, they must be collections of the same kind and must contain elements of the same type as the corresponding inputs." Inputs and outputs of expansion regions do not need to correspond, this was intended to refer to the pins that flows to the output. Add general constraints on types of source and targets of object flows rather than have the a special case for expansion nodes.
ExpansionRegion: require that all input collections have the same number of elements at runtime.
In ExpansionRegion, clarify that that input pins on expansion regions (introduced by merge with CompleteStructuredActivities) provide values that are constant across the execution of the region, and that output pins are not allowed.
Output pins are allowed on all structured nodes, with semantics specified at StructuredActivityNode.
<pre> In ExpansionRegion, clarify the interaction of elements from multiple input collections (ie, there is none). Clarify that the region operates on each collection in the specified mode. From Jim R: If there are N input collections (note there may also be plain scalar inputs, whose value remains constant in each of the executions), then one value from the same position in each of them represents a "slice". The slice is not actually formed into an object or a single value. The body of the region is executed once for each slice. Each of its pins gets the value from the given position in the corresponding input collection. Each execution is independent and concurrent, therefore the values from different positions do not interact. If the body interacts with an outside object, then there is a high possibility of conflict among the concurrent executions, so that is not usually recommened, although it is not forbidden by the UML2 rules. If it does happen, you can't assume any particular order of execution or even that two executions won't hit the same slot at the same time (in this, it is the same as all other uses of concurrency in UML). If each execution keeps to its own subset of values (for example, by indexing into a collection using the input position for that execution), then things might be OK; otherwise it's probably a real bad idea to use this construct. It works best when the computations are purely internal, in that case the concurrency poses no problems at all and permits total freedom in implementation; those kinds of computations are pretty common in practice. </pre>
There is interaction of the inputs in stream and iteration modes. Clarification about “slices” added below.
ExpansionRegioin example, Figure 261: concurrent => parallel
Expansion region description: "The number of output collections at runtime can differ from the number of input collections." Drop "at runtime".
In ExpansionRegion, clarify that the behavior in the shorthand notation must have exactly one return parameter
Disposition: Deferred to UML 2.4 RTF
Loop node owns output pins as loop input variables, but pins must be owned by actions under the input/output associations in UML 2 (not in UML 1.5).
Add constraint in LoopNode that loop variable inputs should not have edges coming out of them. Otherwise, the value could leave the pin in the middle of the loop.
In LoopNode, setup, test, and body parts should be owned by the loop node (they were owned by clauses of loop node, which were owned by the loop node).
Disposition: Deferred to UML 2.4 RTF
Semantics of isAssured/isDeterminant in conditional node, the phrase "concurrently yield a value" sounds it is referring to tests that complete at the same instant in time. Would be clearer to drop "concurrently", since it isn't the concurrency that isAssured/isDeterminant is concerned with, it's the results.
Add constraints on conditional, loop, sequence to rule out node contents that are not in the sequence, or clause, setup/body part
The setup/test/body parts of loop nodes and the test/body parts of conditional node clauses are defined only in terms of executable nodes. However, in general, one also wants to be able to have non-executable nodes, such as control nodes, within a loop or conditional node. These will be contents of the loop or conditional node, but not specified to be in any setup/test/body part. However, any executable nodes contained in a loop or conditional node should, indeed, be in a setup, test or body part within the loop or conditional node. For sequence nodes, the SequenceNode::executableNode association redefines StructuredActivityNode::node, so a sequence node can only contain executable nodes. Revised Text: The constraints introduced in the resolution of Issues 8492 (for loop nodes) or 8495 (for conditional nodes) cover the resolution of this issue, too. Disposition: Closed, No Change
Add constraints on ConditionalNode to ensure the test and body are owned by the conditional node (or have them owned by the clause with body outputs being referred to by a single clause. This would prevent sharing bodies across clauses It is unclear if this is much of a benefit, since changing the body of one clause will change another, which may not be the intention.).
Disposition: Deferred to UML 2.4 RTF
Add constraints on conditional and loop nodes that decider is an output pin of an action in the test body, and that its type is boolean
Add constraints on conditional and loop nodes that body outputs are pins on action contained in the body part of the clauses
Constrain conditional node to have body pins if there is a result pin. Constrain to be of the same number and compatible types
Due to lack of time, the RTF/FTF agrees that the following are problems that need fixing, but decided to defer their resolution to a future RTF working on this specification.
In ConditionalNode: "A notational gloss is provided for this frequent situation." There is no notation
mustIsolate: The wording of UML 2 for StructuredActivityNode.mustIsolate refers to individual nodes instead of all the nodes in the group: If the mustIsolate flag is true for an activity node, then any access to an object by an action within the node must not conflict with access to the object by an action outside the node. A conflict is defined as an attempt to write to the object by one or both of the actions. If such a conflict potentially exists, then no such access by an action outside the node may be interleaved with the execution of any action inside the node. The UML 1.5 wording was better: Because of the concurrent nature of the execution of actions within and across procedures, it can be difficult to guarantee the consistent access and modification of object memory. [Examples snipped] In order to avoid these problems, it is necessary to isolate the effects of a group of actions from the effects of actions outside the group. This is indicated by setting the mustIsolate attribute to "true" on a group action. If a group action is isolated, then any object used by an action within the group cannot be accessed by any action outside the group until the group action as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the group action. In the first example above, if the read actions on the temperature and pressure attributes are wrapped in a group action with mustIsolate set to "true", then the temperature and pressure values read are assured to be consistent, since no changes can intervene between the two reads. Similarly, if an isolated group is used for the second action, then the update is assured to be consistent, since no action outside the group can change the list until the update is complete. Note" The term "isolation" is used here in the sense used in traditional transaction terminology. An execution engine may achieve any required isolation using locking mechanisms, or it may simply sequentialize execution to avoid concurrency conflicts. Isolation is different than the property of "atomicity", which is the guarantee that a group of actions either all complete successfully or have no effect at all. Atomicity generally requires a rollback mechanism to prevent committing partial results. This is beyond the scope of what can be guaranteed by the basic action semantics.
The text cited above from UML 1.5 appears in the Description section of UML 2 StructuredActivityNode (except for the example). The last paragraph of Semantics is new to UML 2 and it worded incorrectly in one spot, as the submitter points out.
SequenceNode should have way to set output pins in CompleteStructured, like ConditionalNode and LoopNode do.
Disposition: Deferred to UML 2.4 RTF
Figure 209 of Activites, and entry in index: <<singleCopy>> should be replaced with <<singleExecution>>.
Clarify that the semantics of minimum multiplicity > 0 for streaming parameters that it is required sometime during execution
Typo - Change first sent. under sub-section Description to "...one or more information items circulates from its sources to its targets." Subject of phrase is singular (one or more) and needs the singular verb. Add OCL notation to the constraints or state that OCL notation is not available. Constraint [1] reads like an enumeration. Why is it not diagrammed showing an enumeration. Reword the except clause to "...and InstanceSpecification except when the classifier of the InstanceSpecification is a relationship (i.e., it represents a link)." Constraint [2] change "target" to "targets" and delete the prepositional phrase "if any." (Or explain how information can flow if there isn't at least one source and one target.)
Globally OK, except the enumeration issue: we are talking about connected metaclasses, enum is not suitable for this.
Not all of the sub-package names given in the sub-section Generalizations are shown in fig. 413. Add them or ellipses. Change capitalization of "information Item" and "Information Items" in sub-section Description to agree. If Information Item is an abstraction shouldn't the name appear in italics in fig. 413? Change last sent. of para 1, sub-section Description to "...for representing information in a very abstract way, one which cannot be instantiated." Change "taken" to "made" in first sent. of para 2 of Descriptions. Delete sub-section Attributes or change wording to "None." Add OCL notation to constraints [1] and [2] or a note that OCL notation is not available. Constraint [1] contains an enumeration list but this is not diagrammed as part of fig. 413. The constraint reads like a guard whose condition is that the InformationItem can only be of the enumerationKind listed in the constraint. Why not diagram it that way? Typos - 1st sent., Para 2 of sub-section Semantics, change "item" to "items." - 2nd sent., Para 3 of sub-section Semantics, reword to "specifying this detailed information belongs to the represented classifier." Question - Why is the multiplicity in fig. 418 0..1? Suggest removing all multiplicities from diag. 418 as they add nothing to it.
It is not necessary to add all the package names into figure 413. Not all the classes in that list are actually superclasses of InformationItem (the list is simply a consequence of the way that class names are cross-referenced in the document – the title of the section is used rather than the name of the actual metaclass). The Attributes section follows the convention used throughout the document. It should not be removed. Information Item is a concrete class. Part of this issue (constraints) overlaps with issue 8506 and will be treated there. Figure 418 is an example of a model with associations and multiplicities. There is no point to removing the multiplicities.
If model is an abstraction of the physical system shouldn't the name in fig. 419 be in italics? Attribute viewpoint:String[*] does not have the same multiplicity as shown in fig. 419 which is the default multiplicity of [0..*] as indicated on page 14 of this document. Delete sub-sections Associations and Constraints or change the wording to "None." Add the word "open" between small and triangle in 1st sent. of Notation. Typo - 2nd sent of sub-section Notation, change "is" to "are."
PprimitiveTypes strike me more as an enumeration or list than a package. Consider changing them to an enumeration or list. Boolean is derived from George Boole and is generally capitalized whenever used. Please be consistent in capitalization of "Boolean" when using the word as an adjective. Sometimes on page 673 it is capitalized ("The Boolean condition") but other times it is not ("boolean type," "boolean attribute," and "boolean expression"). Delete sub-sections Attributes, Associations, and Constraints or change the wording to "None.
Changing the primitive types to an enumeration list at this point would cause disruption among the numerous implementations of UML tools. The change to “None” is not in line with the default editing policy and will not be made. The term Boolean should be spelled with a capital B and the change will be made throughout the document for consistency.
Delete sub-sections Attributes and Constraints or change wording to "None." Add the association owningDefault:TemplateParamenter[0..1] that subsets owner. Fig. 427 shows this.
The change to “None” is not in line with the default editing policy and will not be made. The general rule is that non-navigable (and non-owned) association ends are not named or documented in the spec.
Delete the sub-sections Attributes and Constraints or change the wording to "None." Association templateBinding:TemplateBinding[*] subsets Element::ownedElement according to fig. 428. Change wording in para 3, sent. 2 of sub-section Semantics to "...by expanding the templates to which it binds, since..." The Examples sub-section makes no sense. ClassifierTemplate and PackageTemplate are not to be found in this document. Do you mean Classifier (pg 689) and Package (pg 696)? This section is TemplateableElement but no specializations are listed or referenced. Clarify this sub-section, in particular provide page numbers for the sections to which the reader is referred.
Add associaton owningSubstitution:TemplateParameterSubstitution[0..1] that subsets Element:owner as shown in fig. 428.
The general rule is that non-navigable (and non-owned) association ends are not named or documented in the spec.
Delete sub-section Attributes or change wording to "None." Add that the association boundElement also subsets Element::owner as shown in fig. 428. Change the association name from "template":TemplateSignature to "signature" in the text or change fig. 428 association name from "signature" to "template." The Examples sub-section makes no sense. ClassifierTemplate and PackageTemplate are not to be found in this document. Do you mean Classifier (pg 689) and Package (pg 696)? This section is TemplateBinding but no specializations are listed or referenced. Clarify this sub-section, in particular provide page numbers for the sections to which the reader is referred. Or change the name of Classifier to ClassifierTemplate and Package to PackageTemplate. If name change is made then change the names in all figures that contain these template names
Under sub-section Notation, the last sentence says to see "ParameterableElement (from Templates)" on page 679 (and its subclasses)." What subclasses? I find none listed or diagrammmed in any figure.
The submitter seems to have missed the fact that a number of metaclasses are defined as subclasses of ParameterableElement in this chapter, including Classifier (on page 689), PackageableElement (page 696), Operation (pg. 704), and ConnectableElement (pg. 706). Disposition: Closed, no change
Under sub-section Notation, the last sentence says to see "ParameterableElement (from Templates)" on page 679 (and its subclasses)." What subclasses? I find none listed or diagrammmed in any figure. Delete sub-section Attributes or change wording to "None." Typo - Delete the second word ("the") of the second para of Semantics.
For the issue of subclasses of ParameterableElement, see the resolution to issue 8514. The wording for Attributes is as per document convention and need not be changed. The type should be fixed.
Delelte sub-section Attributes or change wording to "None." Change association name from "binding":Tto "templateBinding" to agree with fig. 428 or change fig. 428 association name from "templateBinding" to "binding."
The change to “None” is not in line with the default editing policy and will not be made. The role name must be corrected
Delete sub-section Attributes or change wording to "None." Change definition of association parameter:TemplateParameter to "The complete set of ordered formal template parameters for this template signature." This is indicated by fig. 427. I believe Constraint [2] should say "parameters are the owned parameter." Change wording of 2nd sent. of 2nd para of Semantics to "Either the parameter that owns the parametered element, or the element that is owned, directly or indirectly, but the template subclasses of TemplateSignature can add additional rules constraining what a parameter can reference in the context of a particular kind of template." I see no subclasses for TemplateSignature in the diagrams--just composite parts. The paragraph under ClassifierTemplates needs enhancement. What figure is being referenced? If it is fig. 429, that diagram does not support the text paragraph.
In fig. 412 the PrimitiveTypes package is sitting alone with no dependencies or navigation lines yet it is on the same level as Kernal, BasicActivities, BasicInteractions, and InternalStructures. If all of the other packages don't import elements from PrimitiveTypes, I would suggest offsetting the PrimitiveTypes package or putting it in a separate figure. Question - Why not develop PrimitiveTypes as an enumeration with Boolean, Integer, String, UnlimitedNatural, and UserDefinedKind or UserDefinedList as the elements of the enumeration?
The PrimitiveTypes package should not be in this diagram. PrimitiveTypes are defined in the Infrastructure library and used at multiple metalevels.
The classifier for the association parameter:ParameterableElement[0..1] does not agree with fig. 429. The classifier is titled ClassifierTemplateParameter in the figure. In addition, the figure does not support that this association redefines ParameterableElement::parameter Fig. 413 shows an additional association: representation:InformationItem[*]. Please add this to the sub-section Typos - 2nd line, 1st para under Section, rewrite as "parameterable element so that a classifier can be exposed as a formal template paramenter, and provided as ...." - 1st line, under sub-section Description, put a comma after Kernal::Classifier. - 3rd line, 3rd para under sub-section Semantics insert the word "of" between "specialization" and "this anonymous." - Last sent., para 2 of Collaboration under sub-section Semantics, change the word "used" to something "identified" or "defined" or "decided." "We have used that..." is not very understandable. - Last para. of Collaboration under sub-section Semantics: change "produce" to "producer" and "NrokeredSale" to "BrokeredSale." Delete "And anyway," and change "Parameters, by the very nature..." to "Parameters, by their very nature..."
The redefines statement of association parameteredElement:Classifier[1] is not supported in fig. 429. Delete sub-section Constraints or change wording to "None." Change spelling of alloswSubstitutable to allowSubstitutable in 2nd sent. of last para of sub-section Notation.
The classifier name for the association nameExpression: in fig. 438 is StringExpression not Expression as indicated by text. In addition, the figure indicates that nameExpression:StringExpression[0..1] subsets ownedElement. Typo - under sub-section Notation in para "With alias:" change "is" in the first sent. to "are."
Fig. 438 shows an additional associaton: owningExpression:StringExpression[0..1] that subsets owner
In Figure 178 and 183 there is two different inheritance relationships. In 178 the class ControlNode is a direct parent for classes ActivityFinalNode and InitialNode. These two classes are a direct descendant from FinalNode in figure 183. These introduce two different inheritance taxonomy with different meaning.
Typo - Be consistent with the capitalization of "Operation" in sub-section Semantics
It is very confusing to have two very similar concepts with the same name (17.5.14 and 17.5.15). Could the two concepts be combined into one, combining figure 440 with 441 and the text? If not, consider changing the name of one of the concepts. Association parameter:ParameterableElement is not what is diagrammed in fig. 441. Instead fig. 441 shows parameter:OperationTemplateParameter[0..1] with no redefinition mentioned.
The submitter seems to have missed the fact that this is a different merge increment of the same concept in a different package. There is no need to rename the concept – it is the same concept.
Fig 441 for the association parameteredElement:Operation[1] does not mention that the association redefines TemplateParameter::paramete