next up previous
Next: Daniel Jackson Up: Specific Research Activities Previous: David Garlan

Jeannette Wing

I am interested in the specification of interfaces. Interfaces should contain semantic information, not just syntactic (like types) and structural information (like imports/exports). Semantic information includes not just the functional behavior of a component, but characterizations of ``non-functional'' behavior as well, e.g., reliability, performance, security. The scientific challenge is to understand how different models for describing different behavioral characteristics can be combined in meaningful ways. The engineering challenge is to define an interface definition language that is sufficiently expressive to describe a component's semantic information, yet at the same time be restrictive enough so that relevant semantic checks can be performed automatically or semi-automatically.

Given interface specifications of components and protocol specifications of connectors, I am also interested in how to achieve system interoperability. An interoperability problem arises if components do not speak the same language when trying to communicate. There could be an interface mis-match or protocol mis-match. To solve this problem, we must first be able to detect when there is a mis-match, then decide whether to resolve it, and if so, how. The scientific challenge here is to formulate a model to understand and characterize the interoperability problem better. One engineering challenge is devising solutions for resolving semantic mis-matches.

My specific domain of application is distributed systems. The interface definition language mentioned above should be appropriate for describing components in a distributed system. The presence of concurrency and faults makes the underlying model more complex than that for sequential systems. Yet these are exactly the complexities systems builders have difficulty formalizing and reasoning about. Theoretical research in models and logics have much to offer; however, they tend not to be accessible to practitioners. Thus, the language I want to design must be usable by real systems builders.

One of the hot trends in distributed computing today is the growth of large-scaled information systems like the World Wide Web. The President's vision of the National Information Infrastructure is like a WWW for the general public. In this context, I am interested in the problem of search. I would like to exploit the structural and semantic information of the components being searched to enhance and expedite the search process. Ideally, a query could be akin to an interface specification; retrieval would be based on a semantic match between the query and the interfaces of desired components.

References

[Mummert et al. 94]
L. Mummert, J.M. Wing, and M. Satyanarayanan, ``Using Belief to Reason about Cache Coherence,'' to appear in Symposium on Principles of Distributed Computing, August 1994.

[Liskov and Wing 94]
B.H. Liskov and J.M. Wing, ``Family Values: A Behavioral Notion of Subtyping,'' submitted to ACM Transactions on Prog. Lang. and Systems, July 1993. Also CMU-CS-93-187 (supersedes CMU-CS-93-149 and CMU-CS-92-220).

[Haines et al. 94]
N. Haines, D. Kindred, J.G. Morrisett, S.M. Nettles, and J.M. Wing, ``Composing First-Class Transactions,'' submitted to ACM Transactions on Prog. Lang. and Systems, December 1993. Also Technical Report CMU-CS-93-202 under title ``Tinkertoy Transactions.''

[Zaremski and Wing 93]
A.M. Zaremski and J.M. Wing, ``Signature Matching: A Key to Reuse,'' Proceedings of SIGSOFT '93, December 1993. Also CMU-CS-93-151, May 1993. Extended version submitted to ACM TOSEM, August 1994.



Thu Jun 29 11:17:27 EDT 1995