| Interface | Description | 
|---|---|
| ModelElement | Represents an element in a model. | 
| ModelMap<T> | Model backed map like structure allowing adding of items where instantiation is managed. | 
| ModelSet<T> | A set of managed model objects. | 
| Class | Description | 
|---|---|
| RuleSource | A marker type for a class that is a collection of rules. | 
| Exception | Description | 
|---|---|
| ConfigurationCycleException | Thrown when a cycle is encountered while configuring a model element. | 
| InvalidModelRuleDeclarationException | Thrown when a model rule, or source of model rules, is declared in an invalid way. | 
| InvalidModelRuleException | Thrown when there is a problem with the usage of a model rule. | 
| ModelRuleBindingException | Thrown when there is a problem binding the model element references of a model rule. | 
| ModelViewClosedException | Thrown when at attempt is made to mutate a subject of a rule after the rule has completed. | 
| ReadOnlyModelViewException | Thrown when an attempt is made to change the value of a model element that is not writable at the time. | 
| WriteOnlyModelViewException | Thrown when an attempt is made to read the value of a model element that is not readable at the time. | 
| Annotation Type | Description | 
|---|---|
| Defaults | Denotes that the  RuleSourcemethod rule carrying this annotation initializes the rule subject with default values. | 
| Each | Signals that a  RuleSourcerule should be applied to all matching descendant elements of the scope instead of the scope itself. | 
| Finalize | Denotes that the  RuleSourcemethod rule carrying this annotation finalizes the rule subject. | 
| Managed | A managed type is transparent to the model space, and enforces immutability at the appropriate times in the object's lifecycle. | 
| Model | Denotes that the  RuleSourcemethod rule carrying this annotation creates a new top level element in the model space. | 
| Mutate | Denotes that the  RuleSourcemethod rule carrying this annotation mutates the rule subject. | 
| Path | Specifies a model path on a parameter | 
| RuleInput | Attached to the getter for a property on a  RuleSourceto denote that the property defines an implicit input for all rules defined by the rule source. | 
| Rules | Denotes that the  RuleSourcemethod rule carrying this annotation defines additional rules based on its inputs. | 
| RuleTarget | Attached to the getter for a property on a  RuleSourceto denote that the property defines the target for the rule source. | 
| Unmanaged | Indicates that a property of a managed model element is explicitly of an unmanaged type. | 
| Validate | Denotes that the  RuleSourcemethod rule carrying this annotation validates the rule subject. |