This section specifies the template Document.
The specification comprises a SysML Block that represents the template and an
associated Parametric Diagram that defines the templates and
PLCS PSMTemplate objects
instantiated by the Document template.
The specification comprises the following sections:
NOTE
An explanation of a template and its specification is provided in
the
Template
overview
The Document template describes how to represent a document. It
covers the minimum requirements to represent a
Document
DocumentVersion
and
DocumentDefinition
or its specialization
DigitalDocumentDefinition.
NOTE
In previous editions of PLCS DEXlib organization that do not version documents were
recommended to set the identification of the
DocumentVersion
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 un-identified DocumentVersion being produced if a DocumentVersion
is required, i.e. when a DocumentDefinition is created.
The SysML Block Definition diagram in Figure 1
shows how a Document is represented in the PLCS PSM.
Figure 1 - Document model
No templates have been explicitly defined as being related to the Document template.
NOTE
The Document 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 PSMTemplate 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.
The constraints shown on the template's SysML Block are described in the template constraints section.
The SysML Parametric diagrams for the template Block are shown in template parametric diagram section.
Figure 2 - Template block definition diagram for Document
The following SysML Part, Reference, and Value properties are defined for this template:
References:
files [0..*] (Block: Ap239Ap233Psm:
DigitalFile)
The content of a digital document.
Parts:
ids [1..*] (Template: OASIS:
Identification)
The collection of identifiers of the document.
There shall be at least one identifier that is the document number. Hence there shall
be at least
one identifier classified to
be a "Document_identification_code" or a sub-class of "Document_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 document 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 document version.
NOTE
If no versionId is specified a unique, unidentified DocumentVersion 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:
classifiedAs [0..*] (Template: OASIS:
Classifier)
The classification of the document.
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:
The following output ports are defined for this template:
document (Block: Ap239Ap233Psm:
Document)
Enables the
Block: Ap239Ap233Psm:
Document instantiated by this template to be referenced
when the template is used.
The following constraints are defined for this template:
Constraint: filesAndHardcopiesRequireContextSpecification: (OCL2.0)
not (viewDefinitionContext.oclIsUndefined() and not
(files->isEmpty() and hardcopies->isEmpty()))
if either files or hardcopies is set then viewDefinitionContext must set also.
Constraint: noFilesAndHardcopiesSpecification: (OCL2.0)
files->isEmpty() or hardcopies->isEmpty()
the properties files and hardcopies cannot be both set.
This section describes the template's Parametric Diagram. The diagram details
the pattern of templates and PLCS PSMTemplate objects that are required to
represent the template Document.
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 a Parametric Diagram.
PLCS PSM
objects are shaded khaki and
Templates
are shaded light green in a Parametric Diagram.
Figure 3 - Parametric diagram for Document
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:
document [1] (Block: Ap239Ap233Psm:
Document)
Private Part Property:
documentVersion [0..1] (Block: Ap239Ap233Psm:
DocumentVersion)
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 Document
The following instances have been created:
Figure 3 shows the constraint blocks that have been created in the template.
Constraint Blocks are typically used to combine blocks into a collection that
can then be bound to a property. For example, combining a set of identifications
that can then be bound to property of type Identification.
Figure 3 - Constraint block diagram for Document
The following constraint blocks have been created:
Constraint: DocumentDefinitionSelectorSpecification: (OCL2.0)
if digital->notEmpty() then assigned = digital else if
physical->notEmpty() then assigned = physical else
assigned = general
sets the assigned DocumentDefinition to which ever of the input parameters is present.
No example data sets have been provided for this Template.