SoarML: A Graphical Modeling Language for Agents. Glenn Taylor, Jacob Crossman

Similar documents
Soar Agents in Government Applications

Structural Analysis of Agent Oriented Methodologies

AOSE Agent-Oriented Software Engineering: A Review and Application Example TNE 2009/2010. António Castro

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

A Modeling Method to Develop Goal Oriented Adaptive Agents in Modeling and Simulation for Smart Grids

MULTI-AGENT BASED SOFTWARE ENGINEERING MODELS: A REVIEW

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT

Course Outline Department of Computing Science Faculty of Science

Prometheus: A Methodology for Developing Intelligent Agents

COMP150 Behavior-Based Robotics

Methodology for Agent-Oriented Software

Interactive Visualizations for Cyber-

An Ontology for Modelling Security: The Tropos Approach

C Commands. Send comments to

Component Based Mechatronics Modelling Methodology

Automated Analysis and Synthesis of Block-Cipher Modes of Operation

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING

Agents for Serious gaming: Challenges and Opportunities

IHK: Intelligent Autonomous Agent Model and Architecture towards Multi-agent Healthcare Knowledge Infostructure

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom

Hierarchical Controller for Robotic Soccer

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Requirement Definition

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Visio Café Update. July 8 th, 2003

Object-oriented Analysis and Design

Distributed Vision System: A Perceptual Information Infrastructure for Robot Navigation

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

OWL and Rules for Cognitive Radio

ACHIEVING SEMI-AUTONOMOUS ROBOTIC BEHAVIORS USING THE SOAR COGNITIVE ARCHITECTURE

Artificial Intelligence: An overview

Support of Design Reuse by Software Product Lines: Leveraging Commonality and Managing Variability

DESIGN AGENTS IN VIRTUAL WORLDS. A User-centred Virtual Architecture Agent. 1. Introduction

Indiana K-12 Computer Science Standards

Designing Institutional Multi-Agent Systems

Jason Agents in CArtAgO Working Environments

A Unified Model for Physical and Social Environments

SPQR RoboCup 2016 Standard Platform League Qualification Report

SOFTWARE ARCHITECTURE

SOFT 437. Software Performance Analysis. What is UML? UML Tutorial

Mission-focused Interaction and Visualization for Cyber-Awareness!

Integrity Monitoring? New thinking in the approach to Subsea IMMR. Dr Karl Woods, Snr Subsea Reliability Engineer 22/2/2017

A DIALOGUE-BASED APPROACH TO MULTI-ROBOT TEAM CONTROL

Software Agent Reusability Mechanism at Application Level

A NEW SIMULATION FRAMEWORK OF OPERATIONAL EFFECTIVENESS ANALYSIS FOR UNMANNED GROUND VEHICLE

A Conceptual Modeling Method to Use Agents in Systems Analysis

ACTIVE, A PLATFORM FOR BUILDING INTELLIGENT OPERATING ROOMS

A DAI Architecture for Coordinating Multimedia Applications. (607) / FAX (607)

ROE Simulation Program

Handling Failures In A Swarm

A Conceptual Modeling Method to Use Agents in Systems Analysis

Mixed-Initiative Aspects in an Agent-Based System

Modular Metering System ModbusTCP Communications Manual

Co-evolution of agent-oriented conceptual models and CASO agent programs

Policy Teaching. Through Reward Function Learning. Haoqi Zhang, David Parkes, and Yiling Chen

Individual Test Item Specifications

Course Syllabus. P age 1 5

Knowledge Enhanced Electronic Logic for Embedded Intelligence

A Low Voltage Command-Arm System for Distributed Fuzing

Patent data analysis to support policy making Assessing S&T cooperation partners: the case of India & China

An agent-oriented approach to change propagation in software evolution

Agent Development. F. Alonso, S. Frutos, L. A. Martínez, C. Montes Facultad de Informática, UPM.

An Agent-based Quality Assurance Assessment System

BIM+Blockchain: A Solution to the "Trust" problem in Collaboration?

An Integrated Modeling and Simulation Methodology for Intelligent Systems Design and Testing

GLOSSARY for National Core Arts: Media Arts STANDARDS

ACTIVE, A PLATFORM FOR BUILDING INTELLIGENT SOFTWARE

An Introduction to Agent-based

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

Negotiation Process Modelling in Virtual Environment for Enterprise Management

Analysis of Agent-Oriented Software Engineering

An introduction to Agent-Oriented Software Engineering

Detecting Unusual Changes of Users Consumption

Learning New Air Combat Tactics With Cascade

Objects 101: An Introduction

TRIESTE: A Trusted Radio Infrastructure for Enforcing SpecTrum Etiquettes

Multiagent System for Home Automation

HyperNEAT-GGP: A HyperNEAT-based Atari General Game Player. Matthew Hausknecht, Piyush Khandelwal, Risto Miikkulainen, Peter Stone

Virtual Reality as Innovative Approach to the Interior Designing

class TicTacToe: def init (self): # board is a list of 10 strings representing the board(ignore index 0) self.board = [" "]*10 self.

Alexandre Fréchette, Neil Newman, Kevin Leyton-Brown

understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems

SENG609.22: Agent-Based Software Engineering Assignment. Agent-Oriented Engineering Survey

Assignment 12 CSc 210 Fall 2017 Due December 6th, 8:00 pm MST

Goals of this Course. CSE 473 Artificial Intelligence. AI as Science. AI as Engineering. Dieter Fox Colin Zheng

Dynamic Designs of 3D Virtual Worlds Using Generative Design Agents

Grundlagen des Software Engineering Fundamentals of Software Engineering

IMPLEMENTING MULTIPLE ROBOT ARCHITECTURES USING MOBILE AGENTS

An Unreal Based Platform for Developing Intelligent Virtual Agents

Designing 3D Virtual Worlds as a Society of Agents

Extending Gaia with Agent Design and Iterative Development

Pervasive Services Engineering for SOAs

Capturing and Adapting Traces for Character Control in Computer Role Playing Games

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines

Moving Path Planning Forward

COMP310 Multi-Agent Systems Chapter 3 - Deductive Reasoning Agents. Dr Terry R. Payne Department of Computer Science

4590 Tank Side Monitor. Service Manual. Mark/Space Communication Protocol. Software Version v2.03 SRM009FVAE0808

Crowd-steering behaviors Using the Fame Crowd Simulation API to manage crowds Exploring ANT-Op to create more goal-directed crowds

MHEG Multimedia and hypermedia expert group

Transcription:

SoarML: A Graphical Modeling Language for Agents Glenn Taylor, Jacob Crossman glenn@soartech.com, jcrossman@soartech.com 25 May 2006 www.soartech.com

What is SoarML? A visual language for representing single agent designs Based roughly on the Prometheus agent design methodology Customized for human behavior modeling Initially developed as part of HLSR effort Iteratively improved over two years Allows code/architecture independent descriptions of an agent s behavior In general, is NOT specific to Soar Was used initially to document HLSR designs Used for a several Soar Technology systems Adversarial reasoning module Indirect Fire (IF)-Soar Deontics additions to Command and Control AutoATC 25 May 2006 2005 Soar Technology, Inc. Slide 2

Motivation for a Modeling Language for Agents Promotes High-level design Almost always better to think through design before coding Text and code are not always best ways to encode designs A modeling provides constructs that map to design concepts and ignore low-level details Communication to Management PI needs a way to express/understand what is going on in an agent without looking at code Customers sometimes need design documentation or key algorithms/processes explained Communication within a development team Understanding what is happening in a Soar program is hard Understanding is easier when the high-level concept is clear before looking at the code 25 May 2006 2005 Soar Technology, Inc. Slide 3

Another Modeling Language? Others exist: Why invent our own? Existing methods: OO UML, AUML, Prometheus But: Most agent MLs focus on multi-agent aspects, little detail at the individual agent level None capture cognitive architecture aspects (goals, truth maintenance, deliberate consideration, preferences, etc.) In many cases UML is helpful to cover other areas; SoarML focus is on areas UML doesn t cover well for agents 25 May 2006 2005 Soar Technology, Inc. Slide 4

Graphical Design Language Key 25 May 2006 2005 Soar Technology, Inc. Slide 5

Static Structure Diagram Examples Description Representation of declarative memory s structure Consistent with OO UML specifications Tagging separates processcentric data (usually only shown in process diagrams) Notes Can be used standalone or as part of process diagrams Soar doesn t really directly support structures or inheritance 25 May 2006 2005 Soar Technology, Inc. Slide 6

Knowledge Structure for Indirect Fire top-state missions 1 missioncollection mission 1 method-ofengagement adjustment-to 0.1 * observer: string if-mission method-of-engagement Described in separate diagram method-of-control achieve-ifmission mission 0.1 maintenance mission-completed: bool required-info-known: bool asset-selected: asset fire-control rounds-complete: bool time-to-say-rounds-complete: bool method-of-fire-control authentication 1 fire-constraint: fire-constraint-enum requires-spash: bool mission-prep info-sufficient: bool basic-authentication 0.1 location target-location direction 0.1 direction target-description 1 expected-response: string response: string valid: bool invalid: bool text: string (whole location) units: location-units-enum 1 value units: direction-units-enum value: integer 0.1 targetdescription number: integer protection: protection-enum type: target-type-enum challenge: string challengeauthentication transmissionauthentication loc-valuestructure prefix: string decimal: integer 25 May 2006 2005 Soar Technology, Inc. Slide 7

Goals and Goal Hierarchies Description Represent goal hierarchies Supports forests or stacks Does not require any specific Soar implementation (e.g. using impasses or top-state goals) Can augment with met condition: a production that marks the goal achieved Notes Can be used to show goal forest or connection to goals in process diagrams 25 May 2006 2005 Soar Technology, Inc. Slide 8

Goal Forest for Indirect Fire Used to create the achieve-adjust-fire goal achievecreategoal-for-fireadjustment achieve-if-mission tac-callsign: string old-missions: mission-set adjustment-missions: mission-set requirements: mission-requirements mission 1 if-mission Known parameters holds mission parameters that were sent by the Forward Observer during the initial communication that creates the message. It resides in the tags of the goal. achievecreate-mission maintenance created-based-on: {goal} mission-completed: bool required-info-known: bool mission-initially-prepared: bool fire-control round-to-fire: {round} round-to-track: {round} firing-round: int 0..1 tags.knownparameters known-parameters requested-unit-name: string locate-method: locate-method-enum trans-auth: {basic-authorization} achievecreate-mission achieve-fire achieveprepareadjust-firemission achieve-setfire-param achieve-ackmissionrequest achieve-makemissionadjustment achieve-getfire-location achieveget-methodof-control achieve-getmethod-ofengagement Used to communicate replies achieve-ackmissionrequest achieve-gettargetdescription achieve-getauthentication achieve-getdirection achievecommpreformattedmsg 25 May 2006 2005 Soar Technology, Inc. Slide 9

Process Diagram Examples Description Represent processes: sets of related operators in Soar Integrates static structure, goals, operators, and preferences Key productions can be highlighted Includes key memory changes and trigger conditions Notes Typically processed are documented to the operator level 25 May 2006 2005 Soar Technology, Inc. Slide 10

The Firing Process for Indirect Fire 25 May 2006 2005 Soar Technology, Inc. Slide 11

When/How to Use Documenting Design Concepts Purpose: construct and analyze the framework for an agent s behavior understand major behavior interactions and knowledge structures Guidelines Most effective early in a project Focus on major objects, processes, and relationships Keep abstract: implementation will refine and suggest changes Document Existing Systems Purpose: Provide an overview of system for maintenance team Provide customer/management with technical details Guidelines Most effective late in development cycle after details solidify Focus on key patterns of behavior and concepts to understand how the agent behaves and how it can be modified Drill down to moderate levels of detail (e.g. provide more firing conditions and knowledge structure details) 25 May 2006 2005 Soar Technology, Inc. Slide 12

Nuggets/Coal Nuggets Coal Useful for design documentation and presentations Being used on several projects A good way to visually inspect design for flaws/commonalities Hard to get some engineers to design and document Only a few people using it regularly Doesn t address multiagent processes (other MLs might cover this sufficiently) 25 May 2006 2005 Soar Technology, Inc. Slide 13

References For Visio Stencil, email Glenn or Jacob Prometheus Padgham, L. and Winikoff, M., Prometheus: A Methodology for Developing Intelligent Agents, Proceedings of the Third International Workshop on AgentOriented Software Engineering, at AAMAS 2002. July, 2002, Bologna, Italy http://www.cs.rmit.edu.au/agents/prometheus/ 25 May 2006 2005 Soar Technology, Inc. Slide 14

Questions?