MACE(ID:2202/mac008)Multi-agent computing environmentfor Multi- Agent Computing Environment Concurrent object-oriented language, environment and development toolset MACE is modelled on the idea that the agents are social, and form communities of various sorts, each of which has a particular function Structures: Related languages
References: -A collection of agents. Agents are the basic computational units of the MACE system. Rather than being simple generic object structures, MACE agents are inherently "social" in nature: they know about some other agents in their environment, and expect to draw upon and coordinate with the expertise of others they know about. MACE agents represent this information in the form of models of other agents in the world in a special database called acquaintances, which is a property of each MACE agent. Current agent models are predicate-calculus based. MACE agents may be composed into sub-units or coalitions; they respond as organized groups or composites. The MACE Agent Description Language includes facilities for describing organized clusters of agents. -A community of system agents. A number of pre-defined system agents provide MACE command interpretation, a standard user interface, the agent-builder cluster, error handJ~ng, tracing, execution monitoring, etc. Specific MACE agents serve as interactive tools for building and executing MACE programs. A collection of facilities which all agents may use, including a pattern marcher, a simulator, several standard agent engines~ handlers for standard errors, and standard messages understood by all agents. MACE incorporates extensive pattern-matching facilities for interpreting messages, for pattern-directed invocation of asynchronous events (e.g., demons and other event-monitors), and for associative database access within agents. -Instrumentation. The MACE testbed is instrumented to allow for measurements of the characteristics of problem-solvers during experimental runs. Message traffic, queue and database sizes, work done by an agent (in terms of elapsed real time or number of invocations), and load on a processor node are common measurements. -A description database. Agent descriptions are maintained in a description database by a system-agent cluster which constructs new descriptions, verifies descriptions, and constructs executable agents from descriptions. MACE enforces a separation of description and execution to handle some problems of distribution of objects. -A collection of kernels. MACE kernels collectively handle communication and message routing, perform I/O to terminals, files, or other devices, map agents onto processors, and schedule agents for execution. - Reflection capabilities. A MACE agent's acquaintances database can include, of course, models of the behaviors, plans, roles, or implementation of the agent itself, providing high-level and behavioral reflection capabilities. - An evolutionary philosophy. MACE agents are intended to be a high. level approach to distributed object-oriented programming. Since we are using MACE as a testbed to explore coordination strategies for intelligent multi-agent systems, the nature of generic MACE agents changes and specializes over time. All MACE agents now have acquaintance databases, react to certain specialized messages, and include particular attributes (e.g. the attribute "ME" which includes a partial self description). Over time, as more coordination and modeling features are found useful, they will be standardized as features of MACE agents. In this way, MACE agents are explicitly evolving toward higher-level objects. MACE has been used to build numerous experimental DAI systems including models of lower-level parallelism (sets of distributed production rule systems without global database or inference engine, where each rule is an agent) and higher-level distributed problem solving architectures (e.g., domain-independent distributed blackboard and contract-net schemes). MACE is implemented on a 16-node INTEL iPSC/1 large-memory hypercube and in a LISP machine environment, and will soon be available on the iPSC/2 and a Sun network. DOI in SIGPLAN Notices 24(04) April 1989 incoroporating Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming, San Diego view details |