Kinetic Object Stream
It's a framework based on data-centric reactive programming paradigm that dynamically responds to objects in motion through a pipeline of computational actors that can execute concurrently.
The KOS framework enables dataflow transactions to be expressed as a set of discrete atomic reaction(s) that automatically executes based on one or more desired input(s) it observes from its incoming flow of data stimuli.
One of the most important concept in KOS is that these reactive functions are never explicitly called by other functions as part of a control flow logic. Instead, the reactive functions are invoked automatically by the KOS framework when its input states are eventually satisfied by one or more observed flow of data stimuli. Its operating behavior is very similar to how a runtime garbage collector works tirelessly behind the scenes in a given software instance. You don't need to explicitly tell the garbage collector to clean-up, it simply reacts autonomously based on its environmental observations.
When you embrace KOS you are embracing chaos itself by giving up your programmatic execution flow control logic. Instead of honing your incantation skills and declaring the chain of commands for fulfilling your desires, you've now become an alchemist, continually experimenting with chain reactions and tinkering with stimuli you inject into the system until you get your desired result.
NOTE: this documentation is out-of-date and will be updated shortly.
Since KOS encapsulates a number of fundamentally different paradigms for expressing software itself, it is highly advised that first-time users carefully read all of the included documentation below:
- Introduction to KOS
- Using KOS
- Clustering KOS
The developer's guide to creating new reactors and understanding the KOS library APIs will be coming soon! In the meantime, taking a look at the available reactors bundled with the KOS framework should provide some indirect guidance.
$ npm install kos
For development and running through examples, you can grab the source repo from:
$ git clone https://github.com/corenova/kos
|console||reactions to user prompt interactions|
|hive||reactions to p2p hive communications|
|http||reactions to http client/server transactions|
|link||reactions to dynamic client/server flows|
|log||reactions to send logging messages to an output stream|
|mqtt||reactions to mqtt client/server transactions|
|net||reactions to tcp/udp client/server transactions|
|node||reactions to Node.js runtime context|
|npm||reactions to NPM package management requests|
|react||reactions to React.js component lifecycle|
|render||reactions to visually render reactors|
|rest||reactions to RESTful transactions|
|snmp||reactions to snmp client/server transactions|
|ws||reactions to websockets client/server flows|