Material models in ISA-95
In ISA-95, material can be a finished good or anything that goes into this good. Examples of material include:
- A final product, such as packaged watch
- A part, such as a gear in this watch
- An intermediate substance, such as a produced reactant to be used in combination with another chemical
- Raw materials, like the flour and water that make dough
Like equipment, material can have classes and properties. However, to account for detailed tracking of unique material units, the material model has more entities than equipment.
Full diagram of abstract relationships
--- config: layout: elk --- classDiagram `material sublot` o--> `material lot` :assembled from `material lot` o--> `material lot` :assembled from `material definition` o--> `material definition` :assembled from `material class` o--> `material class` :assembled from `material class` o--> `material class` :assembled from `material lot` -->`material definition` :defined by `material definition` -->`material class` :defined by `material lot` *--> `material lot properties` :has values of `material sublot` *--> `material lot properties` :has values of `material definition` *-->`material definition properties` :has properties of `material class` -->`material class properties` :has properties of `material lot properties` ..> `material definition properties` :maps to `material definition properties` ..> `material class properties` :maps to `material lot properties` *--> `material lot properties` :contains `material definition properties` *--> `material definition properties` :contains `material class properties` *--> `material class properties` :contains
Defined by
The defined by
relationship associates material with common categories and definitions.
classDiagram `material lot` -->`material definition` :defined by `material definition` -->`material class` :defined by `Cosmic Blue Juice,\npallet 1` -->`Cosmic Blue Juice,\ndefinition` :defined by `Cosmic Blue Juice,\ndefinition` -->`Juices class` :defined by
Material lots are defined by
material definitions
Material definitions provide a way to ensure units of the same substance have a consistent name and set of properties. Material lots provide a way to uniquely identify each specific instance of that definition.
For example, the Springfield plant might produce 100 pallets of its flagship product, Cosmic Blue Juice
.
Obviously, these pallets are not literally the same: otherwise they would just be one pallet.
Rather, each pallet is a separate lots, and all these lots share the same material definition.
Definitions are defined by classes
If you need another level of abstraction, you can also categorize your material definitions by material class.
Material classes provide a way to categorize material by function or shared properties.
For example, The Juice Factory
has five juice definitions, all part of the class Juices
.
classDiagram namespace juices{ class `Nuclear Green Juice` class `Tropical Orange Juice` class `Cosmic blue juice` class `Royal Purple Juice` class `Berry Red Juice` }
Note that material classes can contain material classes. For example, the raw_materials
class might contain all raw ingredients.
--- subtitle: Material classes can contain material classes --- classDiagram namespace raw_materials{ class sweeteners class flavors class colors } namespace sweeteners{ class sugar class aspertame } namespace flavors{ class `blue flavoring` class `orange flavoring` } namespace colors{ class `blue` class `orange` }
Is assembled from
Material lots also might be assembled from material sublots.
classDiagram `material lot` o--> `material sublot` :is assembled from
Sublots are uniquely identifiable components of a material lot.
For example,
the pallet PBJ.1000.1
might be assembled from a set of packed juice cases.
Each case might be modelled as a sublot with a unique ID, such as PBJ.1000.1.1
.
Has values and properties
Material lots and sublots can have properties, and these properties may have values. If the property is common across the material definition that defines the lot, you can model your material properties so that they map to the corresponding material definition properties.
--- title: --- classDiagram class lot { sugarContent=10g } class `juice definition` { sugarContent } lot ..> `juice definition` :maps to
Class and definition properties are abstract and therefore don’t have values.
The lot, on the other hand, is real, so it has a value.
So the Sweeteners
class, the Cosmic Blue Juice
definition, and the PBJ.1000.1
lot all might have a sugarContent
property, but only the lot can have an actual value for this property, such as 100 grams
.
Properties contain properties
classDiagram flavor_profile *--> sweetness flavor_profile *--> umami flavor_profile *--> aciditiy
As with equipment properties, all properties can contain properties.
For example, the property flavor_profile
might contain properties for sweetness
, acidity
and umami
.