Introduction
ISO 15926-2 states, in 5.2.8.1 , that:
NOTE 2 Specifications or descriptions of useful objects are often intersections of several arrangement classes, allowing both shape and material aspects to be constrained. In this part of ISO 15926, such intersections are members of:
- class_of_arranged_individual;
- class_of_feature;
- class_of_inanimate_physical_object;
- class_of_organization;
- class_of_activity;
- class_of_organism;
- class_of_information_object.
Note that ClassOfFunctionalObject is not in above list, meaning that this class may not be declared as "useful object" such as in the context of a facility.
But that is clearly a mistake, because ClassOfFunctionalObject does play a role in Process Design, see Plant Life-cycle Model node numbers 21 thru 28 and 40, 43.
Discussion
ISO 15926-2 states for class_of_functional_object, in 5.2.8.7 , that:
A class_of_functional_object is a class_of_arranged_individual that indicates the function or purpose of an object.
EXAMPLE Pump, valve, and car are examples of class_of_functional_object. Particular models of pump, valve, car, etc are instances of class_of_inanimate_physical_object that are specializations of these instances of class_of_functional_object.
This means that, for instance, an ELBOW PUMP is:
- a subclass of ARTEFACT (= an instance of ClassOfInanimatePhysicalObject);
- and a subclass of PUMP (= an instance of ClassOfFunctionalObject).
Specializations of core instances of ClassOfFunctionalObject are possible, but require caution.
Assume the instance of ClassOfFunctionalObject PROCESS VARIABLE TRANSMITTER. That has as subclass another instance of ClassOfFunctionalObject "FLOW TRANSMITTER", because it doesn't tell HOW that flow rate is measured.
But CENTRIFUGAL PUMP, a specialization of PUMP (an instance of ClassOfFunctionalObject), is an instance of ClassOfInanimatePhysicalObject because its definition requires technical details. Beside that it would cause an unmanageable functional universe in parallel with the technical universe.
As soon as any technical details need to be defined, the defined Class is an instance of one of the list of Classes above.
As a rule each instance of ClassOfPhysicalObject (replacing above ClassOfArrangedIndividual, see here) is a subclass of an instance of ClassOfFunctionalObject in order to define its funtional aspect (being an InanimatePhysicalObject only tells that it is "not alive", so not informative enough). There are, however, some classes where that is difficult or even impossible, such as DEBRIS or DISC.
Functional modeling
Functional modeling, such as process design, control systems design, etc., is not only a matter of functional objects but also of activity modeling, where instances of ClassOfFunctionalObject and of ClassOfStream, participate. See also the left side of the Plant Life-cycle Model.