POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
Create a new supertype of all subtypes of Technical_object which are also subtypes of Reference_behavior. Move common behavior to the supertype (i.e., identifier, description).
CHANGE ERP_technical_reference ADD ENTITY technical_reference ABSTRACT SUPERTYPE OF (ONEOF( aliasable_technical_reference )) (*<REMARK>See changes "alias" and "naming_system" which add Object_alias and Naming_system as subtypes.*) SUBTYPE OF (technical_object); (*<DESC>The abstract supertype of all technical objects which have reference behavior.*) identifier : ndt_identifier (*<DESC>The name of the instance.*) (*<REMARK>Attribute description added to technical_object by change description_only.*); END_ENTITY; ADD ENTITY aliasable_technical_reference ABSTRACT SUPERTYPE OF (ONEOF( activity_template, coordinate_system, coordinate_transformation, coordinate_transformation_method, ellipsoid, object_association_class, parameter_type, predicate_type, prime_meridian, process_parameter, symbol_library, typical_geologic_process )) SUBTYPE OF (technical_reference); (*<DESC>The abstract supertype of all technical reference objects which are aliasable.*) END_ENTITY; ALTER ENTITY activity_template DROP SUBTYPE OF (technical_object); DROP name (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); UNIQUE ALTER si DROP name ADD identifier FIRST; END_ENTITY; ALTER ENTITY coordinate_system DROP SUBTYPE OF (technical_object); DROP identifier (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); DROP ref_naming_system (*<CHANGE>Redundant to Aliasable_technical_reference.naming_system.*); END_ENTITY; ALTER ENTITY coordinate_transformation DROP SUBTYPE OF (technical_object); DROP identifier (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); END_ENTITY; ALTER ENTITY coordinate_transformation_method DROP SUBTYPE OF (technical_object); DROP identifier (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); END_ENTITY; ALTER ENTITY ellipsoid DROP SUBTYPE OF (technical_object); DROP identifier (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); DROP ref_naming_system (*<CHANGE>Redundant to Aliasable_technical_reference.naming_system.*); END_ENTITY; ALTER ENTITY parameter_type DROP SUBTYPE OF (technical_object); DROP kind (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); UNIQUE ALTER si DROP kind ADD identifier FIRST; END_ENTITY; ALTER ENTITY predicate_type DROP SUBTYPE OF (technical_object); DROP kind (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); UNIQUE ALTER si DROP kind ADD identifier FIRST; END_ENTITY; ALTER ENTITY prime_meridian DROP SUBTYPE OF (technical_object); DROP identifier (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); END_ENTITY; ALTER ENTITY process_parameter DROP SUBTYPE OF (technical_object); DROP name (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); UNIQUE ALTER si DROP name ADD identifier FIRST; END_ENTITY; ALTER ENTITY symbol_library DROP SUBTYPE OF (technical_object); DROP identifier (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); END_ENTITY; (*<REMARK>Moved to REF_CODE ALTER ENTITY text_style_type DROP SUBTYPE OF (technical_object) ADD SUBTYPE OF (aliasable_technical_reference); DROP identifier (XXX*<CHANGE>Redundant to Technical_reference.identifier.*XXX); DROP description (XXX*<CHANGE>Redundant to Technical_object.description.*XXX); END_ENTITY; *) ALTER ENTITY typical_geologic_process DROP SUBTYPE OF (technical_object); DROP name (*<CHANGE>Redundant to Technical_reference.identifier.*); DROP description (*<CHANGE>Redundant to Technical_object.description.*); UNIQUE ALTER si DROP name ADD identifier FIRST; END_ENTITY; END_CHANGE;