Transcript Slide 1

Structure Control in Agent-based Simulation

Bernard P. Zeigler, Ph.D., Co-Director, Arizona Center for Integrative Modeling and Simulation www.acims.arizona.edu

and Joint Interoperability Test Command Fort Huachuca, AZ 85613-7051

Outline

• Agent and multi-agent based simulation • DEVS modeling and simulation • DEVS support of agents • Structure change control • Application to distributed opportunistic testing of complex defense collaborative agent systems • Some issues and implications

References, Available from www.acims.arizona.edu

1.

Theory of Modeling and Simulation, 2nd Edition, Academic Press, Bernard P. Zeigler, Herbert Praehofer , Tag Gon Kim ,2000 2.

Nutaro, J., Hammonds, P., "Combining the Model/View/Control Design Pattern with the DEVS Formalism to Achieve Rigor and Reusability in Distributed Simulation", 3.

Zeigler, B. P., Fulton, D., Nutaro, J., Hammonds, P., "M&S Enabled Testing of Distributed Systems: Beyond Interoperability to Combat Effectiveness Assessment", 9th Annual Modeling and Simulation Workshop, Dec. 8-11, 2003, ITEA White Sands Chapter 4.

Zeigler, B.P., Fulton, D., Hammonds, P., Nutoro., J., "Framework for M&S-Based System Development and Testing in Net-centric Environment", in ITEA Journal, Nov, 2005 5.

Using Discrete Event Modeling and Simulation to Automate Testing In a Net-Centric Environment, Bernard P. Zeigler, Eddie Mak, Phillip Hammonds, Dale Fulton, Dasia Benson,Kimberly Nunn,

Agent-Based Simulation

• some of the simulated entities are

agents

• explicitly represents specific behaviors of specific individuals • contrast with traditional macro-level aggregated representations • extends object-oriented simulation • facilitates simulation of group behavior in highly dynamic situations • allows study of "emergent behavior" • well-suited to populations of heterogeneous individuals – vehicles (and pedestrians) in traffic situations – actors in financial markets – consumer behavior – humans and machines in battle fields – people in crowds – animals and/or plants in eco-systems – artificial creatures in computer games

Multi-agent Systems

• A dynamic system might be described as a multi agent system • E.g. in a bio cell, agents are used as a metaphor to describe and understand the dynamics within the cell • enzymes, DNA, and mRNA and repressors interact as autonomous reactive entities • Suited for parallel and/or distributed simulation

Spectrum of Agent Properties

belief management capability intention management capability goal management capability domain knowledge language skills communication capabilities manipulation skills mobility skills agent model navigation skills domains …

structure change ability

decision making abilities perception abilities

Layered Architecture

Model Specification Simulation Services Network /Middleware

How is simulation software different from other software?

• It represents the behavior of dynamic systems whose states are functionally dependent on time • Properly controlling the flow of time is critical • Simulation software may combine: – continuous (time-driven) and discrete (event-driven) processes – actual operating hardware and software representations – wall clock and {faster/slower} than real time advance

DEVS Background

• DEVS = Discrete Event System Specification • Provides formal M&S framework: specification,simulation • Derived from Mathematical dynamical system theory • Supports hierarchical, modular composition • Object oriented implementation • Supports discrete and continuous paradigms • Exploits efficient parallel and distributed simulation techniques

DEVS Hierarchical Modular Model Framework

Atomic: lowest level model, contains structural dynamics -- model level modularity Atomic

Coupled: composed of one or more atomic and/or coupled models hierarchical construction

Atomic Atomic Ato mic A to mi c Atomic Atomic

Some Types of Models Represented in DEVS

Coupled Models Ordinary Differential Equation Models Atomic Models Processing/ Queuing/ Coordinating can be components in a coupled model Networks, Collaborations Partial Differential Equations Physical Space Stochasti c Models Spiking Neuron Models Discrete Time/ StateChart Models Petri Net Models Processing Networks Spiking Neuron Networks Cellular Automata n-Dim Cell Space Quantized Integrator Models Fuzzy Logic Models Reactive Agent Models Multi Agent Systems Self Organized Criticality Models

JAMES (Java-Based Agent Modeling Environment for Simulation) • DEVS-based framework facilitates experiments with agents under temporal and resource constraints • supports – endomorphy, i.e., models which contain internal models about themselves and their environment – variable structure models, i.e. models whose description entails the possibility to change their own structure and behavior – parallel distributed execution

DEVS/RAPs

RAP (Reactive Action Package) •defines a tree of possible ways a task may be carried out with associated contingencies •elementary constructs are query and action (command) events •events are asynchronous messages generated internally or externally •RAPs compose hierarchically to provide highly flexible reactive decision making KIB (Knowledge Interchange Broker) handles synchronization, concurrency, and timing of interchanged messages

Testing of interface standards is a focus area for automated simulation-based testing. Link-16 is required in all Joint and multi-national operations.

Theater Warning DSP/SBIRS ABL AWACS JLENS F-15 THAAD TEL PATRIOT MEADS AVENGER ATACMS AEGIS (CEP)

The Joint Interoperability Test Command (JITC) has developed an automated test generation (ATC-Gen) methodology as its core technology for testing conformance of systems to Link-16 This methodology is fundamentally enabled by the DEVS formalized modeling and simulation approach Selected as the winner in the Cross-Function category for the 2004/2005 Department of Defense M&S Awards Link-16 specification

ATC-Gen Goals and Approach

Objective: Automate Testing

Capture Specification as If-Then Rules in XML Analyze Rules to Extract I/O Behavior Synthesize DEVS Test Models Goals

: • To increase the productivity and effectiveness of standards conformance testing (SCT) at Joint Interoperability Test Command (JITC) • To apply systems theory, modeling and simulation concepts, and current software technology to (semi-)automate portions of conformance testing

Test Driver Executes Models to Induce Testable Behavior in System Under Test (SUT) Interact With SUT Over Middleware Test Driver DEVS Simulator HLA SUT HLA Network

Discrete Event Nature of Link-16 Specification Transaction Level - example P.1.2 = Drop Track Transmit 1 Preparation 2 Processing 3 Modify C2 Record for TN Constraints (Exception) Rules Validity checking Rule Processing Operator decisions Transmit Msg Track Display Time outs Periodic Msg Stop Stop, Do Nothing, Alerts, Or jump to other Transaction Other ConsequentProcessing Jumps (stimuli) to other Transactions of specification System Theory Provides Levels of Structure/Behavior Level 3 2 1 0 Coupled System I/O System I/O Function I/O Frame Input to system t 1 t 2 DEVS Output from system t 3 t 4

• • •

ATC Gen Process Overview

Rule Capture in XML

Analyst interprets the requirements text to extract state variables and rules, where rules are written in the form: If P is true now Condition Then do action A later Unless Q occurs in the interim Consequence Exception Dependency Analysis & Test Generation

Dependency Analyzer (DA) determines the relationship between rules by identifying shared state variables

Test Model Generator converts Analyst defined test sequences to executable simulation models Test Driver

Test Driver interacts with and connects to SUT via HLA or Simple J interfaces to perform conformance testing

Validated against legacy test tools

Test Driver for Controlled Testing

Coupled Test Model Component Test Model 1

Jx1,data1 Jx2,data2 Jx3,data3 Jx4,data4

Component Test Model 2

Jx1,data1 Jx2,data2 Jx3,data3 Jx4,data4

Component Test Model 3

Jx1,data1 Jx2,data2 Jx3,data3 Jx4,data4

Middleware SUT

Test Model Generation for Controlled Testing

Mirroring (flipping) the transactions of a SUT model (system model behavior selected as a test case) allows automated creation of a test model Test Model

Jx1,data1 Jx2,data2 Jx3,data3 Jx4,data4

SUT Model

t1 holdSend(Jx1,data1,t1) holdSend (Jx2,data2,t2) holdSend (Jx3,data3,t3) waitReceive(Jx4,data4) t2 t3 t4 time receiveAndProcess(Jx1,data1) receiveAndProcess(Jx2,data2) receiveAndProcess(Jx3,data3) transmit(Jx4,data4)

Multiplatform Distributed Simulation Opportunistic testing

Platform (System, Component) Platform (System, Component) Platform (System, Component) Observer Observer Observer Test Coordinator

Distributed Observers look for opportunities to test

Test Manager for Opportunistic Testing

• Replace Test Models by Test Detectors • Deploy Test Detectors in parallel, fed by the Observer • Test Detector activates a test when its conditions are met • Test results are sent to a Collector for further processing Other Federates

SUO Observer Test Detector 1

Jx1,data1 Jx2,data2 Jx3,data3 Jx4,data4

Test Detector 2

Test Manager

Results Collector Test Detector 3

• • Test Detector Generation for Opportunistic Testing The Test Detector watches for the arrival of the given subsequence of messages to the SUO and then watches for the corresponding system output Define a new primitive, processDetect, that replaces holdSend Test Detector – Tries to match the initial subsequence of messages received by the SUO – When the initial subsequence is successfully matched, it enables waitReceive (or waitNotReceive) to complete the test Jx1,data1 Jx2,data2 Jx3,data3 Test Detector SUO Jx4,data4 t1

processDetec

t(Jx1,data1,t1)

processDetec

t(Jx2,data2,t2)

processDetect

(Jx3,data3,t3) waitReceive(Jx4,data4) t2 t3 t4 time receiveAndProcess(Jx1,data1) receiveAndProcess(Jx2,data2) receiveAndProcess(Jx3,data3) transmit(Jx4,data4)

Problem with Fixed Set of Test Detectors

• after a test detector has been started up, a message may arrive that requires it to be re-initialized • Parallel search and processing required by fixed presence of multiple test detectors under the test manager may limit the processing and/or number of monitor points • does not allow for changing from one test focus to another in real time, e.g. going from format testing to correlation testing once format the first has been satisfied

Solution

• on-demand inclusion of test detector instances • remove detector when known to be “finished” • employ DEVS variable structure capabilities • requires intelligence to decide inclusion and removal

Dynamic Inclusion/Removal of Test Detectors

Test Manager Active Test Suite Test Control message arrives addModel(‘test detector”); addCoupling2(" Test Manager ",“Jmessage",“test detector", “Jmessage"); add induced test detectors into test set removeAncestorBroth erOf(“TestControl"); test detector subcomponent removes its enclosing test detector when test case result is known (either pass or fail)

Example: Joint Close Air Support (JCAS) Scenario

Natural Language Specification JTAC works with ODA!

JTAC is supported by a Predator!

JTAC requests ImmediateCAS to AWACS !

AWACS passes requestImmediateCAS to CAOC! CAOC assigns USMCAircraft to JTAC!

CAOC sends readyOrder to USMCAircraft !

USMCAircraft sends sitBriefRequest to AWACS !

AWACS sends sitBrief to USMCAircraft !

USMCAircraft sends requestForTAC to JTAC !

JTAC sends TACCommand to USMCAircraft !

USMCAircraft sends deconflictRequest to UAV!

USMCAircraft gets targetLocation from UAV!

!

AWACS Opportunistic Testing in JCAS

Test Control CAS Model with AWACS observation Initially empty Test Suite

AWACS Opportunistic Testing in JCAS (cont’d)

Test Control observes CAS request message to AWACS Test Control adds appropriate Test Detector and connects it in to interface,

AWACS Opportunistic Testing in JCAS (cont’d)

Test Control passes on start signal and request message First stage detector verifies request message receipt and prepares to start up second stage

AWACS Opportunistic Testing in JCAS (cont’d)

First stage detector removes self from test suite second stage waits for expected response from AWACS to request

AWACS Opportunistic Testing in JCAS (cont’d)

Second stage observes correct AWACS response and removes itself and starts up second part

AWACS Opportunistic Testing in JCAS (cont’d)

At some later time, second part of Test Detector observes situation brief request message to AWACS First stage removes itself and starts up second stage

AWACS Opportunistic Testing in JCAS (cont’d)

Second stage observes situation brief output from AWACS thus passing test, It removes itself and enclosing Test Detector

Structure Change Agent Architectures

• Structure change: – Agents can add or remove other agents – Agents add or remove coupling between pairs of agents • Scope of effect: – anywhere in the hierarchical structure – within the children of parent or any ancestor – within their peer group • Scope of control – any agent can induce structure change – only specialized agents can induce structure change • Implementation issues: – within same processor – in distributed simulation – in real time

Global Structural Change Examples

Application Domain

Geographic Social Governance Economy Business

Global Change

Global Warming New law

Structure change agent

Humans Legislature, Supreme Court Change in party in power Change in regime Globalization Change in business platform, e.g. www Incumbent Coup leader Globalization Technology innovator

Summary

• Structure control is the ability of agents to induce structural change in themselves or others with the effects of enabling different behaviors under different circumstances. • It has been an under-considered aspect of intelligent/adaptive properties and the collective behaviors of such agents have yet to be explored.

• Structure change is expressable in modeling and simulation environments based on Discrete Event Systems Specification (DEVS). • It supports opportunistic testing of complex defense collaborative agent systems.

• Implications for modeling local and global structure transitions in a variety of disciplinary guises were suggested

• •

which agent capabilities are included or emphasized should depend on questions asked environment must be sufficiently rich to challenge selected agent capabilities

environment agent environment interaction agent embedded in environment agent to agent interaction

belief management capability intention management capability goal management capability domain knowledge language skills communication capabilities manipulation skills mobility skills agent model navigation skills perception abilities domains … decision making abilities

interactions

belief management capability intention management capability goal management capability language skills communication capabilities manipulation mobility skills skills navigation skills domain knowledge domains … abilities decision making abilities perception

SIAP agent

down selection

SACHEM agent

integration/organization

belief management capability intention management capability perception abilities language skills domain knowledge goal management capability domains … decision making abilities communication capabilities manipulation skills mobility skills navigation skills

Accounting for crashes

• vehicle/car-following conditions for crashes • weather conditions • driver perception/mental state

On foot evacuations

• information needed • daytime location of poplulation • children in school • pets • stay or leave