Applying High-Level Language Paradigms to Communications Software for Distributed Systems
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Pagination or Media Count:
Many traditional approaches to systems software do not adapt well to the complexity and scale of distributed systems, but realities of scale and the growing dependency on electronic communication and resource sharing nevertheless make some degree of distribution inescapable. Among other things, distributing systems software introduces complex failure modes and event orderings as well as issues related to heterogeneity and communication latency. Language designers have been investigating techniques for expressing complex systems more cleanly and effectively various combinations of language mechanisms such as a parameterized module system, first-class functions, abstract types, exceptions, polymorphism, and a strong static type system can also be applied to great advantage in the design, implementation and maintenance of distributed systems. The dissertation evaluates the benefits of high-level language support in the design and implementation of communications software for distributed systems. Three case studies illustrate the effects of distributed system design and implementation within the framework of a type-safe high-level language with advanced language mechanisms a remote procedure call system, a distributed Linda system, and a protocol processing framework. The case studies are designed and implemented using Standard ML of New Jersey, which supports many of the relevant language features. Analysis of the design and implementation processes illustrates the benefits and drawbacks of using these advanced language features both individually and in combination to support distributed systems.
- Computer Programming and Software