Material models in ISA-95

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
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 material properties

Material can have properties, or characteristics that describe some aspect of its implementation. You can set material definitions at the level of the class, definition, or lot.

If a material class or definition has members, then all members inherit the properties associated with its defining entity. If using class or definition properties, you can also set a default value to be inherited by its members.

For example, the juices class has the property sugarContent. The material definition Cosmic Blue Juice is a member of this class, and thus it inherits the sugarContent property. The Cosmic Blue Juice product has a defined standard value for its sugarContent, 100 grams. The material lot CBJ.Pallet1 is a pallet of Cosmic Blue Juice. This lot inherits the sugarContent property from the definition that it belongs to, and its value might deviate from the default value of its definition.

classDiagram
class materialClass{
  id: juices
}
class materialDefinition{
  id: Cosmic blue juice
}

class materialLot{
  id: Cosmic blue juice, pallet 1
}


class materialLotProperty{
   id: cbj.1.sugarContent,
   UnitOfMeasure: g,
   value: 99.5
}
class materialDefinitionProperty{
   id: cbj.sugarContent,
   value: 100
   UnitOfMeasure: g,
}
class materialClassProperty{
   id: sugarContent,
   UnitOfMeasure: g,
}

materialClass *--> materialClassProperty :has property of
materialDefinition *--> materialDefinitionProperty :has property of
materialLot *--> materialLotProperty :has value of
materialLot *--> materialDefinition :defined by
materialDefinition *--> materialClass :defined by
materialLotProperty *--> materialDefinitionProperty :maps to
materialDefinitionProperty *--> materialClassProperty :maps to

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.