Demo of Docking: Enabling Language Based Dynamic Coupling
In many object-oriented languages, for two objects to communicate at least one of them must have a reference to the other object, or transitively, a reference to an object that has a reference to the other object. In graph terms, if objects are nodes and an object reference is a directed edge then two object can communicate if and only if at least one of them can reach the other via a directed path in the object graph. Thus two objects that are NOT in the same connected subset of the graph can never communicate because they cannot obtain a reference to one another. In the Internet of Things, IoT, this can be a problem because we may want objects to communicate merely because they are physically close to one another, for example, when a user walks into a building, apps on the user’s mobile phone may want to communicate with local services. In the object oriented world, objects in the app and in the local services cannot communicate—there is no way for them to get to know each other.
We have proposed and implemented a mechanism that enables objects to get to know each other, e.g., if they both are interested, a reference from one to another can be created. We call our new mechanism docking. With this docking connection, objects in disjunct subsets of the object graph can obtain reference to one another.
Our mechanism is that a thread executing in an object, A, can state that it wants to know new objects of a particular type. If another object, B, that conforms to this type arrives at the node where A resides, our docking mechanism allows a reference to be created from one to the other.
This demo will show an implementation in the object oriented language Emerald running on Android-based mobile phones.
Mon 18 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
17:40 - 18:30
|Demo of Docking: Enabling Language Based Dynamic Coupling|
|Discussions and Wrap Up|