fractal architecture

In terms of software development the ROAF is a set of Java components to compose real world simulations.
The fractal archtitecture is reflected in three main layers:

1. client software to collect and submit data live

2. server software to retrieve and combine client data

3. software to combine servers to a live framework


1. RO - the Real Object client software

The Real Object can be used to model any physical object of the real world with location, speed, mass and size.

The abstract root class RealObject has a built in GPS unit to trace (record and play back) the real objects motion in WGS84 GPS coordinates. The RealObject is the fundament of a client program and can be executed stand alone on any Java Virtual Machine. The client-server communication is preimplemented in the RealObject.

The basic RealObject can be extended to classifiy a more sophisticated object, like a car. 
Then a number of cars can be instantiated to simulate traffic on a road network in a defined area. 
On a long term predefined RealObjects will represent a toolkit to compose most any real world scenario .

Vice versa the RO client can retrieve data from the scenario and explore the environment.


2. ROApp - the Real Object Application server software

The Real Object Application can be used to model a real world scenario in a defined geographical area.
A ROApp is subdivided in two layers:

technical layer, the Real Object Server, to handle the communication with the RO clients. 
The server can identify the client and authorize it to enter and become a virtual actor of the scenario.
The server API provides methods to address all connected RO clients similar to the Java Collection API.
Each RO client is encapsulated in the server software to handle the client server communication individually.

semantic layer to define a ruleset for the scenario and serve as the game- or scenario master. 
After the ROApplication has approved RealObject clients, it observes their behavior,
validates them against each other and guarantees that they adhere to the rules.

Every ROApp bundles the RO clients data and serves as a controller of the rules.
The clients data can be published by the ROApp to provide live real world data as added value. 
Each server can be setup with a dedicated ruleset for classified RO clients 
and act as a trusted third party to certify plausible clients.


3. ROAF - the Real Object Application Framework

RO clients are the actors of a ROApp scenario and form one entity.
As a scenario becomes more realistic it can serve as a single source for real world live data.
Due to the nature of reality different scenarios can be combined to augment different aspects of reality.

For example a city can be modelled by combining three ROApps for cars, busses and subways in a fourth ROApp.
This ROApp scenario can be programmed to serve as a game environment as demonstrated on this website.

The ROAF provides a public key infrastructure (PKI) to combine certified and realistic applications. This virtual world can be distributed (scaled, balanced) on any number of real world applications. The fractal architecture of the ROAF allows the composition of almost any real world scenario. With a growing number of participating real objects the ROAF implicitely becomes more realistic and stable to serve as a reliable source of live real world data synchronized with GPS coordinates for space (WGS84) and time (UTC).

For example a ROApp server could be specialized on tracing vehicles, validating them against each other (collisions), against a digital map and finally enriching the clients with details on specific car models. Vice versa cars could feed this (car2car) information in their navigation system for dynamic routing.

Real Object Application is a server application to synchronize Real Oject clients.

The Real Object Application Framework (ROAF) is a system of Real Object Application servers (ROApps) 
to classify, synchronize and project the behavior of remote Real Objects (ROs) into a virtual world.