Process segments
A process segment is a step in a process. Process segments are flexible information objects, abstract enough to be shared by multiple procedures, and coarse-grained enough to be appropriate for business planning and analytics.
Process segments provide information that is relevant to both levels 3 and 4. In the manufacturing ontology, the process segment has relationships to diverse other entities, including objects for scheduling, definitions, and work performance. As such, the proper use of process segments provides much flexibility in how you implement an MOM system for both operational and analytical use cases.
A process segment exists in the middle of levels 3 and 4
The scope of a process segment
Process segments can have a parent-child hierarchy. At higher levels of this hierarchy, the scope of a process segment is often broader than that of a particular product.
For example, The Juice Factory produces five brands of juice.
While the particular material consumed and produced differs in the production of each brand,
all brands still follow the steps of material receiving
, kitting
, mixing
, and packing
.
These steps are process segments.
flowchart LR a[Material receiving]--> b[Kitting]--> c[Mixing]--> d[packing]
Reasons to use segments
Process segments can serve operational and analytical functions. Operational functions include:
- To avoid repetition when modeling steps that are common to different processes.
- To define work from a business-process perspective. More granular entities might define a route of segments to follow in specific situations. For details, read the example in the corresponds to.
Analytical uses of process segments include:
- To provide a way to compare different product processes that are all derived from a common procedure.
For example, the mixing segment might correspond to to the production of
mixed red juice
andmixed blue juice
. - To view data and parameters for similar steps in a single aggregation.
For example, you might compare the average time of all jobs associated with
mixing
against the other segments to find a general process bottleneck.
Segments vs. equipment hierarchies
Process segments are not necessarily connected to the role-based equipment hierarchy.
Since a defining aspect of equipment in ISA-95 is that it plays a precise role,
you might wonder whether a process segment is just a needless duplication:
why add a mixing
segment when the mixers
equipment model serves the same role?
However, the fact that process segments are decoupled from equipment can help you model a variety of conditions:
- Some steps have no equipment requirements. For example, in The Juice Factory, the
kitting
process segment requires no equipment. - Some steps may be common to a number of processes, but each particular process may require a different set of equipment.
Segment relationships
Process segments have relationships to a number of other work and resource models.
Corresponds to
Operations segments and work masters usually describe a step to create a particular product. These models may correspond to a process segment:
- From the business perspective, product steps are modeled in operations segments.
- From the more granular MES perspective, product steps are modeled in work masters.
For example, the Juice Factory has various work masters to produce material definitions for different bulk juices: Bulk blue juice
, Bulk orange juice
, and so on.
Each of these work masters correspond to the same process segment, mixing
.
classDiagram namespace work_masters{ class `Bulk blue juice` class `Bulk red juice` class `Bulk orange juice` } `Bulk blue juice` ..> `Process segment:
mixing` :corresponds to `Bulk red juice` ..> `Process segment:
mixing` :corresponds to `Bulk orange juice` ..> `Process segment:
mixing` :corresponds to
Contains specifications
A process segment may contain one or more resource specifications. These specifications describe the necessary resources for the step.
classDiagram class `bulk juices`{use: produced} class `ingredient kits`{use: consumed} mixing *--> `equipment specification` :contains `equipment specification` ..> `mixers` :corresponds to mixing *--> `material specification` :contains `material specification` ..> `bulk juices` :corresponds to `material specification` ..> `ingredient kits` :corresponds to
Contains segment parameters
A process segment can contain process segment parameters.
Process segment parameters store additional information about the step.
For example, the mixing
process segment might have a mixing time
parameter.
The parameter also can have a value or range of values. This process segment parameter value may serve as a default for lower-level work models that correspond to this process segment.
classDiagram class `mixing time`{ value: 20-30 UoM: minutes } class `mixing speed`{ value: 50 UoM: RPM } `mixing` *--> `mixing time` `mixing` *--> `mixing speed`
Is made of
A process segment can be made of other process segments. You can use this relationship to model sub-steps.
For example, The Juice Factory might need to distinguish preparation steps from production steps. A parent segment provides a model to aggregate the production steps in one parent process segment.
flowchart LR subgraph m[Parent: Juice Production] direction LR K[Child:
kitting] --> M[Child:
mixing] --> P[Child:packing] end A[Material receiving] --> m classDef box fill:#fff,stroke:#000,stroke-width:1px,color:#000; classDef b fill:#fff,stroke:#000,stroke-width:1px,color:#000; class A,C,D,N,X,m,T,V box
Dependency
In some instances, you might need to strictly model the order in which some or all steps happen. For this, use segment dependancies.
Segment dependencies become more important when steps might be executed in parallel or dynamically. The dependency ensures nothing happens too early.
If your process segment is independent of a particular product,
ensure that all entities that correspond to that segment also have that dependency.
For example, in a pastry production, the baking
segment might have a dependency on mixing
and preheating
.
This implies that all products that correspond to this baking
—such as a chocolate chip cookies
or brownies
—must also require mixing
and preheating
as dependencies.
classDiagram baking ..> mixing : has execution dependency on baking ..> pre-heating : has execution dependency on
If a dependency is product-dependent, define it on the level of the work master or operation definition instead.