Application module: Packaged part black box model ISO/TS 10303-1710:2018-11(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM function definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N9862 - ISO/TS 10303-1710 Packaged part black box model - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N9453
*)



SCHEMA Packaged_part_black_box_model_arm;

USE FROM Functional_assignment_to_part_arm;    -- ISO/TS 10303-1674

USE FROM Functional_usage_view_arm;    -- ISO/TS 10303-1705

USE FROM Package_arm;    -- ISO/TS 10303-1707

USE FROM Part_external_reference_arm;    -- ISO/TS 10303-1711

REFERENCE FROM Support_resource_arm   -- ISO/TS 10303-1800
  (bag_to_set);


TYPE package_or_package_external_reference = SELECT
   (Package,
    Package_external_reference);
END_TYPE;

TYPE ppbbm_material_item_select = SELECT BASED_ON material_item_select WITH
   (Packaged_part);
END_TYPE;

ENTITY Packaged_part
  SUBTYPE OF (Part_usage_view);
  used_package : SET[1:?] OF package_or_package_external_reference;
  implemented_function : OPTIONAL Functional_unit_usage_view;
DERIVE
  potting_compound : SET[0:1] OF Material_identification := bag_to_set(QUERY( temp <* USEDIN(SELF, 'GENERIC_MATERIAL_ASPECTS_ARM.MATERIAL_IDENTIFICATION.ITEMS') | (SIZEOF( QUERY( cla <* USEDIN(temp,'CLASSIFICATION_ASSIGNMENT_ARM.' + 'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') | cla.role = 'potting compound')) = 1)));
  base_package : SET[1:?] OF Package := QUERY(up <* used_package | (SIZEOF(['ALTERED_PACKAGE_ARM.ALTERED_PACKAGE', 'PART_EXTERNAL_REFERENCE_ARM.PACKAGE_EXTERNAL_REFERENCE'] * TYPEOF(up)) = 0) );
INVERSE
  access_mechanisms : SET[0:?] OF Packaged_part_terminal FOR associated_definition;
WHERE
  WR1: NOT (EXISTS(implemented_function) XOR (SIZEOF(access_mechanisms) > 0));
  WR2: SIZEOF(base_package) = 1;
  WR3: single_package_product(base_package, used_package);
END_ENTITY;

ENTITY Packaged_part_join_terminal
  SUBTYPE OF (Packaged_part_terminal);
DERIVE
  SELF\Part_terminal.interface_or_join_terminal : interface_or_join_terminal_enumeration := interface_or_join_terminal_enumeration.join_terminal;
END_ENTITY;

ENTITY Packaged_part_terminal
  ABSTRACT SUPERTYPE
  SUBTYPE OF (Part_terminal);
  terminal_of_package : SET[1:?] OF Package_terminal;
  SELF\Part_feature.associated_definition : Packaged_part;
WHERE
  WR1: disjoint_package_terminals(terminal_of_package);
  WR2: NOT EXISTS(SELF\Part_feature.precedent_feature);
END_ENTITY;

FUNCTION disjoint_package_terminals
 (input : SET[0:?] OF Package_terminal) : BOOLEAN;
LOCAL
   pk : SET OF Package := []; -- get access to information base
  END_LOCAL;
  
  REPEAT i := 1 to HIINDEX( input);
  pk := pk + input[i].associated_definition;
  END_REPEAT;
  
    RETURN(SIZEOF(input) = SIZEOF(pk));
END_FUNCTION;

FUNCTION single_package_product
 (input1 : SET[0:?] OF Package; input2 : SET[0:?] OF package_or_package_external_reference) : BOOLEAN;
RETURN(TRUE);
END_FUNCTION;

END_SCHEMA;  -- Packaged_part_black_box_model_arm


© ISO 2018 — All rights reserved