When using JAVA to specify the behaviour of an application that needs to be implemented on silicon as a real-time system, garbage collection needs to be implemented in a hardware as well. An efficient implementation architecture must not interfere with real-time performance. In addition the implementation architecture has to minimise power consumption, and must be area efficient. It has to be decided what data structures to use to implement the abstract data types, how much memory to allocate for each data structure and how, and how to keep track of free and used memory for each data structure. Application code needs to be written in such a way that the amount of used and wasted memory is minimal.
Physical memory needs to be allocated in which all the data items can be stored.
Also the physical memory management units implementing the garbage collection algorithms have to be designed. The focus is on the design methodology required to make intelligent decisions about these problems rather than on the actual implementation. However, obtaining experimental evidence of the soundness of the methodology by applying it on actual applications, is a major requirement.