Capability (C026):— representing_condition |
Date: 2010/11/28 21:16:39 Revision: 1.17
|
This section provides a business level overview of this capability.
Condition can be used to express if-statements consisting of operators and operands (parameters).
This section provides an overview of the information model that supports
this capability.
Representing a Text Based Condition
Representing a Condition as a text based description
is the simplest form of condition representation.
A text based condition could be expressed as an IF-statement as follows:
If text_based_condition Then statement sequence.
The text_based_condition could be any text, describing of the actual condition.
A text based condition is represented by the condition module as follows:
- Condition - Represents the If statement. The
Condition should be classified as
[TextBasedCondition]
Error RDL1: The class TextBasedCondition does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
;
- Condition_assignment - An association to the entity which is dependent upon the
result of the If statement (represents the Then statement sequence);
- Condition description
attribute - A text based description of the condition.
Error I1; The image filename: ../Repr a text based condition.png contains whitespace
Figure 1 — Example of a text based condition. The non-shaded entities are outside the scope of the 'Representing a condition'
capability.
Representing a Comparison Expression
Representing a comparison expression as a condition includes the usage of condition parameters.
The representation of a comparison based condition could be expressed as an IF-statement as follows:
If comparison_expression Then statement sequence.
The comparison_expression part of the statement is often defined as:
operand1 comparison_operator operand2.
The comparison operators are: 'Equals', 'Greater than', 'Greater than or equal to', 'Less than', 'Less than or equal to' and
'Not equal'.
This If-statement is represented by the condition module as follows:
Condition - Represents the If statement.
The Condition should be classified as
[Equals]
Error RDL1: The class Equals does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, [GreaterThan]
Error RDL1: The class GreaterThan does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
,
[GreaterThanOrEqualTo]
Error RDL1: The class GreaterThanOrEqualTo does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, [LessThan]
Error RDL1: The class LessThan does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
,
[LessThanOrEqualTo]
Error RDL1: The class LessThanOrEqualTo does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
or [NotEqual]
Error RDL1: The class NotEqual does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
;
Condition_assignment - An association to the entity which is dependent upon the
result of the If statement (represents the Then statement sequence);
Condition_parameter - Represents the operands.
The Condition_parameter should be classified as
[Operand1]
Error RDL1: The class Operand1 does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
or [Operand2]
Error RDL1: The class Operand2 does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
.
Error I1; The image filename: ../Repr a comparison condition.png contains whitespace
Figure 2 — Example of a comparison based condition. The non-shaded entities are outside the scope of the 'Representing a
condition' capability.
The example in Figure 2 represents the following condition :
Task#13 will be performed on Part#29 IF the property flight hours of the the Part in which Part#29 is mounted is greater than
the property flight hours interval of Part#29.
Representing a Logical expression
Representing a logical expression as a condition includes the usage of condition relationship.
The representation of a logical expression as an IF-statement is often expressed as follows
If logical_expression Then statement sequence.
The logical_expression part of the statement is often defined as:
comparison_expression_1 logical_operator comparison_expression_1.
The logical operators are: 'AND', 'OR', 'XOR' and 'NOT'.
A logical expression is represented by the condition module as follows:
- Condition - Represents the If statement. The
Condition should be classified as
[LogicalExpression]
Error RDL1: The class LogicalExpression does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
;
- Condition_assignment - An association to the entity which is dependent upon the
result of the If statement (represents the Then statement sequence);
- Condition_relationship as the Condition_parameter -
Represents the logical expression. The
Condition_relationship should be classified as
"AND"
(urn:plcs:rdl:std:AND),
"OR"
(urn:plcs:rdl:std:OR), [Xor]
Error RDL1: The class Xor does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
or
[Not]
Error RDL1: The class Not does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
;
- Condition - Represents the comparison expressions.
For details on how to represent comparison expressions, see above.
Error I1; The image filename: ../Repr a logical expression condition.png contains whitespace
Figure 3 — Example of a logical expression condition. The conditions #36 and #37 could be either text-based, comparison or
logical expression conditions.
This section specifies how the information model can be further
characterized by the assignment of additional information such as
dates, approvals and people or organizations.
The following characterizations may apply.
A condition shall always be classified in accordance with the classes described above.
NOTE
Multiple classifications of a condition is likely to occur.
A condition relationship representing a logical expression should always be classified in accordance with the classes described
above.
NOTE
Multiple classifications of a condition relationship is likely to occur.
A condition parameter shall always be classified in accordance with the classes described above.
NOTE
Multiple classifications of a condition parameter is likely to occur.
Classification of a condition assignment could be used to represent the role of the assignment.
The classification is context dependent. An example of a classification of a condition assignment may be
[TaskTrigger]
Error RDL1: The class TaskTrigger does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
in a maintenance plan.
Enumeration of entity types that a condition could be assigned to is outside the scope of this capability.
Enumeration of entity types that could be referenced as condition parameters is outside the scope of this capability.
The following sections define a set of templates for the capability,
where a template is a specification of a set of entities that need to
be instantiated to represent a given set of information.
This section specifies the template assigning_condition.
NOTE
An explanation of a template and the associated instantiation path is
provided in the
Template overview
section.
This template describes how to assign a computable condition containing one computable condition parameter.
A condition is computable when its condition parameter(s) can be evaluated against recorded data without recourse to human
intervention.
This template enables:
- the assignment of a computable condition to something;
- classification of the assignment to define the role of the computable condition being assigned;
- classification of the condition to define the type of computable comparison that shall be made against the condition parameter;
- the entity representing the condition parameter.
The EXPRESS-G diagram in
Figure
1
shows the templates and EXPRESS entities that are required
to represent the template
"assigning_condition".
The text highlighted in blue shows the template parameters.
Figure 1 — EXPRESS-G representation for the template 'assigning_condition'
The graphic for the template to be used in other EXPRESS-G diagrams
is shown in Figure
2
below.
Figure 2 — Graphical representations for the template 'assigning_condition'
The following input parameters are defined for this template:
The name of the class used to classify the
Condition_assignment and to provide the role or reason
for the condition.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library
storing the definition of the class referenced by the parameter @cond_asg_class.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library
storing the definition of the class referenced by the parameter @cond_class.
The following reference parameters are defined for this template:
Allow the
Condition
entity instantiated in this path to be referenced when this template is used.
Note: The
Condition
entity can be referenced in a template path by:
%^target = $assigning_condition.cond%
where
target
is the parameter to which the
Condition
is bound.
Allow the
Condition_assignment
entity instantiated in this path to be referenced when this template is used.
%^target = $assigning_condition.cond_asg%
Allow the
Condition_parameter
entity instantiated in this path to be referenced when this template is used.
%^target = $assigning_condition.cond_para%
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
The following entities are instantiated with attributes as specified:
The instance diagram in Figure
3
shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_condition(cond_item='#3', cond_asg_class='Trigger', cond_asg_ecl_id='urn:plcs:rdl:sample', cond_class='Equals', cond_class_ecl_id='urn:plcs:rdl:std', cond_para_item='#5')/
(an illustration of the consolidated assigning_condition template is shown in
Figure
4 below.)
Figure 3 — Instance diagram instantiated by the template example
The instance diagram in
Figure
4
shows the graphic symbol for the template that is to be
used in other instance diagrams. The example template is:
/assigning_condition(cond_item='#3', cond_asg_class='Trigger', cond_asg_ecl_id='urn:plcs:rdl:sample', cond_class='Equals', cond_class_ecl_id='urn:plcs:rdl:std', cond_para_item='#5')/
Figure 4 — Invocation of template - graphical presentation
The following section details how the
assigning_condition
template can be optionally characterized by assigning
other constructs to it. These are characterizations commonly
applied to the template. The ISO 10303-239 EXPRESS model may enable
other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning description
NOTE this characterization is optional.
Characterization Assigning justification
NOTE this characterization is optional.
This section specifies the template assigning_condition_parameter.
NOTE
An explanation of a template and the associated instantiation path is
provided in the
Template overview
section.
This template describes how to represent the assignment of a condition parameter to a condition.
The EXPRESS-G diagram in
Figure
1
shows the templates and EXPRESS entities that are required
to represent the template
"assigning_condition_parameter".
The text highlighted in blue shows the template parameters.
Figure 1 — An EXPRESS-G representation of the Information model for assigning_condition_parameter
The graphic for the template to be used in other EXPRESS-G diagrams
is shown in Figure
2
below.
Figure 2 — The graphical representation of the assigning_condition_parameter template
The following input parameters are defined for this template:
The condition
to which the condition parameter is assigned.
The item that is used as a condition parameter.
The name of the
External_class used to classify the condition parameter, and so
provide the role of the condition parameter.
The following classes and their sub-classes can be used:
The following reference parameters are defined for this template:
Allow the
Condition_parameter
entity instantiated in this path to be referenced when this template is used.
%^target = $assigning_condition_parameter.cond_param%
The following parameter combinations specify a uniqueness constraint:
Unique constraint: Condition parameter
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
The following entities are instantiated with attributes as specified:
The instance diagram in Figure
3
shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_condition_parameter(cond='#1', param='#2', param_class_name='Trigger', param_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated assigning_condition_parameter template is shown in
Figure
4 below.)
Figure 3 — Entities instantiated by assigning_condition_parameter template
The instance model in STEP ASCII exchange file format (ISO 10303 Part
21 syntax) is:
#1 = CONDITION('/IGNORE','/IGNORE');
#2 = INDEPENDENT_PROPERTY('/IGNORE','/IGNORE','/IGNORE');
#3 = CONDITION_PARAMETER('/IGNORE','/IGNORE',#1,#2);
#5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE');
#6 = EXTERNAL_CLASS('/NULL','Trigger','/IGNORE',#7);
#7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
The instance model in STEP XML exchange file format (ISO 10303 Part
28 ed.2 syntax) is:
The instance diagram in
Figure
4
shows the graphic symbol for the template that is to be
used in other instance diagrams. The example template is:
/assigning_condition_parameter(cond='#1', param='#2', param_class_name='Trigger', param_ecl_id='urn:plcs:rdl:sample')/
Figure 4 — Instantiation of assigning_condition_parameter template
No common characterizations of the template
assigning_condition_parameter
have been identified. However, the ISO 10303-239 EXPRESS model
may enable other assignments to the entities instantiated by the template.
This section specifies the template assigning_condition_text_based.
NOTE
An explanation of a template and the associated instantiation path is
provided in the
Template overview
section.
This template describes how to assign a text based condition, i.e assign a non-computable condition
without condition parameters.
This template enables:
- the assignment of a textually described condition to something;
- classification of the assignment to define the role of the condition being assigned;
- classification of the condition as a text based condition.
The EXPRESS-G diagram in
Figure
1
shows the templates and EXPRESS entities that are required
to represent the template
"assigning_condition_text_based".
The text highlighted in blue shows the template parameters.
Figure 1 — EXPRESS-G representation for the template 'assigning_condition_text_based'
The graphic for the template to be used in other EXPRESS-G diagrams
is shown in Figure
2
below.
Figure 2 — Graphical representations for the template 'assigning_condition'
The following input parameters are defined for this template:
The name of the class used to classify the
Condition_assignment and to provide the role or reason
for the condition.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library
storing the definition of the class referenced by the parameter @cond_asg_class.
Textual description of the condition being applied.
The following reference parameters are defined for this template:
Allow the
Condition
entity instantiated in this path to be referenced when this template is used.
Note: The
Condition
entity can be referenced in a template path by:
%^target = $assigning_condition_text_based.cond%
where
target
is the parameter to which the
Condition
is bound.
Allow the
Condition_assignment
entity instantiated in this path to be referenced when this template is used.
%^target = $assigning_condition_text_based.cond_asg%
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
The following entities are instantiated with attributes as specified:
The instance diagram in Figure
3
shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_condition(cond_item='#3', cond_asg_class='Trigger', cond_asg_ecl_id='urn:plcs:rdl:sample', cond_descr='The task shall be initiated every 200 flight hours')/
(an illustration of the consolidated assigning_condition template is shown in
Figure
4 below.)
The example shows a textual description of a task trigger being associated with a specific type of part.
Figure 3 — Instance diagram instantiated by the template example
The instance diagram in
Figure
4
shows the graphic symbol for the template that is to be
used in other instance diagrams. The example template is:
/assigning_condition(cond_item='#3', cond_asg_class='Trigger', cond_asg_ecl_id='urn:plcs:rdl:sample', cond_descr='The task shall be initiated every 200 flight hours')/
Figure 4 — Invocation of template - graphical presentation
The following section details how the
assigning_condition_text_based
template can be optionally characterized by assigning
other constructs to it. These are characterizations commonly
applied to the template. The ISO 10303-239 EXPRESS model may enable
other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning description
NOTE this characterization is optional.
Characterization Assigning justification
NOTE this characterization is optional.
This section specifies the template representing_condition_relationship.
NOTE
An explanation of a template and the associated instantiation path is
provided in the
Template overview
section.
This template describes how to represent condition relationships such as logical expressions ('AND', 'OR' etc).
The EXPRESS-G diagram in
Figure
1
shows the templates and EXPRESS entities that are required
to represent the template
"representing_condition_relationship".
The text highlighted in blue shows the template parameters.
Figure 1 — An EXPRESS-G representation of the Information model for representing_condition_relationship
The graphic for the template to be used in other EXPRESS-G diagrams
is shown in Figure
2
below.
Figure 2 — The graphical representation of the representing_condition_relationship template
The following input parameters are defined for this template:
The name of the
External_class used to describe the role of the relationship.
The following classes and their sub-classes can be used:
ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The following reference parameters are defined for this template:
Allow the
Condition_relationship
entity instantiated in this path to be referenced when this template is used.
%^target = $representing_condition_relationship.cond_rel%
The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique Condition Relationship
Each instance of the
entity
(
Condition_relationship)
within the data set shall be uniquely identified
by a combination of the following parameters on this
template (representing_condition_relationship) namely:
class_name,
ecl_id,
relating,
related.
The
instance is
referenced by the following template parameter:
cond_rel.
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
The following entities are instantiated with attributes as specified:
The instance diagram in Figure
3
shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_condition_relationship(relating='#1', related='#2', class_name='AND', ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated representing_condition_relationship template is shown in
Figure
4 below.)
Figure 3 — Entities instantiated by representing_condition_relationship template
The instance diagram in
Figure
4
shows the graphic symbol for the template that is to be
used in other instance diagrams. The example template is:
/representing_condition_relationship(relating='#1', related='#2', class_name='AND', ecl_id='urn:plcs:rdl:sample')/
Figure 4 — Instantiation of representing_condition_relationship template
No common characterizations of the template
representing_condition_relationship
have been identified. However, the ISO 10303-239 EXPRESS model
may enable other assignments to the entities instantiated by the template.
This capability
"Representing a Condition" is dependent on
the following capabilities:
The following classes of reference data are required for this capability:
logical operator that requires the combined condition to be true.
[Equals]
Error RDL1: The class Equals does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[GreaterThan]
Error RDL1: The class GreaterThan does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[GreaterThanOrEqualTo]
Error RDL1: The class GreaterThanOrEqualTo does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[LessThan]
Error RDL1: The class LessThan does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[LessThanOrEqualTo]
Error RDL1: The class LessThanOrEqualTo does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[LogicalOperator]
Error RDL1: The class LogicalOperator does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Not]
Error RDL1: The class Not does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[NotEqual]
Error RDL1: The class NotEqual does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Operand1]
Error RDL1: The class Operand1 does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Operand2]
Error RDL1: The class Operand2 does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Operands]
Error RDL1: The class Operands does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
logical operator that requires at least one Conditions in the combined Condition to be true.
[Xor]
Error RDL1: The class Xor does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[TextBasedCondition]
Error RDL1: The class TextBasedCondition does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[LogicalExpression]
Error RDL1: The class LogicalExpression does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml