What is dMARS?
dMARSTM is an agent-oriented development and implementation environment for building complex, distributed, time-critical systems. Designed for rapid configuration and ease of integration, it facilitates system design, maintenance and re-engineering.
Based on the older Procedural Reasoning System (PRS) developed by SRI International (California), dMARS takes advantage of the latest research into multi-agent, real-time reasoning.
dMARS is suited to the development of any application that requires both proactive goal directed behaviour and reliable time-critical response to change. It is particularly well suited to applications where a large number of complex but well-defined procedures or tactics exist for accomplishing particular tasks in a variety of situations.
dMARS was designed with the issues of robustness, efficiency and user-extensibility in mind. It provides a sophisticated suite of graphical tools for development and debugging. These tools not only provide an intuitive interface, but address the specific issues involved with large-scale development.
dMARS follows the agent-oriented paradigm, which models systems in terms of software objects known as agents. Agents are reasoning entities capable of pursuing goals and accomplishing objectives, even in dynamic, uncertain environments. This approach facilitates the development of complex, distributed and fault-tolerant systems.
dMARS agents model their expertise as a set of context-sensitive plans. These plans can both react to changes in the environment and proactively pursue the agent's objectives. This allows agents to remain goal-directed without compromising their ability to react to new situations. They can alter their behaviour to keep abreast of changes in a real-time environment.
The agent-oriented approach of dMARS provides a natural, intuitive yet robust and flexible means of modelling genuine real-time decision making. Concurrency and cooperation are supported even when the agents involved are distributed across a network.
As well as reasoning about their environment, dMARS agents are capable of reasoning about their own internal state (meta-level reasoning). That is, they can reflect upon their own beliefs, goals and intentions. This feature allows users to define a wide range of task scheduling procedures, further facilitating responsiveness and reliability.
Some applications already successfully implemented as agent-oriented systems are:
- A fault diagnosis system for NASA's space shuttle.
- An air defence tactical simulation system for the Australian Air Force.
- A telecommunications network management system for Telecom Australia.
- A civilian air traffic control system for Airservices Australia.
- Agentis Business SolutionsTM, a business process management product.
dMARS provides the following facilities:
- 1. Ease of Use
- dMARS provides a high-level, graphical plan language for specifying complex, context-dependent processes and tactics.
- 2. Dynamic Task Management
- The dMARS Task Manager ensures goal-focused task execution and responsiveness in highly dynamic environments.
- 3. Support for Distributed Operations
- dMARS provides a high-level communication language and Application/Programmer Interfaces (APIs) for supporting highly distributed operations across a wide range of infrastructures.
- 4. Powerful Debugging Environment
- dMARS includes a suite of powerful development & debugging tools to minimize development and maintenance costs.
- 5. Real-time Performance
- High-level performance is provided through advanced plan compilation techniques, a streamlined task manager, efficient (light-weight) agent processes and application-specific databases that support fast access and updates.
- 6. Ease of Integration
- Multi-agent systems can be implemented as light-weight processes within a single UNIXTM process, as separate UNIXTM processes on the same machine, or as a distributed configuration communicating over a TCP/IP network. Interfacing with other processes is achieved via a simple, well-defined communication protocol.
- 7. Portability
- C++ is used as the integration language to maximize portability. dMARS runs under UNIXTM, is available on a range of industry standard platforms and supports standard, X-based graphical user interface environments.
- 8. Extensibility
- dMARS is highly modular with well-defined internal interfaces. This permits straightforward development of system extensions, ranging from customer user interfaces to task manager scheduling algorithms.
- 9. Scalability
- Unlike other procedural reasoning systems, dMARS offers the ability to compile several agents into a multi-threaded process. This offers significant improvements in memory utilization and context-switching that cannot be matched by systems constrained to a single agent per process.
- 10. Access to user-written C++ code.
- Existing C++ code can easily be linked with dMARS and made available to agents. Likewise, C++ modules can be turned into agent-like entities and integrated into a dMARS system.
- 11. Powerful Graphical Tools
- dMARS comes with a suite of powerful graphical tools to help with the design, implementation and testing of applications. Entire applications can be built and tested using powerful, point-and-click editors.
- 12. Completeness
- The system provides comprehensive libraries and components to support the development, implementation and testing of an application, therefore minimizing the need to develop application-specific support code.
- 13. Compatibility with SRI's Procedural Reasoning System (PRS)
- The dMARS plan language allows straightforward migration of applications based on PRS. A tool is provided that partially automates translation from PRS to dMARS.
- 14. Interpreter Support
- dMARS offers an interactive interpreter as well as a compiler, thus providing the best of both worlds to developers. The interpreter greatly speeds the develop & test cycle, while the compiler provides efficient, industrial strength applications.
- 15. Flexible Licensing Scheme
- The dMARS licensing scheme is flexible and can be tailored to suit your business needs.
- Written in C and C++.
- Agent-oriented development system.
- Distributed multi-platform support.
- Graphical user interface.
dMARS supports a variety of UNIXTM-compatible systems running on a number of hardware platforms, including:
- SunOS (4.1.x onwards) for Sun SPARCstations and compatible systems.
- Solaris (2.3 onwards) for Sun SPARCstations and compatible systems.
- DEC UNIX (OSF/1 3.2 onwards) for DEC Alphas.
- IRIX (5.3 and following) for SGI systems.
- HPUX9 for HP 9000 series systems.
- Windows NT (early 1997).
OpenLookTM and OSF/MotifTM.
Supported C++ Compilers
dMARS supports the following compilers:
- GNU g++ (all platforms except SGI).
- Lucid for SunOS.
- DEC cxx.
- SGI's Delta/C++ (CC only).
Hardware Requirements (development environment)
32 bit systems (Suns, SGIs):
64 bit systems (Alphas):
- 32M physical memory (min).
- 60M free disk, after O.S., compiler and optional software installation.
- 48M physical memory (min).
- 150M free disk, after O.S., compiler and optional software installation.
Hardware Requirements (runtime environment)
32 bit systems (Suns, SGIs):
64 bit systems (Alphas):
- 300k physical memory on startup, plus 100-300k per agent, depending on the agent's complexity.
- 1.8M free disk (min). 2M for medium-sized application.
- 600k physical memory on startup, plus 200-600k per agent, depending on the agent's complexity.
- 4M free disk (min).
Any combination of the supported O.S., GUI and C++ compiler for the hardware platform of choice.
Case Study: NASA's Reaction Control System (RCS)
dMARS has been used for real-time management of the Reaction Control System (RCS) on NASA's space shuttle. It automatically selects procedures for monitoring, diagnosing and recovering from failures, ensuring that the RCS system operates within specifications. It has performed successfully against the NASA Johnson Space Flight Center's shuttle simulators and with live telemetry data from shuttle missions.
For More Information
For more information on dMARS contact:
dMARSTM Product Support
Australian Artificial Intelligence Institute Ltd.
Level 6, 171 La Trobe Street
- What is dMARS?
- Agent Orientation
- Product Features
- General Features
- Supported Platforms
- Supported GUIs
- Supported C++ Compilers
- Hardware Requirements (development environment)
- Hardware Requirements (runtime environment)
- Software Requirements
- Case Study: NASA's Reaction Control System (RCS)
- For More Information
dMARS Product Brief - 4 OCT 1996