Introduction
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.