This section specifies the template Part.
The specification comprises a SysML Block that represents the template and an
associated Parametric Diagram that defines the templates and
PLCS PSM objects
instantiated by the Part template.
The specification comprises the following sections:
- Section Description provides a
description of the template;
- Section Template Block specifies the SysML
Block that represents the template;
- Section Template Properties specifies
the properties, i.e. the Part, Reference and Value properties of the
templates SysML Block;
- Section Template Output Ports
specifies the Output Ports of the templates SysML Block. These bind to the
templates and PLCS PSM objects
instantiated by the Part template as
described in section Template
Parametric Diagram;
- Section Template Constraints specifies
the constraints on PLCS PSM objects instantiated by the
Part template;
- Section Template Parametric
Diagram specifies the templates and PLCS PSM objects instantiated by the
Part template;
- Section Instantiated blocks specifies
the templates and PLCS PSM objects instantiated by the
Part template and bound to private
parts of the template;
- Section Default instances species the
instances that have been instantiated in the template. These are used to set
the default value of blocks.
- Section Constraint blocks identifies the
constraint blocks that have been specified in this template;
- Section Example data
provides example XML data sets that have been instantiated in accordance
with this template.
NOTE
An explanation of a template and its specification is provided in
the
Template
overview
The Part template describes how to represent a part. It
covers the minimum requirements to represent a
Part
PartVersion
and
PartViewDefinition.
NOTE
In previous editions of PLCS DEXlib organization that do not version parts were recommended
to set the identification of the
PartVersion
to "/NULL", i.e. the attribute
identifier
of entity
Identification
contains the string "/NULL" to indicate
that no version information is relevant or intended.
The current recommendation is to provide no versionId. This will result a single unidentified
PartVersion being produced.
The SysML Block Definition diagram in Figure 1
shows how a Part is represented in the PLCS PSM.
Figure 1 - Part model
No templates have been explicitly defined as being related to the Part template.
NOTE
The Part template may make reference
to other templates as part of the Parametric Diagram. These are not listed
here.
Figure 2 shows the SysML Block that represents the template. The Block is an abstraction
representing a pattern of templates and PLCS PSM objects.
The properties, i.e. the SysML Block Part, Reference and Value properties, of the
template's SysML Block are described in the Template
Properties section.
The output ports shown on the template's SysML Block are described in the template output ports section.
Figure 2 - Template block definition diagram for Part
The following Part, Reference, and Value properties are defined for this template:
References:
Parts:
ids [1..*] (Template: OASIS:
Identification)
The collection of identifiers of the part.
There shall be at least one identifier that is the part number. Hence there shall
be at least
one identifier classified to
be a "Part_identification_code" or a sub-class of "Part_identification_code".
The reference data used in Template: OASIS:
Identification is restricted as follows:
RDL constraint 1:There must be one identifier that is the part number.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
versionId [0..1] (Template: OASIS:
Identification)
The identifier of the part version.
NOTE
If no versionId is specified a unique, unidentified PartVersion is created.
The reference data used in Template: OASIS:
Identification is restricted as follows:
RDL constraint 1:The identifier must be a version identifier.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
classifications [0..*] (Template: OASIS:
Classifier)
The classification of the part.
The reference data used in Template: OASIS:
Classifier is restricted as follows:
RDL constraint 1:The reference data for:
OASIS:Classifier.class -> ExternalOwlClass.class
is restricted to classes that are subclasses of the following class:
viewClassifications [0..*] (Template: OASIS:
Classifier)
The reference data used in Template: OASIS:
Classifier is restricted as follows:
RDL constraint 1:The reference data for:
OASIS:Classifier.class -> ExternalOwlClass.class
is restricted to classes that are subclasses of the following class:
names [0..*] (Template: OASIS:
Name)
The names of the part
The following output ports are defined for this template:
part (Block: Ap239Ap233Psm:
Part)
Enables the
Block: Ap239Ap233Psm:
Part instantiated by this template to be referenced
when the template is used.
version (Block: Ap239Ap233Psm:
PartVersion)
Enables the
Block: Ap239Ap233Psm:
PartVersion instantiated by this template to be referenced
when the template is used.
There are no constraints defined for this template.
This section describes the template's Parametric Diagram. The diagram details
the pattern of templates and PLCS PSM objects that are required to
represent the template Part.
The public properties, i.e. those visible in the template's SysML block (See Figure 2) are shown on the left of a
Parametric Diagram.
NOTE
Restrictions on the reference data to be set on the public properties is
defined in the
Template Properties section.
The output ports are shown on the right of the Parametric Diagram.
PLCS PSM
objects are shaded khaki and template shaded light green in a Parametric Diagram.
Figure 3 - Parametric diagram for Part
The following blocks are instantiated by this template and bound to private parts
of the
template as shown in the Parametric Diagram
section:
Private Part Property:
part [1] (Block: Ap239Ap233Psm:
Part)
Private Part Property:
partVersion [0..1] (Block: Ap239Ap233Psm:
PartVersion)
Private Part Property:
stateAsg [0..1] (Block: Ap239Ap233Psm:
StateAssignment)
Private Part Property:
stateAsgClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
classConfigStatus [0..1] (Block: Ap239Ap233Psm:
ExternalOwlClass)
The following constraint, normally a uniqueness constraint, is
applicable when instantiating the ExternalOwlClass:
rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Figure 3 shows the instances that have been instantiated in the template. These are
used to set the default value of blocks.
Figure 3 - Model instance diagram for Part
The following instances have been created:
There are no constraint blocks defined in this template.
The following section provides an example XML dataset that has been instantiated in
accordance with this template.
Data set: Part
This example shows the XML instantiated to represent a Part.