Introduction
This topic explains the relation between an instance of ClassOfFunctionalObject and an instance of ClassOfPhysicalObject (here its subclass ClassOfInanimatePhysicalObject).
Discussion
The applicable Part 2 definitions are:
- A ClassOfFunctionalObject is a ClassOfPhysicalObject that indicates the function or purpose of an object;
- A ClassOfInanimatePhysicalObject is a ClassOfPhysicalObject whose members are not living;
- Specialization is a type of Relationship between two classes indicating the members of the subclass are members of the superclass; Specialization relationships are used to indicate a class is a subdivision of the membership of another class.
So anything that ClassOfInanimatePhysicalObject defines is that its members are not living, and informative as that may be it is not really enough.
If we want to tell what the function or purpose of the members of a particular ClassOfInanimatePhysicalObject is, we make that a subclass of one (sometimes more) particular instance(s) of ClassOfFunctionalObject. An example of inheritance from more than one superclass is the class PIPING BELLOWS UNIT:
PIPING BELLOWS UNIT | |
id | http://data.15926.org/rdl/RDS461699 |
rdfs:label | PIPING BELLOWS UNIT |
skos:definition | A <PIPING BELLOWS UNIT> is a <BELLOWS UNIT> and a <COMPENSATOR> and a <PIPE EXPANSION ACCOMODATOR> |
meta:valEffectiveDate | 2006-06-15T00:00:00Z |
rdf:type | ClassOfInanimatePhysicalObject |
rdfs:subClassOf | BELLOWS UNIT |
rdfs:subClassOf | COMPENSATOR |
rdfs:subClassOf | PIPE EXPANSION ACCOMODATOR |
Superclass for | ARTICULATED BELLOWS UNIT |
Superclass for | AXIAL PIPING BELLOWS UNIT |
that is a subclass of two instances of ClassOfFunctionalObject:COMPENSATOR and PIPE EXPANSION ACCOMODATOR
As the third definition states, members of that PIPING BELLOWS UNIT also are members of COMPENSATOR and PIPE EXPANSION ACCOMODATOR. Note that the definition doesn't repeat the inherited definitions of the three superclasses. For deep specializations that would create very verbose definitions.
Example
The RDL definition of PUMP is: A <PUMP> is a <FunctionalObject> that has a capability of <PUMPING> if accompanied by, here excluded, all the necessary parts and subsystems. In case these parts and subsystems are included refer to it as PUMP SYSTEM.
By inheritance, a CENTRIFUGAL PUMP and all its subclasses and subsubclasses have the capability of pumping.
The few attributes of PUMP are inherited by CENTRIFUGAL PUMP, and the attributes of CENTRIFUGAL PUMP are again inherited by shown AXIAL FLOW PUMP and RADIAL FLOW PUMP (and other subclasses), etc. So all subclasses have the capability of pumping.
Further specialization of the function
We now can define a further specialization of PUMP, say "PUMP with particular QH curve", and make the statement that that specialization applies to "my AXIAL FLOW PUMP class", as defined on its Technical Specification:
Such specializations of a ClassOfFunctionalObject can take several forms of representation, such as:
- a "Black Box" - this is most often used for equipment specifications as a block of "Process Conditions" with minimum-normal-maximum values;
- a mathmatical equation or set of equations;
- a definition in natural language;
- Boolean logic;
- etc