POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
Eliminate all subtypes of Temporal_period and Temporal_event in order to bring this area in line with the geologic changes made in V2.2. Move Temporal_object from Topological_object to Aliasable_technical_object. This is because there does not appear to be any topological behavior which benefits the time concepts.
CHANGE ERP_temporal_object (*<REMARK>CHANGE ERP_temporal_object; CONTEXT Epicentre_2_2;*) (*<CHANGE>Version 2 - Do not add identifier as part of temporal_period uniqueness clause since it is already there. This will eliminate problems for subsequent changes which tried to eliminate it. *) (*<DESC> Eliminate all subtypes of Temporal_period and Temporal_event in order to bring this area in line with the geologic changes made in V2.2. Move Temporal_object from Topological_object to Aliasable_technical_object. This is because there does not appear to be any topological behavior which benefits the time concepts. *) DROP ENTITY chronozone (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_zone (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY sea_level_cycle (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY biozone (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_age (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_period (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_eon (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_era (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_subepoch (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY geochronologic_epoch (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY third_order_sea_level_cycle (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY sea_level_supercycle (*<CHANGE>Move to be an instance of Temporal_period.*); DROP ENTITY biozone_marker (*<CHANGE>Move to be an instance of Temporal_event.*); DROP ENTITY geochronologic_event (*<CHANGE>Move to be an instance of Temporal_event.*); DROP ENTITY sea_level_cycle_event (*<CHANGE>Move to be an instance of Temporal_event.*); DROP ENTITY ref_biozone (*<CHANGE>Move instances to Temporal_event as a child_event of "biozone".*); DROP ENTITY geochronologic_age_association (*<REMARK>NEW INTERSECTION. Redundant to temporal_period_period_boundary.*); DROP ENTITY geochronologic_period_association (*<REMARK>NEW INTERSECTION. Redundant to temporal_period_period_boundary.*); DROP ENTITY geochronologic_eon_association (*<REMARK>NEW INTERSECTION. Redundant to temporal_period_period_boundary.*); DROP ENTITY geochronologic_era_association (*<REMARK>NEW INTERSECTION. Redundant to temporal_period_period_boundary.*); DROP ENTITY geochronologic_subepoch_association (*<REMARK>NEW INTERSECTION. Redundant to temporal_period_period_boundary.*); DROP ENTITY geochronologic_epoch_association (*<REMARK>NEW INTERSECTION. Redundant to temporal_period_period_boundary.*); DROP ENTITY lithostratigraphic_marker (*<CHANGE>This entity has no attributes. The entity is therefore redundant to Stratigraphic_marker.kind. Move this to Earth_feature_class.*); DROP ENTITY biostratigraphic_marker (*<CHANGE>Its only attribute is now redundant to Geologic_feature.geologic_age_classification. The entity is therefore redundant to Stratigraphic_marker.kind. Move this to Earth_feature_class.*); DROP ENTITY biozone_marker_appearance (*<REMARK>NEW INTERSECTION. Redundant to Geologic_age_classification.*); DROP ENTITY chronostratigraphic_boundary (*<CHANGE>Its only attribute is now redundant to Geologic_feature.geologic_age_classification. The entity is therefore redundant to Stratigraphic_marker.kind. Move this to Earth_feature_class.*); DROP ENTITY boundary_event_representation (*<REMARK>NEW INTERSECTION. Redundant to Geologic_age_classification.*); ALTER ENTITY temporal_event; ADD parent_event : OPTIONAL temporal_event (*<DESC>The more general event of which this event is a specialization. The semantics of a child event must be a subset of the semantics of the parent event.*) (*<VERB>be a specialization of*) (*<CHANGE>Replaces Biozone.ref_biozone.*); INVERSE ADD child_event : SET[0:?] OF temporal_event FOR parent_event (*<DESC>The set of events for which this event is a generalization.*) (*<VERB>be the generalization of*); END_ENTITY; ALTER ENTITY temporal_period; ADD parent_period : OPTIONAL temporal_period (*<DESC>The more general period of which this period is a specialization. The semantics of a child period must be a subset of the semantics of the parent period.*) (*<VERB>be a specialization of*); ADD part_of_period : OPTIONAL temporal_period (*<DESC>Specifies the major time period for which this is a member.*) (*<VERB>be part of*); INVERSE ADD child_period : SET[0:?] OF temporal_period FOR parent_period (*<DESC>The set of periods for which this period is a generalization.*) (*<VERB>be the generalization of*); ADD period_components : SET[0:?] OF temporal_period FOR part_of_period (*<DESC>Specifies the subsidiary component time periods of this one.*) (*<VERB>contain*); ADD next_older_period : SET [0:?] OF temporal_period_period_boundary FOR next_younger_period (*<DESC>This is the period which immediately precedes this period in geologic time.*) (*<VERB>be the upper boundary of*); ADD next_younger_period : SET [0:?] OF temporal_period_period_boundary FOR next_older_period (*<DESC>This is the period which immediately succeeds this period in geologic time.*) (*<VERB>be the lower boundary of*); END_ENTITY; ALTER ENTITY temporal_period_boundary AS temporal_period_event_boundary; END_ENTITY; ADD ENTITY temporal_period_period_boundary SUBTYPE OF (association); (*<DESC>This association asserts that one two different periods form the upper and lower time boundaries of each other.*) next_older_period : temporal_period (*<DESC>This is the period which immediately precedes the younger period in geologic time.*) (*<VERB>be the upper boundary of*); next_younger_period : temporal_period (*<DESC>This is the period which immediately succeeds the older period in geologic time.*) (*<VERB>be the lower boundary of*); UNIQUE si : next_older_period, next_younger_period; END_ENTITY; (*<REMARK>=============== change hierarchy ==========================*) ALTER ENTITY temporal_object DROP SUBTYPE OF (topological_object, reference_behavior) ADD SUBTYPE OF (aliasable_technical_reference); DROP description (*<CHANGE>Inherited from Technical_object.*); DROP identifier (*<CHANGE>Inherited from Technical_reference.*); DROP source (*<CHANGE>Inherited from Technical_reference.*); DROP source_reference (*<CHANGE>Inherited from Technical_reference.*); DROP status (*<CHANGE>Inherited from Technical_reference.*); DROP version (*<CHANGE>Inherited from Technical_reference.*); DROP naming_system (*<CHANGE>Inherited from Aliasable_technical_reference.*); INVERSE DROP temporal_object_alias (*<CHANGE>Redundant to Aliasable_technical_reference.technical_reference_alias.*); END_ENTITY; DROP ENTITY temporal_object_alias (*<CHANGE>Redundant to Technical_reference_alias*); ALTER ENTITY naming_system; INVERSE DROP temporal_object; END_ENTITY; ALTER ENTITY ref_source_reference; INVERSE DROP temporal_object; END_ENTITY; ALTER ENTITY ref_source; INVERSE DROP temporal_object; END_ENTITY; ALTER ENTITY ref_epicentre_version; INVERSE DROP temporal_object; END_ENTITY; END_CHANGE;