Issues for Mailing list of the EXPRESS Metamodel 1.1 Revision task Force
To comment on any of these issues, send email to express-rtf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
List of issues (green=resolved, yellow=pending Board vote, red=unresolved)
Issue 13447: The metamodel doesn't seem to support a Schema -> Interface -> Schema relationship
Issue 13669: Associations that should be composite
Issue 13670: Some ActualTypes have namespaces
Issue 13671: EnumerationType:values is derived
Issue 13672: entity-has-attributes documentation
Issue 13673: Scope of Attribute is not modeled
Issue 13674: Correct derivation of plays-domain-role
Issue 13675: Parameter:explicit-role is not defined
Issue 13676: derivation of role bounds
Issue 13677: remove "derivedFrom" dependency
Issue 13678: Derivation of redeclaration bounds
Issue 13679: Remove instance-of-type
Issue 13680: derivation of Redeclaration:refined-role
Issue 13681: Correct derivation for value-of-EnumerationType
Issue 13682: Constrain of-type for SimpleValue subclasses
Issue 13683: True, False and Unknown are not defined
Issue 13684: Correct documentation of Extent:content
Issue 13685: correct documentation of extent-within-population
Issue 13688: GenericElement:source is not composite
Issue 13689: id attributes in 12.3 subset Expression:text
Issue 13690: Literal refers-to SimpleValue is not abstract
Issue 13691: Delete ParameterRef:id
Issue 13693: GenericElement:source is not composite
Issue 13694: id attributes in 12.3 subset Expression:text
Issue 13695: Delete ParameterRef:id
Issue 13696: AttributeRef/GroupRef:id subsets Expression:text
Issue 13697: Correct text of Operations and FunctionCalls
Issue 13699: Clarify ActualParameter:inFunctionCall
Issue 13700: Provide link for actual-referent
Issue 13701: 12.8, Query expressions
Issue 13702: AggInitializer:result-value subsets evaluation
Issue 13703: Incorrect model of AggregateInitializer
Issue 13704: PartialEntityConstructor attributes subset Expression attributes
Issue 13705: Delete associations to Instance classes in 12.10
Issue 13706: Indeterminate literal is not documented
Issue 13707: in 12.11 most values not specified as an instance object in the Instances package (Clause 9)
Issue 13708: Statements can appear outside StatementBlocks
Issue 13709: Correct model of AliasStatement and AliasVariable
Issue 13710: Correct the properties of Alias-binds-variable
Issue 13711: Correct semantics of optional RETURN value
Issue 13713: Distinguish AliasRef from VariableRef in text
Issue 13870: Question on InvertibleAttribute subclass of ExplicitAttribute
Issue 13880: Figure 28 is the wrong figure
Issue 13899: Attribute:attribute-type is not a DataType
Issue 13900: Text of Definition of RangeRole:range
Issue 13901: Nature of InstantiableType
Issue 13902: Wording of Redeclaration:lower-/upper-bound
Issue 13903: Literal:refers-to subsets Expression:evaluation
Issue 13904: SizeConstraint/LengthConstraint subset ParameterType:constraints
Issue 13905: Excess text in schema-interfaces-elements Definitions
Issue 13916: Correct UML qualified name syntax
Issue 13917: Use consistent class diagram style
Issue 13918: Correct Figure references
Issue 13919: Correct indexing/selector text
Issue 13929: InstantiableType:fundamental-type should be derived
Issue 13447: The metamodel doesn't seem to support a Schema -> Interface -> Schema relationship (express-rtf)
Click here for this issue's archive.
Source: TopQuadrant (Mr. David Price, dprice(at)topquadrant.com)
Nature: Uncategorized Issue
Severity:
Summary:
Issue Submitter: David Price, Eurostep
Document: EXPRESS Metamodel, Alpha Version
Issue:
The metamodel doesn't seem to support a Schema -> Interface -> Schema
relationship. I do see Schema -> InterfaceElement -> SchemaElement
relationship in the metamodel but it's as often as not the entire Schema
that gets interfaced.
If I were using the metamodel in a tool to create EXPRESS, this seems to mean
I can't establish schema interfaces beforehand (e.g. to split a domain being
modeled into subdomains) unless I have elements in every schema. This seems
like a gap in the metamodel.
What I mean by this is that I should be able to take the EXPRESS metamodel,
build an application that directly implements the classes it defines and then
I should be able to create any and all valid EXPRESS schemas.
Since:
SCHEMA A;
 USE FROM X;
END_SCHEMA;
SCHEMA X;
END_SCHEMA;
is valid EXPRESS it seems to me the metamodel should support this. It doesn't
seem to me that the distinction is purely syntactic if there are valid
schemas that cannot be represented using the metamodel. I do agree with Ed
Barkmeyers analysis of what the text in Part 11 says, it's just that the text
appears to be incomplete in that it doesn't cover the A and X situation
above.
Related Discussion Summary:
>From Ed Barkmeyer: I would say that USE FROM <schema>; is just a syntactic
shorthand. Â What is actually interfaced is a specific collection of
InterfacedElements. It is not clear that any additional semantic
relationship is established between the two schemas. Â The only relationship
between the two schemas is that some of the InterfacedElements in one Schema
refer to SchemaElements defined in the other one.
In the UML case, the relationship is package-to-package, and circular
import/merge relationships are not valid. Â But EXPRESS is very clear that the
relationship is schema-to-InterfacedElement, and circular references among
the schemas themselves are permitted. Â Also in UML, importing a package
doesn't change the local package namespace. Â In EXPRESS, interfacing elements
adds identifiers to the local schema namespace. Â So Exp:Schema and
UML:Package are only superficially similar.
I guess we never discussed using the metamodel to "create EXPRESS", and
I'm not quite sure what that means. Â But Bernd Wenzel pointed out at one point
that certain purely syntactic information should be maintained in the
metamodel to allow a reasonable approximation to the original EXPRESS
schema to be constructed.
My understanding was that EXPRESS was being treated as the legacy.
So the intent of the metamodel was to capture the knowledge contained in
a set of EXPRESS schemas, for the purpose of rendering that knowledge
into more useful forms.
It is not clear whether USE FROM X (<list of everything in X>); is a
"reasonable approximation" to USE FROM X; . Â But it is certainly true
that there is no way in the metamodel to represent USE FROM X; if X
contains no declarations.
Note also that, unlike USE FROM X;, what REFERENCE FROM X; interfaces is
selective, and there you want the metamodel to capture the
interpretation -- the results of the algorithm described in clause 11 --
not just the parse. Â So I would never want to see a metamodel population
in which some schema-to-schema relationship was captured INSTEAD OF the
collection of schema-to-InterfacedElement relationships that that syntax
MEANS. Â (But the other experts may not share my view.)
Proposed Resolution: No
Resolution: Add Interface to clause 8.4 and Figure 2, with two associations: interfaced-schema, interfacing-schema and an isUSE attribute
Revised Text: NOTE: These changes will cause renumbering of the subsections of 8.4. The numbering below is automatic, it is not correct.
Note also that the hyperlinks may need to be re-linked.
1. In clause 8.4, REPLACE Figure 2 (Scopes and Schemas) with:
<image = 13447-Figure2-Schemas.png>
2. Immediately before clause 8.4.3, INSERT
1.1.1 Class: Interface
Definition: represents the EXPRESS “interface” relationship between two Schemas that is created by a USE or REFERENCE statement.
Each interface statement explicitly or implicitly includes zero or more SchemaElements from the interfaced Schema in the interfacing Schema. Each SchemaElement that is explicitly interfaced by the statement shall be represented by exactly one InterfacedElement that is included in the Interface. Each SchemaElement that is implicitly interfaced by the statement shall be represented by at least one InterfacedElement that is included in some Interface between the interfacing Schema and the interfaced Schema.
Note: See clause 11 of ISO 10303-11:2004. Interface models the USE and REFERENCE statements, but follows the interpretation rules given in that clause. In particular, a statement of the form
REFERENCE FROM <schema>;
explicitly interfaces every SchemaElement defined in the interfaced schema, and a statement of the form
USE FROM <schema>;
explicitly interfaces every NamedType defined in the interfaced schema.
Note: Per ISO 10303-11, a SchemaElement can be implicitly interfaced to define the terms used in defining explicitly interfaced SchemaElements in one USE or REFERENCE statement. The same SchemaElement can also be explicitly interfaced in another USE or REFERENCE statement. This specification does not require a SchemaElement that is explicitly interfaced to be modeled as implicitly interfaced at all. But SchemaElements that are implicitly interfaced at least once and are not explicitly interfaced at all must be modeled by InterfacedElements that are included in at least one appropriate Interface.
1.1.1.1 Supertypes
none.
1.1.1.2 Attributes
Attribute: isUSE To: MOF::Boolean
Definition: True if the EXPRESS interfacing statement is USE; False otherwise.
The interpretation of USE is that Instances of every NamedType that is explicitly interfaced by the statement are permitted to be "independent entities" in a Population governed by the interfacing Schema. When the interfacing statement is REFERENCE, Instances of interfaced NamedTypes exist in a Population only to fulfill some Attribute of an entity that is ultimately dependent on an "independent entity".
Note: See clause 11.1 of ISO 10303-11:2004.
Multiplicity: 1..1
1.1.1.3 Associations
AssociationEnd: interfaced-elements To: InterfacedElement
via: interface-includes-elements
Definition: the InterfacedElements that are included in the Interface, that is, the SchemaElements that are implicitly or explicitly interfaced into the interfacing schema by the USE or REFERENCE statement that is represented by the Interface.
Properties: composite
.Multiplicity: 0..* unordered
AssociationEnd: interfaced-schema To: Schema
Definition: represents the relationship between the Interface and the Schema whose SchemaElements are being interfaced into the .interfacing-schema.
Multiplicity: 1..1
AssociationEnd: interfacing-schema To: Schema
via: schema-has-interface
Definition: represents the relationship between the Interface and the Schema in which it appears.
Multiplicity: 1..1
1.1.1.4 Other Roles
none.
3. In 8.4.3.2, Attribute: isUSE, DELETE the 4 paragraphs:
Attribute: isUSE To: MOF::Boolean
Definition: True if the interfacing statement is USE; False otherwise. isUSE can only be True if the interfaced (.refers-to) SchemaElement is a NamedType. The interpretation of USE is that Instances of the interfaced NamedType are permitted to be "independent entities" in a Population governed by the interfacing Schema. When the interfacing statement is REFERENCE, Instances of that NamedType exist only to fulfill some Attribute of an entity that is ultimately dependent on an "independent entity".
Note: See clause 11.1 of ISO 10303-11:2004.
Multiplicity: 1..1
and REPLACE them with the 4 paragraphs:
Attribute: isImplicit To: MOF::Boolean
Definition: True if the InterfacedElement represents an implicit interface of the SchemaElement it refers-to, that is, no identifier for the SchemaElement is introduced into the namespace of the interfacing Schema; and False otherwise.
Note: See clause 11.4 of ISO 10303-11:2004. Note that if a SchemaElement is interfaced by an InterfaceElement in which isImplicit = TRUE, no InterfaceElement of the .interfacing-schema in which isImplicit = FALSE .refers-to the same SchemaElement.
Multiplicity: 1..1
4. In 8.4.3.3, immediately after the heading and before AssociationEnd: interfacing-schema, INSERT:
AssociationEnd: included-in To: Interface
via: interface-includes-elements
Definition: the Interface that includes the InterfacedElement.
Multiplicity: 1..1
5. In 8.4.3.3, AssociationEnd: interfacing-schema,
5a. REPLACE the paragraph:
via: element-interfaced-into-schema
with the paragraph:
via: schema-interfaces-elements
5b. after the Multiplicity paragraph, ADD 3 paragraphs:
Properties: derived.
Tagged Values
derivation = self->included-in->interfacing-schema;
6. In 8.4.7.3, in the entry for Association End: interfaced-elements, DELETE all 6 paragraphs of the entry:
AssociationEnd: interfaced-elements To: SchemaElement
via: schema-interfaces-elements
Definition: represents relationship between a Schema and the SchemaElements it interfaces from other Schemas. .interfaced-elements = .interfaces.refers-to
Multiplicity: 0..* unordered
TaggedValues
derivation = self->interfaces->refers-to
and REPLACE them with:
AssociationEnd: interfaced-elements To: InterfacedElement
via: schema-interfaces-elements
Definition: represents the relationship between a Schema and the InterfacedElements it contains, that is, the SchemaElements that it imports/interfaces from other Schemas via USE and REFERENCE statements.
Properties: derived.
Multiplicity: 0..* unordered
TaggedValues
derivation = self->interfaces->interfaced-elements;
7. In 8.4.7.3, in the Association End: interfaces entry, DELETE the 4 paragraphs:
AssociationEnd: interfaces To: InterfacedElement
via: element-interfaced-into-schema
Definition: represents the relationship between a Schema and the InterfacedElements it contains, that is, the SchemaElements that it imports/interfaces from other Schemas.
Note: See clause 11 of ISO 10303-11:2004.
Multiplicity: 0..* unordered
and REPLACE them with:
AssociationEnd: interfaces To: Interface
via: schema-has-interface
Definition: the Interfaces that link the Schema to the Schemas it interfaces and to the InterfacedElements they interface into the Schema.
Properties: composite
Multiplicity: 0..* unordered
8. In 8.4.7.4, immediately after the subsection heading add:
From: Interface as interfaced-schema
9. In 8.4.8.3, AssociationEnd: referenced-in, DELETE the 4 paragraphs:
AssociationEnd: referenced-in To: Schema
via: schema-interfaces-elements
Definition: represents the relationship between a SchemaElement and the Schemas, if any, it is interfaced into.
Properties: derived
Multiplicity: 0..* unordered
TaggedValues
derivation = self->referenced-as->interfacing-schema
10. DELETE clause 8.4.14 (Association: element-interfaced-into-schema) and its subclauses:
8.4.14 Association: element-interfaced-into-schema
Definition: represents the relationship between a Schema and the InterfacedElements it contains, that is, the SchemaElements that it imports/interfaces from other Schemas.
Note: See clause 11 of ISO 10303-11:2004.
8.4.14.1 Association Ends
AssociationEnd: interfaces To: InterfacedElement
Definition: the InterfacedElements that the SchemaElements that the Schema imports/interfaces from other Schemas.
Note: See clause 11 of ISO 10303-11:2004.
Multiplicity: 0..* unordered
AssociationEnd: interfacing-schema To: Schema
Definition: represents the relationship between the InterfacedElement and the Schema in which it appears. If the InterfacedElement renames the .refers-to SchemaElement, the interfacing-schema is the namespace for the .interfacedId.
Multiplicity: 1..1
and REPLACE them with (the numbering below is automatic):
1.1.2 Association: interface-includes-elements
Definition: represents the relationship between an Interface and the InterfacedElements it contains, that is, the relationship between an interface statement (USE or REFERENCE) and the SchemaElements it implicitly and explicitly interfaces.
Note: See clause 11 of ISO 10303-11:2004.
1.1.2.1 Association Ends
AssociationEnd: included-in To: Interface
Definition: the Interface that includes the InterfacedElement.
Multiplicity: 1..1
AssociationEnd: interfaced-elements To: InterfacedElement
Definition: the InterfacedElements that are included in the Interface. That is, the SchemaElements that are implicitly or explicitly interfaced into the interfacing schema by the USE or REFERENCE statement that is represented by the Interface.
Properties: composite
.Multiplicity: 0..* unordered
11. In clause 8.4.18 (schema-interfaces-elements), DELETE the Definition paragraph:
Definition: represents the EXPRESS "interface" relationships (USE, REFERENCE) between an interfacing Schema and the SchemaElements that it interfaces from the Schema in which they are defined.
and REPLACE it with:
Definition: represents the EXPRESS "interface" relationships (USE, REFERENCE) between an interfacing Schema and the InterfacedElements that represent the SchemaElements that are interfaced from other Schemas.
12. In clause 8.4.18.1, DELETE the entire body of the subclause:
AssociationEnd: interfaced-elements To: SchemaElement
Definition: represents relationship between a Schema and the SchemaElements it interfaces from other Schemas. .interfaced-elements = .interfaces.refers-to
Multiplicity: 0..* unordered
TaggedValues
derivation = self->interfaces->refers-to
AssociationEnd: referenced-in To: Schema
Definition: p>represents the relationship between a SchemaElement and the Schemas, if any, it is interfaced into. .referenced-in = .referenced-as.interfacing-schema
Multiplicity: 0..* unordered
TaggedValues
derivation = self->referenced-as->interfacing-schema
and REPLACE it with:
AssociationEnd: interfaced-elements To: InterfacedElement
Definition: represents the relationship between a Schema and the InterfacedElements it contains, that is, the SchemaElements that it imports/interfaces from other Schemas via USE and REFERENCE statements.
Properties: derived.
Multiplicity: 0..* unordered
TaggedValues
derivation = self->interfaces->interfaced-elements;
AssociationEnd: interfacing-schema To: Schema
Definition: represents the relationship between the InterfacedElement and the Schema in which it appears. If the InterfacedElement renames the .refers-to SchemaElement, the interfacing-schema is the namespace for the .interfacedId.
Properties: derived.
Multiplicity: 1..1
Tagged Values
derivation = self->included-in->interfacing-schema;
1.1.3 Association: schema-has-interface
Definition: represents the relationship between a Schema and the Interfaces it contains, and indirectly, the Schemas that it imports/interfaces.
Note: See clause 11 of ISO 10303-11:2004.
1.1.3.1 Association Ends
AssociationEnd: interfaces To: Interface
Definition: the Interfaces that link the Schema to the Schemas it interfaces and to the InterfacedElements they interface into the Schema.
Properties: composite
Multiplicity: 0..* unordered
AssociationEnd: interfacing-schema To: Schema
Definition: represents the relationship between the Interface and the Schema in which it appears.
Multiplicity: 1..1
Disposition: Resolved
Actions taken:
February 6, 2009: received issue
June 6, 2011: closed issue
Issue 13669: Associations that should be composite (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: Many associations in the specification should be specified as "composite", in order to facilitate XMI export and other implementation technologies. The following is a list of associations (by their end names) that are clearly 'composite' in intent, as their definitions indicate:
(Core, clause 8)
EntityType:unique-rules
LocalScope:local-elements
NamedType:type-elements
NamedType:domain-rules
Schema:schema-elements
Schema:interfaces EntityType:declares
SingleEntityType:declares
SingleEntityValue:properties
(Instances, clause 9)
ARRAYValue:member-slot
BAGValue:member-slot
EnumerationType:declared-items
LISTValue:member-slot
(Algorithms, clause 10)
Algorithm:formal-parameters
Algorithm:actual-types
Algorithm:body
AlgorithmScope:variables
Function:result
Parameter:type-constraints
Parameter:structure-constraints
(Rules, clause 11)
GlobalRule:supporting-body
GlobalRule:contains-rules
SupertypeRule:constraints
(Expressions, clause 12)
AggregateInitializer:bindings
FunctionCall:actual-parameters
PartialEntityConstructor:bindings
QueryExpression:query-variable
(Statements, clause 13)
CaseAction:action
CaseStatement:cases
IfStatement:then-actions
IfStatement:else-actions
ProcedureCall:actual-parameters
RepeatStatement:body
RepeatStatement:control-variable
StatementBlock:body-statements
Proposed Resolution:
For each of the above, modify the UML diagram to show the 'composition' association and modify the text specification of the association end by adding:
Properties: composite
Resolution: As proposed, and fix related association properties. In particular, Scope:named-elements, LocalScope:local-elements, NamedType:type-elements are composites and derived unions.
Document ParameterType: constraints, which is also a composite derived union.
Figures 2, 12, 19, 27, 29, 30, 44 are further modified by other issues.
Revised Text: As proposed, and fix related association properties. In particular, Scope:named-elements, LocalScope:local-elements, NamedType:type-elements are composites and derived unions.
Document ParameterType: constraints, which is also a composite derived union.
Figures 2, 12, 19, 27, 29, 30, 44 are further modified by other issues.
Revised Text:
1a. In clause 8.4, REPLACE Figure 3 with:
<image = Issue13669-Figure3-Scopes.png>
1b. In 8.4.1.3, under AssociationEnd: common-elements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
1c. In 8.4.1.3, under AssociationEnd: variables, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
1d. In 8.4.5.3, under AssociationEnd: local-elements, REPLACE the paragraph:
Properties: abstract
with a new paragraph:
Properties: composite, derived union
1e. In 8.4.7.3, under AssociationEnd: schema-elements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
1f. In 8.4.9.3, under AssociationEnd: named-elements, REPLACE the paragraph:
Properties: abstract
with a new paragraph:
Properties: composite, derived union
1g. In clause 8.4.10, REPLACE Figure 4 with:
<image = Issue13669-Figure4-ScopedId.png>
1h. In 8.4.12.2, under AssociationEnd: common-elements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
1i. In 8.4.13.1, under AssociationEnd: named-elements, REPLACE the paragraph:
Properties: abstract
with a new paragraph:
Properties: composite, derived union
1j. In 8.4.15.2, under AssociationEnd: local-elements, REPLACE the paragraph:
Properties: abstract
with a new paragraph:
Properties: composite, derived union
1k. In 8.4.16.2, under AssociationEnd: schema-elements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
1l. In 8.4.19.2, under AssociationEnd: type-elements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite, derived union
2a. In 8.6.8.3, under AssociationEnd: domain-rules, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
2b. In 8.6.8.3, under AssociationEnd: type-elements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite, derived union
2c. In 8.6.9.3, immediately after the heading, ADD 5 new paragraphs:
AssociationEnd: constraints To: DomainConstraint
via: type-has-constraints
Definition: represents the association of DomainConstraints that restrict the value domain of the ParameterType
Note: See 8.1.6, 8.1.7, 8.2, and 9.1 of ISO 10303-11:2004.
Multiplicity: 0..* unordered
Properties: composite, derived union
2d. In clause 8.7, REPLACE Figure 8 with:
<image = Issue13669-Figure8-TypeConstraints.png>
2e. In 8.7.3.2, under AssociationEnd: domain-rules, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
2f. In clause 8.7.4.1, under AssociationEnd: constraints, REPLACE the paragraph:
Properties: abstract
with a new paragraph:
Properties: composite, derived union
3a. In 8.11.3.3, under AssociationEnd: declares, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
3b. In 8.11.3.3, under AssociationEnd: unique-rules, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
3c. In 8.11.8.3, under AssociationEnd: declares, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
3d. In 8.11.10.1, under AssociationEnd: declares, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
3e. In 8.11.12.2, under AssociationEnd: unique-rules, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
4a. In 8.6.6.3, under AssociationEnd: declared-items, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
4b. In 9.2.7.2, under AssociationEnd: declared-items, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
5a. In 9.4.3.3, under AssociationEnd: member-slot, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
5b. In 9.4.5.3, under AssociationEnd: member-slot, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
5c. In 9.4.8.3, under AssociationEnd: member-slot, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
6a. In 9.5.6.3, under AssociationEnd: components, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
6b. In 9.5.7.3, under AssociationEnd: properties, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7a. In clause 10.2, REPLACE Figure 26 with:
<image = Issue13669-Figure26-Algorithms.png>
7b. In 10.2.1.3, under AssociationEnd: actual-types, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7c. In 10.2.1.3, under AssociationEnd: body, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7d. In 10.2.1.3, under AssociationEnd: formal-parameters, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7e. In 10.2.2.3, under AssociationEnd: result, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7f. In 10.2.9.1, under AssociationEnd: body, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7g. In 10.2.10.1, under AssociationEnd: formal-parameters, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
7h. In 10.2.11.2, under AssociationEnd: result, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
8a. In clause 10.3, REPLACE Figure 27 with:
<image = Issue13669-Figure27-Variables.png>
8b. In 10.3.5.2, under AssociationEnd: variables, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
9a. In 10.4.12.2, under AssociationEnd: actual-types, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
9b. In 10.2.5.3, under AssociationEnd: structure-constraints, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
9c. In 10.2.5.3, under AssociationEnd: type-constraints, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
10a. In clause 11.2, REPLACE Figure 31 with:
<image = Issue13669-Figure31-GlobalRules.png>
10b. In 11.2.1.3, under AssociationEnd: contains-rules, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
10c. In 11.2.1.3, under AssociationEnd: supporting-body, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
10d. In 11.2.3.2, under AssociationEnd: contains-rules, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
11a. In clause 11.3, REPLACE Figure 32 with:
<image = Issue13669-Figure32-SubtypeConstraints.png>
11b. In 11.3.4.3, under AssociationEnd: constraints, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
11c. In 11.3.7.1, under AssociationEnd: constraints, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
12a. In clause 12.7, REPLACE Figure 38 with:
<image = Issue13669-Figure38-FunctionCalls.png>
12b. In 12.7.2.3, under AssociationEnd: actual-parameters, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
12c. In 12.7.3.1, under AssociationEnd: actual-parameters, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
13a. In clause 12.8, REPLACE Figure 39 with:
<image = Issue13669-Figure39-Query.png>
13b. In 12.8.1.3, under AssociationEnd: query-variable, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
13c. In 12.8.3.2, under AssociationEnd: query-variable, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
14a. In 12.9.1.3, under AssociationEnd: bindings, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
14b. In 12.9.2.3, under AssociationEnd: repetition, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
14c. In 12.10.2.3, under AssociationEnd: bindings, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15a. In 13.2.4.3, under AssociationEnd: body-statements, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15b. In 13.5.1.3, under AssociationEnd: action, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15c. In 13.5.2.3, under AssociationEnd: cases, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15d. In 13.6.1.3, under AssociationEnd: else-actions, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15e. In 13.6.1.3, under AssociationEnd: then-actions, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15f. In 13.7.1.3, under AssociationEnd: actual-parameters, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
15g. In 13.7.2.1, under AssociationEnd: actual-parameters, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
16a. In clause 13.8, REPLACE Figure 49 with:
<image = Issue13669-Figure49-RepeatStmt.png>
16b. In 13.8.3.3, under AssociationEnd: body, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
16c. In 13.8.3.3, under AssociationEnd: control-variable, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
16d. In 13.8.5.1, under AssociationEnd: body, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
16e. In 13.8.6.2, under AssociationEnd: control-variable, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
17a. In clause 14, REPLACE Figure 52 with:
<image = Issue13669-Figure52-Scopes2.png>
17b. In clause 14, REPLACE Figure 53 with:
<image = Issue13669-Figure53-NamedElements.png>
Disposition: Resolved
Actions taken:
March 6, 2009: received issue
March 11, 2009: received issue
July 17, 2009: received issue
June 6, 2011: closed issue
Issue 13670: Some ActualTypes have namespaces (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.6.1.3 ActualType, the Note is incorrect. Two of the subtypes of ActualType are identified by "label" and they *do* have a namespace.
Proposed Resolution:
Delete the Note.
Resolution: The Note in 8.6.1.3 is correct. The label on an ActualAGGREGATEType or an ActualGenericType is a reference to the label on a component of the parameter type of some formal parameter. The label on the GeneralizedType in that parameter type is the declaration of that label and has the namespace that is the Algorithm.
The text should be revised to make this clear.
Revised Text: 1. In 10.4.2.2, in the entry for Attribute: label, after the Definition, ADD:
Note: The label on the ActualAGGREGATEType is not a definition of that symbol; it is a reference to the occurrence of that symbol as a label on a component of a formal parameter type that defines the label in the Algorithm namespace and defines what the ActualStructure is. More than one ActualAGGREGATEType can have the same label and refer to the same structure.
2. In 10.4.7.2, in the entry for Attribute: label, after the Definition, ADD:
Note: The label on the ActualGenericType is not a definition of that symbol; it is a reference to the occurrence of that symbol as a label on a component of a formal parameter type that defines the label in the Algorithm namespace and defines what the ActualDataType is.
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13671: EnumerationType:values is derived (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.6.6.3, AssociationEnd: values is not marked Properties: derived, but it is a derived relation per the text. And the derivation expression is nonsense. The text defines a recursive operation.
Proposed Resolution:
Insert Properties: derived
Delete the Tagged Value derivation, and state that the derivation is a recursive operation.
Resolution: As proposed.
Revised Text: In 8.6.6.3, in the entry for AssociationEnd: values, DELETE
TaggedValues
derivation = ".declared-items + .base.declared-items + extensions.declareditems"
and REPLACE it with:
Properties: derived
Note: The derivation of the entire list of values is a recursive operation, described in the Definition above.
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13672: entity-has-attributes documentation (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.11.1 and 8.11.3, the entity-has-attributes association depicted in Figure 12 is not properly documented. 8.11.1 does not document .owning-entity. In 8.11.3.3. .attributes does not show the parent association, and the parent association (entity-has-attributes) is not documented as an Association in 8.11.
Proposed Resolution:
Document the association in a new subclause of 8.11 and correct the corresponding elements of 8.11.1 and 8.11.3.
Resolution: Correct Figure 13 to show owning-entity.
Document the association in a new subclause of 8.11 and correct the corresponding elements of 8.11.1 and 8.11.3.
Revised Text: 1. In Clause 8.11, REPLACE Figure 13 Attributes with:
<image = Issue13672-Figure13-Attributes.png>
2. At the end of subclause 8.11.1.3, ADD
AssociationEnd: owning-entity To: EntityType
via: entity-has-attributes
Definition: the EntityTypes that have or inherit the Attribute, that is, the EntityType in which the Attribute is declared and all subtypes of that EntityType.
Multiplicity: 1..* unordered
Properties: derived
Note: The derivation of this relationship begins with self->namespace (i.e., self->of-entity->declared-in) and recursively adds all EntityTypes reached by supertype-of.
3. In 8.11.3.3, in the entry for AssociationEnd: attributes, immediately before the Definition, INSERT:
via: entity-has-attributes
4. Immediately before clause 8.11.12 (EntityType-has-UniqueRule), INSERT a new level-3 subclause (NOTE: This change will cause renumbering of the subsections of 8.11. The numbering below is automatic, it is not correct.):
1.1.4 Association: entity-has-attributes
Definition: represents the relationship between an EntityType and all of the Attributes that are associated with every instance of the EntityType, including instances of any of its subtypes. That is, this association relates an EntityType to the Attributes declared in the corresponding SingleEntityType and to all the Attributes declared in the SingleEntityTypes that correspond to its supertypes.
Properties: derived
1.1.4.1 Association Ends
AssociationEnd: attributes To: Attribute
Definition: represents the relationship between an EntityType and the declared Attributes of that EntityType, including those in the entity declaration and those inherited from supertypes.
Note: See 9.2 of ISO 10303-11:2004.
Multiplicity: 0..* unordered
Properties: derived
Note: The derivation of this relationship is recursive, using e->subtype-of, beginning with e = self and adding the attributes of e->declares->declares for each e.
AssociationEnd: owning-entity To: EntityType
Definition: the EntityTypes that have or inherit the Attribute, that is, the EntityType in which the Attribute is declared and all subtypes of that EntityType.
Multiplicity: 1..* unordered
Properties: derived
Note: The derivation of this relationship begins with self->namespace (i.e., self->of-entity->declared-in) and recursively adds all EntityTypes reached by supertype-of.
Disposition: Resolved
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13673: Scope of Attribute is not modeled (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.11.1.3, AssociationEnd: of-entity, the text of the Note defines an unmodeled (derived) association that subsets the TypeElement.namespace association for Attribute. And the /owning-entity association end depicted in Figure 12 is not that association, since the inverse relationship defined in 8.11.3.3 (EntityType::attributes) includes the attributes of subtypes.
As a consequence, the association that defines the namespace/scope of the Attribute as a TypeElement is not actually modeled.
Proposed Resolution:
Model the derived association: :of-entity->declared-in as ":namespace" explicitly in Figure 12 and in 8.11.1.3, and show it as subsets TypeElement:namespace.
Resolution: The derived namespace association should be explicitly modeled for Attribute, essentially as indicated in the issue statement..
Revised Text: 1. In Clause 8.11, REPLACE Figure 12 Entity Types with:
<image = Issue13673-Figure12-EntityTypes.png>
2. In 8.11.1.3, immediately before AssociationEnd: of-entity, INSERT:
AssociationEnd: namespace To: EntityType
via: EntityType_has_Attribute
subsets: TypeElement:namespace
Definition: the nominal scope/namespace of the Attribute. It is included in the scopes of all subtypes of the EntityType.
Multiplicity: 1..1
Properties: derived
Tagged Values
derivation = self->of-entity->declared-in
3. In 8.11.3.3, immediately before AssociationEnd: instances, INSERT:
AssociationEnd: local-attributes To: Attribute
via: EntityType_has_Attribute
Definition: the Attributes that are declared within the entity declaration, that is, the attributes that are declared in the corresponding SingleEntityType.
Subsets: NamedType:type-elements
Multiplicity: 0..* unordered
Properties: derived
Tagged Values
derivation = self->declares->declares
4. Immediately before 8.11.12 (Association: EntityType-has-UniqueRule), INSERT a new level-3 subclause (NOTE: This change will cause renumbering of the subsections of 8.11. The numbering below is automatic, it is not correct. This addition to 8.11 should FOLLOW the addition made by Issue 13672.):
1.1.5 Association: EntityType-has-Attribute
Definition: represents the relationship between an EntityType and the Attributes that are declared within the entity declaration, that is, the attributes that are declared in the corresponding SingleEntityType.
Note: This is a derived association that refines the type-element-has-scope relationship for Attribute.
1.1.5.1 Supertypes
type-element-has-scope
1.1.5.2 Association Ends
AssociationEnd: local-attributes To: Attribute
Definition: the Attributes that are declared within the entity declaration, that is, the attributes that are declared in the corresponding SingleEntityType.
Subsets: NamedType:type-elements
Multiplicity: 0..* unordered
Properties: derived
Tagged Values
derivation = self->declares->declares
AssociationEnd: namespace To: EntityType
Definition: the nominal scope/namespace of the Attribute. It is included in the scopes of all subtypes of the EntityType.
Subsets: TypeElement:namespace
Multiplicity: 1..1
Properties: derived
Tagged Values
derivation = self->of-entity->declared-in
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13674: Correct derivation of plays-domain-role (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.11.3.3 and 8.12.6.2, AssociationEnd: plays-domain-role
The derivation expression makes no sense. What is being defined here is a set of instances that are individually related by a derived path from a member of self->attributes.
Proposed Resolution:
Remove the Tagged value derivation and describe the operation that produces the derived result.
Resolution: as proposed
Revised Text: In 8.11.3.3, under AssociationEnd: plays-domain-role, DELETE
TaggedValues
derivation = ((self->attributes) * extent(InvertibleAttribute))-> creates-relationship->domain
and REPLACE it with:
Note: The derivation of this property is complex. For each InvertibleAttribute x in self->attributes, the EntityType plays-the-domain-role that is x->creates-relationship->domain, i.e., the DomainRole in the Relationship that is created by the InvertibleAttribute x.
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13675: Parameter:explicit-role is not defined (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.11.3.3 and 8.12.7.2, AssociationEnd: plays-range-role, In the derivation expression, ParameterType:explicit-role is not defined anywhere. The intended association is modeled as EntityType:used-in (InvertibleAttribute) in the text and in Figure 14.
Proposed Resolution:
In the derivation expression, REPLACE:
ParameterType:explicit-role
with:
used-in
(Note, however, that used-in is a set.)
Resolution: Because EntityType::used-in is multivalued, the derivation expression requires an iteration. Remove the derivation and replace it with a Note that explains the derivation.
Revised Text: TaggedValues
derivation = ParameterType::self->explicit-role->models-role
and REPLACE it with:
Note: The derivation of plays-range-role is complex. For each InvertibleAttribute that is an instance of self->used-in, a given EntityType plays the RangeRole that is InvertibleAttribute:models-role.
2. In 8.12.7.2, in the entry for AssociationEnd: plays-range-role, DELETE:
TaggedValues
derivation = ParameterType::self->explicit-role->models-role
and REPLACE it with:
Note: The derivation of plays-range-role is complex. For each InvertibleAttribute that is an instance of self->used-in, a given EntityType plays the RangeRole that is InvertibleAttribute:models-role.
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13676: derivation of role bounds (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.12.4.3 AssocationEnds: lower-bound and upper-bound, the tagged value 'derivation' has no value expression. And none can be provided, because the derivation is different for DomainRole and RangeRole.
Proposed Resolution:
Delete the Tagged Value 'derivation'.
For lower-bound, break the Definition paragraph before "The lower-bound on the Domain role..."
For upper-bound (where the break already exists), make the paragraph normative/definitive: remove "Note: ".
Resolution: Agreed. These corrections are editorial
Revised Text: 1. In 8.12.4.3, in the entry for AssociationEnd: lower-bound, in the Definition paragraph, REMOVE the parentheses around the sentence:
(A lower-bound expression that may evaluate to zero shall always be represented by a lower-bound relationship.)
and follow it with a paragraph break, so that the text reads:
… not appear. A lower-bound expression that may evaluate to zero shall always be represented by a lower-bound relationship.
The lower-bound on the Domain role …
2. In 8.12.4.3, in the entry for AssociationEnd: lower-bound, DELETE
TaggedValues
derivation =
3. In 8.12.4.3, in the entry for AssociationEnd: upper-bound, make the second paragraph, beginning “Note: The upper-bound on the Domain role …”, normative text (style=Body or BodyText), by REMOVING “Note: “
4. In 8.12.4.3, in the entry for AssociationEnd: upper-bound, DELETE
TaggedValues
derivation =
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13677: remove "derivedFrom" dependency (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.12.6 and 8.12.7 entity-plays-domain/range-role, the <<derivedFrom>> dependencies do not appear in Figure 12. It appears that this is just documentation of the derivation of the derived association, and it only documents one leg of the derivation path. All the other cases just define 'derivation', or express it in text.
Proposed Resolution:
Delete 8.12.6.1 and 8.12.7.1
Resolution: These dependencies are not a useful part of the metamodel. They should be deleted.
Revised Text: 1. DELETE subclause 8.12.6.1 and renumber the subclauses of 8.12.6
2. DELETE subclause 8.12.7.1 and renumber the subclauses of 8.12.7
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13678: Derivation of redeclaration bounds (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.13.1.3, AssocationEnds: lower-bound, upper-bound, the tagged value 'derivation' has no value expression. And the text does not make the derivation clear. The intent is that, when the restricted-type is an AggregationType, the lower-/upper- bound is the lower-/upper-bound of that AggregationType.
Proposed Resolution:
In 8.13.1.3, Association End: lower-bound
a. After the Definition paragraph, ADD a new paragraph:
When the restricted-type is an AggregationType, the lower-bound SizeConstraint is the lower-bound of that AggregationType.
b. DELETE the "Tagged Values" and "derivation =" paragraphs.
In 8.13.1.3, Association End: upper-bound
a. After the Definition paragraph, ADD a new paragraph:
When the restricted-type is an AggregationType, the upper-bound SizeConstraint is the upper-bound of that AggregationType.
b. DELETE the "Tagged Values" and "derivation =" paragraphs.
Resolution: as proposed
Revised Text: 1. In 8.13.1.3, Association End: lower-bound, after the Definition paragraph, ADD a new paragraph:
When the restricted-type is an AggregationType, the lower-bound SizeConstraint is the lower-bound of that AggregationType.
2. In 8.13.1.3, Association End: lower-bound, DELETE the paragraphs:
TaggedValues
derivation =
3. In 8.13.1.3, Association End: upper-bound, after the Definition paragraph, ADD a new paragraph:
When the restricted-type is an AggregationType, the upper-bound SizeConstraint is the upper-bound of that AggregationType.
4. In 8.13.1.3, Association End: upper-bound, DELETE the paragraphs:
TaggedValues
derivation =
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13679: Remove instance-of-type (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.14, Figure 16, the Association Instance-of-type is not documented. And it is not identified as the abstraction of the of-type associations in Clause 9. It should not appear in the figure.
Proposed Resolution:
In Figure 16, DELETE the Instance-of-type association.
Resolution: Instance-of-type is intended to be the abstraction of the of-type associations in Clause 9. Document instance-of-type in 8.14 and show the of-type associations as subsetting the general property
Revised Text: 1. In clause 8.6.4.3, DELETE the paragraph:
none.
and REPLACE it with:
AssociationEnd: instances To: Instance
Definition: the modeled Instances of the DataType, if any. In general, Instances of a DataType are not modeled unless they appear directly in a Schema.
Note: For most DataTypes, navigating the association in this direction is not a required feature of the model.
Multiplicity: 0..* unordered.
2. At the end of clause 8.14.2.3, immediately before 8.14.2.4, INSERT:
AssociationEnd: of-type To: DataType
Definition: the DataType(s) that are instantiated in the Instance. Every modeled Instance instantiates at least one modeled DataType; an Instance may instantiate more than one.
A modeled Instance should be modeled as an Instance of its “declared type”. It may, but need not, be modeled as an Instance of all the supertypes or SelectTypes that it instantiates.
Multiplicity: 1..* unordered.
3. At the end of Clause 8.14, immediately before 8.15, INSERT a new subsection (8.14.3):
1.1.6 Association: instance-of-type
Definition: represents the abstract relationship between an Instance (a value) and the DataTypes that it instantiates.
1.1.6.1 Association Ends
AssociationEnd: instances To: Instance
Definition: the modeled Instances of the DataType, if any. In general, Instances of a DataType are not modeled unless they appear directly in a Schema.
Note: For most DataTypes, navigating the association in this direction is not a required feature of the model.
Multiplicity: 0..* unordered.
AssociationEnd: of-type To: DataType
Definition: the DataType(s) that are instantiated in the Instance. Every modeled Instance instantiates at least one modeled DataType; an Instance may instantiate more than one.
Multiplicity: 1..* unordered.
4. In clause 9.2, REPLACE Figure 19 with:
<image = Issue13679-Figure19-Instances.png>
5. In clause 9.2.3, immediately after the Note, ADD a new Figure:
<image = Issue13679-Figure-New1-Enumerations.png>
Figure 1 Enumeration Items
6. In clause 9.2.3.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
7. In clause 9.2.5, immediately after the Note, ADD a new Figure:
<image = Issue13679-Figure-New2-SpecializedValues.png>
Figure 2 Specialized Values
8. In clause 9.2.5.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
9. In clause 9.2.3, immediately after the Note, ADD a new Figure:
<image = Issue13679-Figure-New3-TypedInstances.png>
Figure 3 TypedInstances
10. In clause 9.2.6.3, under AssociationEnd: satisfies-type, immediately before the Definition, INSERT two new paragraphs:
via: value-satisfies-SelectType
subsets: Core::Instance:of-type
11. (change to Figure 20 deferred to Issue 13682, 13683)
12. In clause 9.4, REPLACE Figure 21 with:
<image = Issue13679-Figure21-AggregateValues.png>
13. In clause 9.4.3.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
14. In clause 9.4.5.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
15. In clause 9.4.8.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
16. In clause 9.4.9.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
17. In clause 9.5, REPLACE Figure 22 with:
<image = Issue13679-Figure22-EntityInstances.png>
18. In clause 9.5, REPLACE Figure 23 with:
<image = Issue13679-Figure23-PartialEntityValues.png>
19. In clause 9.5.2.3, in AssociationEnd: instance-of,
a. REPLACE the text “instance-of” with the text “of-type”,
b. Immediately before the Definition paragraph, INSERT a new paragraph:
subsets: Core::Instance:of-type
20. In clause 9.5.6.3, under AssociationEnd: of-type, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Instance:of-type
21. In clause 9.5.10.1, in AssociationEnd: instance-of,
a. REPLACE the text “instance-of” with the text “of-type”,
b. Immediately before the Definition paragraph, INSERT a new paragraph:
subsets: Core::Instance:of-type
22. In clause 9.5.10.1, in AssociationEnd: instances, immediately before the Definition paragraph, INSERT a new paragraph:
subsets: Core::DataType:instances
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13680: derivation of Redeclaration:refined-role (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 8.13.1.3, AssocationEnd refined-role, the tagged value 'derivation' has no value expression. And the text makes the derivation clear.
Proposed Resolution:
In 8.13.1.3, AssocationEnd refined-role, DELETE the Tagged Values and derivation = paragraphs.
Resolution: As proposed
Revised Text: In 8.13.1.3, AssocationEnd refined-role, DELETE the paragraphs:
TaggedValues
derivation =
Actions taken:
March 11, 2009: received issue
June 6, 2011: closed issue
Issue 13681: Correct derivation for value-of-EnumerationType (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 9.2.3.3 and 9.2.8.1, AssociationEnd: of-type
In 9.2.3.3 the value expression for 'derivation' is nonsense. In 9.2.8.1, it is missing. Following the text for the inverse relation described in 8.6.6.3, this is some kind of recursive derivation operation that should be described as an operation.
Resolution: In 9.2.3.3 and 9.2.8.1, delete the tagged value derivation. Insert a paragraph that defines the derivation in both occurrences of the of-type Association End.
Revised Text: 1. In 9.2.3.3, under AssociationEnd: of-type, after the first sentence of the Definition, DELETE the remaining text of the paragraph, i.e. DELETE:
An EnumerationItem is a value of every EnumerationType that is related by extension to the type that declares it. This relationship can be derived recursively from the sequence of .base relationships beginning with the .declared-in EnumerationType, and from the sequence of .extension relationships of that EnumerationType.
And REPLACE it with a new paragraph:
With respect to a given “governing schema” and all of the SchemaElements it defines and interfaces, each declared EnumerationItem is a value of every EnumerationType that is related by extension to the EnumerationType in which it is declared. That is, it is a value of
(a) the EnumerationType self->declared-in;
(b) the EnumerationType that is the .base of that EnumerationType, if any, and recursively of all EnumerationTypes related by .base, and
(c) each EnumerationType that is an .extension of any of the EnumerationTypes related by either (a) or (b) above, and recursively of all EnumerationTypes related to them by .extension.
2. In 9.2.3.3, under AssociationEnd: of-type, DELETE the two paragraphs:
TaggedValues
derivation = ".declared-in + .declared-in.base + .declared-in.extensions"
3. In 9.2.8.1, under AssociationEnd: of-type, after the first sentence of the Definition, DELETE the remaining text of the paragraph, i.e. DELETE:
An EnumerationItem is a value of every EnumerationType that is related by extension to the type that declares it. This relationship can be derived recursively from the sequence of .base relationships beginning with the .declared-in EnumerationType, and from the sequence of .extension relationships of that EnumerationType.
And REPLACE it with a new paragraph:
With respect to a given “governing schema” and all of the SchemaElements it defines and interfaces, each declared EnumerationItem is a value of every EnumerationType that is related by extension to the EnumerationType in which it is declared. That is, it is a value of
(a) the EnumerationType self->declared-in;
(b) the EnumerationType that is the .base of that EnumerationType, if any, and recursively of all EnumerationTypes related by .base, and
(c) each EnumerationType that is an .extension of any of the EnumerationTypes related by either (a) or (b) above, and recursively of all EnumerationTypes related to them by .extension.
2. In 9.2.8.1, under AssociationEnd: of-type, DELETE the three paragraphs:
TaggedValues
derivation =
The mechanism for derivation of the values of .of-type requires a procedure/function.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13682: Constrain of-type for SimpleValue subclasses (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 9.3, SimpleValues
Unlike all of the other abstract subtypes of Instance, SimpleValue has an of-type association and none of its subclasses have specific of-type associations. This is because some SimpleValues can be values of more than one SimpleType. Accordingly, each SimpleValue subclass should have a constraint on its of-type relationships:
For LogicalValue: isIn(Core:BuiltinTypes:LOGICAL, self->of-type)
For NumberValue: isIn(Core:BuiltinTypes:NUMBER, self->of-type)
For RealValue: isIn(Core:BuiltinTypes:REAL, self->of-type)
For IntegerValue: isIn(Core:BuiltinTypes:INTEGER, self->of-type)
For StringValue: isIn(Core:BuiltinTypes:STRING, self->of-type)
For BinaryValue: isIn(Core:BuiltinTypes:BINARY, self->of-type)
Resolution: The type of LogicalValues is resolved by Issue 13683.
For other SimpleValue objects, it is not a requirement that all of the possible “of-type” DataType relationships are modeled; it is only required that the “declared type” of the value is modeled. The proposed OCL rules would require that the declared type of each SimpleValue be the corresponding EXPRESS-defined SimpleType. The consensus is only to require that the value be an instance of an appropriate SimpleType: NumberValue ~ NumericType, BinaryValue ~ BinaryType, StringValue ~ StringType. These specific relationships replace the general relationship modeled as SimpleType:of-type.
Figure 20 is replaced by Issue 13683
Revised Text: 1. In 8.8.1.4, DELETE the paragraph:
none.
and REPLACE it with the paragraph:
From Instances:BinaryValue as of-type
2. In 8.8.3.4, DELETE the paragraph:
none.
and REPLACE it with the paragraph:
From Instances:LogicalValue as of-type
3. In 8.8.4.4, DELETE the paragraph:
none.
and REPLACE it with the paragraph:
From Instances:NumberValue as of-type
4. In 8.8.6.4, DELETE the paragraph:
From: Instances::SimpleValue as of-type
and REPLACE it with the paragraph:
none.
5. In 8.8.7.4, DELETE the paragraph:
none.
and REPLACE it with the paragraph:
From Instances:StringValue as of-type
6. In 9.3.1.3, DELETE the paragraph:
none.
and REPLACE it with the four paragraphs:
AssociationEnd: of-type To: Core::BinaryType
subsets: Core::Instance:of-type
Definition: the BinaryType(s) that are instantiated in the BinaryValue.
Multiplicity: 1..* unordered.
7. In 9.3.4.3, DELETE the paragraph:
none.
and REPLACE it with the 5 paragraphs:
AssociationEnd: of-type To: Core::LogicType
subsets: Core::Instance:of-type
Definition: the LogicType(s) that are instantiated in the LogicalValue.
Note: The of-type relationships of the LogicalValues are explicitly modeled in the NamedValues Package.
Multiplicity: 1..* unordered.
8. In 9.3.5.3, DELETE the paragraph:
none.
and REPLACE it with the four paragraphs:
AssociationEnd: of-type To: Core::NumericType
subsets: Core::Instance:of-type
Definition: the NumericType(s) that are instantiated in the NumberValue.
Multiplicity: 1..* unordered.
9. In 9.3.8.3, DELETE the four paragraphs:
AssociationEnd: of-type To: Core::SimpleType
Definition: represents the relationship between a SimpleValue and the data types of which it is an instance.
Multiplicity: 1..* unordered
Properties: abstract
and REPLACE them with the paragraph:
none.
10. In 9.3.9.3, DELETE the paragraph:
none.
and REPLACE it with the four paragraphs:
AssociationEnd: of-type To: Core::StringType
subsets: Core::Instance:of-type
Definition: the BinaryType(s) that are instantiated in the BinaryValue.
Multiplicity: 1..* unordered.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13683: True, False and Unknown are not defined (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 9.3, SimpleValues
There is no instance package that defines the simple values True, False and Unknown. We cannot formally constrain BooleanValue to be True or False, since no Instance package defines those values.
Proposed Resolution:
Create an instance package in the Instances Package for the built-in LOGICAL constants TRUE, FALSE, UNKNOWN.
Resolution: Add a NamedValues Instance Package to the Instances Package to include E, PI, TRUE, FALSE, UNKNOWN. (E and PI are added to address Issue 13707.)
Constrain BooleanValue to TRUE and FALSE and LogicalValue to TRUE, FALSE and UNKNOWN.
Revised Text: 1. In clause 9.3, REPLACE Figure 20 with:
<image = Issue13683-Figure20-Instances.png>
2. At the end of clause 9.3.2, immediately before 9.3.3, ADD a new subsection:
9.3.2.5 Rules
Constraint
(self == NamedValues::TRUE) or (self == NamedValues::FALSE);
Every BooleanValue must be either TRUE or FALSE.
3. In clause 9.3, after the Definition paragraph, ADD a new paragraph:
There are exactly three distinct LogicalValues – FALSE, TRUE, and UNKNOWN. These are explicitly modeled as individual objects in the NamedValues package.
4. At the end of clause 9.3.4, immediately before 9.3.5, ADD a new subsection:
9.3.4.5 Rules
Constraint
(self == NamedValues::TRUE) or (self == NamedValues::FALSE)
or (self == NamedValues::UNKNOWN);
Every LogicalValue must be one of: TRUE or FALSE or UNKNOWN.
5. At the end of Clause 9, immediately before Clause 10, ADD a new subsection
(Note: the numbering below is automatic, not correct; the sections should be renumbered as 9.8, and the first paragraph below is a 2nd-level heading):
9.8 Instance Package: NamedValues
This Package represents the values of the "built-in constants" of the EXPRESS language. They are here modeled as individual objects that are instances of subtypes of SimpleValue.
Note: See clause 14 of ISO 10303-11:2004.
Note: The built-in constants are also modeled as Literals in Clause 12.11, i.e., as the Expressions that refer to these values.
<image = Issue13683-NewFigure-NamedValues.png>
Figure 4 – Named Values
1.1.7 Dependencies
Dependency on Class: Instances::SimpleValue
Stereotypes: instantiates
This Package provides base individuals that are always instances of class SimpleValue.
1.1.8 Instance: E
Type: Instances::RealValue
Definition: Represents the REAL value that is the image of 1 under the Napierian exponential function.
Note: See clause 14.1 of ISO 10303-11:2004.
1.1.8.1 Slots
Attribute: name Value: “E”
Attribute: of-type Values: Core::BuiltInTypes::REAL
1.1.9 Instance: FALSE
Type: Instances::LogicalValue
Definition: Represents the LOGICAL value that is the evaluation of a proposition whose negation is asserted.
Note: See clause 14.3 of ISO 10303-11:2004.
1.1.9.1 Slots
Attribute: name Value: “FALSE”
Attribute: of-type Values: Core::BuiltInTypes::LOGICAL
1.1.10 Instance: PI
Type: Instances::RealValue
Definition: Represents the REAL value that is the ratio of the circumference of a circle to its diameter.
Note: See clause 14.4 of ISO 10303-11:2004.
1.1.10.1 Slots
Attribute: name Value: “PI”
Attribute: of-type Values: Core::BuiltInTypes::REAL
1.1.11 Instance: TRUE
Type: Instances::LogicalValue
Definition: Represents the LOGICAL value that is the evaluation of a proposition that is asserted.
Note: See clause 14.6 of ISO 10303-11:2004.
1.1.11.1 Slots
Attribute: name Value: “TRUE”
Attribute: of-type Values: Core::BuiltInTypes::LOGICAL
1.1.12 Instance: UNKNOWN
Type: Instances::LogicalValue
Definition: Represents the LOGICAL value that is the evaluation of an Expression that involves Indeterminate values.
UNKNOWN is a specialization of the Indeterminate value that is treated only as a value of data type LOGICAL.
Note: See clause 14.7 of ISO 10303-11:2004.
1.1.12.1 Slots
Attribute: name Value: “UNKNOWN”
Attribute: of-type Values: Core::BuiltInTypes::LOGICAL
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13684: Correct documentation of Extent:content (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 9.7.1.3, AssociationEnd: content
The text says it is derived, but Figure 25 shows it (correctly) as subsets member-values.
Modify the text to match the diagram.
Resolution: as proposed
Revised Text: 1. In 9.7.1.3, AssociationEnd: content, immediately before the Definition, INSERT:
Subsets: SETValue:member-values
2. In 9.7.1.3, AssociationEnd: content, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = SETValue::self->member-values
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13685: correct documentation of extent-within-population (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 9.7.4, extent-within-population
Population:extents is the composite association, not Extent:within-population.
The attribute Population:extents is not documented in 9.7.2.3; it is documented as an inverse in 9.7.2.4, and 9.7.2.4 refers to Rules:Extent instead of Instances:Extent
Resolution: In 9.7, show extent-within-population as composite in Figure 25.
In 9.7.4.1, extent-within-population, move the “composite” property from within-population to extents.
In 9.7.2 Population, delete the Other Roles entry for extents and create the correct entry under Associations, copying it from 9.7.4.1.
Revised Text: 1. In 9.7, REPLACE Figure 25 with:
<image = Issue13685-Figure25-Populations.png>
2. In 9.7.2.3, immediately before AssociationEnd:governing-schema, INSERT:
AssociationEnd: extents To: Extent
via: extent-within-population
Definition: the collection of Extents of EntityTypes that make up the Population.
Multiplicity: 0..* unordered
Properties: composite
3. In 9.7.2.4, DELETE the paragraph:
From: Rules::Extent as within-population
and REPLACE it with a new paragraph:
none.
4. In 9.7.4.1, under AssociationEnd: extents, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
5. In 9.7.4.1, under AssociationEnd: within-population, DELETE the paragraph:
Properties: composite
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13688: GenericElement:source is not composite (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 10.4.11.3, GenericElement:source is documented as Properties: composite, but it is actually the (derived) ParameterType:contains association to the GenericElement that is the composite. And Figure 29 shows neither as composite. The text should be corrected, and the Figure should match.
The GenericElement occurs in the syntactic specification of the ParameterType for the specified Parameter. It refers to the element of the type of the actual parameter that corresponds to that element of the type of the formal parameter. Trying to model this in detail in MOF is just not practical.
Resolution: Remove “Properties: composite” from GenericElement:source. Make the relationship navigable from Parameter and composite on that side.
Also, make the GenericElement:namespace relationship navigable from Algorithm, and show that association end as ‘type-parameters’.
The practicality issue is to be considered under Issue 13687
Revised Text: 1a. At the end of 10.2.1.3, immediately before 10.2.1.4, INSERT:
AssociationEnd: type-parameters To: GenericElement
via: element-scope-is-algorithm
subsets: Core::LocalScope:local-elements
Definition: The GenericElements that represent formal parametric types – type designations that may appear in ActualTypes and ActualTypeConstraints and to which ActualDataTypes and ActualStructures will be assigned on each invocation of the Algorithm.
Multiplicity: 0..* unordered.
Properties: derived
Tagged Values
derivation = self->formal-parameters->type-parameters;
1b. In 10.2.1.4, DELETE the paragraph:
From GenericElement as namespace
2a. In 10.2.5.3, immediately before AssociationEnd:structure-constraints, INSERT:
AssociationEnd: type-parameters To: GenericElement
via: element-has-source
Definition: The GenericElements that are contained in the formal-parameter-type of the Parameter and represent formal parametric types – type designations that may appear in ActualTypes and ActualTypeConstraints and to which ActualDataTypes and ActualStructures will be assigned on each invocation of the Algorithm.
Multiplicity: 0..* unordered.
Properties: composite
2b. In 10.2.5.4, DELETE the paragraph:
From GenericElement as source
3. In 10.4, REPLACE Figure 29 with:
<image = Issue13688-Figure29-ActualReferences.png>
4a. In 10.4.11.3, under AssociationEnd: namespace, immediately before the Subsets paragraph, INSERT the paragraph:
via: element-scope-is-algorithm
4b. In 10.4.11.3, under AssociationEnd: source, immediately before the Subsets paragraph, INSERT the paragraph:
via: element-has-source
4c. In 10.4.11.3, under AssociationEnd: source, DELETE the paragraph:
Properties: composite
5. Immediately before section 10.4.12, INSERT two new sections (appropriately numbered, the text below is autonumbered):
1.1.13 Association: element-has-source
Definition: represents the relationship between a GenericElement representing a parametric type and the Parameter whose formal-parameter-type contains the GenericElement.
Properties: derived
1.1.13.1 Association Ends
AssociationEnd: type-parameters To: GenericElement
Definition: The GenericElements that are contained in the formal-parameter-type of the Parameter and represent formal parametric types – type designations that may appear in ActualTypes and ActualTypeConstraints and to which ActualDataTypes and ActualStructures will be assigned on each invocation of the Algorithm.
Multiplicity: 0..* unordered.
Properties: composite
AssociationEnd: source To: Parameter
Definition: the Parameter whose formal parameter type is or includes the GenericElement and defines its label. The first (by position) Parameter whose formal parameter type contains the label defines the label. The corresponding component of the data type of the actual parameter is used to define the actual data type or structure that corresponds to the GenericElement.
Note: See 9.5.3.4 of ISO 10303-11:2004.
Multiplicity: 1..1
1.1.14 Association: element-scope-is-algorithm
Definition: represents the relationship between a GenericElement representing a parametric type and the Algorithm that is the scope in which the label on that GenericElement refers to the GenericElement and to the corresponding ActualDataType or ActualStructure.
Properties: derived
1.1.14.1 Supertypes
Core::local-element-has-local-scope
1.1.14.2 Association Ends
AssociationEnd: namespace To: Algorithm
Subsets: Core::LocalElement:namespace
Definition: the Algorithm that is the namespace of the ScopedId that is the label. This relationship is derived – the namespace of a GenericElement is the same as the namespace of its .source Parameter.
Multiplicity: 1..1
Properties: derived
TaggedValues
derivation = self->source->namespace;
AssociationEnd: type-parameters To: GenericElement
subsets: Core::LocalScope:local-elements
Definition: The GenericElements that represent formal parametric types – type designations that may appear in ActualTypes and ActualTypeConstraints and to which ActualDataTypes and ActualStructures will be assigned on each invocation of the Algorithm.
Multiplicity: 0..* unordered.
Properties: derived
Tagged Values
derivation = self->formal-parameters->type-parameters;
6. In clause 10.5, REPLACE Figure 30 with:
<image = Issue13688-Figure30-ActualTypeConstraints.png>
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13689: id attributes in 12.3 subset Expression:text (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.3, the .id attribute of ConstantRef, ExtentRef, EnumItemRef, VariableRef, AttributeRef, GroupRef should all be documented as "subsets Expression.text" and not as derived from it.
Resolution: Correct the documentation of the “id” attributes in 12.3 and 12.5.
Correct the Figure (36) in 12.5.
Revised Text: 1. In 12.3.1.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
2. In 12.3.1.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
3. In 12.3.2.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
4. In 12.3.2.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
5. In 12.3.3.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
6. In 12.3.3.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
7. In 12.3.8.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
8. In 12.3.8.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
9. In 12.5, REPLACE Figure 36 with:
<image = Issue13689-Figure36-Selectors.png>
10. In 12.5.1.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
11. In 12.5.1.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
12. In 12.5.2.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
13. In 12.5.2.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13690: Literal refers-to SimpleValue is not abstract (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.3.5.3, Literal refers-to SimpleValue is not abstract. There are no documented subtypes of Literal. Should there be?
Resolution: There is no need to model subtypes of Literal.
The properties of “refers-to” are incorrect. Per Figure 34, refers-to subsets evaluation. It is neither derived nor abstract.
Revised Text: 1. In 12.3.5.3, AssociationEnd: refers-to, immediately before the Definition, INSERT:
subsets: Core::Expression:evaluation
2. In 12.3.5.3, AssociationEnd: refers-to, DELETE the 3 paragraphs:
Properties: derived, abstract
TaggedValues
derivation = = self->evaluation;
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13691: Delete ParameterRef:id (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.3.6.2 ParameterRef:id is inherited from VariableRef and should not appear here.
Resolution: Remove ParameterRef:id.
Revised Text: In 12.3.6.2, DELETE the entire entry for Attribute: id – Attribute, Definition, Properties, Multiplicity, TaggedValues, derivation. And REPLACE it with:
none.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13693: GenericElement:source is not composite (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 10.4.11.3, GenericElement:source is documented as Properties: composite, but it is actually the (derived) ParameterType:contains association to the GenericElement that is the composite. And Figure 29 shows neither as composite. The text should be corrected, and the Figure should match.
The GenericElement occurs in the syntactic specification of the ParameterType for the specified Parameter. It refers to the element of the type of the actual parameter that corresponds to that element of the type of the formal parameter. Trying to model this in detail in MOF is just not practical.
Resolution: duplicates issue 13688
Disposition: See issue 13688 for disposition
Revised Text:
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13694: id attributes in 12.3 subset Expression:text (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.3, the .id attribute of ConstantRef, ExtentRef, EnumItemRef, VariableRef, AttributeRef, GroupRef should all be documented as "subsets Expression.text" and not as derived from it.
Resolution: duplicates issue 13689
Disposition: See issue 13689 for disposition
Revised Text:
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13695: Delete ParameterRef:id (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.3.6.2 ParameterRef:id is inherited from VariableRef and should not appear here.
Resolution: duplicates issue 13691
Disposition: See issue 13691 for disposition
Revised Text:
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13696: AttributeRef/GroupRef:id subsets Expression:text (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.5, the id attribute of AttributeRef and GroupRef should be documented as subsets Expression:text, and not as derived from it, in both the text and the class diagram (figure 36).
Resolution: duplicates issue 13692
Disposition: See issue 13692 for disposition
Revised Text:
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13697: Correct text of Operations and FunctionCalls (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.6 Operations and 12.7 Function Calls, the first two paragraphs of both sections are identical. The first sentence reads: "This section describes Operations, QueryExpressions and Function Calls." And then it goes on to describe them. But 12.6 only presents the model for Operations and 12.7 only presents the model for FunctionCalls. These two paragraphs need to be rewritten in both places.
Resolution: Rewrite the introduction to 12.6 and 12.7
Revised Text: 1. In clause 12.6, DELETE the first two paragraphs:
This section describes Operations, QueryExpressions and Function Calls. These are grouped together, because the distinction made in EXPRESS is syntactic, while the distinction made in this model is between schema-defined Functions and language-defined "functions" and "operations."
FunctionCalls represent invocations/applications of schema-defined FUNCTIONs. QueryExpressions represent invocations of the special EXPRESS function QUERY. Operations represent all EXPRESS operations represented by symbols or by "built-in functions" whose names are keywords. There is not a one-to-one correspondence between Operations and EXPRESS operation symbols, because some of the symbols are "overloaded," in that they denote different operations for operands of different data types. In addition, Coercion operations (which convert a value from one data type to another) usually do not have EXPRESS syntax, but are required by the interpretation of the expression.
and REPLACE them with:
This section describes the Expressions that are conceptually “operations” with one operand (UnaryOperation) or two operands (BinaryOperation).
The EXPRESS syntax for Operations takes several forms. Some of the operations are denoted by infix or prefix operation symbols, such as “+” or “NOT”. Others are denoted by “built-in functions” that take one or two arguments that are the operands. In this metamodel, they are all treated as Operations. Each built-in function is represented by a corresponding BinaryOperator or UnaryOperator. There is not a one-to-one correspondence between Operations and EXPRESS operation symbols and built-in functions, because some of the symbols are "overloaded," in that they denote different operations for operands of different data types.
This section also includes the Coercion operation, which is a special case. It has only one operand, but it also has a “meta-operand” – the data type to which the operand is to be logically or physically converted. Each EXPRESS data type, including all user-defined types, implicitly defines a Coercion operation whose target is that data type. And in that sense, the data type simply distinguishes one coercion operations from another. There is no explicit EXPRESS syntax for Coercion operations; they are inserted as part of the semantic interpretation of Expressions, when it is necessary to treat a literal or result as representing a value of a different datatype.
2. In clause 12.7, DELETE the first two paragraphs:
This section describes Operations, QueryExpressions and Function Calls. These are grouped together, because the distinction made in EXPRESS is syntactic, while the distinction made in this model is between schema-defined Functions and language-defined "functions" and "operations."
FunctionCalls represent invocations/applications of schema-defined FUNCTIONs. QueryExpressions represent invocations of the special EXPRESS function QUERY. Operations represent all EXPRESS operations represented by symbols or by "built-in functions" whose names are keywords. There is not a one-to-one correspondence between Operations and EXPRESS operation symbols, because some of the symbols are "overloaded," in that they denote different operations for operands of different data types. In addition, Coercion operations (which convert a value from one data type to another) usually do not have EXPRESS syntax, but are required by the interpretation of the expression.
and REPLACE them with:
This section describes the Expressions that represent invocations of schema-defined FUNCTIONs, each of which returns a FunctionResult that is the evaluation of the Expression.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13699: Clarify ActualParameter:inFunctionCall (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.7.1 ActualParameter, there should be a Constraint that every ActualParameter is either inFunctionCall or inProcedureCall. In the text, it is not clear what "(always in a FunctionCall)" means in "When the corresponding formal Parameter is an InParameter (always in a FunctionCall), …". The intent is that in a FunctionCall, the corresponding formal parameter is always an InParameter, but the text appears to say that when the formal parameter is an InParameter it must be in a FunctionCall. So the text should be clarified and a corresponding Constraint should be stated.
Resolution: Clarify the text of the Definition, and add the suggested OCL constraint.
Revised Text: 1. In 12.7.1 (ActualParameter), in the Definition, in the second sentence, DELETE the parenthetical expression:
(always in a FunctionCall)
2. In 12.7.1, in the Definition, in the third sentence, DELETE the parenthetical expression:
(only in a ProcedureCall)
3. In 12.7.1, at the end of the Definition paragraph, ADD:
In a FunctionCall, the corresponding formal parameter is always an InParameter; a ProcedureCall can have formal parameters of either kind.
4. At the end of 12.7.1.4, immediately before 12.7.2, INSERT:
12.7.1.5 Rules
Constraint
exists(self->in-FunctionCall) xor exists(self->in-ProcedureCall);
A given ActualParameter must occur in either a FunctionCall or a ProcedureCall.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13700: Provide link for actual-referent (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.7.1.3, ActualParameter:actual-referent does not appear in Figure 38 above. There should be a reference here to Figure 48.
Resolution: Add the reference in a Note
Revised Text: In 12.7.1.3, in the entry for AssociationEnd: actual-referent, after the Multiplicity paragraph, ADD a new paragraph:
Note: The actual-referent association is shown in Figure 48.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13701: 12.8, Query expressions (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.8, Query expressions, first paragraph, "depicts the concepts" should be at least "Figure 38 depicts the concepts." Further, some of the text erroneously appearing at the beginning of 12.7 might belong here. In EXPRESS, QUERY is a function.
Resolution: Replace the first paragraph of 12.8 with a description of the relationship to EXPRESS QUERY, and refer to Figure 39.
Revised Text: In clause 12.8, Query expressions, DELETE the first paragraph (before the figure):
This section describes the QueryExpression. depicts the concepts.
and REPLACE it with:
This section describes the QueryExpression, which models invocations of the EXPRESS built-in QUERY function, specified in section 12.6.7 of ISO 10303-11. The concepts are depicted in Figure 39.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13702: AggInitializer:result-value subsets evaluation (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.9, AggregateInitializer, the result-value attribute should be documented as subsets Expression:evaluation, and not as derived from it.
Resolution: Document result-value as subsets Expression:evaluation and remove the derivation
Revised Text: 1. In 12.9.1.3 under AssociationEnd: result-value, immediately before the Definition, INSERT a new paragraph:
subsets: Core::Expression:evaluation
2. In 12.9.1.3 under AssociationEnd: result-value, DELETE the three paragraphs:
Properties: derived
TaggedValues
derivation = = self->evaluation;
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13703: Incorrect model of AggregateInitializer (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.9, AggregateInitializer, Figure 40, the use of ListMember is wrong. A MemberBinding in an AggregateInitializer binds to a virtual "slot" in a virtual GenericAggregate. It does not bind to a ListMember of a specific LISTValue until it is evaluated in a particular runtime occurrence. (For example, the same initializer could produce different values if it occurs within a REPEAT statement and some member-value expression depends on the control-variable.) So the model in Figure 40 is incorrect. MemberBinding:to-slot is not a ListMember. It is a GenericMember of "generic aggregate", which refers to the result of the AggregateInitializer itself. In the metamodel, each other Expression class denotes the abstraction of its evaluation -- we don't explicitly model the result instance. So GenericAggregate, if that is what it models, is not an Instance; it is the abstract result of the AggregateInitializer. Each actual result value is an AggregateValue, but not necessarily a LISTValue.
Resolution: The use of ListMember is wrong – the MemberBinding binds a member-value Expression to a virtual slot, not to an actual slot in a ListValue. The association MemberBinding:to-slot should be removed from the model.
There is no need to model the “GenericMember”, since its properties may be totally dependent on the evaluation of RepeatCounts.
According to ISO 10303-11 (clause 12.9), the nature of the Instance that is the evaluation of the AggregateInitializer Expression is a value of type AGGREGATE OF GENERIC. The class GenericAggregate models that concept, as specified in 9.4.6.
Revised Text: 1. In clause 12.9, replace Figure 40 with:
<image = Issue13703-Figure40-AggInitializers.png>
2. In 12.9.1.3, AssociationEnd: bindings, REPLACE the paragraph
Multiplicity: 0..* unordered
with the paragraph:
Multiplicity: 0..* ordered
3. In 12.9.2, REPLACE the Definition paragraph:
Definition: represents the placement of a member value in a particular position in the GenericAggregate value resulting from the aggregate initializer. Unless the member value has a repetition count, the member binding associates the .member-value with one .to-slot ListMember in the GenericAggregate. If the member value has a repetition count (that is not a literal "1"), the MemberBinding associates the .member-value with one or more consecutive ListMembers in the GenericAggregate. If the member value has a repetition count that cannot be evaluated without a given population (i.e., at "compile time"), the relationship between the MemberBinding and ListMembers is not specified. When the AggregateInitializer contains any MemberBinding with such a repetition, the relationship between subsequent MemberBindings and ListMembers cannot be determined without a given population..
with the paragrapns:
Definition: represents the placement of a member value in one or more positions (ListMembers) in the GenericAggregate value resulting from the aggregate initializer. If the member binding has no repetition count, the MemberBinding associates the .member-value with one ListMember in the GenericAggregate. If the member value has a repetition count, the MemberBinding associates the .member-value with one or more consecutive ListMembers in the GenericAggregate. The member-values are assigned to ListMembers in the order of the MemberBindings. The .position of the MemberBinding conveys the ordering of the MemberBindings (but not necessarily the position of the corresponding ListMembers).
Note: The MemberBinding may have a repetition count that depends on values in the population or the actual parameters of an Algorithm invocation, with the consequence that the relationship between the MemberBinding and ListMembers can only be determined when the AggregateInitializer is evaluated.
4. In 12.9.2.2, Attribute: position, REPLACE the Definition paragraph:
Definition: Represents the ordinal position of the MemberBinding specification in the AggregateInitializer. When no MemberBinding in the AggregateInitializer has a represented .repetition value, MemberBinding.position and .toslot position will coincide. Otherwise, the relationship between the two .position values will depend on the .repetition values, and may not be determinable without a given Population.
with the paragraphs:
Definition: Represents the ordinal position of the MemberBinding specification in the AggregateInitializer.
Note: When no MemberBinding in the AggregateInitializer has a .repetition value, the MemberBinding:position will be the position of the member-value in the resulting GenericAggregate. Otherwise, the relationship between the positions will depend on the .repetition values.
5. In 12.9.2.3, AssociationEnd: to-slot, DELETE the entire entry, including the Definition, Note and Multiplicity:
AssociationEnd: to-slot To: Instances::ListMember
Definition: represents the slot in the GenericAggregate value to which the MemberBinding assigns the member-value. ListMember.position is used to identify the slot. A MemberBinding with a repetition count can assign the same value to more than one slot. Each time the AggregateInitializer (expression) is evaluated, the resulting GenericAggregate can be different, and the ListMember is a part of that result. If the (entire) AggregateInitializer expression can be evaluated without regard to any actual population ("compile time"), this relationship and the ListMember shall be present, but not otherwise.
Note: See 12.9 of ISO 10303-11:2004.
Multiplicity: 0..* unordered
6. In 9.4.7.4, DELETE the paragraph:
From: Expressions::MemberBinding as to-slot
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13704: PartialEntityConstructor attributes subset Expression attributes (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.10 PartialEntityConstructor, the id value attribute should be documented as subsets Expression.text, and not as derived from it. And the result-value attribute should be documented as subsets: Expression.evaluation, and not as derived from it.
Resolution: Document PartialEntityConstructor:id as subsets Expression:text and remove the derivation. Note: Figure 41 is correct in this regard, but Figure 33 shows id as a derived attribute.
Document PartialEntityConstructor:result-value as subsets Expression:evaluation and remove the derivation.
Revised Text: 1. In 12.2, REPLACE Figure 33 with:
<image = Issue13704-Figure33-Expressions.png>
2. In 12.10.2.2 in the entry for Attribute:id, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:text
3. In 12.10.2.2 in the entry for Attribute:id, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->text;
4. In 12.10.2.3 in the entry for AssociationEnd:result-value, immediately before the Definition, INSERT a new paragraph:
Subsets: Core::Expression:evaluation
5. In 12.10.2.3 in the entry for AssociationEnd:result-value, DELETE the 3 paragraphs:
Properties: derived.
TaggedValues
derivation = = self->evaluation;
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Discussion:
Issue 13705: Delete associations to Instance classes in 12.10 (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.10 PartialEntityConstructor, Figure 41, the AttributeValue, SingleEntityValue, and PartialEntityValue objects are the result of evaluating the constructor at a particular runtime instant. They should not be part of this model - the results of other operations are not modeled. The associations that reflect runtime evaluation - AttributeBinding:to-value, and PartialEntityConstructor:result-value should be deleted from the model. (Some such diagram could be used to explain what is happening, but it would be descriptive, not normative. Or these relationships could be shown as some kind of stereotyped dependency.)
Resolution: AttributeBinding:to-value should not be part of the model, and it isn’t documented; it only appears in Figure 41. And the use of AttributeValue and SingleEntityValue in the diagram are inappropriate.
PartialEntityConstructor:result-value provides a means of linking a constant value to the constructor Expression when appropriate – it subsets Expression:evaluation.
Revised Text:
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13706: Indeterminate literal is not documented (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.11 BuiltInConstants, the Indeterminate Literal ("?") appears in the diagram in Figure 42, but is not documented in the text.
Resolution: The Indeterminate Literal (“?”) is modeled in clause 12.3.4 as IndeterminateRef, and is documented there. It is treated as a distinct kind of Primary, rather than as an instance of Literal, because it does not refer to a SimpleValue.
Delete the Indeterminate object from the diagram in Figure 42, and add a Note to 12.3.4.
Issue 13707 replaces Figure 42, implementing the deletion.
Revised Text: In clause 12.3.4, at the end of the Note paragraph, ADD:
Although the Indeterminate (“?”) symbol is described as a built-in constant in ISO 10303-11, it is treated here as a distinct kind of Primary, because it refers-to (evaluates-to) an instance that is not a value of any DataType.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13707: in 12.11 most values not specified as an instance object in the Instances package (Clause 9) (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 12.11, each literal is said to represent some value. But none of these values, except for Indeterminate, is actually specified as an Instance object in the Instances package (Clause 9). Each of them should have a .refers-to link to an object that appears in Clause 9. And each of these objects should have a .text attribute value, specifying its representation.
Resolution: Issue 13683 is extended to add E and PI to the NamedValues package.
Correct Figure 42 and the text to show the attributes of the BuiltInConstants
Revised Text: 1. In clause 12.11, REPLACE Figure 42 with the following:
<image = Issue13707-Figure42-BuiltInConstants.png>
Actions taken:
March 12, 2009: rceived issue
June 6, 2011: closed issue
Issue 13708: Statements can appear outside StatementBlocks (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 13.2.5.1, under AssociationEnd: in-block, the Note says that every statement that is not a StatementBlock occurs in a StatementBlock. But the model does not appear to support this. There is no such OCL rule. And, for example, the end class of IFStatement:then-actions is a Statement, not a StatementBlock. So the first sentence of the Note appears to be false and should be struck. (Or the corresponding OCL rule should be written.)
Resolution: Delete the first sentence of the Note in 13.2.5.1.
Revised Text: In 13.2.5.1, under AssociationEnd: in-block, in the Note, DELETE the first sentence:
Every Statement that is not a StatementBlock occurs in a StatementBlock.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13709: Correct model of AliasStatement and AliasVariable (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 13.3.1, AliasStatement, the text says the ALIAS statement binds the AliasVariable to a VARExpression called the "referent", but neither the diagram nor the documented associations relate a VARExpression to the AliasStatement. 13.3.2 shows the referent VARExpression as an attribute of AliasVariable. This association should certainly appear in the diagram in Figure 44. But the actual referent of the AliasVariable at any given time is what the VARExpression evaluates to when the AliasStatement is executed. The referent VARExpression should be associated with the AliasStatement, not with the AliasVariable. That other Variables have runtime values is a fact that does not seem to have an image in the metamodel (e.g., Variable does not have a current-value association); so the fact that an AliasVariable has a runtime referent should not have such a model, either.
Resolution: The argument is correct. The “referent” expression should be associated with the AliasStatement, not with the AliasVariable.
When correcting Figure 44, also correct the missing Composites for alias-binds-variable and alias-has-body.
Revised Text: 1. In Clause 13.3 (AliasStatement), REPLACE Figure 44 with:
<image = Issue13709-Figure44-AliasStmt.png>
2. At the end of 13.3.1.3, immediately before 13.3.1.4, INSERT
AssociationEnd: referent To: VARExpression
Definition: the VARExpression that specifies the referent of the AliasVariable – the (member or component of the) Variable to which the AliasVariable refers during execution of the body of the ALIAS statement.
Multiplicity: 1..1
3. In Clause 13.3.2.3, DELETE all 3 paragraphs of the entry for AssociationEnd: referent:
AssociationEnd: referent To: VARExpression
Definition: the VARExpression that specifies the referent of the AliasVariable – the (member or component of the) Variable to which the AliasVariable refers during execution of the body of the ALIAS statement.
Multiplicity: 1..1
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13710: Correct the properties of Alias-binds-variable (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 13.3.3, Alias-binds-variable, it is the alias-variable property of the AliasStatement that is composite, not the namespace property of the AliasVariable, and Figure 44 shows neither. This error is duplicated in 13.3.2.3 and 13.3.1.3.
Resolution: Figure 44 is corrected by Issue 13709. Change the association end properties in all occurrences in the text. Also, AliasStatement:body should be documented as composite.
Revised Text: 1. In 13.3.1.3, under AssociationEnd: alias-variable, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
2. In 13.3.1.3, under AssociationEnd: body, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
3. In 13.3.2.3, under AssociationEnd: namespace, DELETE the paragraph:
Properties: Composite
4. In 13.3.3.2, under AssociationEnd: alias-variable, after the Multiplicity paragraph, ADD a new paragraph:
Properties: composite
5. In 13.3.3.2, under AssociationEnd: namespace, DELETE the paragraph:
Properties: Composite
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13711: Correct semantics of optional RETURN value (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In, 13.9.1.3 RETURNStatement:return-value, what is stated here for FunctionCalls is syntactically correct, but semantically incorrect. The semantic rule is, if the RETURN statement appears in a FUNCTION it always has a return-value. If the return-value is not specified in the syntax, it is (implicitly) a VariableRef to the FunctionResult.
Resolution: Correct the Definitions of ReturnStatement and result-value to state the semantic rule.
Revised Text: 1. In 13.9.1 (ReturnStatement), in the Definition, DELETE the second sentence:
In the case of a FunctionCall, the RepeatStatement may also specify the value that is to be the actual result of the FunctionCall.
and REPLACE it with:
A RETURN statement that appears in the body of a Function may also specify an expression for the FunctionResult, that is, the value which is to be returned as the evaluation of a FunctionCall in which the RETURN statement is executed.
2. In 13.9.1.3, under AssociationEnd: return-value, in the Definition, DELETE the second sentence:
If this is not provided on a Return from a FunctionCall, the value of the FunctionResult variable is returned.
and REPLACE it with:
The result-value shall not exist for a RETURN statement that appears in the body of a Procedure. A RETURN statement that appears in the body of a Function and does not specify a result-value Expression implicitly specifies that the value of the FunctionResult variable is to be returned as the evaluation of a FunctionCall in which the RETURN statement is executed.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13713: Distinguish AliasRef from VariableRef in text (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In 13.10.4 AliasVariable, it should be stated that an AliasRef to an AliasVariable produces a different result from a VariableRef to an AliasVariable. The AliasRef produces the cell/variable/referent place, the VariableRef produces the value that is currently there. And for that reason, .refers-to may be a bad choice for the association end name (it is different from VariableRef:refers-to).
Resolution: Add a Note to the effect that an AliasRef to a Variable produces a different result from a VariableRef to the same Variable.
Revised Text: In 13.10.4 (AliasRef), after the Definition, ADD a new paragraph:
Note: An AliasRef to a VARVariable produces a different result from a VariableRef to the same VARVariable. The AliasRef produces the referent of the VARVariable – the place that holds the value; the VariableRef produces the value that is currently in that place. In computer science terminology, the VariableRef “de-references” the VARVariable.
Actions taken:
March 12, 2009: received issue
June 6, 2011: closed issue
Issue 13870: Question on InvertibleAttribute subclass of ExplicitAttribute (express-rtf)
Click here for this issue's archive.
Source: TopQuadrant (Mr. David Price, dprice(at)topquadrant.com)
Nature: Uncategorized Issue
Severity:
Summary: It seems an odd thing to me to create a subclass of ExplicitAttribute to
instantiate for Attributes that have the potential to have inverses. I don't
understand the rationale. Seems like it would be simper to have a constraint
on InverseAttribute about it being owned by an EntityType referenced in an
ExplicitAttribute
Resolution:
Revised Text:
Actions taken:
April 16, 2009: received issue
Issue 13880: Figure 28 is the wrong figure (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: Figure 28 is a duplicate of Figure 29. It does not depict the ActualType and its subtypes concepts that were in Figure 28 of the Alpha version of the specification.
Resolution: Replace Figure 28 with the ActualTypes Figure from the Alpha specification
Revised Text: In clause 10.4 page 151, replace Figure 28 with:
<image = Issue13880-Figure28-ActualTypes.png>
Actions taken:
April 17, 2009: received issue
June 6, 2011: closed issue
Issue 13899: Attribute:attribute-type is not a DataType (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.11.1.3, the Definition of attribute-type says "represents the required DataType... The DataType is required to be ...".
What is intended here is "data type" -- the general concept -- not DataType, which is a class in the metamodel, and it is the wrong one.
Also, the second sentence could be less cryptic. When the Attribute is defined within the scope of an Algorithm, the attribute-type can be an ActualType. When the Attribute is an "abstract attribute", it's nominal attribute-type is always a GeneralizedType.
Resolution: Correct/clarify the Definition of Attribute:attribute-type.
Revised Text: In 8.11.1.3, AssociationEnd:attribute-type, REPLACE the Definition paragraph:
Definition: represents the required DataType for all values of that Attribute in all instances of the EntityType. The DataType is required to be an InstantiableType unless isAbstract is True for the EntityType, or the EntityType is defined in an AlgorithmScope (instead of a Schema).
with:
Definition: represents the required data type for all values of that Attribute in all instances of the EntityType. When EntityType that declares the Attribute is “abstract”, the attribute-type can be a GeneralizedType. When the Attribute is defined within the scope of an Algorithm, the attribute-type can be an ActualType. In these cases, the attribute-type can also be an InstantiableType, and in any other case, the attribute-type is required to be an InstantiableType.
Actions taken:
April 28, 2009: received issue
June 6, 2011: closed issue
Issue 13900: Text of Definition of RangeRole:range (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.12.2.3, the Definition of range ends "Derivation: range = .domain-view.attribute-type." This text should be struck. The correct derivation is given below.
Resolution: Delete the leftover text
Revised Text: In clause 8.12.2.3, in AssociationEnd: range, in the Definition paragraph, DELETE the text "Derivation: range = .domain-view.attribute-type."
Actions taken:
April 28, 2009: received issue
June 6, 2011: closed issue
Issue 13901: Nature of InstantiableType (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.6, the 6th paragraph begins: "InstantiableTypes represent all of the data types that have actual Instances." This is incorrect, since PartialEntityValues are instances of PartialEntityTypes, which are DataTypes but not InstantiableTypes. Clause 8.6.7 correctly says that InstantiableTypes cover the data types of all objects and property values.
In clause 8.6.7, the second sentence of the definition reads: "InstantiableType is a proper subtype of DataType (which includes classifiers that represent conformance rules for InstantiableTypes)." The parenthetical clause is wrong or at least misleading, and in any case the intent here was probably to mention PartialEntityTypes.
The text of these two paragraphs should be corrected.
Resolution: Correct/clarify the text of 8.6 and 8.6.7.
Revised Text: 1. In clause 8.6, in the 6th paragraph, REPLACE the first sentence:
Instantiable Types represent all of the data types that have actual Instances.
with:
Instantiable Types represent all the data type notions that characterize objects and properties in EXPRESS. Instantiable Types also represent all the data types that have Instances, except for PartialEntityTypes.
2. In clause 8.6.7, in the Definition paragraph, REPLACE the second sentence:
InstantiableType is a proper subtype of DataType (which includes classifiers that represent conformance rules for InstantiableTypes).
with:
InstantiableType is a proper subtype of DataType, which includes all the data types that have Instances.
Actions taken:
April 28, 2009: received issue
June 6, 2011: closed issue
Issue 13902: Wording of Redeclaration:lower-/upper-bound (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.13.1.3 under lower-bound, the Definition reads:
"represents a restriction on the minimum cardinality of the role that is stated by the Redeclaration." And upper-bound is similarly defined. But the lower-bound represents the minimum cardinality, which is a restriction on the cardinality. It should be reworded: "represents the minimum cardinality of the role that is constrained by the Redeclaration." And similarly for upper-bound.
Resolution: Correct the wording
Revised Text: 1. In clause 8.13.1.3 under AssociationEnd:lower-bound, in the Definition, REPLACE the text:
represents a restriction on the minimum cardinality
with the text:
represents the minimum cardinality
2. In clause 8.13.1.3 under AssociationEnd:upper-bound, in the Definition, REPLACE the text:
represents a restriction on the maximum cardinality
with the text:
represents the maximum cardinality
Actions taken:
April 28, 2009: received issue
June 6, 2011: closed issue
Issue 13903: Literal:refers-to subsets Expression:evaluation (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 12.3.2.3 EnumerationItem:refers-to says that it specializes Expression:evaluation. In clause 12.3.4.3 IndeterminateRef:refers-to says that it specializes Expression:evaluation. In clause 12.3.5.3 Literal:refers-to says that it specializes Expression:evaluation.
These should be documented as "subsets: Expression:evaluation" instead of being derived from it.
Resolution: Change documentation of EnumerationItem:refers-to, IndeterminateRef:refers-to, and Literal:refers-to from a derivation to "subsets: Expression:evaluation". Figure 34 is correct.
Revised Text: 1. In clause 12.3.2.3 under AssociationEnd:refers-to, immediately before the Definition paragraph, INSERT:
Subsets: Core::Expression:evaluation
2. In clause 12.3.2.3 under AssociationEnd:refers-to, DELETE the 3 paragraphs:
Properties: derived
Tagged Values
derivation = self->evaluation
3. In clause 12.3.4.3 under AssociationEnd:refers-to, immediately before the Definition paragraph, INSERT:
Subsets: Core::Expression:evaluation
4. In clause 12.3.4.3 under AssociationEnd:refers-to, DELETE the 3 paragraphs:
Properties: derived
Tagged Values
derivation = self->evaluation
5. In clause 12.3.5.3 under AssociationEnd:refers-to, immediately before the Definition paragraph, INSERT:
Subsets: Core::Expression:evaluation
6. In clause 12.3.5.3 under AssociationEnd:refers-to, DELETE the 3 paragraphs:
Properties: derived
Tagged Values
derivation = self->evaluation
Actions taken:
April 28, 2009: received issue
June 6, 2011: closed issue
Issue 13904: SizeConstraint/LengthConstraint subset ParameterType:constraints (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.8.1.3 BinaryType:binary-length-constraint says that it refines InstantiableType.constraints. In clause 8.8.7.3 StringType:string-length-constraint says that it refines InstantiableType.constraints. In clause 8.9.1.3 AggregationType:lower-bound and :upper-bound say that they refine. InstantiableType.constraints.
Actually, they all subset ParameterType:constraints and should be documented as such.
Resolution: Change documentation of BinaryType:binary-length-constraint, StringType:string-length-constraint, AggregationType:lower-bound, and AggregationType:upper-bound to specify them as “subsets: ParameterType:constraints”.
Change Figures 9 and 10 to show the subset properties.
Revised Text: 1. In clause 8.8, replace Figure 9 with:
<image = Issue13904-Figure9-SimpleTypes>
2. In clause 8.8.1.3 under AssociationEnd:binary-length-constraint, immediately before the Definition paragraph, INSERT:
Subsets: ParameterType:constraints
3. In clause 8.8.1.3 under AssociationEnd:binary-length-constraint, at the end of the Definition paragraph, DELETE the text:
Refines InstantiableType.constraints.
4. In clause 8.8.7.3 under AssociationEnd:string-length-constraint, immediately before the Definition paragraph, INSERT:
Subsets: ParameterType:constraints
5. In clause 8.8.7.3 under AssociationEnd:string-length-constraint, at the end of the Definition paragraph, DELETE the text:
Refines InstantiableType.constraints.
6. In clause 8.9, replace Figure 10 with:
<image = Issue13904-Figure10-AggregationTypes>
7. In clause 8.9.1.3 under AssociationEnd:lower-bound, immediately before the Definition paragraph, INSERT:
Subsets: ParameterType:constraints
8. In clause 8.9.1.3 under AssociationEnd:upper-bound, immediately before the Definition paragraph, INSERT:
Subsets: ParameterType:constraints
9. In clause 8.10, replace Figure 11 with:
<image = Issue13904-Figure11-GeneralizedTypes>
10. In clause 8.10.1.3 under AssociationEnd:lower-bound, immediately before the Definition paragraph, INSERT:
Subsets: ParameterType:constraints
11. In clause 8.10.1.3 under AssociationEnd:upper-bound, immediately before the Definition paragraph, INSERT:
Subsets: ParameterType:constraints
12. In clause 10.4.2.3 under AssociationEnd:lower-bound, immediately before the Definition paragraph, INSERT:
Subsets: Core::ParameterType:constraints
13. In clause 10.4.2.3 under AssociationEnd:upper-bound, immediately before the Definition paragraph, INSERT:
Subsets: Core::ParameterType:constraints
Actions taken:
April 28, 2009: received issue
June 6, 2011: closed issue
Issue 13905: Excess text in schema-interfaces-elements Definitions (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.4.7.3, at the end of the Definition of AssociationEnd: interfaced-elements, delete the text ".interfaced-elements=.interfaces.refers-to" It is the derivation below.
In clause 8.4.18.1, at the end of the Definition of AssociationEnd: interfaced-elements, delete the text ".interfaced-elements=.interfaces.refers-to" It is the derivation below.
In clause 8.4.18.1, at the end of the Definition of AssociationEnd: referenced-in, delete the text ".referenced-in=.referenced-as.interfacing-schema" It is the derivation below.
Resolution: This cleanup is obsoleted by the resolution to Issue 13447.
Revised Text:
none.
Disposition: See issue 13447 for disposition
Revised Text:
Actions taken:
April 28, 2009: received issue
Issue 13916: Correct UML qualified name syntax (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In many places, the specification uses the EXPRESS convention for qualified names (owner.element) instead of the UML convention (owner:element). These should be changed to use the UML convention
Resolution: Correct the text to use the UML convention in all cases
Revised Text: For all of the following, the intent is to change the period separator to a colon separator.
1. REPLACE all occurrences of “.namespace” with “:namespace”
2. REPLACE all occurrences of “.named-elements” with “:named-elements”
3. REPLACE all occurrences of “.type-elements” with “:type-elements”
4. REPLACE all occurrences of “.local-elements” with “:local-elements”
5. REPLACE all occurrences of “.constraints” with “:constraints”
6. REPLACE all occurrences of “.in-” with “:in-”
7. REPLACE all occurrences of “.position” with “:position”
8. REPLACE all occurrences of “.id” with “:id”
9. REPLACE all occurrences of “.evaluation” with “:evaluation”
10. REPLACE all occurrences of “.text” with “:text”
11. In 8.7.2.3, in the paragraph beginning “Subsets:”, REPLACE “.domain” with “:domain” (the hyperlink itself does not change)
12. In 8.11.8.3, under AssociationEnd:equivalent, in the last line of the Definition paragraph, REPLACE “PartialEntityType.includes” with “PartialEntityType:includes”.
13. In 9.7.1, in the Definition paragraph, REPLACE:
EntityType.instances and Population.composition
with
EntityType:instances and Population:composition.
14. In 9.7.1.3, under AssociationEnd:content, in the Definition, REPLACE “Extent.content” with “Extent:content”.
15. In 12.3.6.3, under AssociationEnd:refers-to, in the Definition, REPLACE “VariableRef.refers-to” with “VariableRef:refers-to” (the hyperlink itself does not change).
Actions taken:
May 5, 2009: received issue
June 6, 2011: closed issue
Issue 13917: Use consistent class diagram style (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: The UML class diagrams were drawn with two different tools, with the consequence that the diagrams have two radically different styles. This causes the reader to wonder whether there is a meaning to the difference in style. Change all the class diagrams to use the same style
Resolution: The appearance of the specification is improved by using a common diagram style. Replace all the large-font black and white figures that are not being updated by other issue resolutions, specifically Figures 1, 5, 6, 17, 18, 24, 35, 37, 43, 45, 46, 47, 48, 50.
Revised Text: 1. In clause 7, REPLACE Figure 1 with:
<image = Issue13917-Figure1-Packages.png>
2. In clause 8.5, REPLACE Figure 5 with:
<image = Issue13917-Figure5-Remarks.png>
3. In clause 8.6, REPLACE Figure 6 with:
<image = Issue13917-Figure6-Types.png>
4. In clause 8.15, REPLACE Figure 17 with:
<image = Issue13917-Figure17-BuiltInTypes.png>
5. In clause 8.16, REPLACE Figure 18 with:
<image = Issue13917-Figure18-GenericTypes.png>
6. In clause 9.6, REPLACE Figure 24 with:
<image = Issue13917-Figure24-Constants.png>
7. In clause 12.4, REPLACE Figure 35 with:
<image = Issue13917-Figure35-Indexing.png>
8. In clause 12.6, REPLACE Figure 37 with:
<image = Issue13917-Figure37-Operations.png>
9. In clause 13.2, REPLACE Figure 43 with:
<image = Issue13917-Figure43-Statements.png>
10. In clause 13.4, REPLACE Figure 45 with:
<image = Issue13917-Figure45-AssignStmt.png>
11. In clause 13.5, REPLACE Figure 46 with:
<image = Issue13917-Figure46-CaseStmt.png>
12. In clause 13.6, REPLACE Figure 47 with:
<image = Issue13917-Figure47-IfStmt.png>
13. In clause 13.7, REPLACE Figure 48 with:
<image = Issue13917-Figure48-CallStmt.png>
14. In clause 13.9, REPLACE Figure 50 with:
<image = Issue13917-Figure50-ReturnStmt.png>
see dtc/2009-06-17 for details on the resolution (images)
Actions taken:
May 5, 2009: received issue
June 6, 2011: closed issue
Issue 13918: Correct Figure references (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: All of the Figure references in the Beta-1 text are broken. They have been replaced by the section number in which the Figure is to be found. And in most cases, the reference immediately precedes the figure in that section. For example, on p.37, the second line of the first paragraph of section 8.5 (Remarks) reads: "8.5 depicts the Remark concept...". In the Alpha version it read: "Figure 5 depicts the Remark concept...".
There are two other Figure reference errors: In 12.8, the reference is missing entirely; the second sentence begins "depicts...". In 10.5, paragraph 1, "yyy" should be a reference to Figure 30.
Resolution: Correct the references to Figures to match the Alpha text. The error in clause 12.8 is resolved by Issue 13701.
Revised Text: General: Find all the cross-references to style “Figure” and correct the displayed form. In general the reference is to the only Figure in the same section.
Special cases:
1. In clause 8.4, the reference in paragraph 3 is to Figure 2; the reference in paragraph 4 is to Figure 3.
2. In clause 8.6, the reference in paragraph 2 is to Figure 6; the reference in the 2nd paragraph below Figure 6 is to Figure 7.
3. In clause 8.11, the reference in paragraph 2 is to Figure 12; the reference in paragraph 4 is to Figure 13.
4. In clause 9.5, the reference in paragraph 2 is to Figure 22; the reference in paragraph 3 (below Figure 22) is to Figure 23.
5. In clause 14, the reference in paragraph 2 is to Figure 52; the reference in paragraph 3 is to Figure 53.
6. In the List of Figures, for Figure 20, change “Views” to “Values”.
7. In the List of Figures, for Figure 29, change “ActyalType” to “ActualType”.
8. In Clause 9.3, in the first paragraph, REPLACE the text:
“INTEGER, LOGICAL, INTEGER, NUMBER, REAL, STRING.”
with the text:
“LOGICAL, INTEGER, NUMBER, REAL, STRING. The model is shown in Figure 20.”
9. In Clause 10.5, at the end of the first paragraph, REPLACE the text:
“are depicted in 10.4 (above) and yyy”
with the text:
“are depicted in Figure 29 (in clause 10.4) and in Figure 30 (below)”
Actions taken:
May 5, 2009: received issue
June 6, 2011: closed issue
Issue 13919: Correct indexing/selector text (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: The introductory text of sections 12.4 and 12.5 is identical, but section 12.4 is about indexing operations, and 12.5 is about selectors. This should be cleaned up
Resolution: Rewrite the introductions to match the section content
Revised Text: 1. In clause 12.4, in the first paragraph, in the first sentence, DELETE the text:
“, or linked to,”
2. In clause 12.4, in the first paragraph,DELETE the third sentence:
Selector operations extract values related to entity instances by the name of the component or relationship – attributes, implicit inverse attributes (UsedIn), and attribute-groups.
and REPLACE it with:
These concepts are shown in Figure 35.
Ed Note: The “Figure 35” above should be a cross-reference.
3. In clause 12.5, DELETE the first paragraph:
This section describes the EXPRESS operations that select values that are part of, or linked to, Instances. Indexing operations – aggregate indexing, string indexing and binary indexing – extract component values by their numbered positions in the Instance. Selector operations extract values related to entity instances by the name of the component or relationship – attributes, implicit inverse attributes (UsedIn), and attribute-groups.
and REPLACE it with:
This section describes the EXPRESS operations that select values that are related to EntityInstances, or are components of PartialEntityValues. Selector operations extract values related to entity instances by the name of the relationship – attributes, implicit inverse attributes (UsedIn), and attribute-groups. In a similar way, they can be used to extract the values of attributes and attribute-groups from PartialEntityValues. The Selector operations are shown in Figure 36.
[Ed Note: The “Figure 36” above should be a cross-reference.]
Actions taken:
May 5, 2009: received issue
June 6, 2011: closed issue
Issue 13929: InstantiableType:fundamental-type should be derived (express-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary: In clause 8.6.7.3, InstantiableType:fundamental-type has multiplicity 1..1. This is semantically correct, but it has the effect of requiring the fundamental-type association to be instantiated for every InstantiableType in every Schema, even though it is only used in evaluating Expressions involving SpecializedTypes. The EXPRESS rule is given in the Definition, and it can be considered to be a (recursive) derivation rule. Making the attribute "derived" in this way removes the requirement for it to be instantiated.
Proposed change: Make InstantiableType:fundamental-type a derived association.
Resolution: From a semantic point of view, it is a derived attribute, and the derivation rule is stated in the definition. So the change is appropriate in all cases.
Revised Text: 1. In clause 8.6, REPLACE Figure 7 with:
<image = Issue13929-Figure7-InstantiableTypes>
2. In clause 8.6.7.3, under AssociationEnd: fundamental-type, DELETE the Definition paragraph:
Definition: represents the relationship between the DefinedType and the data type used to represent its values. The fundamental-type of a DefinedType is the fundamental-type of its underlying-type; the fundamental-type of any other InstantiableType is the type itself.
and REPLACE it with the two paragraphs:
Definition: represents the relationship between the InstantiableType and the data type used to represent its values. The fundamental-type of a SpecializedType is the fundamental-type of its underlying-type; the fundamental-type of any other InstantiableType is the InstantiableType itself.
Note: ISO 10303-11 is not clear about the fundamental-type of a SelectType. The values of a SelectType are necessarily also values of one of the types in the select-list, and each value is represented according to the fundamental-type of its narrowest data type.
3. In clause 8.6.7.3, under AssociationEnd: fundamental-type, immediately before 8.6.7.4, INSERT the two paragraphs:
Properties: derived
The derivation is a recursive operation as stated in the Definition above:
if self is a SpecializedType then
self->fundamental-type = self->underlying-type->fundamental-type
else
self->fundamental-type = self
Actions taken:
May 12, 2009: received issue
June 6, 2011: closed issue