| Selectica Configuration Platform Features |
| Declarative Constraint Engine Features |
| Declarative Form |
 |
Business logic expressed in declarative, not procedural, form. Business entities are represented using parameters. Relationships between parameters are captured as constraints. |
| Scalable |
 |
Declarative form compact compared to procedural engine. Inherently scalable for faster throughput. |
| High Performance |
 |
State-based engine considers only changes to model, instead of processing entire model, for significantly faster processing. |
| Simplified Architecture |
 |
No elaborate procedures are required to get valid configuration |
| Automated |
 |
Engine automatically adjusts to added or removed parameter or constraint. Runs all applicable constraints and rejects choice in case of constraint failure. State of business model always correct. |
| Knowledge Base Features |
| Repository |
 |
Repository includes business entities and logic |
| Parameters |
 |
Parameters (business entities to be configured) can be logical, cumulative, or programmatic |
| Constraints |
 |
Constraints (relationships between business entities) can be hard or soft, and can consist of algebraic expressions, function expressions, rules, tables, compatibility/ incompatibility, or resource |
| Components |
 |
Components (pre-defined business objects, which are the parts and their attributes) can be hierarchical and can be loaded from a database |
| Modeling Features |
| Complexity |
 |
Rich modeling constructs permit modeling at attribute and meta level, instead of component level, easing modeling of complex products and services. |
| Object-Oriented |
 |
Supports inheritance to extract common behavior and data. Also supports composition that can reflect physical containment |
| Parameters |
 |
Multiple types of parameters are available, including referential parameters, resource parameters, and containers of parameters |
| Validity Dates |
 |
Validity dates available for models, parameters, constraints, and components |
| Extensible |
 |
Model is extensible to allow user-defined functions |
| Runtime Features |
| Scalable |
 |
Shares model across knowledge base. Architecture inherently scalable |
| Data Driven |
 |
Database connectivity at various levels, including design-time, load-time, and run-time |
| Solution Configuration |
 |
Supports solution configuration, where multiple “independent” sub-configurations can be started, then placed in a parent configuration |
| Dynamic Modeling |
 |
Supports dynamic modeling, including run-time sub-classing |
| Partial Configurations |
 |
Supports saving of partial configurations |
| Failure Messages |
 |
Supports multiple failure message scenarios, including internationalization of messages , as well as custom error messages |
| Warnings |
 |
Supports messages that indicate violation of soft constraints |