E Home Page


Glossary


<- (send operator)

Sends E messages to an E-object.

& (distributor operator)

Obtains a channel's distributor (in order to send it a forward message, for example).

authentication

A means for cryptographic verification of the authorship and integrity of E classes and packages.

capabilities

The authority to send specific messages to specific objects in a distributed system. In E, you can control a object's access to particular resources (such as a file system) by giving it only certain capabilities.

capability semantics

A programming security model based on the use of capabilities. E's capability semantics model lets you restrict objects to send only certain messages to certain other objects.

certificates

Assertions about keys, the entities or packages to which they correspond, and the kinds of claims those keys can credibly certify. Certificates are used at run-time to determine a class's set of capabilities.

channel

A conduit E-object that carries messages from one object to another E-object, and acts as a placeholder for any requested values that the recipient E-object may reveal to the sending object.

child database

An object database that indirectly refers to another (parent) object database.

Class Blesser

The user interface E provides to manage the TBF, keys, certificates, and E's trust relationships in general. You can invoke the Class Blesser either through an interactive graphical user interface, or a command-line interface.

closure

A snapshot of all referenced local variables and parameters within the scope of a deferring statement (such as ewhen), taken when E encounters such a statement.

connector

An E environment object that encapsulates the right to establish outbound connections to other named (by URL) objects in the network.

database filters

A RtDBViewFilter object lets you restrict other users' read, write, and update privileges to your object database.

digital signature

A summary, or digest, of a certificate that is encrypted by a user's private key. It can be verified by anybody having the corresponding public key. The Trust Manager can use this signature to verify that the certificate has not been tampered with.

distributed communications

A model that lets remote objects on different machines communicate over the network. E has a built-in model for distributed communications, letting you send messages to remote objects without having to code any underlying networking protocols.

distributed garbage collector

Unlike Java's garbage collector, which performs garbage collection only within the scope of your local machine, E's distributed garbage collector performs garbage collection over the net for your distributed objects.

distributor

A node at the end of a channel that tells the channel where to route messages.

E environment objects

An object, descended from RtEEnvironment, containing classes and methods to create other objects that take full advantage of the E environment facilities, such as networking and file system access.

E-interface

Similar to a regular Java interface, except that it describes E-methods instead of regular Java methods. You designate an E-interface with the einterface keyword.

E-exception

An exception thrown by ethrow and caught by ecatch blocks. Unlike Java exceptions, an E exception does not encapsulate a back stack trace.

E-method

A block of code that is invoked when an E-object receives a corresponding message with that E-method name. An E-class must have an emethod declaration for each message it can receive.

EARL (E Absolute Reference Locator)

The E equivalent to a Universal Resource Locator (URL), referencing an E-object.

E-classes

The classes E provides to implement E functionality such as messaging and security capabilities. They are interoperable with Java classes and can contain both E and Java methods internally. Many of these are similar to Java classes.

ecomp (E compiler)

The name of the E runtime compiler. The ecomp compiler compiles both Java and E code directly to Java bytecodes (.class files).

eif

Similar to the Java if statement, handling conditional execution clauses. However, it uses optimistic computation to determine the condition.

E-object

Similar to a Java object, but is derived from EObject, rather than Java's Object class. An E-object implements E functionality such as messaging and security capabilities.

eforall

An alternative to an emethod declaration. It receives all messages sent to instances of its class, but it is given these messages in sealed envelopes which it cannot open, since it lacks unsealers.

envelope

Encapsulates the parameters of a message and ensures that they can only be read by a recipient E-object with the correct unsealer. The message in the envelope is secured by the unforgeable sealer and unsealer associated with it.

eorif

A clause of the eif statement. An eif statement containing one or more eorif clauses is called a multiway-guarded eif statement. A multiway guarded eif handles conditional cases that are evaluated concurrently, such as timeouts.

eorwhen

A clause of the ewhen statement. An ewhen statement contains one or more eorwhen clauses, it is called a multiway guarded ewhen statement. This means that the expression associated with the ewhen code block and the various alternate expressions associated with the other eorwhen code blocks are evaluated concurrently.

ethrow

Similar to Java's throw statement, except that it throws an E-exception.

etry

Similar to Java's try statement, but contains one or more ecatch clauses that receive E-exceptions and determine what to do with them. These ecatch clauses collectively establish a new E-exception handling environment for the execution of the etry code block.

ewhen

Defers execution of its associated block of code until a value is furnished for an E-object. The rest of your program can continue executing optimistically, as if it already has the result(s) it is expecting.

You can use ewhen to get values or data from an E-object. For example, you can use ewhen to get a Java integer value from an EInteger object, and add this value to another Java integer.

ewhenever

An ewhen statement that executes its code block every time it receives a value for its argument.

forward

A message that provides a channel's distributor with a destination. When a channel is forwarded, all messages sent to that channel are delivered to the E-object that the channel is forwarded to. You can even send messages to an unforwarded channel; these messages will be delivered later when the channel is eventually forwarded.

You can forward a channel to many recipients; all messages sent through that channel will be received by all the recipients.

key

A string of bits used in E's public-key cryptographical authentication mechanism.

javaec (E Java interpreter)

The E Java interpreter that interprets and executes Java bytecodes generated by the compiler. The javaec interpreter is based on Java's interpreter, java, but includes E features such as the Distributed Garbage Collector and Trust Manager.

launch

The means of giving an E-object access to the E Environment facilities. An object is launched through RtLauncher's launch method, which creates a general environment object. From this trusted object, you can create a more specified, restricted environment and pass this to another object.

mailing timeout

In E, these occur when the system cannot successfully deliver a message to the recipient object within a predefined time period.

message

E-objects only respond to messages, rather than the call/return semantics of Java. A message consists of the name of an E-method to be executed by the recipient E-object, an envelope encapsulating the message parameters, and a sealer. The recipient E-object responds to the message by executing that specified E-method. In E, messaging is asynchronous and unidirectional.

optimistic computation

A method of preventing long delays when communicating across a network. It lets objects send messages and continue execution of the rest of the code without waiting for a reply.

persistent object storage

A means of storing your objects to a an object database, and later retrieving them to use in other applications.

POLICY statement

In a Trust Boot File, these are the axioms of a system of statements about trust. These axioms are used to generate theorems about the trustworthiness of other certificates, entities, keys, classes, and packages. Only classes whose trustworthiness is logically demonstrable within this system will be loaded and executed.

public key cryptography (PKC)

A mathematical technology enabling private communication of data over public channels (even when the parties involved are not previously known to each other) and unforgeable digital signatures that can be used to conclusively prove the origin of a message.

In public-key cryptography, instead of a single secret key, one uses a pair of complementary keys, each of which can unscramble messages scrambled with the other. However, because of the mathematics underlying PKC, knowing one key of the pair does not make it practical to guess or calculate the other. A PKC user can make one key of the pair his public key, known to the world, and keep the other as his private key.

registrar

An E environment object that encapsulates the right to register objects by name in the local machine's object directory.

response timeout

In E, these occur when a message is successfully delivered to an object, but the receiving E-method does not respond in a timely fashion. Since E's messaging model is asynchronous, this is a legitimate situation; there is no way for a sending E-method to know when its requests will be serviced.

parent database

An object database that is referred to indirectly by another (child) object database.

root key

A name you can specify for a stream key when you save it to the database.

sealer

An object representing the right to send a message to another E-object. A sealer seals an envelope encapsulating the parameters of a message, and ensures that this message can only be read by an object with the appropriate unsealer.

secret key cryptography

The conventional cryptographical technology. The security of secret-key cryptography relies on the secrecy of a key, or string of bits, used according to a specified recipe or algorithm to scramble the message being sent. Anyone who knows both the key and the algorithm can unscramble the message and retrieve the original (or plaintext) message. The secret key must be passed from one participant to the other, in some way immune to eavesdropping, before they can communicate. See also public key cryptography.

signatures

See Digital signature.

source claim statement

In a certificate, these statements assert a rule for deciding the trustworthiness of keys, classes, or packages.

stream key

A token received when your application makes a request to store an object in the persistent object database. Your E program can then later redeem this stream key for the object.

trust boot file (TBF)

A file containing an initial set of statements regarding which users or code sources can be trusted, to what extent, and in what contexts. The file also contains information on whether these trusted authorities may delegate trust, in the form of capabilities, to other entities.

Trust Manager

E's authentication mechanism that verifies the authorship and integrity of E classes and packages. This mechanism includes the concept of sealers/unsealers, the Trust Boot File, certificates, and the Class Blesser.

unsealer

An object representing the right to receive and open a message sealed by another object. Only an E-object with the correct unsealer can read a message sealed by another E-object.


Copyright (c) 1996 Electric Communities. All rights reserved worldwide.
Most recent update: 6/13/96