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