Computational reflection [29,34] (henceforth just reflection) has proven to be a useful support mechanism for building distributed systems in a transparent way [1,2,7,12,14,19,18,25,28,30,32,36,37,35,39,40]. Guaranį [31] is a reflective software architecture that aims at encouraging the reuse of reflective solutions. It provides simple mechanisms for combining multiple meta-objects into the meta-level configuration of a single object. These meta-objects may implement mechanisms such as those required to provide distribution, persistence, replication, atomicity, etc.
This paper is organized as follows. In Section 2, we briefly describe our implementation of the reflective architecture of Guaranį atop of the Kaffe OpenVM TM, freely-available Java Virtual Machine. Then, we introduce MOLDS, a library of meta-objects that provide essential features for developing reliable distributed systems. Finally, in Section 4, we summarize the benefits of designing and implementing a library such as MOLDS atop of Guaranį, and describe the current state of development of both Guaranį and MOLDS.