Skip to content

COOM Profile: CORE

Synopsis

The COOM Core profile offers the language elements needed to define the most basic configuration knowledge base. A product can be defined by structures and enumerations of predefined choice values. Dependencies between the choice values of the enumeration elements are introduced by using constraints (bidirectional). These constraints define either allowed or forbidden combinations of choice values.

Building Blocks

Example: Kids Bike

Kids Bike

The product KidsBike offers the configurable elements color, wheelSize, and a supportWheels. It is important, that supportWheels is only possible for the small wheel sizes W14 and W16. Also, the color Yellow is only allowed for the larger wheel sizes W18 and W20.

product {
    KidsBike kidsBike
}

structure KidsBike {
    Color  color
    bool   supportWheels
    Wheel  wheelSize
}

enumeration Wheel { W14 W16 W18 W20 }

enumeration Color { Red Yellow }

behavior KidsBike {
    combinations (  supportWheels  wheelSize )
    allow        (  true           (W14,W16) )
    allow        (  false          (W18,W20) )
}

behavior KidsBike {
    condition color = Yellow
    require  wheelSize = W18 || wheelSize = W20
}