POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
Utilize class instead of typical for object semantics. Utilize typical as an archetype for class.
CHANGE ERP_use_class_instead_of_typical (*<REMARK>========================Material==============================*) ALTER ENTITY material_class; ALTER rock_feature AS archetype_feature (*<CHANGE>Make the name consistent with Archetype_typical.*); WHERE ALTER ose : NOT (EXISTS(archetype_feature) AND EXISTS(archetype_typical)) (*<DESC>A class may be defined by an ARCHETYPE FEATURE or an ARCHETYPE TYPICAL but not both.*); END_ENTITY; (*<REMARK>========================Document Specification==============================*) DROP ENTITY typical_document_specification (*<CHANGE>Does not provide any additional semantics versus document_specification_class.*); ALTER ENTITY document_specification_class; DROP typical_document_specification; END_ENTITY; (*<REMARK>========================Facility==============================*) ALTER ENTITY facility; DROP typical_facility (*<CHANGE>Redundant to kind.*); END_ENTITY; ALTER ENTITY typical_facility; INVERSE DROP facility; ADD facility_class : facility_class FOR archetype_typical (*<DESC>This is the facility class that gets its definition from this typical facility. It is the facility class that is defined by this archetype typical facility.*) (*<VERB>have definition provided by*); END_ENTITY; DROP ENTITY typical_receiver_element; DROP ENTITY typical_reference_point; DROP ENTITY typical_seismic_receiver; DROP ENTITY typical_seismic_source; DROP ENTITY typical_source_element; ALTER ENTITY facility_class; ADD archetype_typical : OPTIONAL typical_facility (*<DESC>This the typical facility that provides definition for this facility class.*) (*<VERB>provide definition for*); END_ENTITY; ALTER ENTITY seismic_geometry_set; ALTER typical_seismic_receiver AS receiver_class ALTER TYPE AS facility_class (*<DESC>Asserts that all receiver facilities are identical and are a member of the specified class.*) (*<VERB>utilize members of*); WHERE ALTER val4 : (EXISTS(receiver_facility) XOR EXISTS(receiver_class)) OR (NOT (EXISTS(receiver_facility) OR EXISTS(receiver_class))) (*<DESC>Each instance may define either RECEIVER FACILITY or RECEIVER CLASS but not both.*); ALTER val6 : (EXISTS(receiver_uid) AND (EXISTS(receiver_facility) OR (EXISTS(receiver_class) OR (EXISTS(receiver_station) OR (EXISTS(receiver_absolute_orientation) OR (EXISTS(receiver_uid_use) OR EXISTS(receiver_chassis_orientation))))))) OR (NOT (EXISTS(receiver_facility) OR (EXISTS(receiver_class) OR (EXISTS(receiver_station) OR (EXISTS(receiver_absolute_orientation) OR (EXISTS(receiver_uid_use) OR EXISTS(receiver_chassis_orientation))))))) (*<DESC>For each instance, RECEIVER UID must be defined if one of the following is defined: RECEIVER FACILITY, RECEIVER STATION, RECEIVER UID USE, RECEIVER ABSOLUTE ORIENTATION, RECEIVER CHASSIS ORIENTATION, RECEIVER CLASS.*); END_ENTITY; ALTER ENTITY facility_class; INVERSE ADD seismic_receiver_conformance : SET[0:?] OF seismic_geometry_set FOR receiver_class (*<DESC>The seismic geometry sets whose receiver facilities all conform to this class.*) (*<VERB>have members utilized by*); END_ENTITY; (*<REMARK>========================Activity==============================*) ALTER ENTITY typical_activity; INVERSE DROP guideline_or_privilege_remedy (*<CHANGE>Moved to Activity_class.*); DROP process_parameter (*<CHANGE>Moved to Activity_class.*); DROP well_report (*<CHANGE>Moved to Activity_class.*); DROP contract_activity_type (*<CHANGE>Moved to Activity_class.*); ADD activity_class : activity_class FOR archetype_typical (*<DESC>This is the activity class that gets its definition from this typical activity. It is the activity class that is defined by this archetype typical activity.*) (*<VERB>have definition provided by*); END_ENTITY; ALTER ENTITY activity_class; ADD archetype_typical : OPTIONAL typical_activity (*<DESC>This the typical activity that provides definition for this activity class.*) (*<VERB>provide definition for*); INVERSE ADD guideline_or_privilege_remedy : SET [0:?] OF guideline_or_privilege_remedy FOR activity_class (*<DESC>These are the guideline or privilege remedies that require an activity which is a member of this class.*) (*<VERB>be required by*) (*<CHANGE>Moved from Typical_activity.*); ADD process_parameter : SET [0:?] OF process_parameter FOR activity_class (*<DESC>These are the parameters which members of this class may be expected to have.*) (*<VERB>specify*) (*<CHANGE>Moved from Typical_activity.*); ADD well_report : SET [0:?] OF well_report FOR typical_activity (*<DESC>Indicates various reports of well activities which reference activities that are a member of this class..*) (*<VERB>be described in*) (*<CHANGE>Moved from Typical_activity.*); ADD contract_activity_type : SET [0:?] OF contract_activity_type FOR typical_activity (*<DESC>Indicates various contractual obligations which require activities that are a member of this class.*) (*<VERB>be used to define*) (*<CHANGE>Moved from Typical_activity.*); END_ENTITY; ALTER ENTITY guideline_or_privilege_remedy; ALTER typical_activity AS activity_class ALTER TYPE AS activity_class (*<DESC>This is the type of activity that is required by this remedy. That is, there must be an activity which is a member of this class.*); END_ENTITY; ALTER ENTITY process_parameter; (*<DESC>The roles of data within the context of an activity. For example, "program module 1" may use a process parameter called "variable 1", which is the maximum number of iterations it is allowed to calculate.*) ALTER typical_activity AS activity_class ALTER TYPE AS activity_class (*<DESC>Specifies the activity class whose members may have this role.*) (*<VERB>be specified for*); INVERSE ALTER utilized_by_collection (*<DESC>The data collections which represented this role within the context of its creating activity.*); ALTER interprocess_data (*<DESC>The interprocess data which represented this role within the context of its creating activity.*); ALTER process_data_item (*<DESC>The process data usage which represented this role within the context of its utilizing activity.*); END_ENTITY; ALTER ENTITY well_report; ALTER typical_activity AS activity_class ALTER TYPE AS activity_class; END_ENTITY; ALTER ENTITY contract_activity_type; (*<DESC>This association asserts that an activity which is a member of an activity class is required in order to satisfy an obligation.*) ALTER typical_activity AS activity_class ALTER TYPE AS activity_class; ALTER contractual_obligation (*<DESC>This is the contractual obligation that requires the type of activity.*); END_ENTITY; END_CHANGE;