SCHEMA task_set_dex; TYPE activity_method_item = SELECT (Activity_method, Activity_property, Breakdown_element, Breakdown_element_definition, Breakdown_element_version, Contract, Document, Document_version, Message, Organization, Organization_type, Part, Part_version, Part_view_definition, Person, Person_in_organization, Product, Product_concept, Product_configuration, Product_version, Product_view_definition, Required_resource, Required_resource_assignment, Resource_item, Resource_property, Task_method, Task_method_version, Type_of_person, Type_of_person_definition, View_definition_relationship); END_TYPE; TYPE activity_realization_select = SELECT (Task_element, Task_method, Task_method_version); END_TYPE; TYPE any_number_value = NUMBER; END_TYPE; TYPE any_string_value = STRING; END_TYPE; TYPE assigned_document_select = SELECT (Document, Document_definition, Document_version); END_TYPE; TYPE characterized_activity_definition = SELECT (Activity_method, Activity_method_relationship, Condition, Condition_relationship, Required_resource_assignment, Task_objective); END_TYPE; TYPE characterized_resource_select = SELECT (Required_resource, Resource_item); END_TYPE; TYPE classification_item = SELECT (Activity_method, Activity_method_realization, Activity_method_relationship, Activity_property, Activity_property_representation, Applied_activity_method_assignment, Breakdown, Breakdown_context, Breakdown_element, Breakdown_element_version, Breakdown_of, Calendar_date, Class, Condition, Condition_assignment, Condition_parameter, Condition_relationship, Content_item, Contract, Contract_assignment, Date_or_date_time_assignment, Date_time, Document, Document_assignment, Document_version, Effectivity, Effectivity_assignment, External_class_library, Identification_assignment, In_zone, Independent_property, Independent_property_representation, Item_design_association, Justification, Justification_assignment, Local_time, Market, Message, Organization, Organization_or_person_in_organization_assignment, Organization_type, Part, Part_version, Part_view_definition, Partial_document_assignment, Person, Person_in_organization, Product, Product_category, Product_concept, Product_configuration, Product_version, Product_view_definition, Representation, Representation_context, Representation_item, Required_resource, Required_resource_assignment, Required_resource_relationship, Resource_item, Resource_property, Resource_property_representation, State_definition, Task_method, Task_objective, Type_of_person, Type_of_person_definition, Uncertainty_with_unit, Unit, Value_with_unit, View_definition_context, View_definition_relationship, Work_request); END_TYPE; TYPE condition_item = SELECT (Activity_method_realization, Activity_method_relationship, Activity_property, Applied_activity_method_assignment, Document_assignment, Required_resource, Required_resource_assignment, Required_resource_relationship, Resource_item, Resource_property, State_definition, Task_method_version_assignment, Task_method_version_relationship, View_definition_relationship); END_TYPE; TYPE condition_parameter_item = SELECT (Organization, Product_configuration, Activity_method, Activity_property, Activity_property_representation, Calendar_date, Classification_assignment, Condition_relationship, Contract_assignment, Date_or_date_time_assignment, Date_time, Document_assignment, Identification_assignment, Independent_property_representation, Organization_or_person_in_organization_assignment, Product, Product_category_assignment, Product_concept, Product_version, Product_view_definition, Representation, Required_resource, Resource_property, Resource_property_representation, State_definition, View_definition_relationship); END_TYPE; TYPE contract_item = SELECT (Activity_method, Activity_method_realization, Activity_method_relationship, Applied_activity_method_assignment, Breakdown, Breakdown_element, Breakdown_version, Document, Document_version, External_class, External_class_library, Message, Part, Part_version, Product_configuration, Resource_item, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Task_method_version_relationship, Task_objective); END_TYPE; TYPE date_or_date_time_item = SELECT (Activity_method, Activity_method_realization, Activity_method_relationship, Activity_property, Activity_property_representation, Applied_activity_method_assignment, Breakdown, Breakdown_element, Breakdown_version, Classification_assignment, Condition, Condition_assignment, Contract, Contract_assignment, Date_or_date_time_assignment, Document, Document_assignment, Document_version, Effectivity, Effectivity_assignment, Identification_assignment, Independent_property, Independent_property_representation, Justification, Justification_assignment, Message, Organization_or_person_in_organization_assignment, Part, Part_version, Part_view_definition, Person, Person_in_organization, Product_category_assignment, Product_concept, Product_configuration, Product_version, Product_view_definition, Representation, Required_resource, Required_resource_assignment, Resource_item, Resource_property, Resource_property_representation, State_definition, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Task_method_version_relationship, Task_objective, View_definition_context, Work_request); END_TYPE; TYPE date_or_date_time_select = SELECT (Calendar_date, Date_time); END_TYPE; TYPE date_or_event = SELECT (Calendar_date, Date_time); END_TYPE; TYPE day_in_month_number = INTEGER; WHERE WR1: {1 <= SELF <= 31}; END_TYPE; TYPE documented_element_select = SELECT (Document_assignment, Class, Condition_parameter, Condition_assignment, Justification, Activity_method, Activity_method_realization, Activity_method_relationship, Activity_property, Activity_property_representation, Applied_activity_method_assignment, Breakdown, Breakdown_context, Breakdown_element, Breakdown_version, Condition, Contract, Contract_assignment, Document, Document_definition, Document_version, Effectivity, Effectivity_assignment, Identification_assignment, Independent_property, Independent_property_representation, Market, Message, Organization, Organization_or_person_in_organization_assignment, Organization_type, Part, Part_version, Part_view_definition, Person, Product, Product_concept, Product_configuration, Product_version, Product_view_definition, Representation, Representation_item, Required_resource, Required_resource_assignment, Required_resource_relationship, Resource_item, Resource_property, Resource_property_representation, State_definition, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Task_method_version_relationship, Task_objective, Type_of_person, Type_of_person_definition, View_definition_relationship, Work_request); END_TYPE; TYPE effectivity_item = SELECT (View_definition_usage, Resource_property_representation, Condition_assignment, Activity_property_representation, Independent_property_representation, Classification_assignment, Activity_method, Activity_property, Applied_activity_method_assignment, Breakdown, Breakdown_element, Breakdown_element_definition, Breakdown_element_version, Breakdown_of, Breakdown_version, Contract_assignment, Date_or_date_time_assignment, Document, Document_assignment, Document_definition, Document_version, Effectivity_assignment, Identification_assignment, Justification, Justification_assignment, Organization_or_person_in_organization_assignment, Part, Part_version, Part_view_definition, Person_in_organization, Product, Product_configuration, Product_version, Product_view_definition, Required_resource_assignment, Required_resource_relationship, Resource_property); END_TYPE; TYPE hour_in_day = INTEGER; WHERE WR1: {0 <= SELF < 24}; END_TYPE; TYPE identification_item = SELECT (Class, Activity_method, Activity_method_realization, Activity_method_relationship, Activity_property, Applied_activity_method_assignment, Breakdown, Breakdown_element, Breakdown_element_definition, Breakdown_element_version, Breakdown_version, Condition, Contract, Document, Document_assignment, Document_version, Effectivity, External_class_library, Independent_property, Justification, Justification_assignment, Market, Message, Organization, Organization_or_person_in_organization_assignment, Organization_type, Part, Part_version, Part_view_definition, Person, Person_in_organization, Product_concept, Product_configuration, Required_resource, Required_resource_relationship, Resource_item, Resource_property, State_definition, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Task_method_version_relationship, Task_objective, Type_of_person, View_definition_relationship, Work_request); END_TYPE; TYPE in_zone_item = SELECT (Activity_method, Applied_activity_method_assignment, Product_view_definition); END_TYPE; TYPE justification_item = SELECT (Condition_assignment, Property_value_representation, Activity_method, Activity_method_realization, Activity_method_relationship, Activity_property, Applied_activity_method_assignment, Classification_assignment, Document_assignment, Document_definition, Effectivity, Independent_property, Message, Product, Product_version, Product_view_definition, Required_resource, Required_resource_assignment, Required_resource_relationship, Resource_item, Resource_property, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Task_method_version_relationship, Task_objective, View_definition_relationship); END_TYPE; TYPE length_measure = REAL; END_TYPE; TYPE limit_qualifier_list = ENUMERATION OF (minimum, maximum); END_TYPE; TYPE measure_value = SELECT (any_number_value, any_string_value, length_measure, plane_angle_measure); END_TYPE; TYPE message_definer_select = SELECT (Organization, Person_in_organization); END_TYPE; TYPE minute_in_hour = INTEGER; WHERE WR1: {0 <= SELF <= 59}; END_TYPE; TYPE month_in_year_number = INTEGER; WHERE WR1: {1 <= SELF <= 12}; END_TYPE; TYPE offset_orientation = ENUMERATION OF (ahead, exact, behind); END_TYPE; TYPE organization_or_person_in_organization_item = SELECT (Activity_method, Activity_method_realization, Activity_method_relationship, Activity_property, Activity_property_representation, Applied_activity_method_assignment, Breakdown, Breakdown_element, Breakdown_version, Classification_assignment, Condition, Condition_assignment, Contract, Contract_assignment, Date_or_date_time_assignment, Document, Document_assignment, Document_definition, Document_version, Effectivity, Effectivity_assignment, Identification_assignment, Independent_property, Independent_property_representation, Justification, Justification_assignment, Message, Organization_or_person_in_organization_assignment, Part, Part_version, Part_view_definition, Person_in_organization, Product_category, Product_category_assignment, Product_configuration, Product_version, Product_view_definition, Representation, Required_resource, Required_resource_assignment, Resource_item, Resource_property, Resource_property_representation, State_definition, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Task_method_version_relationship, Task_objective, View_definition_context, Work_request); END_TYPE; TYPE organization_or_person_in_organization_select = SELECT (Organization, Person_in_organization); END_TYPE; TYPE plane_angle_measure = REAL; END_TYPE; TYPE required_resource_item = SELECT (Activity_method, Task_element, Task_method, Task_method_version, Task_method_version_assignment, Type_of_person); END_TYPE; TYPE resource_item_select = SELECT (Document, Document_definition, Document_version, Organization, Organization_type, Part, Part_version, Part_view_definition, Person, Person_in_organization, Type_of_person); END_TYPE; TYPE second_in_minute = REAL; WHERE WR1: {0 <= SELF <= 60.000000}; END_TYPE; TYPE task_item = activity_method_item; WHERE wr1: NOT ('TASK_SET_DEX.ACTIVITY' IN TYPEOF(SELF)); wr2: NOT ('TASK_SET_DEX.ACTIVITY_METHOD' IN TYPEOF(SELF)); wr3: NOT ('TASK_SET_DEX.APPLIED_ACTIVITY_ASSIGNMENT' IN TYPEOF(SELF)); wr4: NOT ('TASK_SET_DEX.CONTRACT' IN TYPEOF(SELF)); wr5: NOT ('TASK_SET_DEX.EVENT' IN TYPEOF(SELF)); wr6: NOT ('TASK_SET_DEX.MANAGED_RESOURCE' IN TYPEOF(SELF)); wr7: NOT ('TASK_SET_DEX.PERSON' IN TYPEOF(SELF)); wr8: NOT ('TASK_SET_DEX.PERSON_IN_ORGANIZATION' IN TYPEOF(SELF)); wr9: NOT ('TASK_SET_DEX.PROJECT' IN TYPEOF(SELF)); wr10: NOT ('TASK_SET_DEX.RESOURCE_AS_REALIZED' IN TYPEOF(SELF)); wr11: NOT ('TASK_SET_DEX.RESOURCE_EVENT' IN TYPEOF(SELF)); wr12: NOT ('TASK_SET_DEX.SCHEME_ENTRY' IN TYPEOF(SELF)); END_TYPE; TYPE version_or_definition = SELECT (Product_version, Product_view_definition); END_TYPE; TYPE year_number = INTEGER; END_TYPE; TYPE message_content_item = SELECT (Product, Product_version, Activity_method, Work_request, External_class_library, Resource_item); END_TYPE; ENTITY Activity_method SUPERTYPE OF (ONEOF(Task_element, Task_method, Task_method_version)); name : STRING; description : OPTIONAL STRING; consequence : OPTIONAL STRING; purpose : STRING; END_ENTITY; ENTITY Activity_method_realization; id : STRING; name : STRING; description : OPTIONAL STRING; activity_method : Activity_method; realized_by : activity_realization_select; END_ENTITY; ENTITY Activity_method_relationship SUPERTYPE OF (ONEOF(Task_method_version_relationship)); name : STRING; description : OPTIONAL STRING; relating_method : Activity_method; related_method : Activity_method; END_ENTITY; ENTITY Activity_property; name : STRING; description : STRING; described_element : characterized_activity_definition; END_ENTITY; ENTITY Activity_property_representation; description : OPTIONAL STRING; property : Activity_property; rep : Representation; role : STRING; END_ENTITY; ENTITY Advisory_task_step SUBTYPE OF (Task_step); END_ENTITY; ENTITY Applied_activity_method_assignment; assigned_activity_method : Activity_method; items : SET [1:?] OF activity_method_item; role : STRING; END_ENTITY; ENTITY Breakdown SUPERTYPE OF (ONEOF(Zone_breakdown)) SUBTYPE OF (Product); END_ENTITY; ENTITY Breakdown_context SUPERTYPE OF (ONEOF(Zone_breakdown_context)); id : STRING; name : STRING; description : OPTIONAL STRING; breakdown : Breakdown_version; breakdown_element : Breakdown_element_definition; END_ENTITY; ENTITY Breakdown_element SUPERTYPE OF (ONEOF(Zone_element)) SUBTYPE OF (Product); END_ENTITY; ENTITY Breakdown_element_definition SUPERTYPE OF (ONEOF(Zone_element_definition)) SUBTYPE OF (Product_view_definition); SELF\Product_view_definition.defined_version : Breakdown_element_version; END_ENTITY; ENTITY Breakdown_element_version SUPERTYPE OF (ONEOF(Zone_element_version)) SUBTYPE OF (Product_version); SELF\Product_version.of_product : Breakdown_element; END_ENTITY; ENTITY Breakdown_of; id : STRING; name : STRING; description : OPTIONAL STRING; breakdown : Breakdown_version; of_view : Product_view_definition; END_ENTITY; ENTITY Breakdown_version SUPERTYPE OF (ONEOF(Zone_breakdown_version)) SUBTYPE OF (Product_version); SELF\Product_version.of_product : Breakdown; INVERSE breakdown_of : SET [1:?] OF Breakdown_of FOR breakdown; END_ENTITY; ENTITY Calendar_date; year_component : year_number; month_component : month_in_year_number; day_component : day_in_month_number; END_ENTITY; ENTITY Class; id : STRING; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Classification_assignment; assigned_class : Class; items : SET [1:?] OF classification_item; role : OPTIONAL STRING; END_ENTITY; ENTITY Condition; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Condition_assignment; assigned_condition : Condition; item : condition_item; END_ENTITY; ENTITY Condition_parameter; name : STRING; description : OPTIONAL STRING; condition : Condition; parameter : OPTIONAL condition_parameter_item; END_ENTITY; ENTITY Condition_relationship; name : STRING; description : OPTIONAL STRING; relating_condition : Condition; related_condition : Condition; END_ENTITY; ENTITY Content_item; item_identifier : STRING; item_type : STRING; access_comment : OPTIONAL STRING; END_ENTITY; ENTITY Content_item_selected SUBTYPE OF (Content_item); contents : message_content_item; END_ENTITY; ENTITY Contract; id : STRING; purpose : STRING; kind : STRING; END_ENTITY; ENTITY Contract_assignment; assigned_contract : Contract; items : SET [1:?] OF contract_item; END_ENTITY; ENTITY Date_or_date_time_assignment; assigned_date : date_or_date_time_select; role : STRING; items : SET [1:?] OF date_or_date_time_item; END_ENTITY; ENTITY Date_time; date_component : Calendar_date; time_component : Local_time; END_ENTITY; ENTITY Dated_effectivity SUBTYPE OF (Effectivity); start_bound : date_or_event; end_bound : OPTIONAL date_or_event; END_ENTITY; ENTITY Document SUBTYPE OF (Product); END_ENTITY; ENTITY Document_assignment; assigned_document : assigned_document_select; is_assigned_to : documented_element_select; role : STRING; END_ENTITY; ENTITY Document_definition SUBTYPE OF (Product_view_definition); SELF\Product_view_definition.defined_version : Document_version; DERIVE description : STRING := SELF\Product_view_definition.name; associated_document_version : Document_version := SELF\Product_view_definition.defined_version; END_ENTITY; ENTITY Document_version SUBTYPE OF (Product_version); SELF\Product_version.of_product : Document; END_ENTITY; ENTITY Effectivity SUPERTYPE OF (ONEOF(Serial_effectivity, Dated_effectivity)); id : STRING; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Effectivity_assignment; assigned_effectivity : Effectivity; role : STRING; items : SET [1:?] OF effectivity_item; END_ENTITY; ENTITY External_class SUBTYPE OF (Class); external_source : External_class_library; END_ENTITY; ENTITY External_class_library; id : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Identification_assignment; identifier : STRING; role : STRING; description : OPTIONAL STRING; items : SET [1:?] OF identification_item; END_ENTITY; ENTITY In_zone; id : STRING; name : STRING; description : OPTIONAL STRING; located_item : in_zone_item; zone : Zone_element_definition; END_ENTITY; ENTITY Independent_property; id : STRING; property_type : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Independent_property_representation; description : OPTIONAL STRING; property : Independent_property; rep : Representation; role : OPTIONAL STRING; END_ENTITY; ENTITY Item_design_association; configuration : Product_configuration; design : version_or_definition; UNIQUE UR1: configuration, design; END_ENTITY; ENTITY Justification; id : STRING; name : OPTIONAL STRING; description : STRING; context_description : OPTIONAL STRING; END_ENTITY; ENTITY Justification_assignment; justification : Justification; description : OPTIONAL STRING; item : justification_item; role : STRING; END_ENTITY; ENTITY Local_time; hour_component : hour_in_day; minute_component : OPTIONAL minute_in_hour; second_component : OPTIONAL second_in_minute; zone : Time_offset; END_ENTITY; ENTITY Market; name : STRING; market_segment_type : OPTIONAL STRING; END_ENTITY; ENTITY Measure_item ABSTRACT SUPERTYPE OF (ONEOF(Numerical_item_with_global_unit, Numerical_item_with_unit, Value_limit, Value_range, Value_with_tolerances)) SUBTYPE OF (Representation_item); WHERE WR1: SIZEOF(USEDIN(SELF, 'TASK_SET_DEX.REPRESENTATION.ITEMS')) > 0; END_ENTITY; ENTITY Message; id : STRING; message_type : STRING; contains : SET OF Content_item; defined_by : OPTIONAL SET OF message_definer_select; purpose : OPTIONAL STRING; END_ENTITY; ENTITY Numerical_item_with_global_unit SUBTYPE OF (Measure_item); value_component : measure_value; WHERE WR1: SIZEOF(QUERY(pvr <* QUERY(r <* USEDIN(SELF, 'TASK_SET_DEX.REPRESENTATION.ITEMS') | 'TASK_SET_DEX.PROPERTY_VALUE_REPRESENTATION' IN TYPEOF(r)) | EXISTS(pvr.context_of_items.units))) > 0; END_ENTITY; ENTITY Numerical_item_with_unit SUBTYPE OF (Measure_item, Value_with_unit); END_ENTITY; ENTITY Numerical_representation_context SUBTYPE OF (Representation_context); units : OPTIONAL SET [1:?] OF Unit; accuracies : OPTIONAL SET [1:?] OF Uncertainty_with_unit; END_ENTITY; ENTITY Organization; id : OPTIONAL STRING; name : STRING; END_ENTITY; ENTITY Organization_or_person_in_organization_assignment; assigned_entity : organization_or_person_in_organization_select; role : STRING; items : SET [1:?] OF organization_or_person_in_organization_item; END_ENTITY; ENTITY Organization_type; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Part SUBTYPE OF (Product); WHERE WR1: SIZEOF(['part', 'raw material', 'tool'] * types_of_product(SELF)) = 1; END_ENTITY; ENTITY Part_version SUBTYPE OF (Product_version); SELF\Product_version.of_product : Part; END_ENTITY; ENTITY Part_view_definition SUBTYPE OF (Product_view_definition); SELF\Product_view_definition.defined_version : Part_version; END_ENTITY; ENTITY Partial_document_assignment SUBTYPE OF (Document_assignment); document_portion : STRING; END_ENTITY; ENTITY Person; last_name : STRING; first_name : OPTIONAL STRING; middle_names : OPTIONAL LIST [1:?] OF STRING; prefix_titles : OPTIONAL LIST [1:?] OF STRING; suffix_titles : OPTIONAL LIST [1:?] OF STRING; END_ENTITY; ENTITY Person_in_organization; concerned_person : Person; containing_organization : Organization; role : STRING; END_ENTITY; ENTITY Probability SUBTYPE OF (Representation); END_ENTITY; ENTITY Probability_numeric SUBTYPE OF (Probability); SELF\Representation.items : SET [1:1] OF Probability_numeric_value; DERIVE has_value : SET [1:1] OF Probability_numeric_value := SELF\Representation.items; END_ENTITY; ENTITY Probability_numeric_value SUBTYPE OF (Numerical_item_with_global_unit); END_ENTITY; ENTITY Product ABSTRACT SUPERTYPE OF (ONEOF(Breakdown, Breakdown_element, Document, Part)); id : STRING; name : OPTIONAL STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Product_category; id : OPTIONAL STRING; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Product_category_assignment; category : Product_category; products : SET [1:?] OF Product; END_ENTITY; ENTITY Product_concept; id : STRING; name : STRING; description : OPTIONAL STRING; target_market : OPTIONAL Market; UNIQUE UR1: id; END_ENTITY; ENTITY Product_configuration; id : STRING; name : STRING; description : OPTIONAL STRING; item_context : Product_concept; INVERSE corresponding_design : SET [0:1] OF Item_design_association FOR configuration; END_ENTITY; ENTITY Product_version ABSTRACT SUPERTYPE OF (ONEOF(Breakdown_element_version, Breakdown_version, Document_version, Part_version)); id : STRING; description : OPTIONAL STRING; of_product : Product; END_ENTITY; ENTITY Product_view_definition SUPERTYPE OF (ONEOF(Breakdown_element_definition, Part_view_definition)); id : STRING; name : OPTIONAL STRING; additional_characterization : OPTIONAL STRING; initial_context : View_definition_context; additional_contexts : SET OF View_definition_context; defined_version : Product_version; WHERE WR1: NOT (initial_context IN additional_contexts); END_ENTITY; ENTITY Property_value_representation SUBTYPE OF (Representation); SELF\Representation.context_of_items : Numerical_representation_context; END_ENTITY; ENTITY Representation; id : OPTIONAL STRING; name : STRING; description : OPTIONAL STRING; context_of_items : Representation_context; items : SET [1:?] OF Representation_item; END_ENTITY; ENTITY Representation_context; id : STRING; kind : STRING; INVERSE representations_in_context : SET [1:?] OF Representation FOR context_of_items; END_ENTITY; ENTITY Representation_item; name : STRING; END_ENTITY; ENTITY Required_resource ABSTRACT SUPERTYPE OF (ONEOF(Required_resource_by_resource_item)); name : STRING; description : OPTIONAL STRING; required_quantity : OPTIONAL Value_with_unit; END_ENTITY; ENTITY Required_resource_assignment; assigned_resource : Required_resource; item : required_resource_item; END_ENTITY; ENTITY Required_resource_by_resource_item SUBTYPE OF (Required_resource); resource_item : Resource_item; END_ENTITY; ENTITY Required_resource_relationship; name : STRING; description : OPTIONAL STRING; relating : Required_resource; related : Required_resource; END_ENTITY; ENTITY Resource_item; name : STRING; description : OPTIONAL STRING; resource_items : OPTIONAL SET OF resource_item_select; END_ENTITY; ENTITY Resource_property; name : STRING; description : STRING; described_element : characterized_resource_select; END_ENTITY; ENTITY Resource_property_representation; description : OPTIONAL STRING; property : Resource_property; rep : Representation; role : STRING; END_ENTITY; ENTITY Serial_effectivity SUBTYPE OF (Effectivity); start_id : STRING; end_id : OPTIONAL STRING; END_ENTITY; ENTITY State_definition; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY String_representation_item SUBTYPE OF (Representation_item); string_value : STRING; END_ENTITY; ENTITY Structured_task_element ABSTRACT SUPERTYPE OF (ONEOF(Task_element_sequence)) SUBTYPE OF (Task_element); END_ENTITY; ENTITY Task_element ABSTRACT SUPERTYPE OF (ONEOF(Structured_task_element, Task_step)) SUBTYPE OF (Activity_method); notes : OPTIONAL LIST [1:?] OF Advisory_task_step; END_ENTITY; ENTITY Task_element_sequence SUBTYPE OF (Structured_task_element); elements : LIST [2:?] OF Task_element; END_ENTITY; ENTITY Task_method SUBTYPE OF (Activity_method); objective : SET OF Task_objective; END_ENTITY; ENTITY Task_method_version SUBTYPE OF (Activity_method); content : OPTIONAL Task_element; of_task_method : Task_method; END_ENTITY; ENTITY Task_method_version_assignment SUBTYPE OF (Applied_activity_method_assignment); SELF\Applied_activity_method_assignment.assigned_activity_method : Task_method_version; SELF\Applied_activity_method_assignment.items : SET [1:?] OF task_item; DERIVE assigned_task_method : Task_method_version := SELF\Applied_activity_method_assignment.assigned_activity_method; END_ENTITY; ENTITY Task_method_version_relationship SUBTYPE OF (Activity_method_relationship); SELF\Activity_method_relationship.relating_method : Task_method_version; SELF\Activity_method_relationship.related_method : Task_method_version; DERIVE relating_task_method : Task_method_version := SELF\Activity_method_relationship.relating_method; related_task_method : Task_method_version := SELF\Activity_method_relationship.related_method; END_ENTITY; ENTITY Task_objective; name : STRING; description : STRING; END_ENTITY; ENTITY Task_step SUBTYPE OF (Task_element); DERIVE step_text : STRING := SELF\Activity_method.description; END_ENTITY; ENTITY Time_offset; hour_offset : INTEGER; minute_offset : OPTIONAL INTEGER; sense : offset_orientation; DERIVE actual_minute_offset : INTEGER := NVL(minute_offset, 0); WHERE WR1: {0 <= hour_offset < 24}; WR2: {0 <= actual_minute_offset <= 59}; WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0)) AND (sense = exact)); END_ENTITY; ENTITY Type_of_person; name : STRING; description : OPTIONAL STRING; has : SET OF Type_of_person_definition; END_ENTITY; ENTITY Type_of_person_definition; name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Uncertainty_with_unit SUBTYPE OF (Value_with_unit); name : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY Unit; name : STRING; si_unit : BOOLEAN; END_ENTITY; ENTITY Value_limit SUBTYPE OF (Measure_item); limit_qualifier : limit_qualifier_list; limit : Value_with_unit; END_ENTITY; ENTITY Value_range SUBTYPE OF (Measure_item); lower_limit : Numerical_item_with_unit; upper_limit : Numerical_item_with_unit; END_ENTITY; ENTITY Value_with_tolerances SUBTYPE OF (Measure_item); item_value : Numerical_item_with_unit; lower_limit : REAL; upper_limit : REAL; END_ENTITY; ENTITY Value_with_unit; unit : Unit; value_component : measure_value; END_ENTITY; ENTITY View_definition_context; application_domain : STRING; life_cycle_stage : STRING; description : OPTIONAL STRING; END_ENTITY; ENTITY View_definition_relationship ABSTRACT SUPERTYPE OF (ONEOF(View_definition_usage)); id : OPTIONAL STRING; relation_type : OPTIONAL STRING; description : OPTIONAL STRING; relating_view : Product_view_definition; related_view : Product_view_definition; END_ENTITY; ENTITY View_definition_usage SUBTYPE OF (View_definition_relationship); END_ENTITY; ENTITY Work_request; request_id : STRING; version_id : STRING; description : OPTIONAL STRING; purpose : STRING; END_ENTITY; ENTITY Zone_breakdown SUBTYPE OF (Breakdown); END_ENTITY; ENTITY Zone_breakdown_context SUBTYPE OF (Breakdown_context); SELF\Breakdown_context.breakdown : Zone_breakdown_version; SELF\Breakdown_context.breakdown_element : Zone_element_definition; END_ENTITY; ENTITY Zone_breakdown_version SUBTYPE OF (Breakdown_version); SELF\Breakdown_version.of_product : Zone_breakdown; END_ENTITY; ENTITY Zone_element SUBTYPE OF (Breakdown_element); END_ENTITY; ENTITY Zone_element_definition SUBTYPE OF (Breakdown_element_definition); SELF\Breakdown_element_definition.defined_version : Zone_element_version; END_ENTITY; ENTITY Zone_element_version SUBTYPE OF (Breakdown_element_version); SELF\Breakdown_element_version.of_product : Zone_element; END_ENTITY; FUNCTION types_of_product (obj : Product):SET OF STRING; LOCAL category_assignments : BAG OF Product_category_assignment; categories : SET OF STRING := []; i : INTEGER; END_LOCAL; category_assignments := USEDIN(obj, 'TASK_SET_DEX.PRODUCT_CATEGORY_ASSIGNMENT.PRODUCTS'); REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments); categories := categories + category_assignments[i].category.name; END_REPEAT; RETURN (categories); END_FUNCTION; END_SCHEMA;