[wg11] EXPRESS (DERIVEd) attribute redeclaration question
Thomas Thurman
thomas.r.thurman at imonmail.com
Wed May 30 13:38:57 EDT 2012
Dear WG11 experts,
During testing of a new version of the EDMS EXPRESS compiler/shtolo,
The following error report was generated by the compiler examining the concatenated arm of the test case.
For reference, this is logged as an issue against the module EXPRESS on module 1732, ISO 10303 instance of bugzilla bug #4409.
The complete file is attached to the bug.
The problem appears to be that a redeclaration in a "lower" subtype redeclares an attribute from the supertype
when there is an existing redeclaration in an "intermediate" subtype.
My question to the WG11 experts is this:
Is the EXPRESS declaration in line 2446 (cited as an error by the EDMS compiler) valid EXPRESS?
(I seem to recall that Lothar mentioned that this had been discussed in a meeting and it was agreed that it was valid.)
If this is valid EXPRESS, the ERROR will need to be converted to a WARNING.
If this is valid EXPRESS, what "happens" to the attribute Part_item_shape.described_element during (e.g., interface class generation, runtime)
If this is valid EXPRESS, doesn't there need to be some NOTE in part 11 mentioning it?
Very best regards,
Tom Thurman
======Here are the details.=========
The redeclaration
Part_usage_view.described_element references SELECT type shapeable_item. However, the redeclared attribute domain is already reduced to Part_view_definition in the supertype Part_item_shape declaration.
Therefore the re-redeclaration is an attempted generalization which is not allowed in attribute redeclaration.
ERROR : Line 204: C3126:Conflicting implicit attribute redeclaration. in entity: ALTERED_PACKAGE
Redeclaring attribute: PART_USAGE_VIEW.DESCRIBED_ELEMENT in line: 24446
Redeclared attribute: PART_ITEM_SHAPE.DESCRIBED_ELEMENT in line: 11439
Redeclaration from PART_VIEW_DEFINITION to SHAPEABLE_ITEM
Additional info:
Error 8105.0 SELECT tree contains an entity which is neither same nor subtype
At line :22998: Entity:PART_VIEW_DEFINITION
At line :31102: Type:SHAPEABLE_ITEM
Error 8104.0 Entity is not same or subtype
At line :30931: Select type:SF_SHAPEABLE_ITEM
At line :4244: Select member:CHARACTERIZABLE_OBJECT
ENTITY Part_item_shape
SUBTYPE OF (Item_shape);
11439-- SELF\Item_shape.described_element : Part_view_definition; END_ENTITY;
ENTITY Part_usage_view
SUBTYPE OF (Part_view_definition, Part_item_shape);
DERIVE
24446-- SELF\Item_shape.described_element : shapeable_item := SELF;
END_ENTITY;
22998--ENTITY Part_view_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Part_version;
SELF\Product_view_definition.initial_context: Part_view_definition_context;
SELF\Product_view_definition.additional_contexts: SET [0:?] OF Part_view_definition_context;
END_ENTITY;
31102--TYPE shapeable_item = EXTENSIBLE GENERIC_ENTITY SELECT
(Product_occurrence_definition_relationship,
Product_view_definition,
View_definition_relationship);
END_TYPE;
---
SCHEMA Shape_feature_arm;
USE FROM Characterizable_object_arm; -- ISO/TS 10303-1765
USE FROM Contextual_shape_positioning_arm; -- ISO/TS 10303-1027
REFERENCE FROM Support_resource_arm(bag_to_set); -- ISO/TS 10303-1765
USE FROM Property_assignment_arm; -- ISO/TS 10303-1030
30931--TYPE sf_shapeable_item = SELECT BASED_ON shapeable_item WITH
(Characterizable_object);
END_TYPE;
4244--ENTITY Characterizable_object;
name : label;
description : OPTIONAL text;
END_ENTITY;
===========================
proposed solution:
///problem is in line 24446-->
the following should be the declaration:
SELF\Part_item_shape.described_element : Part_usage_view := SELF;
==================end bug entry=============================
More information about the wg11
mailing list