Defining Context From STEP AP203ed2 Schema, we find the key concepts for defining context are related to the following modules: ISO/TS 10303-1108:2005 Specification based configuration ISO/TS 10303-1057:2004 Effectivity ISO/TS 10303-1103:2010 Product class The concepts of most interest are: Product_class: A Product_class is a type of Product_concept that may be characterized with specifications. EXAMPLE A marketed family of wardrobes may be characterized by specifications of colour, number of doors and height. Specification: A Specification is a characteristic of products to be proposed to customers or users. EXAMPLE 1 'green', 'white', or 'black' are examples for specifications belonging to the Specification_category of type 'colour'. 'set of 3 drawers' or 'set of 5 drawers' are examples for specifications belonging to the Specification_category of type 'additional feature'. Dated_effectivity: A Dated_effectivity is a type of Effectivity for which the domain of applicability is defined as an interval of time bounded by dates or events. The interval may be open-ended. EXAMPLE Events may be used to bound a Dated_effectivity period, at planning phase. Lot_effectivity: A Lot_effectivity is a type of Effectivity for which the domain of applicability is defined as a given batch of items. 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. Time_interval_effectivity: A Time_interval_effectivity is a type of Effectivity for which the domain of applicability is defined as a Time_interval. Specification_based_product_version: A Specification_based_product_version is a type of Product_version that is defined by a Product_specification. NOTE 1 The entity Specification_based_product_version may be instantiated jointly with other subtypes of Product_version. EXAMPLE 1 Depending on the specialization of Product_version, a Specification_based_product_version may identify a part version that provides the design of a manufactured product, a document version that is a realization of a document product or a function version. NOTE 2 The Product_specification provides the set of specifications from which the product version shall be designed or manufactured. EXAMPLE 2 A brochure editor may offer to his customers various brochure types with variable paper quality, coloring, layout. These concepts can be represented with instances of the entities defined in the product_class module. Thus, an instance of Specification_based_product_version may identify a document version that is the realization of a particular kind of brochure with a particular selection of paper and layout. Product_configuration: A Product_configuration is the identification of a Product_concept as a configuration. NOTE 1 The entity Product_configuration corresponds to the concept of configuration item defined, in some configuration management standards, as an item subject to configuration management. EXAMPLE A Product_configuration may represent a component of a contracted product, onto which severe safety rules apply and for which configuration management is therefore rigorously applied. NOTE 2 A Product_configuration may identify a variation of a Product_concept, an entire Product_concept, or some portion thereof. NOTE 3 A Product_configuration can be established prior to the existence of a corresponding product. Product_specification: A Product_specification is a type of Product_configuration that characterizes a product or a set of products in a Product_class by a set of specifications. NOTE 1 A Product_specification identifies a manufacturable object, or expected as so. A Product_specification is defined with respect to the Product_class it is a member of. NOTE 2 The kind of product that is to be manufactured from the data of the Product_specification, is the kind of product that the item_context attribute identifies a class of. NOTE 3 The intent of the Product_specification entity is the identification of one manufacturable object whereas the intent of Product_class is the gathering of products with similar characteristics. The actual set of Specification instances for a Product_specification are obtained by the union of the Specification instances grouped in the defining_specifications attribute and of the Specification instances related to the considered Product_class through a Class_specification_association or a Class_condition_association with association_type 'identification' or 'non replaceable standard'. NOTE 4 The specification of a Product_specification may be incomplete: there may not be in 'defining specifications' any instance of Specification for some Specification_category declared as mandatory for the considered Product_class. For these Specification_category instances, any specification available in the context of the considered Product_class is considered as valid for the manufacturing of the product characterized by the considered Product_specification. EXAMPLE If the colour is not specified for a given product family, the specified product resulting from the realization of a Product_specification associated to the Product_class representing the product family may be without paint or painted in any available colour. To define a given configuration of a product, the Product_configuration needs to be pointed to by an Item_design_association, which ties a specific Product_version or Product_view_definition to Product_configuration to define it. There are at least two different approaches possible in creating this configuration item: 1. Tie the Product_configuration directly to a Product_version or Product_view_definition that represents the exact (sometimes referred to as "precise") product structure (or BOM). This causes the configuration to be locked into one particular set of versions of the components, with no deselection based on variant conditions. 2. Tie the Product_configuration to a Specification_based_product_version (sometimes referred to as "imprecise") product structure. This structure is then further qualified by the Product_specification it is linked to. This Product_specification will carry a set of Specifications that will define the various optional content that the configured product should contain. So the context of a given product should include both a Product_configuration and an Effectivity, to fully define the specific conditions to select the specific items for this particular configuration from all the items that make up the product's design structure (the "150% BOM"). We will define the specifics of what it takes for this next.