Intelligent Software Objects

KSX models equipment and processes as intelligent software objects. These objects, called "nodes" contain state information in data fields called "attributes". Attributes can be connected to external data sources, or simply used for calculations internally. Attributes maintain a cache of their previous values for doing time based calculations, and can be connected to a process historian for archiving and later display on process trends etc. Nodes become intelligent by attaching behavior to them in the form of rules, models and optimizers. Rules are written in the KSX expert system language, based on English. Rules can be extended with function calls to perform calculations, modify the system, interact with the host operating system and perform any other task. The rule engine in KSX is forward chaining. Rules can be scheduled to run on startup, at a certain timed interval, based on calendar events, or based on system events. Rules can invoke other rules, which is how the system logic is constructed.