``Formal Foundations for Transparent Interoperation''
Prof. Jack C. Wileden
University of Massachusetts, Department of Computer Science
Amherst, MA 01003-4610
E-mail: wileden@cs.umass.edu
URL: http://www-ccsl.cs.umass.edu/~jack

Prof. Alan Kaplan
Clemson University, Department of Computer Science
Clemson, SC 29634-1906
E-mail: kaplan@cs.clemson.edu
URL: http://www.cs.clemson.edu/$\sim$kaplan

Introduction

Our research is directed toward developing computer science foundations, both theoretical and practical, for transparent interoperation. The primary objective of our work is to hide the boundaries between heterogeneous dat repositories or between data repositories and applications that need access to these repositories. Scientific and engineering applications increasingly depend upon software systems comprising both code and dat components that come from a wide variety of diverse sources. Hence, appropriate theoretical and practical foundations for transparent interoperation will make it easier to develop, reuse, share, and maintain scientific and engineering applications.

In the remainder of this position paper, we suggest some features that we believe are critically important to formal foundations for transparent interoperation. We also briefly discuss some initial steps that we have taken toward developing such foundations. In a companion position paper [9] we discuss the practical aspects of our work, specifically the development of a new, highly transparent approach to interoperation called PolySPIN. A collection of prototype, automated tools supporting the use of the PolySPIN approach and some experience with its application are also described here.

Toward Formal Foundations

Interoperation, already an important issue for scientific and engineering software systems, will become even more important as data generation rates continue to escalate and connectivity makes both data and code increasingly available. Unless interoperation is essentially transparent, it could become a major impediment to the development, reuse, sharing, and maintenance of scientific and engineering applications. Unfortunately, current approaches to interoperation are based on such things as standardized data interchange formats, intermediate notations for interface description, or ad hoc wrapping of data repositories and code components. None of these provide the required transparency and hence we advocate development of suitable alternatives.

Our work to date on foundations for transparent interoperation has focused on modern programming languages, complex object-oriented user-defined abstract types, and persistent objects (e.g., [4, 10]). More specifically, we have been concerned with interoperability problems in programming languages, e.g., how an application written in a particular programming language accesses data that was defined and created by an application written in a different distinct programming language. To improve our understanding and assessment of suitability of different interoperability mechanisms, we have begun to develop a taxonomy of important facets of interoperability approaches. (See [7, 2] for details.) We have also developed a formal model of name management, called Piccolo, with an operational semantics based on evolving algebras [6, 3]. This model allows for the precise specification of some formal properties and analyses of name management approaches, and hence provides a starting point for contextualized interoperation analyses. In addition, we are developing an intial formal model, based on concepts from signature matching and object-oriented type theory, on which to base reasoning about, and automated support for, cross-language type compatibility [1]. This initial formal model allows developers to precisely express compatibility relationships among object-oriented types that are defined in different programming languages.

Research Directions

Although much of our work has set in the context of programming languages, preliminary work [8] suggests that our results can contribute to development of suitable formal foundations for transparent interoperation in scientific and engineering software systems. Towards that end, we plan to extend and improve our initial models so that they can account for other crucial aspects of transparent interoperation, such as versions, evolution, and dynamic systems modification.

  1. Barrett, D. J., Polylingual Systems: An Approach to Seamless Interoperability, Ph.D. thesis, University of Massachusetts, Amherts, MA, February 1998.
  2. Barrett, D. J., Kaplan, A. and Wileden, J. C., ``Automated Support for Seamless Interoperability in Polylingual Software Systems,'' Fourth Symposium on the Foundations of Software Engineering, San Francisco, CA, October 1996.
  3. Kaplan, A., Name Management in Convergent Computing Systems: Models, Mechanisms and Applications, Ph.D. Thesis, Technical Report TR--96--60, Department of Computer Science, University of Massachusetts, Amherst, MA, May 1996.
  4. Kaplan, A., Myrestrand, G. A., Ridgway, J. V. E., and Wileden, J. C., ``Our SPIN on Persistent Java: The JavaSPIN Approach,'' Proceedings of the First International Workshop on Persistence and Java, Drymen, Scotland, September 1996.
  5. Kaplan, A., Ridgway, J. V. E., and Wileden, J. C., ``Why IDLs Are Not Ideal,'' Ninth IEEE International Workshop on Software Specification and Design, Ise-Shima, Japan, April, 1998.
  6. Kaplan, A. and Wileden, J. C., ``Conch: Experimenting with Enhanced Name Management for Persistent Object Systems,'' Proceedings of the Sixth International Workshop on Persistent Object Systems, Washington, D.C., October 1995.
  7. Kaplan, A. and Wileden, J. C., Toward Painless Polylingual Persistence, Proceedings of the Seventh International Workshop on Persistent Object Systems, Cape May, NJ, May 1996.
  8. Kaplan, A. and Wileden, J. C., ``Foundations for Transparent Data Exchange and Integration,'' CODATA Conference on Scientific Technical Data Exchange and Integration, Washington, D.C., December 1997.
  9. Kaplan, A. and Wileden, J. C., ``Practical Foundations for Transparent Interoperation,'' NSF Workshop on Distributed Information, Computation, and Process Management for Scientific and Engineering Environments, Herndon, VA, May 1998.
  10. Ridgway, J. V. E., Trall, C., and Wileden, J. C., ``Toward Assessing Approaches to Persistence for Java,'' Proceedings of the Second International Workshop of Persistence and Java, Half Moon Bay, CA, August 1997.