Interfaces Java reifies the concept of an interface to separate type and class hierarchies. In Booch, interfaces map to simple classes by convention, distinguished by setting an appropriate class property that marks this entity as an interface only. Associations in Booch are higher level modeling concepts than those found in classic programming languages, and thus are derived from the more primitive features of Java. For example, a simple association in Booch may be mapped to mutually referencing objects in Java. Synchronized methods in Java map to guarded operations in Booch.
Applets reify threads.
Thus in Booch an active object maps to an applet. In the UML, threads and processes are first-class citizens, which thus map more directly to applets. Distribution In Java, applets aren't necessarily aware of their location. From a systems modeling perspective, however, architects must consider the physical distribution and migration of entities. In the UML, the location of an entity is one of its predefined properties, and thus there exists a direct way of showing both the distribution and the migration of an object in an collaboration diagram.