next up previous
Next: 4 Acknowledgments Up: Toward a Conceptual Foundation Previous: 2 Position

3 Comparison

A variety of approaches to interoperability have been developed over the years [WWRT91]. As noted earlier, however, most current interoperability approaches lack general applicability, lack seamlessness and impose undue burdens on software developers and maintainers. We believe that these shortcomings can often be traced to a lack of suitable foundations for understanding important aspects of interoperability. Indeed, there are presently no well-established conceptual foundations specifically addressing interoperability, and as a result the few technological foundations for interoperability that exist tend to be ad hoc, or based on limited models that are drawn from a single computing domain or programming language or system.

Because of the ubiquitous nature of names in computing, there have been a number of formalisms involving or related to the use of names (e.g., [CP89,Fra71,Joh71,Mil93,MABD90,Sal78,Sto77,WCW88]). Such formalisms, however, have generally been specific to individual, or limited sets of, computation domains. As a result, they are not directly appropriate for inclusion among the conceptual foundations of interoperability. In response to their limitations, we developed the PICCOLO[*] model [KW95]. PICCOLO generalizes various concepts found in many of these models and extends them with additional features to produce a unified perspective on a more complete set of name management issues across a much broader range of computational systems. Although only an initial model, with clear shortcomings of its own, we believe that PICCOLO is representative of the kind of unifying model of name management that could contribute to foundations for interoperability.

There has, of course, been a great deal of conceptual work dealing with typing in programming languages. Without exception, however, that work has been focused on typing models, type checking or type inference in a single language. Since the essential typing issue for interoperability is type compatibility across language boundaries, none of this existing work is immediately appropriate for a role in foundations for interoperability. The research of Zaremski and Wing on signature matching [ZW95a] and specification matching [ZW95b] offers one important starting point, however, since it focuses on various notions of matching among various representations of types, which is quite relevant to type compatibility determination. To date, though, this work also has been restricted to single-language settings and hence is not immediately applicable to interoperability. Another potentially relevant line of research includes several attempts to establish formal models for typing in object-oriented systems. Two prominent examples of this work are the recent books by Palsberg and Schwartzbach [PS94] and by Abadi and Cardelli [AC96]. Each develops a general framework within which important aspects of object-oriented type systems, such as inheritance, may be understood. Although not immediately applicable to interoperability, each is a potentially valuable contributor to a suitable formal model of type compatibility in object-oriented interoperability. As noted earlier, we are currently developing a formal foundation for polylingual type compatibility to support reasoning about, and implementing support for, type safety in polymorphic, polylingual software systems [BRW97]. This foundation is presently based on concepts from Zaremski and Wing's signature matching and the Abadi and Cardelli approach to object-oriented type theory [Bar97].

The Evolving Algebras (EA) formalism [Gur88] has been developed as a general purpose model of computational systems and applied to studying such things as the semantics of Modula-2 [GM88]. We ourselves have used it as a basis for formalizing the semantics of the PICCOLO model [KW95]. Because it is an operational semantics formalism and hence EA models can be simulated using an interpreter [HM95], it has the advantage of providing some automated support as well as formal rigor. To make it useful in a foundation for interoperability, however, extensive development of appropriately high level EA models would be required.

Very recently, a few researchers have begun to explore some other formal foundations specifically aimed at interoperability concerns. Notable among these are the interconvertibility notion developed in the Mockingbird project [ACC97], the bottom-up type modeling approach to interoperability proposed by Sánchez-Ruíz [SR96] and the Larch-based formalization of IDL semantics by Sivaprasad [Siv95]. While none is likely to produce an appropriate foundation for polylingual interoperability, these various research efforts complement our own work toward developing such a foundation. The existence of these other efforts also suggests that we are not alone in believing that a conceptual foundation for interoperation is urgently needed.


next up previous
Next: 4 Acknowledgments Up: Toward a Conceptual Foundation Previous: 2 Position

Jack Wileden
Sept. 2, 1997