Instantiating an instance of PossibleIndividual(or one of its subtypes)
IntroductionIn ISO 15926-2 we find the following schema for PossibleIndividual:
PossibleIndividual with subtypes Please note that none of the subtyping graphs are ONEOF. This is not an oversight, but done on purpose. It means that the model allows for 'complex entity types', where combinations of two or more subtypes can be made. Given the fact that, once instantiated, no instance may be changed, it is of imperative importance that all instances of PossibleIndividual are properly typed when instantiated. Why is proper typing important?In the course of time rules will be defined that apply for a certain entity type (or subtype thereof). One of those rules has already been incorporated in the data model: unless an individual is an ArrangeIndividual (see below) it cannot be the 'whole' in an ArrangementOfIndividual relationship, or of its subtypes AssemblyOfIndividual and FeatureWholePart. An example of such a rule might be that an Activity cannot have a mass. Combinations - 1Obviously not all combinations are meaningful in the real world. The three subtypes at the righthand side are of the first diagram, in most cases, meaningful:
In the diagram below the typing at time of declaration is shown.
WholeLifeIndividualAt some point in time in the engineering of a plant all its possible individuals start to exist. Often, but in no way always, this is when they start to appear on a P&ID (not on a PFD, because those items represent instances of Activity. If properly organized there is one discipline responsible for the instantiation of instances of PossibleIndividual that are also a WholeLifeIndividual. ActualIndividualSince the process industries are usually not existing in universes other than the one we inhabit, the instances of PossibleIndividual will always also be an ActualIndividual. ArrangedIndividualSince most individuals in a plant will, or may, have one or more 'features' (e.g. surface, thread), and since the relationship FeatureWholePart calls for a 'whole' that is an instance of ArrangedIndividual, it is wise to start assuming that any instance of PossibleIndividual will also be an ArrangedIndividual, unless specifically not so. Better safe than sorry at a later date. Combinations - 2Looking at the lefthand side of the first diagram above, we can think of the following combinations:
There are, undoubtedly other combinations possible, but none comes to my mind, unless my proposal for a revision of Part 2 will be accepted. PhysicalObject + ActivityA fire is a PhysicalObjectANDActivity. MaterializedPhysicalObject + StreamWhere Part 2 states: EXAMPLE The naphtha flowing in a pipe between a crude distillation unit and a platformer is a Stream. that should be, IMHO, a MaterializedPhysicalObjectANDStream (see RDF/XML listing below). How is it done in RDF/XML?<owl:Thing rdf:ID="T_d53b6140-9aa7-11e1-a8b0-0800200c9a66"> <!-- a letter_UUID is used --> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#MaterializedPhysicalObject"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#Stream"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#WholeLifeIndividual"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#ActualIndividual"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#ArrangedIndividual"/> </owl:Thing> Keep in mind that a whole-life individual canhardly have any information. If in doubt, try to visualize whether the information really will be valid during the entire lifetime of the object. In order to help recognizing the object you may add a label and/or a comment, such as: <rdfs:label>Stream S45</rdfs:label> <rdfs:comment> The naphta stream S45 between the crude distillation unit and the platformer </rdfs:comment> keeping in mind that that information may change in the lifetime of that stream. This would then result in: <owl:Thing rdf:ID="T_d53b6140-9aa7-11e1-a8b0-0800200c9a66"> <!-- a letter_UUID is used --> <rdfs:label>Stream S45</rdfs:label> <rdfs:comment> The naphta stream S45 between the crude distillation unit and the platformer </rdfs:comment> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#MaterializedPhysicalObject"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#Stream"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#WholeLifeIndividual"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#ActualIndividual"/> <rdf:type rdf:resource="http://dm.rdlfacade.org/data#ArrangedIndividual"/> </owl:Thing>
|