An Asynchronous Reflection Model for Object-Oriented Distributed Reactive Systems
Résumé
Today’s distributed and embedded systems challenge the traditional procedural approach to reflection. Central to this approach is the use of an “implements” relationship to realize the connection between the meta and the base level. This restricted view of reflection is inappropriate in distributed or embedded computing, where part of the system to reflect upon cannot be captured in an “implements” relationship, either because we lack a centralized state or an essential ingredient lies outside the system. We introduce a novel asynchronous reflective model, ARM, where the connection between levels use an asynchronous publish/subscribe communication model. We show not only that this model is better suited to distributed and reactive systems, but that it also generalizes the possible forms of reflection by adopting and adapting to B. Smith’s “right combination of connection and detachment” between the base and the metalevel. ARM is applied to the reflective control of modular robots, which dynamic physical reconfigurability must be paralleled by a software reconfigurability offered by reflection. ARM then uses reactive objects founded on the GALS approach (globally asynchronous, locally synchronous), which implements synchronization by future values. A hybrid deliberative/reactive framework inspired by intelligent robotic control systems is implemented using the ARM[GALS] for Java platform.