next up previous
Next: 3 Comparison Up: Toward a Conceptual Foundation Previous: 1 Background

2 Position

There is steadily growing interest in constructing software applications that incorporate components from a variety of sources. Component-based software development has been a long-standing goal of the software engineering community, as evidenced by the frequent appearance of terms such as reuse or megaprogramming [BS92] in the software engineering literature. Due to this trend toward utilizing software components from disparate sources, individuals and organizations involved in developing, operating or maintaining software applications increasingly face interoperability problems. All too often, when attempting to combine components that were implemented using different underlying models or languages into a single unified application, software practitioners find the effort excessive, or the results disappointing, or both. Given the pace of the developments that are encouraging component-based software development, we expect that interoperability will be among the most important software engineering challenges for the coming generation of software development and maintenance projects.

As interoperability problems have become increasingly apparent, a range of interoperability approaches have begun to be employed. Unfortunately, the approaches developed to date suffer from various shortcomings. Briefly stated, most current interoperability approaches lack general applicability, lack seamlessness and impose undue burdens on software developers and maintainers. It is our contention that these shortcomings can often be traced to a lack of suitable foundations for understanding important aspects of interoperability. Because such foundations are currently lacking, existing interoperability approaches are generally ad hoc, or based on limited models that are drawn from a single computing domain or programming language or system.

Our position is that a conceptual foundation for interoperation is urgently needed. More specifically, we advocate conceptual foundations for two crucial aspects of interoperability: name management and typing. Name management - how computing systems allow names to be established for entities, permit entities to be accessed using names, and control the availability and meaning of names at any point in time - and typing are both important issues that have been addressed in many computer science domains. From the perspective of interoperability problems, however, previous work on name management and typing is not sufficiently general or robust to contribute to the desired foundations. We therefore see a need for a conceptual foundation for interoperation in the form of rigorous, formal models for relevant aspects of name management, typing and possibly additional aspects of interoperability.


next up previous
Next: 3 Comparison Up: Toward a Conceptual Foundation Previous: 1 Background

Jack Wileden
Sept. 2, 1997