Table of Contents
Last updated: 10/9/2024

Applicability management


Introduction


At its simplest, a product structure represents an explicit structure of a product. e.g. the assembly of parts that make up the product. However, it is a common requirement that a product structure represents multiple configurations or variations of a product. This is sometimes referred to as a 150% BOM. These product structures then need to be filtered in order to deduce the product structure relevant to a particular product configuration.

For example the product structure might represent a particular class of car. Within that class of car there might be a set of different configurations such as a three door or five door car. The complete class of car can be represented in the product structure, and the structure then filtered to show the structure of the three door or five door car.

The ShareAspace PLM model enables this by a relationship that indicates that something is relevant, pertinent or appropriate in the context of something else. The relevance may be determined by a set of Conditions. This relationship is referred to as Applicability.

For example

  • a maintenance task is relevant to a class of car.
  • a maintenance task is only relevant to a class of car if the car has air conditioning fitted.

In some industrial domains, this is sometimes referred to as Effectivity. However, since the PLM model of ShareAspace already has a concept of DatedEffectivity the term Applicability is used to avoid confusion.

Note

In the ASD/AIA S3000L specification (International procedure specification for Logistic Support Analysis - LSA) this refers to several concepts:

  • Applicability statement
  • Design Configuration
  • Serial Number Applicability

An overview of the information is given in the following figure (details have been intentionally hidden):

summary-applicability-model

The object that holds applicability is referred to as the subject, i.e. the subject that is applicable to the context.

The object to which the subject is applicable to is referred to as the target.

Applicability and applicability context


The Applicability object is a composition assignment which has a role that defines its semantics. It is identifiable, nameable and describable.

The ApplicabilityContext represents the target of the applicability. For efficient implementation, the ApplicabilityContext is a unique 'tag' that acts as a proxy for the actual target object in the ShareAspace Nova PLM model.

For example if a possible target for applicability is a "SportsCar", represented in ShareAspace by a ProductConfiguration, then an ApplicabilityContext identified as "SportsCar" would be created and related to the corresponding ProductConfiguration. The ApplicabilityContext is nameable and describable.

Applicability has the following specific attributes:

  • condition: an optional reference to the condition under which the Applicability is valid.
  • applicable to: a mandatory reference to the object ApplicabilityContext that defines the scope of pertinence of the object that is holding the applicability.
  • includes and excludes: references to other information that are enabled (i.e. includes) or disabled (i.e. excludes) by the applicability.
  • validFrom, validTo: optional dates indicating when the applicability is valid.

ApplicabilityContext has the following properties:

  • idString: a mandatory alphanumeric string uniquely identifying the applicability context in the ShareAspace space.
  • context: an optional associated object used as the actual target of the applicability.
  • parentContext: an optional reference to the Applicability Context's parent. This enables a hierarchy of Applicability Contexts be represented.

Filtering data by applicability


In ShareAspace, the ApplicabilityContext can be used as a filter when navigating relationships between objects. If a relationship is "applicable", it is valid and can be navigated.

The following rules are used to determine if a relationship is "applicable":

  • if no applicability is set on an object, then the object is always applicable
  • given a target ApplicabilityContext, the object is applicable if:
    • the object has no applicability with the same role
    • the object has an explicit applicability equal to the target ApplicabilityContext
    • the object has an explicit applicability to an ApplicabilityContext that is child (at any depth) of the target ApplicabilityContext
  • given a target ApplicabilityContext, the object is NOT applicable if:
    • the object has an explicit applicability to any other ApplicabilityContext that is not the target ApplicabilityContext or a child or descendant of the target.

The following sample diagram shows a part assembly filtered by applicability:

filter-data-by-applicability

Filtering on target ApplicabilityContext "Aircraft 1" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Bracket Assembly - Bracket BB Yes Explicit applicability for context "Aircraft 1"
Bracket Assembly - Bolt AB No Explicit applicability for a different context than "Aircraft 1"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable

Filtering on target ApplicabilityContext "Aircraft 2" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Bracket Assembly - Bracket BB Yes Explicit applicability for context "Aircraft 2"
Bracket Assembly - Bolt AB Yes Explicit applicability for context "Aircraft 2"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable

Filtering on target ApplicabilityContext "Aircraft 3" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Bracket Assembly - Bracket BB No Explicit applicability for a different context than "Aircraft 3"
Bracket Assembly - Bolt AB No Explicit applicability for a different context than "Aircraft 3"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable

The following diagram shows an example of a product family tree. The family tree is represented by a hierarchical structure of ApplicabilityContexts. Each ApplicabilityContext node in the product family hierarchy has a corresponding ProductConfiguration object. The ProductConfiguration objects are not shown in order to simplify the diagram.

filter-configuration-by-applicability

Filtering on target ApplicabilityContext "Aircraft Model X" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Spar - Bracket Assembly Yes Explicit applicability for context "Aircraft Model X"
Bracket Assembly - Bracket BB Yes Explicit applicability for a context child of "Aircraft Model X"
Bracket Assembly - Bolt AB Yes Explicit applicability for a context child of "Aircraft Model X"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable

Filtering on target ApplicabilityContext "Aircraft Model X.1" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Spar - Bracket Assembly Yes Explicit applicability for the parent context of "Aircraft Model X.1"
Bracket Assembly - Bracket BB Yes Explicit applicability for context "Aircraft Model X.1"
Bracket Assembly - Bolt AB No Explicit applicability for a different context that is neither a child or the parent of "Aircraft Model X.1"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable

Filtering on target ApplicabilityContext "Aircraft Model X.2" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Spar - Bracket Assembly Yes Explicit applicability for the parent context of "Aircraft Model X.2"
Bracket Assembly - Bracket BB No Explicit applicability for a different context that is neither a child or the parent of "Aircraft Model X.2"
Bracket Assembly - Bolt AB Yes Explicit applicability for a child context of "Aircraft Model X.2"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable

Filtering on target ApplicabilityContext "Aircraft Model X.2-1" will result in the following:

Relationship
(Parent - Child)
Applicable? Reason
Spar - Bracket Assembly Yes Explicit applicability for the parent context of "Aircraft Model X.2-1"
Bracket Assembly - Bracket BB No Explicit applicability for a different context that is neither a child or the parent of "Aircraft Model X.2-1"
Bracket Assembly - Bolt AB Yes Explicit applicability for context "Aircraft Model X.2-1"
Bracket Assembly - Nut XY Yes No Explicit applicability defined so implicitly applicable