Modern unmanned vehicles (UV) are complex systems. The current generation of UVs have extensive capabilities allowing the UV to sense its environment, create an internal representation of the environment, navigate within this environment by commanding movement and accomplish this in real-time. This proliferation of UV capabilities has resulted in large and complex software systems that are often distributed across multiple processors. Such systems have a reputation for convoluted implementations that result in software that is difficult to understand, expand, debug and repair. In order for a UV to operate successfully this issue of complex distributed software systems must be mastered. The computing science field views a modular, component based design as the best approach for implementing complex distributed software systems. Methodologies and toolkits such as frameworks and middleware have been developed to enable and simplify the implementation of distributed software systems. DRDC and other research institutions are developing UVs frameworks using CORBA middleware. A CORBA interface enables location transparency, thus it does not matter whether the component is locally or remotely located. The UV autonomy framework developed at DRDC is based upon the Miro framework which was originally developed for soccer playing robots. The Miro framework implements many key features and methods required by autonomous systems and Miro's basis in CORBA allows it to be easily modified and extended to support the unique requirements of military UVs. DRDC has modified and extended Miro so that it now supports autonomous unmanned ground vehicles. The process of implementing these changes substantiated the advantages of frameworks and middleware since Miro proved to be highly flexible and easy to extend.