KRL Rulesets execute inside a persistent compute object, or pico.
While rulesets are the primary organizing feature of KRL, you cannot program KRL without understanding persistent compute objects, or picos.picos.
The pico provides a number of important services that create the execution environment for rules:
- Identity—picos represent a specific entity and KRL rulesets execute within the context of that identity
- Storage—picos persistently encapsulate both structured and unstructured data
- Open event network—picos provide an event network:
- As rulesets are installed and uninstalled, the salience of an event for different rules in the ruleset is automatically recorded.
- The salience graph is used to automatically route events and schedule rules for execution
- Processing—picos run a unique set of rules based on the rulesets that have been installed
- Event Channels—picos have communication channels that connect them to other picos and external programs
- Authorization—picos manage authorization and access control for programs