The objective of SenseiUMA is to supply replicated components, built using the facilities supported by SenseiDomains.  
			As shown in the SenseiGMNS section, the design of replicated applications 
				starting from the replicated components is a quite easy process, equivalent in general to the design 
				of multithread applications where multiple threads must collaborate to access shared resources. With 
				replicated components, each replica can be programmed as a standalone application, as it does not need 
				to communicate with other replicas: all the interaction is done by the replicated components. Nevertheless, 
				the application must still take care with the concurrent accesses to those components. 
			In the SenseiGMNS case, the application includes its own replicated components: a map, and a set. And 
				the design of these components is not always an easy task. 
			SenseiUMA covers this hole in the methodology: it supplies generic components, already tested, that 
				the final application can directly use. These components are based on the containers included in the 
				java.util package in Java 2. 
			This subsystem is the one not yet completed in the project (GMS, GMNS and Domains may still require 
				further work, but mainly as maintenance). In addition, is the only one that does not share a common 
				interface for the JavaRMI and CORBA implementations. The reason is that the JavaRMI interface can be 
				defined using types already defined in the java.util package, like iterators, which 
				not only simplify the interface but also provide for a better integration. 
				
		   |