PDM-UG: Configuration Composition Management

From WikiSTEP

Jump to: navigation, search

This page belongs to the PDM Usage Guide.

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.

Effectivity is a key concept to control the valid use of product data. The PDM Schema supports the association of effectivity information to different types of product data. Two different effectivity concepts are available:

  • configuration effectivity, describing the planned use of part occurrences (i.e., occurrences of parts as sub-assemblies or component parts in some higher level assembly) in the context of a configuration_item defined for a product_concept.
  • a more generic effectivity, describing the validity period in which the associated product data may be used independent from any additional context (e.g., life-cycle or organization related) that further restricts the applicability of that effectivity (see General Validity Period).

Contents

Configuration effectivity

Configuration effectivity allows control of the constituent parts that should be used to build the physical instances of a product configuration. The composition of the product configurations for planned units of manufacture may be controlled for a given time period, lot, or serial number range. This is managed using dated_effectivity, lot_effectivity, or serial_numbered_effectivity.

Effectivity

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.

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 define when and in which context these product data may be used.

Within the PDM Schema, there are two areas identified for the usage of the effectivity concept: configuration effectivity and general validity period effectivity. These two areas are reflected by two orthogonal subtype structures defined for the effectivity entity.

One subtype structure contains the effectivity subtypes dated_effectivity, lot_effectivity, serial_numbered_effectivity, and time_interval_based_effectivity, restricting 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. There is a ONEOF constraint between these subtypes, i.e., an effectivity can be, at most, one of dated_effectivity, lot_effectivity, serial_numbered_effectivity, and time_interval_based_effectivity.

The other subtype structure contains product_definition_effectivity as subtype of effectivity, and configuration_effectivity as subtype of product_definiton_effectivity. The subtypes in the second structure are restricted to apply to a particular usage occurrence of a constituent part in some higher-level assembly.

Attributes

  • The id attribute specifies the identifier that distinguishes the effectivity.


ENTITY effectivity Attribute Population Remarks
id type: identifier = string identifier of the effectivity
name DERIVEd attribute
type: label = string
at most one name can be associated via the entity name_attribute
description DERIVEd attribute
type: text = string
at most one description can be associated via the entity description_attribute

===Preprocessor Recommendations=== 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 applied_effectivity_assignment or by using the subtype configuration_effectivity, or the effectivity should have a relationship to some other effectivity that is assigned to some product data through effectivity_relationship (see 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 (see Effectivity relationship).

An identifier need not to be specified for a particular effectivity. If used, the id value should be unique in conjunction with the product data the effectivity is assigned to, and if present, the context restricting the applicability of the effectivity to a certain usage.

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

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

  • applied_effectivity_assignment to assign the effectivity to the product data to which it applies. Applied_effectivity_assignment is only used in general validity period assignment (see General Validity Period); it may not be used to assign product_definition_effectivity.
  • effectivity_relationship to associate two effectivities, e.g., to base the definition of one effectivity on the definition of the other, or to describe their dependencies.

Product definition effectivity

The product_definition_effectivity entity is a subtype of effectivity. It applies to a particular occurrence of a component or sub-assembly part as used within an assembly. It is the identification of a valid use of a particular product_definition in the context of its participation in a given product_definition_usage. The effectivity applies to a product_definition that is referenced as the related_product_definition by the product_definition_relationship associated to the product_definition_effectivity through the usage attribute.

Attributes

  • The usage attribute specifies the product_definition_relationship defining the product_definition to which the effectivity applies as the related_product_definition, and identifying the usage context for which the effectivity applies.


ENTITY product_definition_effectivity Attribute Population Remarks
id see supertype  
name see supertype DERIVEd attribute
description see supertype DERIVEd attribute
usage type: entity = product_definition_relationship reference to the associated product_definition_relationship

===Preprocessor Recommendations=== In the context of the PDM Schema, product_definition_effectivity is only used as configuration_effectivity, i.e., product_definition_effectivity should always be instantiated as its subtype configuration_effectivity.

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

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

Configuration effectivity

The entity configuration_effectivity is a subtype of product_definition_effectivity that contains information about the planned usage of components in a product configuration. It defines the valid use of a particular product_definition occurrence at a certain position in the assembly structure for a specified product configuration.

The configuration_effectivity entity allows the association of the appropriate versions of constituent parts intended to be used at the defined position in the assembly structure to build a configuration_item. In the context of the PDM Schema, the configuration_effectivity always relates to a particular unit of manufacture of the end items of the given configuration_item. The three ways to instantiate configuration_effectivity are:

  • serial_numbered_effectivity, where the configuration_effectivity defines the valid use of constituent part occurrences for a serial number range of instances of a product configuration to be manufactured;
  • dated_effectivity, where the configuration_effectivity defines the valid use of constituent part occurrences for a time range based on dates when instances of the product configuration are manufactured;
  • lot_effectivity, where the configuration_effectivity defines the valid use of constituent part occurrences for a given lot of instances of a product configuration to be manufactured.

Attributes

  • The configuration attribute identifies the configuration_design that specifies the associated configuration_item for which the configuration_effectivity applies, and the corresponding product_definition_formation which defines the design that implements the configuration_item and thus specifies the upper most node ('entry point') in its product structure.

The particular usage of the constituent part the effectivity applies to is defined as product_definition_usage referenced by the usage attribute. The product_definition_usage should be instantiated as an assembly_component_usage or one of its subtypes (see Product concept). The attribute related_product_definition specifies the definition of a constituent part, and the attribute relating_ product_definition specifies the definition of the assembly (or sub-assembly) in which the constituent may be used. This assembly definition is part of the design that implements the configuration_item for which the configuration_effectivity applies, i.e., it either is a part definition of the product_definition_formation defining the ('complete') design for the configuration_item, or it is an occurrence in the product structure of that complete design, i.e., is related to that in a tree of assembly_component_usage instances.


ENTITY configuration_effectivity Attribute Population Remarks
id see supertype The combination of the id attribute, the associated product_definition_usage and configuration_design has to uniquely identify the configuration_effectivity.
name see supertype DERIVEd attribute
description see supertype DERIVEd attribute
usage see supertype type is restricted to be a product_definition_usage <= product_definition_relationship
configuration type: entity = configuration_design reference to the configuration_design specifying the configuration_item which identifies the context in which the effectivity applies.

===Preprocessor Recommendations=== A configuration_effectivity should always be instantiated in conjunction, i.e., as complex instance with either dated_effectivity, lot_effectivity, or serial_numbered_effectivity to specify the dated time period, or the lot or serial number range for the manufacturing units of the associated configuration_item, for which the effectivity applies.

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

===Related Entities=== A configuration_effectivity may be referenced by the following entity:

  • applied_approval_assignment to assign approval information to the configuration_effectivity.

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 and end of the dated_effectivity. These points in time may be specified as date or a date and time, or by an event occurrence.

Attributes

  • The effectivity_start_date specifies the date_and_time or the event when the effectivity of the associated product data begins to apply. It defines the lower bound of the interval of applicability.
  • The effectivity_end_date specifies the date_and_time or the event when the effectivity of the associated product data ends. It defines the upper bound of the interval of applicability. If a value for this attribute is not defined, the interval of applicability has no upper limit.


ENTITY dated_effectivity Attribute Population Remarks
id see supertype  
name see supertype DERIVEd attribute
description see supertype DERIVEd attribute
effectivity_start_date type: entity = date_time_or_event_occurrence  
effectivity_end_date type: entity = date_time_or_event_occurrence OPTIONAL

===Preprocessor Recommendations=== In the context of the PDM Schema, dated_effectivity is used to specify configuration_effectivities, as well as general validity periods of product data. If used to specify the valid use of a part occurrence in the context of a date range for end items of an identified product configuration, dated_effectivity has to 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.

Lot effectivity

The entity lot_effectivity is a subtype of effectivity. It defines the domain of applicability as a given batch of end items.

Attributes

  • The effectivity_lot_id attribute specifies a production batch of end items for the manufacturing of which the effectivity applies.
  • The effectivity_lot_size attribute specifies the size of the batch of end items for the manufacturing of which the effectivity applies.


ENTITY lot_effectivity Attribute Population Remarks
id see supertype  
name see supertype DERIVEd attribute
description see supertype DERIVEd attribute
effectivity_lot_id type: identifier = string  
effectivity_lot_size type: entity = measure_with_unit reference to the measure with unit specifying the size of the lot to be manufactured

===Preprocessor Recommendations=== In the context of the PDM 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., configuration_item. Therefore, it is recommended to only instantiate a lot_effectivity 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.

Serial numbered effectivity

A serial_numbered_effectivity is a type of effectivity for which the domain of applicability is defined as a possibly open-ended interval of serial numbers.

Attributes

  • The effectivity_start_id attribute identifies the first valid serial number for which the effectivity applies.
  • The effectivity_end_id attribute the last valid serial number for which the effectivity applies. If a value for this attribute is not defined, the interval of applicability has no serial number defined as upper bound, i.e., the effectivity is expected to apply to all serial numbers greater than the effectivity_start_id.


ENTITY serial_numbered_effectivity Attribute Population Remarks
id see supertype  
name see supertype DERIVEd attribute
description see supertype DERIVEd attribute
effectivity_start_id type: identifier = string  
effectivity_end_id type: identifier = string OPTIONAL

===Preprocessor Recommendations=== In the context of the PDM Schema, serial_numbered_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., configuration_item. Therefore, it is recommended to only instantiate a serial_numbered_effectivity 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.

The Instance Model: EXPRESS entities and attributes

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

Image:Diagram_65_Configuration_Effectivity_Instance_Diagram_1.png
Image:Diagram_65_Configuration_Effectivity_Instance_Diagram_2.png
Image:Diagram_65_Configuration_Effectivity_Instance_Diagram_3.png
Diagram 65: Configuration Effectivity Instance Diagram

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

#100=PRODUCT_CONCEPT_CONTEXT('pcc_name1', #1, '');
#1=APPLICATION_CONTEXT('');
#2=PRODUCT_CONCEPT('PC-M01', 'PC model name1', 'PC system', #100);
#5=CONFIGURATION_ITEM('PC-Conf1', 'Base Config Europe', 'PC system standard configuration for Europe', #2, $);
#6=CONFIGURATION_ITEM('PC-Conf2', 'Base Config US', 'PC system standard configuration for US', #2, $);
#8=APPLICATION_CONTEXT('');
#9=PRODUCT_CONTEXT('', #8, '');
#10=PRODUCT('PC-0023', 'PC system', $, (#9));
#11=PRODUCT_DEFINITION_FORMATION('D', 'description of PC-0023,D', #10);
#12=PRODUCT_DEFINITION_CONTEXT('part definition', #8, 'design');
#14=PRODUCT_RELATED_PRODUCT_CATEGORY('part', $, (#10, #18, #20, #21, #22, #23));
#15=CONFIGURATION_DESIGN(#5, #11);
#16=CONFIGURATION_DESIGN(#6, #11);
#18=PRODUCT('MB-0013', 'Mainboard', $, (#9));
#19=PRODUCT_DEFINITION_FORMATION('F', 'description of MB-0013,F', #18);
#20=PRODUCT('PSU-0009', 'Power supply unit', 'Power supply unit 220V', (#9));
#21=PRODUCT('PSU-0011', 'Power supply unit', 'Power supply unit 110V', (#9));
#22=PRODUCT('PR-0133', 'CPU', 'Pentium II 233', (#9));
#23=PRODUCT('PR-0146', 'CPU', 'Pentium II 266', (#9));
#24=PRODUCT_DEFINITION_FORMATION('A', 'description of PSU-0009,A', #20);
#25=PRODUCT_DEFINITION_FORMATION('B', 'description of PSU-0009,B', #20);
#26=PRODUCT_DEFINITION_FORMATION('B', 'description of PSU-0011,B', #21);
#27=PRODUCT_DEFINITION_FORMATION('A', 'description of PR-0133,A', #22);
#28=PRODUCT_DEFINITION_FORMATION('C', 'description of PR-0146,C', #23);
#29=PRODUCT_DEFINITION('pc_v1', 'design view on PC-0023,D', #11, #12);
#30=PRODUCT_DEFINITION('mb_v1', 'design view on MB-0013,F', #19, #12);
#31=PRODUCT_DEFINITION('psu1A_v1', 'design view on PSU-0009,A', #24, #12);
#33=PRODUCT_DEFINITION('psu1B_v1', 'design view on PSU-0009,B', #25, #12);
#34=PRODUCT_DEFINITION('psua_v1', 'design view on PSU-0011,B', #26, #12);
#35=PRODUCT_DEFINITION('pr1_v1', 'design view on PR-0133,A', #27, #12);
#36=PRODUCT_DEFINITION('pr2_v1', 'design view on PR-0146,C', #28, #12);
#37=NEXT_ASSEMBLY_USAGE_OCCURRENCE('mb-u1', 'single instance usage', $, #29, #30, $);
#38=NEXT_ASSEMBLY_USAGE_OCCURRENCE('psu-u1', 'single instance usage', $, #29, #31, $);
#39=NEXT_ASSEMBLY_USAGE_OCCURRENCE('psu-u2', 'single instance usage', $, #29, #33, $);
#40=NEXT_ASSEMBLY_USAGE_OCCURRENCE('psu-u3', 'single instance usage', $, #29, #34, $);
#41=NEXT_ASSEMBLY_USAGE_OCCURRENCE('cpu-u1', 'single instance usage', $, #30, #35, $);
#42=NEXT_ASSEMBLY_USAGE_OCCURRENCE('cpu-u2', 'single instance usage', $, #30, #36, $);
#43=(CONFIGURATION_EFFECTIVITY(#15)
     DATED_EFFECTIVITY(#970, #910)
     EFFECTIVITY('')
     PRODUCT_DEFINITION_EFFECTIVITY(#38)
    );
#45=(CONFIGURATION_EFFECTIVITY(#15)
     DATED_EFFECTIVITY($, #1010)
     EFFECTIVITY('')
     PRODUCT_DEFINITION_EFFECTIVITY(#39)
    );
#46=(CONFIGURATION_EFFECTIVITY(#16)
     EFFECTIVITY('')
     PRODUCT_DEFINITION_EFFECTIVITY(#40)
     SERIAL_NUMBERED_EFFECTIVITY('PS253-000567', $)
    );
#47=(CONFIGURATION_EFFECTIVITY(#15)
     DATED_EFFECTIVITY($, #1160)
     EFFECTIVITY('')
     PRODUCT_DEFINITION_EFFECTIVITY(#41)
    );
#48=(CONFIGURATION_EFFECTIVITY(#16)
     EFFECTIVITY('')
     PRODUCT_DEFINITION_EFFECTIVITY(#41)
     SERIAL_NUMBERED_EFFECTIVITY('PS253-000345', 'PS253-000976')
    );
#49=(CONFIGURATION_EFFECTIVITY(#16)
     EFFECTIVITY('')
     PRODUCT_DEFINITION_EFFECTIVITY(#42)
     SERIAL_NUMBERED_EFFECTIVITY('PS253-000977', $)
    );
#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.);
#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 64: exchange file segment for configuration effectivity
Personal tools