In today's world, distributed computing systems (DCS) are omnipresent. They assist in ensuring a smooth operation of any organization, either military or civilian, by encapsulating its collective knowledge and presenting this knowledge in the form of a distributed information grid. In the near future many more organizations will contain a large number of DCS. Hence, the success of these organizations will largely depend upon their abilities to create robust and effective software for DCS. Despite the achievements in software engineering, the software development for large-scale de-centralized systems is still a major challenge.

Thus, there is a need for an effective and efficient framework, that is flexible and cost effective, for developing reliable distributed software. Such a framework will have a profound impact on many organizations, especially the agencies like DoD. It will enable DoD to effectively manage their large-scale DCS. The proposed research focuses on exploring innovative approaches to representing knowledge of distributed components and creating a comprehensive framework which will allow a seamless interoperation of heterogeneous distributed components.

The proposed approach involves:

  • The creation of a meta-model for components and associated hierarchical setup for indicating the contracts and constraints of the components,
  • An automatic generation of glue and wrappers, based on a designer's specifications, for achieving interoperability,
  • Guidelines for specifying and verifying the quality of components and component complexes (results of compositions of components),
  • A formal mechanism for precisely describing the meta-model,
  • A methodology for component-based software design and
  • Validating this framework by creating proof-of-concept prototypes.
This project is a joint effort between
  • Indiana University Purdue University Indianapolis (IUPUI)
  • University of Alabama at Birmingham (UAB)
The proposed research has many innovative features and far-reaching impacts on the way distributed software will be developed by organizations --military or civilian -- in future. The creation of a meta-model, along with automatic generation of glues and wrappers will allow a seamless interoperation of heterogeneous software components. The automation for testing and debugging components will increase the reliability and ensure a specific quality of service offered by the components.

As all the aspects of meta-model will be specified in a formal fashion, the process of combining heterogeneous components will have a rigorous mathematical foundation. Finally, the creation of a suitable software development process will enable developers to exploit the benefits of the rich meta-model approach. Thus, an amalgamation of these different, but related, objectives of the proposed project will create an effective framework for developing distributed software systems of tomorrow.