(*
   $Id$
   ISO TC184/SC4/WG12 N3984 - ISO/TS 10303-1679 Functional specification - EXPRESS ARM
   Supersedes ISO TC184/SC4/WG12 N3426
*)

SCHEMA Functional_specification_arm;

	USE FROM Signal_arm;	-- ISO/TS 10303-1745
	USE FROM Network_functional_design_view_arm;	-- ISO/TS 10303-1704	

	REFERENCE FROM Specification_document_arm(get_document_definition);	-- ISO/TS 10303-1747

	TYPE fs_documented_element_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON documented_element_select WITH 
	   (Signal_specification);
	END_TYPE; 

 	TYPE fs_external_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON external_identification_item WITH  
		(Functional_specification);
	END_TYPE;

  ENTITY Functional_specification;
      associated_definition          	: Functional_specification_definition;
      reference_signal               	: Signal_specification;
      characterizing_functional_unit 	: Functional_unit;
      characterizing_signal          	: Signal_specification;
    INVERSE
      characteristic_category					: External_source_identification FOR item;
    WHERE
      WR1 : characterizing_functional_unit.composed_network = associated_definition;
  END_ENTITY;

  ENTITY Functional_specification_definition
    SUBTYPE OF (Functional_unit_network_definition);
    INVERSE
      composing_specification : SET[1:?] OF functional_specification FOR associated_definition;
  END_ENTITY;

  ENTITY Signal_specification;
      measurement_access_mechanism : Functional_unit_terminal;
      reference_access_mechanism   : OPTIONAL Functional_unit_terminal;
      minimum_characteristic       : Signal_property;
      maximum_characteristic       : Signal_property;
      characterization_network     : Functional_unit_network_definition;
	DERIVE
	  measurement_condition: SET[1:1] OF Document_definition :=
  			get_document_definition(SELF, 'measurement condition', 
  			'SPECIFICATION_DOCUMENT_ARM.TEST_SPECIFICATION');
  END_ENTITY;

END_SCHEMA;
