POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
Insert entity Bulk_material between Material and its current subtypes. Move all somewhat specialized behavior from Material to Bulk_material so that Document and Equipment_item will not inherit them.
CHANGE ERP_bulk_material (*<REMARK>==========PROCESS MANY-TO-MANY RELATIONSHIPS FIRST==============*) (*<REMARK>====material >- be the subject of/act upon -< materials_processing====*) ALTER ENTITY materials_processing; ALTER processed_material ALTER INVERT ALTER TYPE AS materials_processing_utilization ALTER FOR AS materials_processing; END_ENTITY; ALTER ENTITY material; INVERSE DROP process_history (*<CHANGE>Moved down to Bulk_material.*); END_ENTITY; ADD ENTITY materials_processing_utilization SUBTYPE OF (association); (*<DESC>This association asserts that an materials processing activity acted upon a bulk material.*) (*<CHANGE>Replaces material >- be the subject of/act upon -< materials_processing. Previously implemented as table PROCESSED_MTRL_X.*) bulk_material: bulk_material (*<DESC>This is a material which was acted upon by the activity.*) (*<VERB>act upon*); materials_processing : materials_processing (*<DESC>This is a processing activity which acted upon the material.*) (*<VERB>be the subject of*); UNIQUE si : bulk_material, materials_processing; END_ENTITY; (*<REMARK>====material >- be sampled by/source material -< sample_acquisition====*) ALTER ENTITY sample_acquisition; ALTER source_material ALTER INVERT ALTER TYPE AS sample_acquisition_source ALTER FOR AS sample_acquisition; END_ENTITY; ALTER ENTITY material; INVERSE DROP sampled_by_activity (*<CHANGE>Moved down to Bulk_material.*); END_ENTITY; ADD ENTITY sample_acquisition_source SUBTYPE OF (association); (*<DESC>This association asserts that a sample acquisition activity extracts pieces or fractions of a material.*) (*<CHANGE>Replaces material >- be sampled by/source material -< sample_acquisition. Previously implemented as table SOURCE_MTRL_X.*) bulk_material: bulk_material (*<DESC>This is a material that represents feed stock for the activity.*) (*<VERB>source material*); sample_acquisition : sample_acquisition (*<DESC>This is a sample acquisition activity that extracts pieces or fractions of the material.*) (*<VERB>be sampled by*); UNIQUE si : bulk_material, sample_acquisition; END_ENTITY; (*<REMARK>====Now move the properties.======*) ALTER ENTITY material DROP SUPERTYPE OF (well_operation_solid, filter_cake, cement, rock_material, other_material, specific_fluid_component, fluid_system); INVERSE DROP pty_absolute_abundance (*<CHANGE>Moved down to Bulk_material.*); DROP pty_concentration_volume_per_mole (*<CHANGE>Moved down to Bulk_material.*); DROP pty_concentration_mass_per_mass (*<CHANGE>Moved down to Bulk_material.*); DROP pty_concentration_mass_per_volume (*<CHANGE>Moved down to Bulk_material.*); DROP pty_concentration_volume_per_volume (*<CHANGE>Moved down to Bulk_material.*); DROP pty_concentration_mole_per_volume (*<CHANGE>Moved down to Bulk_material.*); DROP pty_mass (*<CHANGE>Moved down to Bulk_material.*); DROP pty_weight (*<CHANGE>Moved down to Bulk_material.*); END_ENTITY; ADD ENTITY bulk_material ABSTRACT SUPERTYPE OF ( ONEOF( well_operation_solid, filter_cake, cement, rock_material, other_material, specific_fluid_component, fluid_system ) ) SUBTYPE OF (material); (*<DESC>The abstract supertype of all materials which can be split into various amounts without changing its fundamental nature.*) INVERSE pty_absolute_abundance : SET [0:?] OF pty_absolute_abundance FOR bulk_material (*<VERB>have a property of*); pty_concentration_volume_per_mole : SET [0:?] OF pty_concentration_volume_per_mole FOR bulk_material (*<VERB>have a property of*); pty_concentration_mass_per_mass : SET [0:?] OF pty_concentration_mass_per_mass FOR bulk_material (*<VERB>have a property of*); pty_concentration_mass_per_volume : SET [0:?] OF pty_concentration_mass_per_volume FOR bulk_material (*<VERB>have a property of*); pty_concentration_volume_per_volume : SET [0:?] OF pty_concentration_volume_per_volume FOR bulk_material (*<VERB>have a property of*); pty_concentration_mole_per_volume : SET [0:?] OF pty_concentration_mole_per_volume FOR bulk_material (*<VERB>have a property of*); pty_mass : SET [0:?] OF pty_mass FOR bulk_material (*<VERB>have a property of*); pty_weight : SET [0:?] OF pty_weight FOR bulk_material (*<VERB>have a property of*); sampled_by_activity : SET [0:?] OF sample_acquisition_source FOR bulk_material (*<DESC>Indicates various sample acquisition activities which extract pieces or fractions of this material.*) (*<VERB>be sampled by*); process_history : SET [0:?] OF materials_processing_utilization FOR bulk_material (*<DESC>Indicates various processing activities which act upon this material.*) (*<VERB>be the subject of*); END_ENTITY; ALTER ENTITY pty_absolute_abundance; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_concentration_volume_per_mole; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_concentration_mass_per_mass; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_concentration_mass_per_volume; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_concentration_volume_per_volume; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_concentration_mole_per_volume; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_mass; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; ALTER ENTITY pty_weight; ALTER material AS bulk_material ALTER TYPE AS bulk_material; END_ENTITY; END_CHANGE;