150 likes | 165 Views
This document compares three agent architectures - Adaptive Agent Architecture (AAA), Aglets, and Cougaar - in terms of dimensions of usability, developer support, usage examples, and community backing. It delves into the features, documentation, and workflow integration of each architecture, offering insights into their strengths and weaknesses. Key aspects such as developer support, web presence, examples of use, and community support are evaluated to provide a comprehensive view for prospective users. The analysis includes practical tasks like a stock purchasing application to demonstrate the usability and effectiveness of these architectures in real-world scenarios.
E N D
Dimensions of Usability: Cougaar, Aglets, and Adaptive Agent Architecture Ian Gorton NICTA Andrew Cowell PNNL Jereme Haack PNNL Corresponding Author: jereme@pnl.gov
Overview • Introduction and Task Summary • Discussion of Architectures • Adaptive Agent Architecture (AAA) • Aglets • Cougaar • Dimensions of Usability with Evaluations • Developer Support • Examples of Use • Workflow • Community Support • Conclusion 2
Selected Architectures • Adaptive Agent Architecture • Multi-broker, multi-agent system architecture • Developed at Oregon Health & Science University to promote active research in multi-agent systems • Aglets • Devised at IBM’s Tokyo Research Laboratory then released as open source • The fundamental differentiating technology in Aglet architecture is agent mobility • Cougaar • Developed for DARPA under the Advanced Logistics Program • Designed to solve logistics planning problems using a cognitive model based on human reasoning. 3
Task Summary • Stock Purchasing Application • Purchasing Agent plans purchase orders • PA asks Experts who know about each stock for a recommendation • If all responses are “yes” order is sent to Buying Agent • If there is a “no”, replan, ask experts again 4
Defining Dimensions of Support • Based on informal interviews with a set of programmers some with previous agents experience and others simply familiar with good software engineering practice. • Developer Support • Documentation • Web Presence • Workflow • IDE Integration • Use in Other Projects • Examples of Use • Worked Examples • Tutorials • Community Support • Mailing Lists and Forums • User-Created Websites 5
Developer Support • Non-code material written to explain how to use software. • Documentation • Communicates the goals and intentions of the authors. • Web Presence • Efficient way to disseminate software updates and information and provides point of contact. • Active web presence shows developers are still engaged 6
Documentation AAA Does not provide much documentation Programmer’s guide incomplete. Javadocs available Aglets Book written by developers FAQ, white paper on website Cougaar Large volume of high quality documentation Provides detailed discussion of concepts behind Cougaar Web Presence AAA Primarily research project Not updated since 2002 Links to sample code and documentation Aglets Main site at IBM as well as SourceForge Examples and tutorials available Cougaar Well maintained, constantly updated Documentation kept up to date with new releases Developer Support - Evaluation 7
Examples of Use • Useful for illustrating features of the architecture and simple enough for a beginner to understand. • Worked Examples • Complete solutions written using the architecture • Simple “Hello World!” to complete and complex multi-agent system. • Provides “concreteness” • Tutorials • Walk a programmer through construction of a worked example. • Illustrates good programming practices for the architecture. 8
Worked Examples AAA Sample agents A few user-created examples Aglets Book has simple worked examples Examples of use outside development group Cougaar Large number of worked examples Example shows complete, complex Cougaar system Tutorials AAA None Aglets Book has simple tutorials Outside tutorials Cougaar Branch of project dedicated to tutorials Material available from training sessions Examples of Use - Evaluation 9
Workflow • Programmers often perform their work through a well-defined workflow. This includes tools used, languages, and methodologies. • IDE Integration • Many programmers use an integrated development environment (IDE). • Use in other Projects • Architecture may ultimately fail unless it finds a place in other projects and products. 10
IDE Integration AAA No special integration Aglets Provides SDK, but no special integration with an IDE Cougaar IDE plugin Eclipse only Use in Other Projects AAA Little outside use Aglets Use in research projects Cougaar Uses outside original logistics domain Workflow - Evaluation 11
Community Support • A large group of other programmers using an architecture are a valuable resource. • Mailing Lists and Forums • Most immediate forms of community support • Gives the developer the ability to ask questions to community as well as authors of the architecture • User-Created Websites • Valuable “real world” resources for developer • Offers a way for developers to join the community 12
Mailing Lists and Forums AAA Inactive Aglets Large archives Related questions on other lists Cougaar Very active lists User-Created Websites AAA None Aglets Online sites Cougaar Frequently appears in online user sites Community Support - Evaluation 13
Conclusion • AAA • Research project • Did not attain level of support to thrive • Aglets • Had active user base • Peaked and declined • Cougaar • Excellent support from users and authors • Continues to grow outside its original domain 14
Summary Criteria AAA Aglets Cougaar 15