The LOGOS Logistic Contracting Language

New logistic systems are inherently groups of interacting agents. Each such agent corresponds to some real world device, person, or institution that has a virtual counterpart inside a computer. These virtual agents are software objects that communicate with each other over a wide area network. As both the individual agents and their interrelationships are highly agile, some means are required to support development and maintenance of the distributed objects representing them. This paper describes the Logos logistic specification language, which addresses both support and maintenance by taking the interactions between the objects as a starting point1. Interactions are specified in the form of contracts. The language is meant as a tool for those involved with designing logistic systems, while the resulting contracts can be used as a starting point for developers of actual software systems. A compiler has been developed that translates contracts into Java code.