The Baseline instance for Baseline-Core communication is CoreDomain. Previously published Core objects can be obtained by calling CodeDomain.lookup(), for example:
MyCoreObject bco = CoreDomain.lookup("myObject01");What CoreDomain.lookup() actually returns is a proxy object doing the communication with the corresponding Core object. The JaRTS compiler generates the proxy classes for each Core class containing Core-Baseline methods. These proxy classes are subclasses of a Baseline version of CoreObject (figure 6).
bco.foo(42, 3.1416);
We added an internal class BaselineCoreConnector that handles the connection. It is a singleton and used by the proxy objects. Therefore it is a static member of the proxy superclass CoreObject. A BaselineFifoListener waits for commands like publishing objects in the Core as well as for returning functions (figure 7). The actual communication is done in native files written in C. These files have to be adapted when porting JaRTS to other platforms.