Chapter 6 Working With Concepts : Understanding Concepts

Understanding Concepts
Concept types are descriptive entities similar to the object-oriented concept of a class. They describe a set of properties. For example, one concept might be Department. The Department concept would include department name, manager, and employee properties.
Runtime Behavior of Concepts
Rules at runtime can create instances of concepts. For example, when a simple event arrives, a rule can create an instance of a concept using values present in the event. Rules can also modify existing concept instance property values.
Concepts must be explicitly deleted from working memory when no longer needed or they will steadily increase memory usage. Use the function Instance.deleteInstance() to delete concept instances.
Depending on other factors, adding modifying, and deleting concept instances can cause BusinessEvents to evaluate or re-evaluate dependent rules, as explained in Understanding Conflict Resolution and Run to Completion Cycles.
Concept Serialization and Handling of Null Value Properties at Runtime
By default, when concept instance objects are serialized to XML, properties with null values are excluded. You can change this behavior so that null values are included. You can also change the XSD for a concept object to allow null values, using the nillable attribute. See Configuring How to Handle Null Concept Property Values for details.
Concept Property History
Each concept property includes a history, the size of which is configurable. The history size determines how many previous values BusinessEvents stores for that property. See Understanding Concept Property History.
Concept Relationships
Concepts can have inheritance, containment and reference relationships with other concepts. See Understanding Concept Relationships.
Concept Views
You can optionally work with concepts and their relationships using a graphical user interface called a concept view. See Working With Concept Views.