The Artima Developer Community
Sponsored Link

Jim Waldo on Distributed Computing
A Conversation with Jini's Chief Architect, Jim Waldo
by Frank Sommers with Bill Venners
First Published in JavaWorld, November 2001

<<  Page 8 of 11  >>


Theoretical Foundation for Distributed Computing

Frank Sommers: If you look at most successful technologies, many are based on rigorous mathematical and logical theories. For instance, relational algebra provided a foundation for many successful database technologies today. In distributed computing, could type systems be a logical foundation?

Jim Waldo: It's part of a logical foundation. I'm not sure what the logical foundation of distributed computing is yet. It's one of the things I like to think about in my spare time. A number of logics get built into distributed computing. One is an identification logic, which in Jini's case is based on the type system in Java, and therefore could be specified fairly well mathematically. There are also various security logics. Butler Lampson came out with his logic of authentication some time ago, which is the beginning of such a formal specification about what it means to authenticate over a distributed system. I think that needs a lot of work. Now that we know we can do it, we need to do it in a more expansive way, to see what alternatives there are. Luca Cardelli, now at Microsoft Research, has worked a lot on various Lambda calculi for distributed systems. Interesting stuff, but it hasn't quite connected with reality yet.

One of my favorite cartoons is on the cover of Sape Mullender's Distributed Systems. Its character looks into a river; the character is pointing one way, and his reflection is pointing the other. And it's labeled "Where theory meets practice." In distributed systems, we have good theory and good experience in implementing systems, but the two don't quite meet yet. We haven't grounded the systems that we've built on the theories that we've developed in such a way that the two are connected. We may be close.

One thing I like about distributed systems is they require both types of thinking -- practical engineering and the theoretical ability. At some point you hope they would touch. Doing distributed computing, I often think, is an act of faith. You never know, but you believe you will be able to do these things. I think everybody that does distributed computing is, at heart, a mystic.

Frank Sommers: It looks like almost everybody does distributed computing these days...

Jim Waldo: Well, almost everybody does computing that gets distributed. I'm not sure I would say everyone does distributed computing, yet. I think everybody should do distributed computing. A lot of people tend to forget that they are. They try to forget that there is a network involved there, one that makes fundamental changes in their lives.

<<  Page 8 of 11  >>

Sponsored Links

Copyright © 1996-2018 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use