The starting point for the development of IRF was the C++ source code for the following proprietary components developed by researchers at the UBS's UbiLab:
The problems of translating C++ to Java are a topic addressed in a number of other places and will not be discussed here. The main ETOS functionality that had to be replaced was collections (e.g., OrdCollection) and metadata. We substituted Java collection classes (e.g., Vector) and used the Java reflection interface to gather metadata about objects at runtime. We made no attempt to replace all the functionality of ObjectStore. We used Java collection classes in place of some provided by ObjectStore and used a combination of brokers and proxies to allow various forms of support for simple persistence. We implemented brokers for simple file-based persistence.