[step-manufacturing] EXTERNAL: Notes on Serial numbers

De Nijs, Jan jan.de.nijs at lmco.com
Mon Jul 18 12:17:02 EDT 2022


I am no ERP expert. I am trying to develop useful analytics on top of data generated in the supply chain.

  *   “what happens to part numbers”: no research that has been published, as far as I know. Just empirical experience. Because of significance added to part numbers, program identifiers for example. In many companies, engineering departments feel the need to “re-number” a part when re-using it, because it is used on another program. End result: many different part numbers are referencing exactly the same part. All this significance also discourages efforts to try to re-use topology: it is easier to slightly change a part (to make sure it legitimately gets another part number) than to try to deal with the issue of significance in part numbering. This is an industry wide problem.
It is my opinion that we risk the same, if we introduce significance to the serial number.
I agree, we have to have a human readable. No doubt. It has to be there. But let’s back it up with a UUID so that we can do data analytics easier.
  *   Are we proposing to store serial numbers in STEP? This feels to me like an ERP issue to me. Which I am not an expert in.
  *   Agree, the serial number is unique in the context of the part number. Still, I think it would make sense to have a UUID go with that human readable form of the part/serial number. Makes it much easier on the analytics.
  *   I get your point of the tuple. But if you push that to its logical end, you can add even more information in that collection: let’s add the Engineering Requirement as well. The tuple includes 4 data items: pn, sn, er, UUID:
     *   pn = 33, sn = 1, er = 1, UUID = x3d
     *   pn = 33, sn = 2, er =1, UUID = x6e9
     *   pn = 55, sn = 1, er = 1, UUID = xcfdd
     *   pn = 55, sn = 1, er = 2, UUID = x45ba
I think that the problem will be (but bear in mind that I am no expert in this either) to uncouple these. If we do the above, how can I easily find all “pn = 33”’s that have been made against er=1. Or which serial numbers? I think that it is far easier to create data source searches if each pn has its own UUID, each sn has its own UUID and each er has its own UUID. Again, Jan’s opinion.

In the past, I have shown the following picture (courtesy of Mitutoyo): it shows a UUID for each item (pn, sn, each er).  When going to a different sn, only the UUID for that sn changes. The other ones stay the same. That makes a lot of sense to me. Seems easy to search for data that way.

[cid:image001.png at 01D89A97.D3A33F60]

  *   Indeed, we can’t fix human fallacies through standards, but we can create systems that make it less easy to generate these fallacies. To me, that starts with things like the v5/v4 discussion. By adding v5 in there, you open the door for significance, which we, humans, will grab a hold off and push to the limit. We are wired like that. If we go v4, that will never be an option. To me, that would be an example where we can have an effect on the amount of fallacies humans can introduce to the system.
Therefore, when it comes to UUID’s, my preference on UUID’s remains v4, as I am extremely worried that if we allow v5’s, then human tendency will be to add significance to the UUID, which brings us back to the significance trap in the first place.
Thanks for the discussion. Sorry for massively going off-topic again.

Jan.

From: Thomas Thurman <thomas.r.thurman at imonmail.com>
Sent: Monday, July 18, 2022 9:28 AM
To: De Nijs, Jan (US) <jan.de.nijs at lmco.com>
Cc: step-manufacturing at steptools.com
Subject: Re: EXTERNAL: [step-manufacturing] Notes on Serial numbers

Jan,
See below.
A concern I have about this meta-data discussion is that it is in the realm of ERP.
Do we have any ERP subject matter experts on the team?
If so, could you raise your hand and help provide guidance here?
Tom


On Jul 18, 2022, at 6:06 AM, De Nijs, Jan <jan.de.nijs at lmco.com<mailto:jan.de.nijs at lmco.com>> wrote:

When it comes to serial numbers: Yes, there is a move to add more and more significance to the “human-readable” serial number. If this is the only way to identify a specific instance of a part number, then this will inevitably lead to inconsistencies again. Just like what happened with part numbers.
Jan, is there any published research on "what happened with part numbers"?
The only use case I know of is where the design owner changes to a different organization.
Recording design owner changes is documented in MIL-STD-130 (if I recall correctly), and is possible to exchange using STEP but there was never a recommended
practice written to guide the implementors.  This is an area of overlap with the LOTAR project, so it may be beneficial to have a joint discussion with them at some point.


In my view, there need to be 2 things, when it comes to serial numbers:

  1.  A human readable form.
This one can have as much significance as the user desires. Have it identify product, where it was made, when it was made etc etc.
  2.  A UUID to track this specific instance.
This number would be used by the applications to identify specifically which part we’re dealing with.

The combination of both will always be unique.
The above doesn't comply with common and standard practice.
Serial number is unique within the context of a part number
So the tuple (pn,sn) is unique and drives the generation of a UUIDv5, (or UUIDv4 if one adds it to the tuple that is internally controlled)

  *   pn = 33, sn = 1, UUID = x3d
  *   pn = 55, sn = 1, UUID = xcfdd
The human readable will inevitably lead to duplication, or massive inconsistencies when people are encouraged to re-use design on other assemblies.
We can't control human fallacies by data exchange standards.


I am advocating for human-readable/UUID combinations for many identifiers such as:

  1.  Part Number
  2.  Serial Number
  3.  Engineering Requirement
  4.  Shop Order Number
  5.  Person operating the equipment
  6.  Etc.

We are still in a world where we do a lot of the manufacturing orchestration by hand. That drives the need for human readable forms of these identifiers. But long term, as orchestration processes get automated, there is a need for UUID’s. Since humans are going to be always in (or at the very least close to) the loop, human readable forms are important. But the inconsistencies that that brings, need to be countered by a UUID, which will take a more and more central role as automation get s introduced.




Jan de Nijs
LM Fellow
Enterprise Digital Production
Lockheed Martin
Tel: (817) 762 2425 | Mobile: (817) 996 1552
Lockheed Martin <http://www.lockheedmartin.com/>

From: step-manufacturing <step-manufacturing-bounces at steptools.com<mailto:step-manufacturing-bounces at steptools.com>> On Behalf Of Thomas Thurman
Sent: Friday, July 15, 2022 10:49 AM
To: step-manufacturing at steptools.com<mailto:step-manufacturing at steptools.com>
Subject: EXTERNAL: [step-manufacturing] Notes on Serial numbers

Dear All,
Some information on serial numbers:

I asked Phil Spiby about serial numbers in application of life-cycle support and he mentioned two methods for as-built product he was aware of:
A-use the serial number as the product identifier
B-use a classification approach to not only add serial number but also organizational information.

ISO/TS 10303-1147:2019 Application module: Manufacturing configuration effectivity
is of interest.
A partial extract is provided for reference.

Best Regards,
Tom Thurman

scope:
This part of ISO 10303 specifies the application module Manufacturing configuration effectivity. The following are within the scope of this part of ISO 10303:

  *   serial number-based condition for the use of a component in a product proposed to market;
  *   production lot number-based condition for the use of a component in a product proposed to market;
  *   production date-based condition for the use of a component in a product proposed to market.
Here are the ARM definitions
4.2 ARM entity definitions
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
4.2.1 Dated_configuration   <image001.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/armexpg2.htm><image002.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/5_mapping.htm#aeentitydated_configuration>
A Dated_configuration is a type of Manufacturing_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.manufacturing_configuration> whose effectivity domain is a time interval.
The interval of time during which the Product_specification<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/specified_product/sys/4_info_reqs.htm#specified_product_arm.product_specification> has been, is, or will be produced.

EXPRESS specification:
*)
ENTITY Dated_configuration
  SUBTYPE OF (Manufacturing_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.manufacturing_configuration>);
  SELF\Item_usage_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/configuration_effectivity/sys/4_info_reqs.htm#configuration_effectivity_arm.item_usage_effectivity>.effectivity_domain : Dated_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/effectivity/sys/4_info_reqs.htm#effectivity_arm.dated_effectivity>;
END_ENTITY;
(*
Attribute definitions:

effectivity_domain: the Dated_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/effectivity/sys/4_info_reqs.htm#effectivity_arm.dated_effectivity> that defines the effectivity domain.

4.2.2 Lot_configuration   <image001.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/armexpg2.htm><image002.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/5_mapping.htm#aeentitylot_configuration>
A Lot_configuration is a type of Manufacturing_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.manufacturing_configuration> whose effectivity domain is identified by a production lot identifier.
The lot is a production lot of the Product_specification<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/specified_product/sys/4_info_reqs.htm#specified_product_arm.product_specification> under consideration.

EXPRESS specification:
*)
ENTITY Lot_configuration
  SUBTYPE OF (Manufacturing_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.manufacturing_configuration>);
  SELF\Item_usage_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/configuration_effectivity/sys/4_info_reqs.htm#configuration_effectivity_arm.item_usage_effectivity>.effectivity_domain : Lot_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/effectivity/sys/4_info_reqs.htm#effectivity_arm.lot_effectivity>;
END_ENTITY;
(*
Attribute definitions:

effectivity_domain: the Lot_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/effectivity/sys/4_info_reqs.htm#effectivity_arm.lot_effectivity> that defines the effectivity domain.

4.2.3 Manufacturing_configuration   <image001.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/armexpg2.htm><image002.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/5_mapping.htm#aeentitymanufacturing_configuration>
A Manufacturing_configuration is a type of Item_usage_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/configuration_effectivity/sys/4_info_reqs.htm#configuration_effectivity_arm.item_usage_effectivity> that specifies a condition for the use of a Product_occurrence<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/product_occurrence/sys/4_info_reqs.htm#product_occurrence_arm.product_occurrence> in a product represented by an instance of Product_specification<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/specified_product/sys/4_info_reqs.htm#specified_product_arm.product_specification>.
Only specializations of Manufacturing_configuration shall be instantiated.

EXPRESS specification:
*)
ENTITY Manufacturing_configuration
  ABSTRACT SUPERTYPE OF (ONEOF (Serial_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.serial_configuration>,
                                Dated_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.dated_configuration>,
                                Lot_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.lot_configuration>))
  SUBTYPE OF (Item_usage_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/configuration_effectivity/sys/4_info_reqs.htm#configuration_effectivity_arm.item_usage_effectivity>);
  concerned_organization : SET[0:?] OF Organization<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/person_organization/sys/4_info_reqs.htm#person_organization_arm.organization>;
WHERE
  WR1: ('MANUFACTURING_CONFIGURATION_EFFECTIVITY_ARM.' + 'PRODUCT_SPECIFICATION') IN TYPEOF(resolved_configuration.configuration);
  WR2: ('PRODUCT_OCCURRENCE_ARM.' + 'PRODUCT_OCCURRENCE') IN TYPEOF(item_usage_relationship\View_definition_relationship.related_view);
END_ENTITY;
(*
Attribute definitions:

concerned_organization: the set of Organization<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/person_organization/sys/4_info_reqs.htm#person_organization_arm.organization> for which the Manufacturing_configuration is valid.
In the case where the concerned_organization is an empty set, the Manufacturing_configuration is relevant to any organization that may consider the proposed product.
Formal propositions:

WR1: The context for which the configuration conditions are characterized shall be a Product_specification<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/specified_product/sys/4_info_reqs.htm#specified_product_arm.product_specification>.

WR2: The object for which a conditional use case is specified shall be a Product_occurrence<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/product_occurrence/sys/4_info_reqs.htm#product_occurrence_arm.product_occurrence>.

4.2.4 Serial_configuration   <image001.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/armexpg2.htm><image002.gif><x-msg://24/Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/5_mapping.htm#aeentityserial_configuration>
A Serial_configuration is a type of Manufacturing_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.manufacturing_configuration> whose effectivity domain is an interval of serial numbers.
The serial numbers of the Product_specification<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/specified_product/sys/4_info_reqs.htm#specified_product_arm.product_specification> under consideration are in the given interval of serial numbers.

EXPRESS specification:
*)
ENTITY Serial_configuration
  SUBTYPE OF (Manufacturing_configuration<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/manufacturing_configuration_effectivity/sys/4_info_reqs.htm#manufacturing_configuration_effectivity_arm.manufacturing_configuration>);
  SELF\Item_usage_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/configuration_effectivity/sys/4_info_reqs.htm#configuration_effectivity_arm.item_usage_effectivity>.effectivity_domain : Serial_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/effectivity/sys/4_info_reqs.htm#effectivity_arm.serial_effectivity>;
END_ENTITY;
(*
Attribute definitions:

effectivity_domain: the Serial_effectivity<file:///Users/tom/Library/Mobile%20Documents/com~apple~CloudDocs/step_parts/N11017_SMRL_v9_rc1_20220203/data/modules/effectivity/sys/4_info_reqs.htm#effectivity_arm.serial_effectivity> that defines the effectivity domain.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.steptools.com/pipermail/step-manufacturing/attachments/20220718/5f101cb3/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 139503 bytes
Desc: image001.png
URL: <http://lists.steptools.com/pipermail/step-manufacturing/attachments/20220718/5f101cb3/attachment.png>


More information about the step-manufacturing mailing list