AssemblyOfAnIndividual Template

Message
Author
HansTeijgeler
Posts: 283
Joined: Sun Jan 22, 2012 10:02 pm

Re: AssemblyOfAnIndividual Template

#11 Post by HansTeijgeler »

Hi Keith,

The idea is that we design a plant at Class level, see for example http://www.15926.info/functional-vs-mat ... object.htm. That is, for this containment example, shown in the upper part of the diagram, using the template ClassOfContainmentDefinition (see http://15926.org/templatespecs/CL-LOCTN-01.xml). Mind you, that has nothing to do with the RDL, it is information that sits in your application, and is mapped to that template format.

The "signature" (list of roles) of that template is:

Code: Select all

1 hasUrClassOfLocator  	  dm:ClassOfIndividual
2 hasClassOfLocator		   dm:ClassOfIndividual
3 hasUrClassOfLocated		 dm:ClassOfIndividual
4 hasClassOfLocated		   dm:ClassOfIndividual
5 hasDefined			       dm:ClassOfContainmentOfIndividual
6 hasCardinalityOfLocator	dm:Cardinality
7 hasCardinalityOfLocated	dm:Cardinality
That "UrClass" stuff is described in the publication "Life cycle of a Class" (http://www.15926.org/publications/gener ... /index.htm). You have to fill out the ID for roles 1, 3, 6, and 7, where (with the proper software in place) the IDs for roles 2, 4, and 5 will be generated automatically at random.

As the name of role 5 indicates, this template defines the characteristics of that instance of ClassOfContainmentOfIndividual. As said, that has nothing to do with the RDL, because you define that relation between ClassOf_P101 and ClassOf_S349, and these aren't in the RDL either.

Much later, when you need to describe the actual plant (or plants in case more that one copy is being built), you use templates for individuals. The lower part of the diagram shows such a template for individuals.

Now, in that template you classify the instance of the ContainmentOfIndividual relationship between P101 and S349 with the (role 5) ClassOfContainmentOfIndividual that you created during design. By doing so, your template gets access to that design information, and with the proper software in place it can be checked whether or not the template about the real world is in line with the design.

The signature of the ContainmentOfAnIndividual template is (see http://15926.org/templatespecs/WI-LOCTN-01.xml) :

Code: Select all

1 hasContainer		 dm:PossibleIndividual
2 hasContained		 dm:PossibleIndividual
3 hasContainerType	dm:ClassOfContainmentOfIndividual
Role 3 then must be the same as role 5 of the design template.

KeithWillshaw
Posts: 77
Joined: Tue May 15, 2012 8:48 am

Re: AssemblyOfAnIndividual Template

#12 Post by KeithWillshaw »

HansTeijgeler wrote:Hi Keith,

The idea is that we design a plant at Class level, see for example http://www.15926.info/functional-vs-mat ... object.htm. That is, for this containment example, shown in the upper part of the diagram, using the template ClassOfContainmentDefinition (see http://15926.org/templatespecs/CL-LOCTN-01.xml). Mind you, that has nothing to do with the RDL, it is information that sits in your application, and is mapped to that template format.

The "signature" (list of roles) of that template is:

Code: Select all

1 hasUrClassOfLocator  	  dm:ClassOfIndividual
2 hasClassOfLocator		   dm:ClassOfIndividual
3 hasUrClassOfLocated		 dm:ClassOfIndividual
4 hasClassOfLocated		   dm:ClassOfIndividual
5 hasDefined			       dm:ClassOfContainmentOfIndividual
6 hasCardinalityOfLocator	dm:Cardinality
7 hasCardinalityOfLocated	dm:Cardinality
That "UrClass" stuff is described in the publication "Life cycle of a Class" (http://www.15926.org/publications/gener ... /index.htm). You have to fill out the ID for roles 1, 3, 6, and 7, where (with the proper software in place) the IDs for roles 2, 4, and 5 will be generated automatically at random.

As the name of role 5 indicates, this template defines the characteristics of that instance of ClassOfContainmentOfIndividual. As said, that has nothing to do with the RDL, because you define that relation between ClassOf_P101 and ClassOf_S349, and these aren't in the RDL either.

Much later, when you need to describe the actual plant (or plants in case more that one copy is being built), you use templates for individuals. The lower part of the diagram shows such a template for individuals.

Now, in that template you classify the instance of the ContainmentOfIndividual relationship between P101 and S349 with the (role 5) ClassOfContainmentOfIndividual that you created during design. By doing so, your template gets access to that design information, and with the proper software in place it can be checked whether or not the template about the real world is in line with the design.

The signature of the ContainmentOfAnIndividual template is (see http://15926.org/templatespecs/WI-LOCTN-01.xml) :

Code: Select all

1 hasContainer		 dm:PossibleIndividual
2 hasContained		 dm:PossibleIndividual
3 hasContainerType	dm:ClassOfContainmentOfIndividual
Role 3 then must be the same as role 5 of the design template.

OK that is very easy for me to implement as we have relationships modelled in our OIM under the standard subclassifications , Assembly, Arrangement etc
However it seems to raise a problem if I am exchanging data with another company , let me explain why

In the Bentley OpenPlant Mapping we have a relationship for Stream in PipingNetworkSegment which is called SegmentHasStream
iRING has the same relationship which they have called PipingNetworkSegmentHasFluidStream

If these are not in the RDL software checking is not going to be very practical

The following comparion is for Assembly Types
Bentley
EquipmentHasNozzle
PipelineHasSegment
ValvehasValveOperatingDevice

iRING
EquipmentHasObject
PipingNetworkSystemHasSegment
ObjectHasActuator

I can easily bring the Bentley mappings in line with iRING but the problem
will still exist, in practise what I suspect will happen is that type checking on Role 3 will not happen

Keith

HansTeijgeler
Posts: 283
Joined: Sun Jan 22, 2012 10:02 pm

Re: AssemblyOfAnIndividual Template

#13 Post by HansTeijgeler »

The only solution for this Babylonian confusion of tongues is to stop with this overspecialization of the base templates. This will, in the end, result in a kazillion of specialized templates. And when everybody invents their own the confusion will be guaranteed.

With ISO 15926 we created a common language, and the first thing people do is to create their local dialects. In http://www.infowebml.ws/mapping/line-list.htm I show that normally you don't need any such specialization.

You use the term OIM in a different way as we do, although there are of course similarities. See http://www.15926.org/publications/gener ... /index.htm.

The fact that you cannot use role 3 is because you seem not to design plants at class level.

KeithWillshaw
Posts: 77
Joined: Tue May 15, 2012 8:48 am

Re: AssemblyOfAnIndividual Template

#14 Post by KeithWillshaw »

HansTeijgeler wrote:The only solution for this Babylonian confusion of tongues is to stop with this overspecialization of the base templates. This will, in the end, result in a kazillion of specialized templates. And when everybody invents their own the confusion will be guaranteed.

With ISO 15926 we created a common language, and the first thing people do is to create their local dialects. In http://www.infowebml.ws/mapping/line-list.htm I show that normally you don't need any such specialization.
I do not follow this at all, I have taken the base template straight from the list on this web site without
any specialization. I have no problem with the line list diagram you show, in fact that is how it has
been modelled in the iRING process.

HansTeijgeler wrote: You use the term OIM in a different way as we do, although there are of course similarities. See http://www.15926.org/publications/gener ... /index.htm.

The fact that you cannot use role 3 is because you seem not to design plants at class level.

Quite correct, we do not design plants at class level and neither does anybody else.
What we are discussing here is the best way to implement the requirements of ISO 15926
which I will quote

Information concerning engineering, construction and operation of production facilities is created,
used and modified by many different organizations throughout a facility's lifetime. The purpose of
ISO 15926 is to facilitate integration of data to support the life-cycle activities and processes
of production facilities.

The data model and the initial reference data are suitable for shared databases or data warehouse
computer systems in development project and in operation and maintenance. Furthermore, as well as,
for defining the terms used in product catalogues in e-commerce. Another use of the standard is
as a reference classification for shared databases and product catalogues not based on ISO 15926


However if I use the Class model for Assembly of Individual I get the following template signature

ClassOfAssemblyDefinition

1) hasUrClassOfWhole dm:ClassOfArrangedIndividual - ID to be automatically generated
2) hasClassOfWhole dm:ClassOfArrangedIndividual - ID to be automatically generated
3) hasUrClassOfPart dm:ClassOfIndividual
4) hasClassOfPart dm:ClassOfIndividual - ID to be automatically generated
5) hasDefined dm:ClassOfAssemblyOfIndividual - ID to be automatically generated
6) hasCardinalityOfWhole dm:Cardinality - ID from RDL
7) hasCardinalityOfPart dm:Cardinality - ID from RDL

The problem of finding a role filler ClassOfAssemblyOfIndividual remains so I suggest
we solve it in the context of the simpler WholeLifeIndividual first.

Keith

Post Reply