approach and techniques for building component-based simulation models

24
Approach and Techniques for Building Component-based Simulation Models Bernard P. Zeigler, Ph.D. Hessam S. Sarjoughian, Ph.D. Arizona Center for Integrative Modeling and Simulation (ACIMS) Arizona State University University of Arizona www.acims.arizona.edu Google: ACIMS and Joint Interoperability Test Command (JITC) Fort Huachuca, AZ

Upload: janna-schroeder

Post on 02-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Approach and Techniques for Building Component-based Simulation Models. Bernard P. Zeigler, Ph.D. Hessam S. Sarjoughian, Ph.D. Arizona Center for Integrative Modeling and Simulation (ACIMS) Arizona State University University of Arizona www.acims.arizona.edu Google: ACIMS and - PowerPoint PPT Presentation

TRANSCRIPT

Approach and Techniques for BuildingComponent-based Simulation Models

Bernard P. Zeigler, Ph.D.Hessam S. Sarjoughian, Ph.D.

Arizona Center for Integrative Modeling and Simulation(ACIMS)

Arizona State University University of Arizona

www.acims.arizona.eduGoogle: ACIMS

and Joint Interoperability Test Command (JITC)

Fort Huachuca, AZ

Outline• Basic principles of M&S from a system-theoretic

worldview• Component-based characterization of dynamic systems • Unified framework for discrete and continuous models• Discrete event system specification (DEVS) formalism• Modular, hierarchical model composition • Systems theory support of model reusability and

composability • Experimental Frame and model validation • Simulation verification using the concept of abstract

simulators• DEVSJAVA, a modular, hierarchical simulation

environment• DEVS component-based M&S over network centric

middleware

M&S Entities and Relations

Real WorldReal World SimulatorSimulatorSimulatorSimulator

modelingrelation

simulationrelation

Each entity is represented as a dynamic system

Each relation is represented by a homomorphism or other equivalence

Data: Input/output relation pairs

structure for generating behaviorclaimed to represent real world

Device forexecuting model

Model

M&S Entities and Relation(cont’d)

Real WorldReal World

modelingrelation

simulationrelation

Experimental frame specifies conditions under which the system is experimented with and observed

• captures modeling objectives• needed for validity, simplification justifications

SimulatorSimulator

Model

Experimental Frame

DESS: differential equation

DEVS: discrete event

DTSS: discrete time

System Specification:

Dynamic Systems Framework for Continuous and Discrete Models

System

Simulator:EventProcessor

DEVS model

time to next event,

state at next event ...

Simulator:RecursiveAlgorithm

System

DTSS model:

q(t+1) = a*q(t)+ b*x(t)

System

Simulator:NumericalIntegrator

DESS model:

dq/dt = a*q +bx

System Specification

Differential Equation

Discrete-Time Discrete-Event

Time Base continuous

(reals) discrete (integers) continuous

(reals) Inputs,States, Outputs

real vector space

arbitrary arbitrary

Input Segments

piecewise continuous

sequences discrete-event

State & Output Segments

continuous sequences piecewise constant

Dynamic Systems Framework for Continuous and Discrete Models (cont’d)

x0 x1X

S

Yy0

e

t0 t1 t2

Discrete Event Time Segments

• 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

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

DEVS Background

DEVS Hierarchical Modular Composition

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

Atomic

Atomic Atomic

Atomic

+ coupling

Atomic

Atomic

Atomic

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

construction

Atomic Models

OrdinaryDifferentialEquationModels

Spiking NeuronModels

Coupled Models

Petri NetModels

Cellular Automata

n-Dim Cell Space

PartialDifferentialEquations

Self Organized Criticality

Models

Processing/Queuing/

Coordinating

ProcessingNetworks

Networks,Collaborations Physical

Space

DEVS Component-Based Expressability

can becomponents in a coupled model

MultiAgent

Systems

Discrete Time/

StateChartModels

QuantizedIntegrator

Models

Spiking Neuron

Networks

Stochastic

Models

ReactiveAgent

Models

Fuzzy Logic

Models

DEVS Theoretical Properties

• Closure Under Coupling• Universality for Discrete Event Systems• Representation of Continuous Systems

– quantization integrator approximation– pulse representation of wave equations

• Simulator Correctness, Efficiency

DEVS Atomic Model

• Ports are represented explicitly – there can be any number of input and output ports on which values can be received and sent

• The time advance function determines the maximum lifetime in a state

• A bag can contain many elements with possibly multiple occurrences of its elements.

• Atomic DEVS models can handle bags of inputs and outputs.

• The external transition function handles inputs of bags by causing an immediate state change, which also may modify the time advance.

• The output function can generate a bag of outputs when the time advance has expired.

• The internal transition function is activated immediately after the output function causing an immediate state change, which also may modify the time advance.

• The confluent transition function decides the next state in cases of collision between external and internal events.

receptive refractInput

fireFiring delay >0

Output Fire-once Neuron

Atomic Model Examples

PulseGenerator

out

pulse

time

passive activestart

interPulseTime >0Output Pulse Generator

start

external event Internal event output event

ta = ∞

ta = ∞ ta = ∞

Internal Transition /Output Generation

s

Generate output

output

Make a transitions’

Time advance using theinternaltransitionfunction

using theoutputfunction

Time advance

input

Make a transition

Response to External Input

elapsedtime

using theexternaltransitionfunction

Time advance

input

Make a transition

Response to Simultaneous External Input and Internal Event

elapsedtime

Generate output

output

using theconfluenttransitionfunction

DEVS Coupled Model

• Components

• Interconnections

– Internal Couplings– External Input Couplings– External Output Couplings

Elements of coupled model:

A B

AB

Coupling in ActionCoupling(internal)

Outputport

Inputport

State

output

external internal

time advance

State

output

external internal

time advance

FireOnceNeuron 1

FireOnceNeuron 3

FireOnceNeuron 2

pulseIn pulseOut

pulseOut

pulseOut

pulseOut

pulseIn

pulseIn

FireOnceNeuron 4

pulseOutpulseIn

PulseGenerator

Coupled Model Example – Neuron net

FireOnce Neuron Network can compute the shortest path in a directed graph by mapping distances of edges to equivalent time values.

We separated models and simulators – now we bring them together

Simulator

Single processor

DistributedSimulator

Real-TimeSimulator

C++

NonDEVS

DEVS

Java

OtherRepresentation

DEVS SimulationProtocol

The DEVS simulation protocol is the agreement between the DEVS modeler and the implemented simulator

DEVS Simulation Protocol Classes

AtomicSimulator

coordinatorcoupledSimulator 1:n

coupledCoordinator 1:n

Stand alone atomic models are assigned to AtomicSimulators

Coupled models are assigned to coordinators

Atomic models as components within coupled models are assigned to coupledSimulators

Coupled models as components within coupled models are assigned to coupledCoordinators

genDevs.simulation.coordinator

genDevs.simulation.

coupledSimulator

Atomic Model Simulator• Every atomic model has a simulator assigned to it which keeps track of the time of the last event, tL and the time of the next event, tN.

• Initially, the state of the model is initialized as specified by the modeler to a desired initial state, sinit. The event times, tL and tN are set to 0 and

ta(sinit), respectively.

• If there are no external events, the clock time, t is advanced to tN, the output is generated and the internal transition function of the model is executed. The simulator then updates the event times as shown, and processing continues to the next cycle.

• If an external event is injected to the model at some time, text (no earlier than the current clock and no later than tN), the clock is advanced to text.

•If text == tN the output is generated.•Then the input is processed by the confluent or external event transition function, depending on whether text coincides with tN or not.

tL =: t

tN =: t + ta(s)

When receive m

if m!= null and t < tN,

s := ext (s,t-tN,m)

if m!= null and t == tN,

s := con (s,t-tN,m)

if m= null and t == tN,

s =: int (s)

s =: s init

tL =: 0

tN =: ta(sinit)

mtimeline(abstract or logica)

inject at time t

tNtL

Legend:m = messages = statet = clock timetL = time of last eventtN = time of next event

If t == tN

generate output (s)

coordinator

simulator

Component

tN

tN. tL

After each transition tN = t + ta(), tL = t

simulator

Component

tN

tN. tL

simulator

Component

tN

tN. tL

Coupled Model

1 nextTN

2. outTN

3 getOut

4 sendOut

5 applyDelt

Basic DEVS Simulation Protocol

Each simulator reacts to the incoming message as follows:

•If it is imminent and its input message is empty, then it invokes its model’s internal transition function•If it is imminent and its input message is not empty, it invokes its model’s confluence transition function•If is not imminent and its input message is not empty, it invokes its model’s external transition function•If is not imminent and its input message is empty then nothing happens.

Coupled Model Coordinator:

1. Coordinator sends nextTN to request tN from each of the simulators.

2. All the simulators reply with their tNs in the outTN message to the coordinator

3. Coordinator sends to each simulator a getOut message containing the global tN (the minimum of the tNs)

4. Each simulator checks if it is imminent (its tN = global tN) and if so, returns the output of its model in a message to the coordinator in a sendOut message.

5. Coordinator uses the coupling specification to distribute the outputs as accumulated messages back to the simulators in an applyDelt message to the simulators – for those simulators not receiving any input, the messages sent are empty.

For a coupled model with atomic model components, a coordinator is assigned to it and coupledSimulators are assigned to its components. In the basic DEVS Simulation Protocol, the coordinator is responsible for stepping simulators through the cycle of activities shown.

DEVS as the basis for Network Centric M&S

Network Centric Middleware – NCES Network Centric Middleware – NCES

messagemessage

DEVS ModelDEVS Model

TranslatorTranslator

DEVS ModelDEVS Model

TranslatorTranslator

messagemessage messagemessage

DEVS ModelDEVS Model

TranslatorTranslator

Diff Eqn.SystemsDiff Eqn.Systems

Discrete TimeSystems

Discrete Event

Formalisms

SimulatorSimulator SimulatorSimulator SimulatorSimulator