Section: Scientific Foundations
Spatial Information Systems
One of the major research efforts in Aces over the last few years has been the definition of the Spread programming model to cater for spacial context. The model is derived from the Linda [11] tuple-space model. Each information item is a tuple, which is a sequence of typed data items. For example, <10, 'Peter', -3.14> is a tuple where the first element is the integer 10, the second is the string `"Peter" and the third is the real value -3.14. Information is addressed using patterns that match one or a set of tuples present in the tuple-space. An example pattern that matches the previous tuple is <int, 'Peter', float> . The tuple-space model has the advantage of allowing devices that meet for the first time to exchange data since there is no notion of names or addresses.
Data items are not only addressed by their type, but also by the physical space in which they reside. The size of the space is determined by the strength of the radio signal of the device. The important difference between Spread and other tuple-space systems (e.g., Sun's JavaSpaces [10] , IBM's T-Space [14] ) is that when a program issues a matching request, only the tuples filling the physical space of the requesting program are tested for matching. Thus, though SIS (Spatial Information Systems) applications are highly distributed by nature, they only rely on localised communications; they do not require access to a global communication infrastructure. Figure 1 shows an example of a physical tuple space, made of tuples arranged in the space and occupying different spaces.
As an example of the power of this model, consider two of the applications that we have developed using it.
-
Ubi-bus is a spatial information application whose role is to help blind and partially blind people use public transport. When taking a bus, a blind person uses his PDA to signal his intention to a device embedded in the bus stop; this device then contacts the bus on the person's behalf. This application illustrates how data is distributed over the objects of the physical world, and generally, how devices complement human means of communication.
-
Ubi-board is a spatial information application designed for public electronic billboards. Travel hotspots like airports and major train stations have an international customer base, so bill-board announcements need to be made in several languages. In Ubi-bus, a billboard has an embedded device. When a person comes within communication range of the billboard, his device sends a request to the billboard asking it to print the message in the language of the person. In the case where several travellers are in proximity of the billboard, the board sends a translation of its information message to each person. The Ubi-board application illustrates personal context in use, i.e., the choice of natural language, and also how actions can be provoked in the physical world without explicit intervention by the person.