Core Concepts

Constraint Modeling Language (CML) includes components that cover high-level global configurations to specific data types and constraints.

See these topics for information on each core concept and the ways they work together.

CML supports single-line code comments with // and block comments with /* */.

Note

  • How CML Fits in the Product Configure Business API Pipeline

    When you call the Product Configure Business API, the request runs through a fixed sequence of stages. The CML constraint engine is one stage in that sequence, and where it runs determines which data it can see.

  • Global Properties and Settings

    Header-level declarations define the global properties and settings for a model, including constants, properties, and external values that set up the foundation of the CML code.

  • Variables

    Variables are the properties or characteristics defined within a type. Variables can hold different types of data and can be calculated from other values.

  • Types

    In Constraint Modeling Language (CML), you define types to represent entities or objects in the model. Types are the foundational building blocks of CML. A type encapsulates the property, relationships, constraint, and rules for the entity.

  • Relationships

    Relationships in Constraint Modeling Language (CML) define how different product types are associated with each other, forming the structural hierarchy of a product bundle. Relationships are also referred to as ports.

  • Constraints

    Constraints enforce rules and conditions on types, variables, and relationships. Use constraints to define logical restrictions and ensure consistency within the model.