[comp.archives] [comp.os.research] Hermes textbook is now available

strom@uunet.UU.NET (Rob Strom) (03/17/91)

Archive-name: research/distributed-systems/hermes/1991-03-15
Archive-directory: software.watson.ibm.com:/pub/hermes/ [129.34.139.5]
Original-posting-by: arnor!strom@uunet.UU.NET (Rob Strom)
Original-subject: Hermes textbook is now available
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)


A textbook for the Hermes distributed programming language is now
available:

    Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
    Language for Distributed Computing. Prentice-Hall, Englewood
    Cliffs, NJ.  1991.  ISBN: O-13-389537-8.


The book contains:

o A tutorial which introduces users to Hermes, and guides them through
  a set of practical examples of constructing dynamic distributed
  systems.
o A reference manual containing precise definitions and illustrative
  examples for each language construct.
o Appendices containing the rules of Hermes in the same
  machine-readable format that is used to produce the compiler itself.
o Instructions on how to obtain a free copy of Hermes for
  non-commercial use.

The Hermes book can be obtained from your local bookstore, or by
writing to:

   Prentice Hall
   200 Old Tappan Road
   Old Tappan, NJ 07675

or by calling (201) 767-5937, or (800) 922-0579.

Hermes is a secure, very high-level language for programming
distributed and multi-application systems.  To the Hermes programmer,
a system looks like a collection of active modules (processes), each
containing a sequential program, and data.  The data consists of
computational data (scalars, tuples, and sets),input ports, and output
ports.  All data is strongly typed.  Programs interact by making calls
on output ports, receiving calls on input ports, and returning calls.
Programs can dynamically create new processes and control the bindings
of output ports to input ports.  Programmers do not explicitly see the
physical representation of data or the location of processes.
Therefore the programmer is shielded from the details of data formats,
operating system interfaces, and communications protocols.  
The Hermes process paradigm subsumes all the advantages of
"object-based" approaches to modularity and information hiding.
Hermes incorporates a secure, language-based approach to creating
multi-applications --- dynamically evolving systems containing
multiple active, interacting applications.  Hermes was
developed in the Distributed Systems Software Technology group at the
IBM T.J. Watson Research Center.

A Hermes implementation for IBM RT or RISC System/6000, or Sun 3 or 4,
can be obtained free of charge by sending mail to
hermes-request@ibm.com, or by filling out the tear-out business reply
card in the back of the book.  An electronic distribution is also
available via anonymous ftp from software.watson.ibm.com (IP address
129.34.139.5).  The Hermes system is for experimental, non-commercial
use only.  (See our earlier posting on Hermes availability).

We believe Hermes may be useful in courses on programming languages,
distributed systems, or software engineering.  Several professors are
currently using Hermes in their courses.  If you are planning to use
Hermes in a course, we would be interested in hearing from you.


-- 
Rob Strom, strom@ibm.com, (914) 784-7641
IBM Research, 30 Saw Mill River Road, P.O. Box 704, Yorktown Heights, NY  10958