The Krikkit Eclipse project provides an API through a software library that will enable a user or developer to 'program' IoT edge devices such as sensor gateways and make it easy to acquire and manage data. Such a library could also potentially be used as a plug-in in Eclipse frameworks to ease the programming of IoT devices.
Specifically, Krikkit library provides a REST ful API for a programmer to specify and describe the data of interest. The edge devices may also have the ability to understand the semantics of the content/payload of the sensor data. The API, in this case can also be used to write queries describing the content which if matched against can result in further actions.
The API translates these policies into an open format that can be understood by the edge devices. Krikkit also includes in its scope the format and definition for the JSON messages that will be used to communicate with the devices.
Different edge devices may have different internal representations and different capabilities. For example, not all edge devices may be able to understand and search the payload. The scope of the proposal is only to describe what data is to be acquired, not the specification on how the capabilities of the device are to be implemented or even what the capabilities should be. The proposal also does not specify how the rules are to be represented internally on the edge devices.