In plant design we sometimes have to model "operational modes", whereas in product catalogs we often see "options". Both are in fact identical.
An operational mode is a way the facility must function, and hence be configured.
Options in a product catalog are ways in which a product may be configured.
A generic model with three variants:
The ClassOfPhysicalObject (1) covers everything that is common or standard for all options, so without any option.
The ClassOfPhysicalObject's (2), (3), and (4) are defining the options (there may be fewer or more options of all different types, car catalogs usually are that option-rich).
Each of (2), (3), and (4) inherit the common definitions of (1).
Now we have to collect all selected options (here (2) and (4)) by classifying them with the same instance of EnumeratedSetOfClass (5).
Finally we create a union of those enumerated classes (2) and (4) , thus eliminating the multiplicity of the inherited information of (1), to result in what we were after: the configured instance of COPO.
The definition of the options is done with templates, as shown below for the configuration of a pump model:
Modes of Operation
Information about Modes of Operation can be anything, from different Properties of a stream, or open or closed valves, to different line-ups for Operations and Regeneration, etc.
All information can expressed in terms of templates, which are classes, and hence use the above model. An example will be published in due time.