Capability (C006):— assigning_effectivity Date: 2008/02/25 12:17:46
Revision: 1.25

Business DEX Overview

Closed issue Issue: RBN-4 by Rob Bodington (06-06-28) [minor_technical, closed] - {Type = contents}
TEMPLATE: representing_dated_effectivity Error in path: %^dated_effectivity = Dated_effectivity.% should be %^dated_effectivity = Dated_effectivity% Template assigning_time. Rather than biding directly to the reference parameter of a sub template. e.g. Dated_effectivity.start_bound -> $representing_date_time.date_time% It is better to introduce a local ref parameter. E.g. %^start_date_time = $representing_date_time.date_time% Dated_effectivity.start_bound -> ^start_date_time
Comment: (Rob Bodington 06-06-28)
Modified

There are two applications of effectivity that are possible with this capability. The first of these is configuration effectivity (used intimately with product configuration), and the second - a more independant, general usage.

Configuration effectivity allows attachment of effectivity information to occurrences of component parts in the context of a particular configuration item. This enables the specification of the valid use of a part occurrence in the context defined for a particular product configuration. This controls the constituent parts that are planned to be used for manufacturing end items of a particular product configuration within a dated time period or for a certain lot or serial number range of the end items.

The Effectivity entity supports the specification of a domain of applicability for product data. Effectivity is a generic concept defining the valid use of the product data to which the effectivity is assigned.

This capability allows assignment of general validity periods to product data that control the usage of these product data independent of any particular life cycle or context.

This is achieved through the Effectivity_assignment entity which may refer to one or more target items (instances) of product data that the validity period is assigned. The types of product data to which an effectivity may be assigned are defined in the effectivity_item select type.

Hence, the validity period of Effectivity may be applied to different types of product data, potentially specifying an additional role in which the effectivity is assigned.

NOTE    The assignment of effectivities is often done during the approval process, i.e, when releasing product data for the next stage of the development process, it gets effectivity information assigned to determine when and in which context these product data may be used.

Information Model Overview

The following diagram shows the different capabilities required for assignment of effectivities.



Figure 1 —  High-level Information Model Overview

Figure 1 —  High-level Information Model Overview

NOTE    The target entities will largely exist in other capabilities.

The following diagram provides a more detailed overview of effectivity and it's subtypes.



Figure 1.1 —  Detailed Information Model Overview

Figure 1.1 —  Detailed Information Model Overview

NOTE    The subtypes cannot be mixed during instantiation, although different types can be related through effectivity relationships.

NOTE    Subtypes and relationships involving of time interval are shown separately in a subsequent section.

Effectivity

Effectivity is a key concept to control the valid use of product data. The effectivity entity supports the specification of a domain of applicability for product data. Effectivity is a generic concept defining the valid use of the product data to which the effectivity is assigned.

The subtypes of Effectivity include;

These subtypes, which are discussed in detail later, restrict the domain of applicability of the associated product data to a date range, a particular lot or serial number range, or to a time interval respectively.

Effectivity Assignment

The validity period of Effectivity may be applied to different types of product data, through the Effectivity_assignment entity.

Effectivity_assignment provides a set of items, which refer to the instances of product data, to which the validity period is assigned. The types of product data to which an effectivity may be assigned are defined in the effectivity_item select type.

The Effectivity_assignment entity should have a role associated with it through the entity Classification_assignment. This classification should be used to distinguish between, e.g., required, planned, or actual, effectivities of an object.

The class assigned through this mechanism is normally represented as an external_class as defined within an external_class_library. This is described more fully in the capability C010: assigning_reference_data.

The Instance Model: EXPRESS entities and attributes

The instantiation of the EXPRESS entities and attributes used to support the requirements of Item_usage_effectivity, dated_effectivity and serial_effectivity are shown in the figure below.



Figure 2 —  Effectivity Assignment Instance Diagram

Figure 2 —  Effectivity Assignment Instance Diagram

NOTE    the definition of the time period is provided in a later example

EXAMPLE   

#460=PART_VIEW_DEFINITION('', 'design view on sleeve assembly', '', #230, (#830), #450);

#560=NEXT_ASSEMBLY_USAGE('su-2', 'single instance usage', 'su2 - front', #660, #460, $, '');

#660=PART_VIEW_DEFINITION('', 'design view on hub assembly', '', #230, (#830), #650);

#7018=EXTERNAL_CLASS_LIBRARY('http://www.lsc.co.uk/RDL/MoD/PLCS/Identifiers/', '');

#7024=EFFECTIVITY_ASSIGNMENT(#7025, $, (#560));

#7025=TIME_INTERVAL_EFFECTIVITY($, 'tpvfa_001', 'time period validity for assembly', #7026);

#7033=CLASSIFICATION_ASSIGNMENT(#7034, (#7024), $);

#7034=EXTERNAL_CLASS($, 'planned period', $, #7018);

NOTE    for clarity, the example is incomplete (instances #230, #830, #450, #650 and #7026 are not shown).

Dated_effectivity

The Dated_effectivity entity is a subtype of Effectivity that applies onwards from a point in time, or between two points in time which define the start (start_bound) and end (end_bound) of the Dated_effectivity. These points in time may be specified as date or a date and time, or by an event occurrence.

EXAMPLE    Events may be used to bound a Dated_effectivity period, at planning phase.

Depending on whether the end_bound attribute is specified, the actual domain of time defined by a Dated_effectivity is:

If the end_bound is an event that actually identifies a point in time that comes before the start_bound, then the actual domain of effectivity is empty.

NOTE    If both attributes are specified with dates, the end_bound shall be greater than the start_bound.



Figure 3 —  Dated Effectivity Instance Diagram

Figure 3 —  Dated Effectivity Instance Diagram

NOTE    In this example, the effectivity defines a valid start date (planned) as indicated by the classification "planned start" (#7042). A date and a time (with time zone) specifies when the validity begins.

NOTE    That a secondary bound was not necessary (optional) or would be redundant since the role of the effectivity is to only identify the start_bound (beginning) of the validity.

EXAMPLE   

#560=NEXT_ASSEMBLY_USAGE('su-2', 'single instance usage', 'su2 - front', #660, #460, $, '');

#7018=EXTERNAL_CLASS_LIBRARY('http://www.lsc.co.uk/RDL/MoD/PLCS/Identifiers/', '');

#7023=DATED_EFFECTIVITY($, $, $, #7029, #7035);

#7029=DATE_TIME(#7032, #7030);

#7030=LOCAL_TIME(15, 27, 30., #7031);

#7031=TIME_OFFSET(5, 0, .BEHIND.);

#7032=CALENDAR_DATE(2004, 6, 12);

#7040=EFFECTIVITY_ASSIGNMENT(#7023, $, (#560));

#7041=CLASSIFICATION_ASSIGNMENT(#7042, (#7040), $);

#7042=EXTERNAL_CLASS($, 'planned start', $, #7018);

Serial_effectivity

A Serial_effectivity is a type of Effectivity for which the domain of applicability is defined as a possibly open-ended interval of serial numbers. The start_id is the first valid serial number and the optional end_id is the last valid serial number. If the value for end_id is not specified, the interval of applicability has no upper bound.

NOTE    In the context of the PLCS Schema, Serial_effectivity is only used to specify the valid use of a part occurrence in the context of a serial number range for end items of the identified product configuration, i.e., Product_configuration.



Figure 4 —  Serialized Effectivity Instance Diagram

Figure 4 —  Serialized Effectivity Instance Diagram

NOTE    In this example, the effectivity defines a validity range of serial numbers.

NOTE    Although a separate classification assignment is not necessary, we have included one for clarity. The name of the class assigned needs to be agreed by those exchanging the data if using this feature.

EXAMPLE   

#560=NEXT_ASSEMBLY_USAGE('su-2', 'single instance usage', 'su2 - front', #660, #460, $, '');

#7018=EXTERNAL_CLASS_LIBRARY('http://www.lsc.co.uk/RDL/MoD/PLCS/Identifiers/', '');

#7036=SERIAL_EFFECTIVITY($, 'Front brake abs', 'Valid serial number range', 'UK-075UYF-12791-14E-3701', 'UK-075UYF-12791-14E-4700');

#7037=EFFECTIVITY_ASSIGNMENT(#7036, $, (#560));

#7038=CLASSIFICATION_ASSIGNMENT(#7039, (#7037), $);

#7039=EXTERNAL_CLASS($, 'planned', $, #7018);

Lot_effectivity

The entity Lot_effectivity is a subtype of Effectivity. It defines the domain of applicability as a given batch of end items. The lot_id specifies a production batch of end items for the manufacturing of which the effectivity applies and the lot_size specifies the size of the batch of end items for the manufacturing of which the effectivity applies.

NOTE    In the context of the PLCS Schema, Lot_effectivity is only used to specify the valid use of a part occurrence in the context of a unit of manufacture of the identified product configuration, i.e., the Product_configuration.



Figure 5 —  Lot Effectivity Instance Diagram

Figure 5 —  Lot Effectivity Instance Diagram

NOTE    In this example, the effectivity identifies a batch/lot of products and the number (size) of units to be processed. There is no constraints on the form of the lot identifier.

NOTE    Although a separate classification assignment is not necessary, we have included one for clarity. The name of the class assigned needs to be agreed by those exchanging the data if using this feature.

EXAMPLE   

#560=NEXT_ASSEMBLY_USAGE('su-2', 'single instance usage', 'su2 - front', #660, #460, $, '');

#7018=EXTERNAL_CLASS_LIBRARY('http://www.lsc.co.uk/RDL/MoD/PLCS/Identifiers/', '');

#7022=UNIT('count', .T.);

#7043=LOT_EFFECTIVITY($, 'Front brake abs', 'Valid lot/batch', 'UK-075UYF-12791-14E-3701+', #7044);

#7044=VALUE_WITH_UNIT(#7022, LENGTH_MEASURE(999.));

#7045=EFFECTIVITY_ASSIGNMENT(#7043, $, (#560));

#7046=CLASSIFICATION_ASSIGNMENT(#7047, (#7045), $);

#7047=EXTERNAL_CLASS($, 'actual', $, #7018);

Time_interval_effectivity

The entity Time_interval_effectivity is a subtype of Effectivity for which the domain of applicability (the effectivity_period) is defined as a possibly open. However, this entity only provides the ability to identify a time interval - it does not define the interval itself. For that we use the subtype of this Time_interval_with_bounds, which provides a start (primary_bound) and an optional end (secondary_bound) time, but also a duration (duration_from_primary_bound). This type of effectivity enables the specification of an interval of time through one boundary and the duration of the interval.

NOTE    These bounding points in time may be specified as date or a date and time, or by an event occurrence.

NOTE    In the context of the PLCS Schema, Time_interval_effectivity is only used to specify validity periods for the associated product data.

Time_interval_relationship

A Time_interval_relationship, relates two instances of Time_interval together. The relating_time_interval represents the first (or proceeding) time interval and the related_time_interval represents the second (or latter) interval. The relation_type attribute provides the context of the relationship. There are no set values for the types of relationships, so these must be agreed between the parties involved. One type of relationship might be "decreasing" - meaning that the intervals get shorter from one to another. This might be a useful function where the configuration being assembled depends upon something the dwindling life expectancy of the fabricating tool or the decreasing amount of a raw material or resource which is consumed by the process concerned.



Figure 6 —  Time Interval Relationship

Figure 6 —  Time Interval Relationship



Figure 6.1 —  Time Interval Effectivity Instance Diagram

Figure 6.1 —  Time Interval Effectivity Instance Diagram

NOTE    In this example, the effectivity defines a validity period which began on Jun 12th 2004 at 3.27pm GMT-5hrs and was valid for a total of 6.5 hours.

NOTE    that a secondary_bound was not (necessary or) defined for the time interval and that the classification and assignment items have not been shown here.

EXAMPLE   

#7025=TIME_INTERVAL_EFFECTIVITY($, 'tpvfa_001', 'time period validity for assembly', #7026);

#7026=TIME_INTERVAL_WITH_BOUNDS($, 'duration of manufacture', 'time required for manufacture', #7029, $, #7027);

#7027=DURATION(#7028, PLANE_ANGLE_MEASURE(6.5));

#7028=UNIT('Hours', .T.);

#7029=DATE_TIME(#7032, #7030);

#7030=LOCAL_TIME(15, 27, 30., #7031);

#7031=TIME_OFFSET(5, 0, .BEHIND.);

#7032=CALENDAR_DATE(2004, 6, 12);

Effectivity_relationship

An Effectivity_relationship is an association between two instances of Effectivity . The meaning of the relationship is represented with the relation_type attribute. An effectivity_relationship may be used to define an effectivity with respect to some other effectivity or to express some dependency between two effectivity objects.



Figure 7 —  Effectivity Relationship Instance Diagram

Figure 7 —  Effectivity Relationship Instance Diagram

EXAMPLE   

#7025=TIME_INTERVAL_EFFECTIVITY($, 'tpvfa_001', 'time period validity for assembly', #7026);

#7036=SERIAL_EFFECTIVITY($, 'Front brake abs', 'Valid serial number range', 'UK-075UYF-12791-14E-3701', 'UK-075UYF-12791-14E-4700');

#7048=EFFECTIVITY_RELATIONSHIP('Constraint', 'The serial effectivity constrains the time interval effectivity', #7036, #7025);

NOTE    The relation_type attribute is used to specify the type of the Effectivity_relationship and therefore should be populated with predefined values of which both sides of the exchange have a common understanding. The value ’constraint’ for the name attribute should be used to indicate that the validity period defined by the related_effectivity should be within the time period of the relating_effectivity. The value ’inheritance’ for the relation_type attribute should be used to indicate that the related_effectivity shall not define its own validity period, but inherits the validity period from the relating_effectivity (this inheritance might occur over a chain of interrelated effectivity_relationship instances). There are no further standard mappings specified for the name attribute. Additional values must be agreed upon mutually.

Characterization of model

Classification

For an Effectivity that identifies a period of time, if applicable, the following values shall be used for the Role attribute (as instantiated through an instance of Classification_assignment):

For examples of classification please refer to the examples above.

The class assigned through this mechanism is normally represented as an External_class as defined within an External_class_library. This is described more fully in the capability C010: assigning_reference_data.

Additional Usage Guidance

Implicit Assignment of Effectivity

Effectivity can be implicitly assigned when managing the composition of a configuration. Configuration composition management is concerned with the specification of the different product configurations that exist for a given product concept, and the association with product data that is necessary to build those configurations. This includes the identification of the actual constituents that are to be included in a planned unit of production of a Product_configuration and their valid usage.

Capability C063: representing_product_configuration describes the context of product configuration management but we reproduce those parts necessary below to describe the implicit assignment.

The association of effectivity information to different types of product data can be achieved through the Item_usage_effectivity entity. This entity represents a tuple of; a resolved_configuration (an instance of Item_design_association - see C063: representing_product_configuration), an effectivity_domain (an instance of a type of Effectivity), and an item_usage_relationship (i.e. an instance of a type of View_definition_usage, such as Next_assembly_usage (see C003: representing_assembly_structure).

The reference to an instance of Item_design_association allows control of the constituent parts (e.g. an instance of Part_version or Part_view_definition) that should be used to build the physical instances of a Product_configuration through the referenced design which is a type of version_or_definition. Hence, the effectivity is related to parts, assembly and configuration - implicitly.

The composition of the product configurations for planned units of manufacture may be controlled for a given time period, lot, or serial number range (See the sections above for the use of these).

NOTE    It is recommended to not instantiate the Effectivity instance as standalone instance, i.e., an effectivity should always be assigned to some product data either by using the Effectivity_assignment or by using the relevant subtype of effectivity in conjunction with Item_usage_effectivity, or the effectivity should have a relationship to some other effectivity that is assigned to some product data through Effectivity_relationship. Furthermore, it is always recommended to instantiate an effectivity as one of its subtypes, unless the definition of the effectivity is based on some other effectivity using Effectivity_relationship.

Capability templates

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.

Template: assigning_dated_effectivity (Short name: ass_date_eff)

This section specifies the template assigning_dated_effectivity.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to assign an Effectivity.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_dated_effectivity". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_dated_effectivity

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_dated_effectivity

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 template assigning_dated_effectivity

Figure 2 —   The graphical representation of template assigning_dated_effectivity

Input parameters
The following input parameters are defined for this template:
start_year (Type= 'TYPE (year_number)' )
Calendar_date year_component of the effectivity start date and time.
start_month (Type= 'TYPE (month_in_year_number)' )
Calendar_date month_component of the effectivity start date and time.
start_day (Type= 'TYPE (day_in_month_number)' )
Calendar_date day_component of the effectivity start date and time.
start_hour (Type= 'TYPE (hour_in_day)' )
Local_time hour_component of the effectivity start date and time.
start_minute (Type= 'TYPE (minute_in_hour)' , Optional)
Local_time minute_component of the effectivity start date and time. This parameter is optional. If not given, it will remain unset.
start_second (Type= 'TYPE (second_in_minute)' , Optional)
Local_time day_component of the effectivity start date and time. This parameter is optional. If not given, it will remain unset.
start_sense (Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset. Enumeration values: 'ahead', 'exact' or 'behind'.
start_hour_offset (Type='INTEGER')
The number of hours by which a time is offset from Coordinated Universal Time.
start_minute_offset (Type='INTEGER', Optional)
The number of minutes by which a time is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
end_year (Type= 'TYPE (year_number)' , Optional)
Calendar_date year_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_month (Type= 'TYPE (month_in_year_number)' , Optional)
Calendar_date month_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_day (Type= 'TYPE (day_in_month_number)' , Optional)
Calendar_date day_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_hour (Type= 'TYPE (hour_in_day)' , Optional)
Local_time hour_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_minute (Type= 'TYPE (minute_in_hour)' , Optional)
Local_time minute_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_second (Type= 'TYPE (second_in_minute)' , Optional)
Local_time second_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_sense (Type= 'ENUMERATION (offset_orientation)' , Optional)
The direction of the offset. Enumeration values: 'ahead', 'exact' or 'behind'.
end_hour_offset (Type='INTEGER', Optional)
The number of hours by which a time is offset from Coordinated Universal Time.
end_minute_offset (Type='INTEGER', Optional)
The number of minutes by which a time is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
role_class_name (Type='CLASS')
The name of the class being used to classify the effectivity assignment (Effectivity_assignment) This provides the role for the assignment.
The following classes and their sub-classes can be used:
classifications: "Effectivity_assignment" (urn:plcs:rdl:std:Effectivity_assignment)
role_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name.
items (Type= 'SELECT (effectivity_item)' )
The items to which the dated effectivity is assigned.
Reference parameters
The following reference parameters are defined for this template:
eff_asgn(Type='ENTITY (Effectivity_assignment)')
Allow the Effectivity_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity_assignment entity can be referenced in a template path by:
%^target = $assigning_dated_effectivity.eff_asgn%
where target is the parameter to which the Effectivity_assignment is bound.
dated_effectivity(Type='ENTITY (Dated_effectivity)')
Allow the Dated_effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Dated_effectivity entity can be referenced in a template path by:
%^target = $assigning_dated_effectivity.dated_effectivity%
where target is the parameter to which the Dated_effectivity is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Instantiate Effectivity_assignment entity
Effectivity_assignment

-- Set the Effectivity_assignment attribute role to be ignored
Effectivity_assignment.role = '/IGNORE'

-- Bind the Effectivity_assignment to the parameter ^eff_asgn.
-- The parameter is a reference parameter so the Effectivity_assignment
-- entity can be referred to when this template is used.
%^eff_asgn = Effectivity_assignment%

-- Assign reference data to Effectivity_assignment
/assigning_reference_data(
    items=Effectivity_assignment,
    class_name=@role_class_name,
    ecl_id=@role_ecl_id)/

-- Instantiate representing_dated_effectivity
/representing_dated_effectivity(
    start_year=@start_year,
    start_month=@start_month,
    start_day=@start_day,
    start_hour=@start_hour,
    start_minute=@start_minute,
    start_second=@start_second,
    start_sense=@start_sense,
    start_hour_offset=@start_hour_offset,
    start_minute_offset=@start_minute_offset,
    end_year=@end_year,
    end_month=@end_month,
    end_day=@end_day,
    end_hour=@end_hour,
    end_minute=@end_minute,
    end_second=@end_second,
    end_sense=@end_sense,
    end_hour_offset=@end_hour_offset,
    end_minute_offset=@end_minute_offset)/

-- Bind the Dated_effectivity instantiated by the
-- template representing_dated_effectivity
-- to the parameter ^dated_effectivity.
-- The parameter is a reference parameter so the
-- Dated_effectivity can be referred to when this template is used.
-- %^dated_effectivity = $representing_dated_effectivity.^dated_effectivity%
%^dated_effectivity = $representing_dated_effectivity.dated_effectivity%

-- Set the Effectivity_assignment.assigned_effectivity to
-- the Dated_effectivity entity instantiated by
-- representing_dated_effectivity
-- Effectivity_assignment.assigned_effectivity -> $representing_dated_effectivity.^dated_effectivity
-- Effectivity_assignment.assigned_effectivity -> $representing_dated_effectivity.dated_effectivity
Effectivity_assignment.assigned_effectivity -> ^dated_effectivity

-- Assign the Effectivity_assignment
-- to the instances passed into the template through the @items
-- input parameter (e.g. an Next_assembly_usage)
Effectivity_assignment.items -> @items
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Effectivity_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_dated_effectivity(start_year='2005', start_month='11', start_day='22', start_hour='15', start_minute='15', start_second='00', start_sense='ahead', start_hour_offset='2', start_minute_offset='', end_year='2005', end_month='12', end_day='24', end_hour='15', end_minute='15', end_second='', end_sense='ahead', end_hour_offset='1', end_minute_offset='', role_class_name='Actual_effectivity', role_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated assigning_dated_effectivity template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by template assigning_dated_effectivity

Figure 3 —  Entities instantiated by template assigning_dated_effectivity

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_dated_effectivity(start_year='2005', start_month='11', start_day='22', start_hour='15', start_minute='15', start_second='00', start_sense='ahead', start_hour_offset='2', start_minute_offset='', end_year='2005', end_month='12', end_day='24', end_hour='15', end_minute='15', end_second='', end_sense='ahead', end_hour_offset='1', end_minute_offset='', role_class_name='Actual_effectivity', role_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of template assigning_dated_effectivity

Figure 4 —  Instantiation of template assigning_dated_effectivity

Characterizations
No common characterizations of the template assigning_dated_effectivity have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_dated_effectivity (Short name: rep_date_eff)

This section specifies the template representing_dated_effectivity.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a Dated_effectivity.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_dated_effectivity". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_dated_effectivity

Figure 1 —  An EXPRESS-G representation of the Information model for representing_dated_effectivity

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 representing_dated_effectivity template

Figure 2 —   The graphical representation of representing_dated_effectivity template

Input parameters
The following input parameters are defined for this template:
start_year (Type= 'TYPE (year_number)' )
Calendar_date year_component of the effectivity start date and time.
start_month (Type= 'TYPE (month_in_year_number)' )
Calendar_date month_component of the effectivity start date and time.
start_day (Type= 'TYPE (day_in_month_number)' )
Calendar_date day_component of the effectivity start date and time.
start_hour (Type= 'TYPE (hour_in_day)' )
Local_time hour_component of the effectivity start date and time.
start_minute (Type= 'TYPE (minute_in_hour)' , Optional)
Local_time minute_component of the effectivity start date and time. This parameter is optional. If not given, it will remain unset.
start_second (Type= 'TYPE (second_in_minute)' , Optional)
Local_time day_component of the effectivity start date and time. This parameter is optional. If not given, it will remain unset.
start_sense (Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset. Enumeration values: 'ahead', 'exact' or 'behind'.
start_hour_offset (Type='INTEGER')
The number of hours by which a time is offset from Coordinated Universal Time.
start_minute_offset (Type='INTEGER', Optional)
The number of minutes by which a time is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
end_year (Type= 'TYPE (year_number)' , Optional)
Calendar_date year_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_month (Type= 'TYPE (month_in_year_number)' , Optional)
Calendar_date month_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_day (Type= 'TYPE (day_in_month_number)' , Optional)
Calendar_date day_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_hour (Type= 'TYPE (hour_in_day)' , Optional)
Local_time hour_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_minute (Type= 'TYPE (minute_in_hour)' , Optional)
Local_time minute_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_second (Type= 'TYPE (second_in_minute)' , Optional)
Local_time second_component of the effectivity end date and time. This parameter is optional. If not given, it will remain unset.
end_sense (Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset. Enumeration values: 'ahead', 'exact' or 'behind'.
end_hour_offset (Type='INTEGER')
The number of hours by which a time is offset from Coordinated Universal Time.
end_minute_offset (Type='INTEGER', Optional)
The number of minutes by which a time is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
Reference parameters
The following reference parameters are defined for this template:
dated_effectivity(Type='ENTITY (Dated_effectivity)')
Allow the Dated_effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Dated_effectivity entity can be referenced in a template path by:
%^target = $representing_dated_effectivity.dated_effectivity%
where target is the parameter to which the Dated_effectivity is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Instantiate Dated_effectivity entity
Dated_effectivity

-- Bind the Dated_effectivity entity to the parameter dated_effectivity
-- The dated_effectivity parameter is a reference parameter so the
-- Dated_effectivity entity can be referred to when this template is used.
%^dated_effectivity = Dated_effectivity%

-- Set the Dated_effectivity attributes to be ignored
Dated_effectivity.id = '/IGNORE'
Dated_effectivity.name = '/IGNORE'
Dated_effectivity.description = '/IGNORE'

-- Set up date for start_bound - Instantiate the representing_date_time template
/representing_date_time(
    year=@start_year,
    month=@start_month,
    day=@start_day,
    hour=@start_hour,
    minute=@start_minute,
    second=@start_second,
    sense=@start_sense,
    hour_offset=@start_hour_offset,
    minute_offset=@start_minute_offset)/

-- representing_date_time has a reference parameter ^date_time
-- which is bound to the entity Date_time
-- Assign Dated_effectivity.start_bound to ^date_time
%^start_date_time = $representing_date_time.date_time%
Dated_effectivity.start_bound -> ^start_date_time

-- Set up date for end_bound - Instantiate the representing_date_time template
-- NOTE - this is optional
/representing_date_time(
    year=@end_year,
    month=@end_month,
    day=@end_day,
    hour=@end_hour,
    minute=@end_minute,
    second=@end_second,
    sense=@end_sense,
    hour_offset=@end_hour_offset,
    minute_offset=@end_minute_offset)/

-- representing_date_time has a reference parameter ^date_time
-- which is bound to the entity Date_time
-- Assign Dated_effectivity.end_bound to ^date_time
%^end_date_time = $representing_date_time.date_time%
Dated_effectivity.end_bound -> ^end_date_time
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Dated_effectivity.id '/IGNORE' Effectivity.id
Dated_effectivity.name '/IGNORE' Effectivity.name
Dated_effectivity.description '/IGNORE' Effectivity.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_dated_effectivity_start_date(start_year='2005', start_month='11', start_day='22', start_hour='15', start_minute='15', start_second='00', start_sense='exact', start_hour_offset='0', start_minute_offset='')/
(an illustration of the consolidated representing_dated_effectivity_start_date template is shown in Figure 5 below.)

This is an example of when setting a start_bound dated effectivity, when e.g. the end_bound date is not yet known. This may be used when the end_bound date is dependent on other events, such as start date for installation (end date unknown until part needs to be replaced, at which point the end_bound date for this date_effectivity is set simultaneously as the start_bound date for the replacing part is set).



Figure 3 —  Entities instantiated by representing_dated_effectivity template, 
          when only start_bound attribute is used

Figure 3 —  Entities instantiated by representing_dated_effectivity template, when only start_bound attribute is used

The instance diagram in Figure  4 shows an example of the EXPRESS entities and templates that are instantiated by the template: (an illustration of the consolidated template is shown in Figure 5 below.)
/representing_dated_effectivity(start_year='2005', start_month='11', start_day='22', start_hour='15', start_minute='15', start_second='00', start_sense='exact', start_hour_offset='0', start_minute_offset='', end_year='2005', end_month='12', end_day='24', end_hour='15', end_minute='15', end_second='', end_sense='exact', end_hour_offset='0', end_minute_offset='')/
Note that the template assigning_identification is used in the diagram. Namely:
@1 /assigning_identification(id='Release 1', id_class_name='Effectivity_identification_code', id_ecl_id='urn:plcs:rdl:std', items='#242')/


Figure 4 —  Entities instantiated by representing_dated_effectivity template, 
          using both start and end_bound dates

Figure 4 —  Entities instantiated by representing_dated_effectivity template, using both start and end_bound dates

The instance diagram in Figure 5 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_dated_effectivity(start_year='2005', start_month='11', start_day='22', start_hour='15', start_minute='15', start_second='00', start_sense='exact', start_hour_offset='0', start_minute_offset='', end_year='2005', end_month='12', end_day='24', end_hour='15', end_minute='15', end_second='', end_sense='exact', end_hour_offset='0', end_minute_offset='')/


Figure 5 —  Instantiation of representing_dated_effectivity template

Figure 5 —  Instantiation of representing_dated_effectivity template

Characterizations
The following section details how the representing_dated_effectivity 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 identifiers

NOTE   this characterization is optional.

Identifiers can be associated with the dated_effectivity in a given role by using the template assigning_identification. to assign the identifier to Dated_effectivity. The identification assignment is classified as: "Effectivity identification code" (urn:plcs:rdl:std:Effectivity identification code). This is illustrated in Figure 4.

Template: assigning_conditional_effectivity (Short name: asg_cond_eff)

This section specifies the template assigning_conditional_effectivity.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to assign effectivities where the effectivity statement is defined in terms of a single defined entity in PLCS.

NOTE    For the definition of more complex conditional effectivity statements, e.g. "if sea-based or humid environment", the user is advised to define complex conditional effectivities using the templates; assigning_effectivity, assigning_condition and representing_condition_relationship.

AP239 Issue (GYL-16)
The ISO-10303-239 1st edition does not support the assignment of a Condition to an Effectivity.

This has been raised as issue, GYL-16, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_conditional_effectivity". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_conditional_effectivity

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_conditional_effectivity

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_conditional_effectivity template

Figure 2 —  The graphical representation of the assigning_conditional_effectivity template

Input parameters
The following input parameters are defined for this template:
para_class (Type='CLASS')
The name of the External_class being used to determine the Condition_parameter type.
The following classes and their sub-classes can be used:
classifications: "Condition_parameter" (urn:plcs:rdl:std:Condition_parameter)
para_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the definition for the class being used.
target_items (Type= 'SELECT (effectivity_item)' )
The items which are the target for the assigned effectivity, i.e. the items which are subject for restricted usage.
condition_para_item (Type= 'SELECT (condition_parameter_item)' )
The item which defines the domain in which the @target_items are effective.
Reference parameters
The following reference parameters are defined for this template:
effectivity(Type='ENTITY (Effectivity)')
Allow the Effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.effectivity%
where target is the parameter to which the Effectivity is bound.
cond(Type='ENTITY (Condition)')
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_conditional_effectivity.cond%
where target is the parameter to which the Condition is bound.
cond_asg(Type='ENTITY (Condition_assignment)')
Allow the Condition_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Condition_assignment entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.cond_asg%
where target is the parameter to which the Condition_assignment is bound.
cond_para(Type='ENTITY (Condition_parameter)')
Allow the Condition_parameter entity instantiated in this path to be referenced when this template is used.
Note: The Condition_parameter entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.cond_para%
where target is the parameter to which the Condition_parameter is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Set up the effectivity entity
/assigning_effectivity(
    items=@target_items,
    eff_class_name='Conditional_effectivity',
    eff_ecl_id='urn:plcs:rdl:std',
    role_class_name='Effectivity_target',
    role_ecl_id='urn:plsc:rdl:std')/
%^effectivity = $assigning_effectivity.effectivity%

-- Assign the parameter defining the effectivity domain to the condition parameter item
-- and assign the reference parameter ^effectivity from the instantiated assigning_effectivity
-- template to the condition item
/assigning_condition(
    cond_item=^effectivity,
    cond_para_item=@condition_para_item,
    cond_asg_class='Effectivity_context_assignment',
    cond_asg_ecl_id='urn:plcs:rdl:std',
    cond_class='Effectivity_context',
    cond_ecl_id='urn:plcs:rdl:std')/
%^cond = $assigning_condition.cond%
%^cond_asg = $assigning_condition.cond_asg%
%^cond_para = $assigning_condition.cond_para%

-- Assign the External_class in the reference data library
-- being used to determine type of condition parameter
/assigning_reference_data(
    items=^cond_para,
    class_name=@para_class,
    ecl_id=@para_ecl_id)/
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_conditional_effectivity(para_class='Performing_organization', para_ecl_id='urn:plcs:rdl:sample', target_items='#3', condition_para_item='#4')/
(an illustration of the consolidated assigning_conditional_effectivity template is shown in Figure 4 below.)
AP239 Issue (GYL-17)
The ISO-10303-239 1st edition does not support the Organization_type as being the parameter of Condition_parameter.

This has been raised as issue, GYL-17, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.



Figure 3 —  Entities instantiated by assigning_conditional_effectivity template

Figure 3 —  Entities instantiated by assigning_conditional_effectivity 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:
/assigning_conditional_effectivity(para_class='Performing_organization', para_ecl_id='urn:plcs:rdl:sample', target_items='#3', condition_para_item='#4')/


Figure 4 —  Instantiation of assigning_conditional_effectivity template

Figure 4 —  Instantiation of assigning_conditional_effectivity template

Characterizations
No common characterizations of the template assigning_conditional_effectivity have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_effectivity (Short name: asg_eff)

This section specifies the template assigning_effectivity.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent the assignment of an Effectivity.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_effectivity". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_effectivity

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_effectivity

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_effectivity template

Figure 2 —  The graphical representation of the assigning_effectivity template

Input parameters
The following input parameters are defined for this template:
eff_class_name (Type='CLASS')
The name of the class being used to classify the effectivity (Effectivity) This provides the role for the effectivity.
The following classes and their sub-classes can be used:
classifications: "Effectivity" (urn:plcs:rdl:std:Effectivity)
eff_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @eff_class_name.
role_class_name (Type='CLASS')
The name of the class being used to classify the effectivity assignment (Effectivity_assignment) This provides the role for the assignment.
The following classes and their sub-classes can be used:
classifications: "Effectivity_assignment" (urn:plcs:rdl:std:Effectivity_assignment)
role_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name.
items (Type= 'SELECT (effectivity_item)' )
The items to which the effectivity is assigned.
Reference parameters
The following reference parameters are defined for this template:
eff_asg(Type='ENTITY (Effectivity_assignment)')
Allow the Effectivity_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity_assignment entity can be referenced in a template path by:
%^target = $assigning_effectivity.eff_asg%
where target is the parameter to which the Effectivity_assignment is bound.
effectivity(Type='ENTITY (Effectivity)')
Allow the Effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity entity can be referenced in a template path by:
%^target = $assigning_effectivity.effectivity%
where target is the parameter to which the Effectivity is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Instantiate the Effectivity entity
Effectivity

-- Set the Effectivity attributes id, name and description to be ignored
Effectivity.id = '/IGNORE'
Effectivity.name = '/IGNORE'
Effectivity.description = '/IGNORE'

-- Bind the Effectivity entity to the parameter ^effectivity.
-- The parameter is a reference parameter so the Effectivity
-- entity can be referred to when this template is used.
%^effectivity = Effectivity%

-- Assign reference data to Effectivity
/assigning_reference_data(
    items=^effectivity,
    class_name=@eff_class_name,
    ecl_id=@eff_ecl_id)/

-- Instantiate Effectivity_assignment entity
Effectivity_assignment

-- Set the Effectivity_assignment attribute role to be ignored
Effectivity_assignment.role = '/IGNORE'

-- Bind the Effectivity_assignment to the parameter ^eff_asg.
-- The parameter is a reference parameter so the Effectivity_assignment
-- entity can be referred to when this template is used.
%^eff_asg = Effectivity_assignment%

-- Assign reference data to Effectivity_assignment
/assigning_reference_data(
    items=^eff_asg,
    class_name=@role_class_name,
    ecl_id=@role_ecl_id)/

-- Set the Effectivity_assignment.assigned_effectivity attribute to the Effectivity entity
-- instantiated at the beginning of this path
Effectivity_assignment.assigned_effectivity -> Effectivity

-- Assign the Effectivity_assignment
-- to the instances passed into the template through the @items
-- input parameter
Effectivity_assignment.items -> @items
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Effectivity.id '/IGNORE'
Effectivity.name '/IGNORE'
Effectivity.description '/IGNORE'
Effectivity_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_effectivity(items='#1', eff_class_name='Design_effectivity', eff_ecl_id='urn:plcs:rdl:sample', role_class_name='Effectivity_target', role_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated assigning_effectivity template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_effectivity template

Figure 3 —  Entities instantiated by assigning_effectivity template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_METHOD_VERSION_ASSIGNMENT($,(),'/IGNORE'); #2 = EFFECTIVITY('/IGNORE','/IGNORE','/IGNORE'); #3 = EFFECTIVITY_ASSIGNMENT(#2,'/IGNORE',(#1)); #5 = CLASSIFICATION_ASSIGNMENT(#7,(#3),'/IGNORE'); #7 = EXTERNAL_CLASS('/NULL','Effectivity_target','/IGNORE',#8); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample',$); #10 = CLASSIFICATION_ASSIGNMENT(#12,(#2),'/IGNORE'); #12 = EXTERNAL_CLASS('/NULL','Design_effectivity','/IGNORE',#8);
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_effectivity(items='#1', eff_class_name='Design_effectivity', eff_ecl_id='urn:plcs:rdl:sample', role_class_name='Effectivity_target', role_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Instantiation of assigning_effectivity template

Figure 4 —  Instantiation of assigning_effectivity template

Characterizations
The following section details how the assigning_effectivity 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 descriptions

NOTE   this characterization is optional.

Descriptions can be assigned to Effectivity using the template assigning_descriptor.

Characterization Assigning identifications

NOTE   this characterization is optional.

Names can be assigned to the Effectivity using the template assigning_identification.

Template: representing_serial_effectivity (Short name: rep_serial_eff)

This section specifies the template representing_serial_effectivity.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a serial effectivity ( Serial_effectivity).

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_serial_effectivity". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_serial_effectivity

Figure 1 —  An EXPRESS-G representation of the Information model for representing_serial_effectivity

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_serial_effectivity template

Figure 2 —  The graphical representation of the representing_serial_effectivity template

Input parameters
The following input parameters are defined for this template:
start_id (Type='STRING')
Identification of the first serialized item within a range of serialized items.
end_id (Type='STRING', Optional)
Identification of the last serialized item within the range of serialized items.
Reference parameters
The following reference parameters are defined for this template:
serial_eff(Type='ENTITY (Serial_effectivity)')
Allow the Serial_effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Serial_effectivity entity can be referenced in a template path by:
%^target = $representing_serial_effectivity.serial_eff%
where target is the parameter to which the Serial_effectivity is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
Serial_effectivity

-- Mark the Serial_effectivity entity as
-- referable when this template is used by binding it to the reference
-- parameter serial_eff
%^serial_eff = Serial_effectivity%
Serial_effectivity.id = '/IGNORE'
Serial_effectivity.name = '/IGNORE'
Serial_effectivity.description = '/IGNORE'
Serial_effectivity.start_id = @start_id
Serial_effectivity.end_id = @end_id
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Serial_effectivity.id '/IGNORE' Effectivity.id
Serial_effectivity.name '/IGNORE' Effectivity.name
Serial_effectivity.description '/IGNORE' Effectivity.description
Serial_effectivity.start_id @start_id
Serial_effectivity.end_id @end_id
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_serial_effectivity(start_id='101', end_id='110')/
(an illustration of the consolidated representing_serial_effectivity template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_serial_effectivity template

Figure 3 —  Entities instantiated by representing_serial_effectivity 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_serial_effectivity(start_id='101', end_id='110')/


Figure 4 —  Instantiation of representing_serial_effectivity template

Figure 4 —  Instantiation of representing_serial_effectivity template

Characterizations
No common characterizations of the template representing_serial_effectivity have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_serial_effectivity (Short name: asg_serial_eff)

This section specifies the template assigning_serial_effectivity.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to assign an Serial_effectivity. A Serial_effectivity is a type of Effectivity for which the domain of applicability is defined as a possibly open-ended interval of serial numbers.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_serial_effectivity". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for assigning_serial_effectivity

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_serial_effectivity

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_serial_effectivity template

Figure 2 —  The graphical representation of the assigning_serial_effectivity template

Input parameters
The following input parameters are defined for this template:
start_id (Type='STRING')
Identification of the first serialized item within a range of serialized items.
end_id (Type='STRING', Optional)
Identification of the last serialized item within the range of serialized items.
role_class_name (Type='CLASS')
The name of the class being used to classify the effectivity assignment (Effectivity_assignment) This provides the role for the assignment.
The following classes and their sub-classes can be used:
classifications: "Effectivity_assignment" (urn:plcs:rdl:std:Effectivity_assignment)
role_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name.
items (Type= 'SELECT (effectivity_item)' )
The items to which the effectivity is assigned.
Reference parameters
The following reference parameters are defined for this template:
serial_eff(Type='ENTITY (Serial_effectivity)')
Allow the Serial_effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Serial_effectivity entity can be referenced in a template path by:
%^target = $assigning_serial_effectivity.serial_eff%
where target is the parameter to which the Serial_effectivity is bound.
eff_asgn(Type='ENTITY (Effectivity_assignment)')
Allow the Effectivity_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity_assignment entity can be referenced in a template path by:
%^target = $assigning_serial_effectivity.eff_asgn%
where target is the parameter to which the Effectivity_assignment is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Instantiate Effectivity_assignment entity
Effectivity_assignment

-- Set the Effectivity_assignment attribute role to be ignored
Effectivity_assignment.role = '/IGNORE'

-- Bind the Effectivity_assignment to the parameter ^eff_asgn.
-- The parameter is a reference parameter so the Effectivity_assignment
-- entity can be referred to when this template is used.
%^eff_asgn = Effectivity_assignment%

-- Assign reference data to Effectivity_assignment
/assigning_reference_data(
    items=^eff_asgn,
    class_name=@role_class_name,
    ecl_id=@role_ecl_id)/

-- Instantiate representing_serial_effectivity
/representing_serial_effectivity(
    start_id=@start_id,
    end_id=@end_id)/
Serial_effectivity

-- Mark the Serial_effectivity entity as
-- referable when this template is used by binding it to the reference
-- parameter serial_eff
%^serial_eff = Serial_effectivity%

-- Bind the Serial_effectivity instantiated by the
-- template representing_serial_effectivity
-- to the parameter ^serial_eff.
-- The parameter is a reference parameter so the
-- Serial_effectivity can be referred to when this template is used.
%^serial_eff = $representing_serial_effectivity.serial_eff%

-- Set the Effectivity_assignment.assigned_effectivity to
-- the Serial_effectivity entity instantiated by
-- representing_serial_effectivity
Effectivity_assignment.assigned_effectivity -> ^serial_eff

-- Assign the Effectivity_assignment
-- to the instances passed into the template through the @items
-- input parameter (e.g. an Next_assembly_usage)
Effectivity_assignment.items -> @items
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Effectivity_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_serial_effectivity(start_id='101', end_id='110', role_class_name='Task_effectivity', role_ecl_id='urn:plcs:rdl:sample', items='#1')/
(an illustration of the consolidated assigning_serial_effectivity template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_serial_effectivity template

Figure 3 —  Entities instantiated by assigning_serial_effectivity 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:
/assigning_serial_effectivity(start_id='101', end_id='110', role_class_name='Task_effectivity', role_ecl_id='urn:plcs:rdl:sample', items='#1')/


Figure 4 —  Instantiation of assigning_serial_effectivity template

Figure 4 —  Instantiation of assigning_serial_effectivity template

Characterizations
No common characterizations of the template assigning_serial_effectivity have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.

Related capabilities

This capability "Assigning effectivity" is related to the following capabilities:

Dependent capabilities

This capability "Assigning effectivity" is dependent on the following capabilities:

Model reference data

The following classes of reference data are required for this capability:

[Actual]
[warning:]Error RDL1: The class Actual does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Planned]
[warning:]Error RDL1: The class Planned does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Actual_start]
[warning:]Error RDL1: The class Actual_start does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Actual_end]
[warning:]Error RDL1: The class Actual_end does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Actual_duration]
[warning:]Error RDL1: The class Actual_duration does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Planned_start]
[warning:]Error RDL1: The class Planned_start does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Planned_end]
[warning:]Error RDL1: The class Planned_end does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Planned_duration]
[warning:]Error RDL1: The class Planned_duration does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Required_start]
[warning:]Error RDL1: The class Required_start does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Required_end]
[warning:]Error RDL1: The class Required_end does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Inheritance]
[warning:]Error RDL1: The class Inheritance does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Constraint]
[warning:]Error RDL1: The class Constraint does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml

© OASIS 2010 — All rights reserved