In order for the PLCS PSM PLCS information model to be usable in many different Contexts, it is deliberately generic. In other words, PLCS PSM SysML blocks are provided for representing constructs such as parts and dates and their relationships. More specialized semantic definitions of constructs such as a "safety critical part", or a "creation date" are not represented directly in the ISO 10303-239 PLCS standard. Instead provision is made to enable the same semantic precision by adding a classification scheme to the basic constructs using Reference Data, thus refining or augmenting the meaning of the entity.
For example, there are many different types of properties associated with components that are relevant to product life cycle support. The information model defines the basic representation of a property on a part and enables the properties to be classified. The classification mechanism is then used to define the specific type of property. The reason for using classification in this way is that any set of specific property types, such as "mean time to failure" that could have been provided by explicit modelling in the standard is likely to be incomplete. Furthermore, as business practices change, different properties are likely to be required over time and these can be introduced by means of a new class, without having to re-issue the standard.
Classification of PLCS PSM SysML blocks allows for the semantic refinement of the ISO 10303-239 PLCS information model. It is vital to ensure that all partners in a data exchange have a shared understanding of what each classification means. The classifiers used are referred as "Reference Data" and are held in a shared class libraries referred to as "Reference Data Librarys" (RDLs). These are available to all parties in a data exchange and hold definitions and sources for the classifiers or reference data items.
The relationship between the PLCS PSM based file exchanges and reference data is shown in Figure 1. This shows that the data exchange file makes reference to the RDL. The way in which the Reference Data is referenced from within a data exchange file is described in Classes and Individuals.
The principal concepts used by PLCS to enable the semantic extension of the PLCS PSM are Classes and Individuals.
Definition: Classa set of individuals grouped together because they share a common set of properties.
a class can have subclasses
Mammals are a class of animals that are warm blooded.
Dogs are a class of animals that have four legs and a tail.
an instance that is a member of a class
Fido is a Dog.
An example of Classes and individuals is shown in Figure 2. This shows the classes and individuals as a Venn diagram:
Classes and Individuals are used to extend the semantics of PLCS PSM. This achieved by stating in a data exchange file that something is classified as being a member of a class or that something is an individual that is a member of a class.
The example in given in Figure 2 showed RDL of units. Figure 3 shows how data in a data exchange is related to the Reference Data
The PLCS PSM Blocks used to represent Classes and Individuals are shown in Figure 4.
The constructs used for classification are:
The templates used to represent classification are:
An example of classification is given in Figure 5. This shows a TaskMethod that is classified as being a Maintenance task. In other words a TaskMethod a member of the class http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Maintenance_task.
Figure 6 shows an instantiation diagram of the Blocks used to represent the example in Figure 5.
A fragment of the XML used to represent the example in Figure 5 is shown below.
<ExternalOwlClass uid="oid1"> <Class>http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Maintenance_task</Class> </ExternalOwlClass> <TaskMethod> <ClassifiedAs> <Classification classRef="oid1"/> </ClassifiedAs> </TaskMethod>
The constructs used for individuals are:
The templates used to represent proxies and individuals are:
There are a number of PLCS PSM Blocks that are deliberately defined to refer to a definition in reference data. In these cases the Block will have an explicit reference property definition of type ProxyItemSelect. These Blocks include:
An example of individuals is given in Figure 7. This shows an ExternalUnit that is a Man_hour. In other words an ExternalUnit that is the same as or a proxy for the OWL Individual http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Man_hour.
Figure 8 shows an instantiation diagram of the Blocks used to represent the example in Figure 7.
A fragment of the XML used to represent the example in Figure 5 is shown below.
<ExternalOwlObject uid="oid2"> <Individual>http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Man_hour</Individual> </ExternalOwlObject> <ExternalUnit> <Definition uidRef="oid2"/> </ExternalUnit>
Within the context of this discussion, the concept of a "code" is one where a, usually short, identifier is used to refer to something. For example, organizations are often identified using a Commercial and Government Entity (CAGE) Code as defined by United States Federal Government. Codes are also defined in numerous specifications, including standards and organization- and application-specific documents, as tables of short identifiers for things such as kinds of tasks, countries, kinds of business transactions, etc. Complex semantics are also often written into the codes by the use of controlled coding schemes and conventions.
For the purpose of support in PLCS Reference Data, a code is an identifier for something. However, the kind of thing being identified, and how many there are of that kind of thing, are often important considerations when organizations are deciding how to manage these identifiers. Care must also be taken to distinguish between cases where an identifier is a representation of an actual thing for use in Reference Data, and cases where an identifier is a name assigned to the thing. This section describes the following different approaches to managing codes as identifiers for PLCS Reference Data.
In cases where a code is the identifier for a real-world thing and the identifiers are not recorded as Reference Data, the resulting guidelines for the usage of the PLCS PSM schema are that:
In cases where it is appropriate to maintain the identifier for a real-world thing in the Reference Data, the idea of a code as a normal name or identifier breaks down. In Reference Data, items already have a Web-wide unique identifier – the HTTP URI of the item. In cases where a code is part of the HTTP URI in the Reference Data and is therefore representing the real-world thing itself, the resulting guidelines for the usage of the PLCS PSM schema are that:
There are cases where it is not appropriate to include Reference Data items for everything that is semantically a class – codes for kinds of tasks defined in a process standard, for example. In these cases, the code that is the identifier of the class appears in a data exchange file.
In cases where a code is an identifier for an instance of PLCS PSM Class that appears in an exchange file, the resulting guidelines for the usage of the PLCS PSM are that:
All of the above are specified in detail in the PLCS template ClassCode.
PLCS Reference Data is standardized using the W3C Web Ontology Language (OWL). OWL is one of a series of standards produced by the W3C in support of their vision of a Semantic Web. The OWL language was chosen for Reference Data for reasons that include the following:
In order to make all the capabilities of the OWL language available for PLCS Reference Data developers and users, care must be taken in specifying Reference Data usage in the AP239 schema, DEXs and other usage guides. Two critical concepts for the usage of Reference Data as OWL are:
The result of applying these principles is that every reference to any Reference Data item must always use the full HTTP URI of the item from the original ontology in which it was defined.