ENTITY terminal SUBTYPE OF (shape_aspect); WHERE wr1: SELF\shape_aspect.product_definitional = UNKNOWN; wr2: 'ELECTROTECHNICAL_DESIGN.PRODUCT_DEFINITION' IN TYPEOF(SELF\shape_aspect.of_shape\property_definition.definition); wr3: SELF\shape_aspect.of_shape\property_definition.definition. frame_of_reference\application_context_element.name IN ['functional definition', 'functional occurrence', 'part definition', 'part occurrence']; wr4: SELF\shape_aspect.of_shape\property_definition.definition.name = 'single instance'; wr5: SIZEOF(QUERY(des <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'ITEM_DESIGNATION_ASSIGNMENT.' + 'ITEMS') | NOT(SIZEOF(TYPEOF(des) * ['ELECTROTECHNICAL_DESIGN.' + 'DOCUMENT_DESIGNATION_ASSIGNMENT', 'ELECTROTECHNICAL_DESIGN.' + 'OBJECT_REFERENCE_DESIGNATION_ASSIGNMENT', 'ELECTROTECHNICAL_DESIGN.' + 'SIGNAL_DESIGNATION_ASSIGNMENT'] ) > 0 ) ) ) = 0; wr6: SIZEOF(QUERY(des <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'ITEM_DESIGNATION_ASSIGNMENT.' + 'ITEMS') | ('ELECTROTECHNICAL_DESIGN.' + 'TERMINAL_DESIGNATION_ASSIGNMENT' IN TYPEOF(des)) AND (des.role.description = 'primary') ) ) = 1; wr7: SIZEOF(QUERY(sar <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT') | (sar.related_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'functional occurrence') AND (sar.name = 'definition usage') AND ('ELECTROTECHNICAL_DESIGN.TERMINAL' IN TYPEOF(sar.relating_shape_aspect)) AND (sar.relating_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'functional definition') )) = 1; wr8: SIZEOF(QUERY(sar <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT') | (sar.related_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'part occurrence') AND (sar.name = 'definition usage') AND ('ELECTROTECHNICAL_DESIGN.TERMINAL' IN TYPEOF(sar.relating_shape_aspect)) AND (sar.relating_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'part definition') )) = 1; wr9: SIZEOF(QUERY(sar <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT') | (sar.relating_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'functional definition') AND (sar.name = 'correspondence') AND (NOT('ELECTROTECHNICAL_DESIGN.TERMINAL' IN TYPEOF(sar.related_shape_aspect))) AND (NOT(sar.related_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'functional occurrence')) )) = 0; wr10: SIZEOF(QUERY(sar <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT') | (sar.relating_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'part definition') AND (sar.name = 'correspondence') AND ('ELECTROTECHNICAL_DESIGN.TERMINAL' IN TYPEOF(sar.related_shape_aspect)) AND (sar.related_shape_aspect.of_shape\ property_definition.definition.frame_of_reference\ application_context_element.name = 'part occurrence') )) <= 1; wr11: SIZEOF(QUERY(corr_mem <* QUERY(sar <* USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT') | (sar.relating_shape_aspect.of_shape\ property_definition.definition. frame_of_reference\application_context_element. name = 'functional definition') AND (sar.name = 'correspondence')) | NOT(SIZEOF(QUERY(next_corr_mem <* QUERY(sar <* (USEDIN(SELF, 'ELECTROTECHNICAL_DESIGN.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT') - corr_mem) | (sar.relating_shape_aspect.of_shape\ property_definition.definition. frame_of_reference\ application_context_element. name = 'functional definition') AND (sar.name = 'correspondence')) | corr_mem.related_shape_aspect = next_corr_mem.related_shape_aspect )) = 0) )) = 0; END_ENTITY; -- terminal |
Entity data types and their attributesshape_aspectname: label; (OPT) description: text; of_shape: product_definition_shape; product_definitional: LOGICAL; (DER) id: identifier; terminal - |
Global rules for this entity data type- |
public interface ETerminal extends EShape_aspect |
public class CTerminal implements ETerminal |
public class ATerminal extends AEntitypublic ETerminal getByIndex(int index)public ETerminal getCurrentMember(SdaiIterator it) |