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 picos.
Picos are:
- persistent: They exist from when they are created until they are explicitly deleted. Picos retain state based on past operations.
- online: They are available on the Internet and respond to events and queries.
Picos 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 rulesets.