next up previous contents index
Next: Index Up: SPL Pushlogic Language Reference Previous: Execution Platforms   Contents   Index

Other Issues

Parasitic Feedback: Although Pushlogic rules may not cause a higher level field to change value as a result of a lower field changing in value (apart from via undo's) there is nothing to stop a Pebble making a cause/effect connection between a pair of fields in this way. Such interactions can lead to oscillation and violate Pushlogic principals.

Multi-media: The Pushlogic interpreter is not envisaged as having sufficient throughput to directly manipulate multi-media streams. Instead, multi-media streams are started, stopped and routed using Pushlogic as a `control plane'. The Pushlogic sets fields held on media Pebbles, such as cameras, speakers, fileservers and so on to circuit identifier values. The Pebbles then send the media streams amongst themselves until again commanded by the Pushlogic. If a field naturally ends, then its source or destination Pebble can set the controlling field back to its safe value and the Pushlogic receives an undo that can serve in the same ways as a conventional `interrupt'.

Asynchronous Eventing: Pushlogic may be thought of as an algebra over asynchronous events, and hence has much in common with the work of our Opera group. Our fields implement what is now known as a publish/subscribe mechanism. The existence of fields is published in the reflection information of a device and they are bound at rule re-hydration time. When a field changes, our wire protocol sends asynchronous notifications to the subscribers.


next up previous contents index
Next: Index Up: SPL Pushlogic Language Reference Previous: Execution Platforms   Contents   Index
David Greaves 2009-04-20