About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
IEEE Workshop on Experimental Distributed Systems 1990
Conference paper
Hermes: An integrated language and system for distributed programming
Abstract
Hermes is an experimental language for implementing complex systems and distributed applications. It conceals low-level programming details, such as data representation, distribution, communications protocols, and operating system calls, while retaining expressiveness, checkability, and efficiency. Hermes supports multiple interacting applications and services within a single environment. Applications and services interact by making calls and passing typed parameters--exactly the same way modules interact within an application. The syntax and semantics of interaction are uniform, regardless of whether the interacting components are local or remote and whether they belong to the same user or to different users. The distinctive features of Hermes are (1) processes as the basic units of modularity and interaction, (2) ports as 'capabilities,' (3) a representation-independent 'pointerless' type system, and (4) compile-time checking which enforces protection on the granularity of a module. The concept of a multiapplication environment is discussed.