Global Positioning System Reference
In-Depth Information
RealObject.Shape
A GPS signal alone does not provide any information about the object
being traced. The idea of the individual
RealObject
programming envi-
ronment is to add as much information about the object as possible, like
the telemetry of a racing car. With CAD technology, every object can
be modeled to have dimensions. For cars, this information is important to
avoid collisions. For buildings, this modeling process can be even more
complex. At a certain population level, it might make sense to add a train
station. The station has different entrances, a number of platforms and
rails. Since the stations usually belong to public transportation services,
they might as well run on their own machine to ensure the logistics to their
guests.
A use case could be a
RealPerson
getting out of a
RealCab
at the main
entrance of the
RealStation
. The person would walk into the station and
immediately get access to a list of all trains arriving in the next 30 minutes.
The person would walk to the platform, wait for a
RealTrain
to arrive, get
in, buy a ticket, and find a seat.
In the ROAF context, the station is an object (RO) to access public
information and to host
RealObject
s of many different kinds, e.g., like a
list of all trains passing through, a list of all other people in the station,
etc. Any person could ask any other for local knowledge.
14.6
The
RealObject
Hierarchy
Since a
RealObject
can be extended to any thing in the real world, each
client should be
class
ied (
instanceOf
) or upcast to a well-defined
roaf.ros
object. This provides access to additional specialized methods and allows
the server to extend this object to an SO with the same API.
Figure 11.1 shows the
roaf.ros
package, which can be extended to the
RO hierarchy (Figure 14.5) on the client side. Nevertheless, the package is
not called
roaf.clients
. In order to create more specialized real objects, it
makes sense to also install RO packages on the server side. Then, the client
objects can be classified more precisely, by using reflection mechanisms on
the server side, for example. Pairing the client and server process becomes
part of one
RealObject
development, and the developer should take care to
code the framework in a way that methods can be added smoothly in one
place, before they spread over the entire application.
Revisiting the
RealObject
Generator
After the exploration process, the idea of a
RealObject
generator described
in Section 3.3 should become much clearer. When looking at OO docu-
mentation, one could conclude that objects can be developed isolated from
Search WWH ::
Custom Search