PDM-UG: General Validity Period

From WikiSTEP

Jump to: navigation, search

This page belongs to the PDM Usage Guide.

The PDM Schema allows assignment of general validity periods to product data that control the usage of these product data independent of any particular usage. The object to which the general validity period effectivity is assigned is considered valid within the identified period of time for any usage and within all contexts.

Configuration effectivity is used to define the planned usage of components in the context of a particular product configuration. If both general validity period and configuration effectivity is assigned to a particular component, the more restrictive of the assigned effectivities should be considered as in effect.

Contents

General validity period effectivity

The general validity period effectivity is used to describe effectivities with respect to a certain time period in which the associated product data may be used. The object to which the general validity period effectivity is assigned is considered valid within the identified period of time.

The general validity effectivity may be applied in two ways:

  • usage independent general validity period,
  • usage dependent general validity period.

Usage independent general validity period effectivity can be applied to 'stand-alone' elements independent from their usage by some other element, such as part (or document) versions or particular views on these. If a general validity period effectivity is assigned to a product_definition_formation, it is assumed that this effectivity also applies to all associated product_definitions that do not carry their own effectivity information.

Usage dependent general validity period effectivity can be applied to product_definition_relationship instances representing a usage of the related_product_definition in the context of the relating_product_definition. It should be used to define the validity period in which the related_product_definition may be used/is to be used in the context of the relating_product_definition.

Usage dependent and usage independent effectivity concepts are referred to as structure related and version related effectivity. Either one can be used to describe a valid product data structure for a certain time range The two concepts can also be used in combination, but restrictions should apply for the defined validity periods. If different effectivities apply to a product_definition and a product_definition_relationship where the product_definition is the related_product_definition, then the effectivity period of the product_definition_relationship should be within the effectivity period defined for the related_product_definition.

The general validity period effectivity is based on the definition of the effectivity entity as defined in Effectivity. Two types of effectivity may be used to describe general validity period effectivity:

  • dated_effectivity, i.e., the validity period can be defined by the points in time when the period of applicability of the associated object starts and ends (see Dated effectivity),
  • time_interval_based_effectivity, i.e.the validity period is defined as an intervening time.

The Instance Model: EXPRESS entities and attributes

The EXPRESS entities and attributes essential to support the requirements of general validity period effectivity are illustrated in Diagram 66 below. The corresponding STEP exchange file encoding is given in Example 65 and Example 66.

Image:Diagram_66_General_validity_period_effectivity_Instance_Diagram.png
Diagram 66: General validity period effectivity Instance Diagram

Time interval based effectivity

The entity time_interval_based_effectivity is a subtype of effectivity for which the domain of applicability is defined as a possibly open time_interval. This type of effectivity enables the specification of an interval of time through one boundary and the duration of the interval.

Attributes

  • The effectivity_period attribute identifies the time_interval in which the associated product data is effective.


ENTITY time_interval_based_effectivity Attribute Population Remarks
id see supertype  
name see supertype DERIVEd attribute
description see supertype DERIVEd attribute
effectivity_period type: entity = time_interval  

===Preprocessor Recommendations=== In the context of the PDM Schema, time_interval_based_effectivity is only used to general validity periods for the associated product data. Therefore, it should not be instantiated in conjunction, i.e., as complex instance with configuration_effectivity.

===Postprocessor Recommendations=== There are no specific postprocessor recommendations.

===Related Entities=== There are no specific related entities.

Effectivity relationship

An effectivity_relationship is a relationship between two effectivity objects. The meaning of the effectivity relationship is given by its name 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.

Attributes

  • The name attribute specifies the meaning of the relationship.
  • The description attribute specifies additional information text that characterizes the effectivity_relationship.
  • The relating_effectivity specifies the first effectivity that is related by the effectivity_relationship. The relating_effectivity usually identifies the effectivity the definition of the related_effectivity is based on, e.g., derived from or dependent on. The semantics of this attribute should be defined by the name attribute.
  • The related_effectivity specifies the second effectivity related by the effectivity_relationship. The related_effectivity usually identifies the effectivity which is based on the definition of the relating_effectivity. The semantics of this attribute should be defined by the name attribute.


ENTITY effectivity_relationship Attribute Population Remarks
name type: label = string
description type: text = string OPTIONAL
relating_effectivity type: entity = effectivity  
related_effectivity type: entity = effectivity  

===PreprocessorRecommendations=== The name 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 name 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.

There is no standard mapping for the description attribute. The description attribute is optional, but may contain any appropriate/mutually-agreed-upon string. If this attribute is not needed/used, it should be assigned the value '$'.

===Postprocessor Recommendations=== There are no specific postprocessor recommendations.

===Related Entities=== There are no specific related entities.

Applied effectivity assignment

The general validity period effectivity may be applied to different types of product data, potentially specifying an additional role in which the effectivity is assigned. The effectivity_assignment entity defines a general mechanism to associate general validity period to some product data.

The entity applied_effectivity_assignment is a subtype of effectivity assignment. It adds the attribute items, which refers to the instances of product data to which the validity period is assigned. The types of product data to which general validity period effectivity may be assigned are defined in the effectivity_item select type.

The applied_effectivity_assignment entity should have a role associated with it through the entity object_role. If a role is associated, the applied_effectivity_assignment is referenced as the item_with_role by a role_association where the role is stored in the name attribute of the object_role associated as role. Role information may be used to distinguish between, e.g., required, planned, or actual, effectivities of an object.

Attributes

  • The assigned_effectivity specifies the effectivity which is assigned.
  • The items attribute specifies the set of items to which the associated effectivity is assigned.


ENTITY applied_effectivity_assignment Attribute Population Remarks
assigned_effectivity type: entity = effectivity  
role type: entity = object_role DERIVEd attribute
items type: entity = effectivity_item select SET[1:?]

===Preprocessor Recommendations=== applied_effectivity_assignment shall only be used to assign general validity period effectivities, i.e., the assigned effectivity shall not be of type lot_effectivity or serial_numbered_effectivity.

===Postprocessor Recommendations=== There are no specific postprocessor recommendations.

===Related Entities=== An applied_effectivity_assignment may be referenced by the following entities:

  • role_association to specify a object_role defining the role of the assignment.

Where applicable the following role values shall be used:

  • 'actual period': The actual period during which the Effectivity lasted;
  • 'actual start': The actual date in the past when the Effectivity became effective;
  • 'actual stop': The actual date in the past when the Effectivity ceased to be effective;
  • 'planned period': The period associated with the Effectivity defines a planned period of time during which the associated object is or was supposed to be effective;
  • 'planned start': The date or event associated with the Effectivity defines the date or event when the Effectivity is or was supposed to start;
  • 'planned stop': The date or event associated with the Effectivity defines the date or event when the Effectivity is or was supposed to stop;
  • 'required period': The associated object must be kept effective for this period;
  • 'required start': The date or event associated with the Effectivity is a due start date. Conformance to this bound is expected;
  • 'required stop': The date or event associated with the Effectivity is a due stop date. Conformance to this bound is expected.

The Instance Model: STEP exchange file format (ISO10303 Part 21 syntax)

#1=APPLICATION_CONTEXT('mechanical design');
#220=PRODUCT_CONTEXT('', #1, '');
#230=PRODUCT_DEFINITION_CONTEXT('part definition', #1, 'design');
#100=PRODUCT_RELATED_PRODUCT_CATEGORY('part', $, (#2));
/* part master definition with two succeeding versions*/
#2=PRODUCT('11000', 'solid cube', 'description for part 11000', (#220));
#3=PRODUCT_DEFINITION_FORMATION('A', 'version A for solid cube', #2);
#4=PRODUCT_DEFINITION('D1', 'detailed drawing as planned for STEP conformance testing', #3, #230);
#10=PRODUCT_DEFINITION_FORMATION('B', 'version B for part 11000', #2);
#11=PRODUCT_DEFINITION('D2', 'detailed drawing', #10, #230);
#16=PRODUCT_DEFINITION_FORMATION_RELATIONSHIP('id', 'sequence', $, #3, #10);
/* start and end dates for effectivity */
#910=DATE_AND_TIME(#920, #930);
#920=CALENDAR_DATE(2000, 1, 7);
#930=LOCAL_TIME(0, 0, 0., #940);
#940=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
#970=DATE_AND_TIME(#980, #990);
#980=CALENDAR_DATE(1999, 31, 3);
#990=LOCAL_TIME(0, 0, 0., #1000);
#1000=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
#1010=DATE_AND_TIME(#1020, #1030);
#1020=CALENDAR_DATE(1999, 1, 4);
#1030=LOCAL_TIME(0, 0, 0., #1031);
#1031=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
/* effectivity definition and assignment */
#1040=DATED_EFFECTIVITY('', #970, #910);
#1041=DATED_EFFECTIVITY('', $, #1010);
#1042=APPLIED_EFFECTIVITY_ASSIGNMENT(#1040, (#3));
#1043=APPLIED_EFFECTIVITY_ASSIGNMENT(#1041, (#10));
#1044=OBJECT_ROLE('actual', $);
#1045=ROLE_ASSOCIATION(#1044, #1042);
#1046=ROLE_ASSOCIATION(#1044, #1043);
Example 65: exchange file segment for view independent general validity period effectivity
#10=APPLICATION_CONTEXT('mechanical design');
#100=PRODUCT_RELATED_PRODUCT_CATEGORY('part', $, (#380, #440));
#220=PRODUCT_CONTEXT('', #10, '');
#230=PRODUCT_DEFINITION_CONTEXT('part definition', #10, 'design');
#340=PRODUCT_DEFINITION_CONTEXT_ROLE('part definition type', $);
#350=PRODUCT_DEFINITION_CONTEXT('assembly definition', #10, '');
#360=PRODUCT_RELATED_PRODUCT_CATEGORY('detail', $, (#380));
#380=PRODUCT('g1', 'gasket', $, (#220));
#390=PRODUCT_DEFINITION_FORMATION('A', '', #380);
#400=PRODUCT_DEFINITION('gv1', 'design view on gasket A', #390, #230);
#420=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly', $, (#440));
#440=PRODUCT('s1', 'sleeve assembly', $, (#220));
#450=PRODUCT_DEFINITION_FORMATION('A', '', #440);
#460=PRODUCT_DEFINITION('sv1', 'design view on sleeve assembly', #450, #230);
#530=NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu-1', 'single instance usage', 'gasket usage left', #460, #400, $);
#540=NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu-2 ', 'single instance usage', 'gasket usage right', #460, #400, $);
#800=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#460, #350, #340);
#810=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#815, #350, #340);
#811=PRODUCT_DEFINITION_FORMATION('B', 'gasket modified', #380);
#812=PRODUCT_DEFINITION_FORMATION_RELATIONSHIP('', 'sequence', $, #390, #811);
#813=PRODUCT_DEFINITION_CONTEXT('part definition', #10, 'manufacturing');
#814=PRODUCT_DEFINITION('gv3', 'manufacturing view on gasket A', #390, #813);
#815=PRODUCT_DEFINITION('sv2', 'manufacturing view on sleeve assembly', #450, #813);
#816=NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu3', 'single instance usage', 'gasket usage left', #815, #814, $);
#817=NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu4', 'single instance usage', 'gasket usage right', #815, #814, $);
#818=NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu5', 'single instance usage', 'gasket usage left', #460, #821, $);
#819=NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu6', 'single instance usage', 'gasket usage right', #460, #821, $);
#821=PRODUCT_DEFINITION('gv2', 'design view on gasket B', #811, #230);
#910=DATE_AND_TIME(#920, #930);
#920=CALENDAR_DATE(2000, 1, 7);
#930=LOCAL_TIME(0, 0, 0., #940);
#940=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
#970=DATE_AND_TIME(#980, #990);
#980=CALENDAR_DATE(1999, 31, 3);
#990=LOCAL_TIME(0, 0, 0., #1000);
#1000=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
#1010=DATE_AND_TIME(#1020, #1030);
#1020=CALENDAR_DATE(1999, 1, 4);
#1030=LOCAL_TIME(0, 0, 0., #1031);
#1031=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
#1040=DATED_EFFECTIVITY('', #970, #910);
#1041=DATED_EFFECTIVITY('', $, #1010);
#1042=APPLIED_EFFECTIVITY_ASSIGNMENT(#1040, (#400));
#1043=APPLIED_EFFECTIVITY_ASSIGNMENT(#1041, (#821));
#1044=OBJECT_ROLE('actual', $);
#1045=ROLE_ASSOCIATION(#1044, #1042);
#1046=ROLE_ASSOCIATION(#1044, #1043);
#1050=DATED_EFFECTIVITY('', $, #1110);
#1051=DATED_EFFECTIVITY('', $, #1160);
#1052=APPLIED_EFFECTIVITY_ASSIGNMENT(#1050, (#460));
#1053=APPLIED_EFFECTIVITY_ASSIGNMENT(#1051, (#815, #814));
#1110=DATE_AND_TIME(#1120, #1130);
#1120=CALENDAR_DATE(2000, 15, 7);
#1130=LOCAL_TIME(0, 0, 0., #1140);
#1140=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
#1160=DATE_AND_TIME(#1170, #1180);
#1170=CALENDAR_DATE(2000, 1, 10);
#1180=LOCAL_TIME(0, 0, 0., #1190);
#1190=COORDINATED_UNIVERSAL_TIME_OFFSET(1, $, .AHEAD.);
Example 66: exchange file segment for general validity period effectivity applied to views
Personal tools