Law-governed interaction (LGI) is a decentralized coordination and
mechanism for distributed systems -- it can also be viewed as a
"policy mechanism". LGI enables a distributed group of
actors -- which may be large, heterogeneous and open -- to engage in a mode of
interaction governed by an explicitly specified policy, called the
"interaction law", or simply the law of this group.
This law is enforced, turning a disparate group of actors (whose
structure and behavior may not be known, and which may not trust each
other) into a community whose members can rely on each other
to comply with the given law.
The law-enforcement is done in a logically decentralized manner, by associating with each actor a generic component called controller, which is trusted to mediate the interaction of its actor with others. The controller decides, by interpreting the law at hand, how to react to messages sent and received by its actor. This decision is sensitive to the local state of interaction, and it can update this state according to the law. This scheme also enables physical centralization in a selective manner.
LGI can be useful in several respects: it can protect the security of a system via
it can enable effective collaboration among heterogeneous agents, dispersed
throughout the Internet,
by establishing coherent rules-of-engagement among them; and it can establish
interconnection structures over the components of a distributed system.
Such applications of LGI have been explored in various domains, including: electronic commerce, grid computing, enterprise systems, self-healing, and multi-agent systems.
Moses, named after the biblical law giver, is the middleware that supports LGI. It is implemented as a Java package, providing the implementation of the controller as well as of a number of other tools supporting LGI.
This website is the main portal for the release of the Moses system. As such, it offers the Moses binary download as well as the documentation resources associated with it: a set of tutorials, the complete documentation and reference manual, the Java programming API , as well as support information for the user community. An open source release of LGI is being considered for the future.
The following are the guidelines for the beginners starting to work with Moses: