240 likes | 376 Views
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
E N D
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.edu Google: 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 Device for executing model Real World Simulator Data: Input/output relation pairs modeling relation simulation relation Each entity is represented as a dynamic system Each relation is represented by a homomorphism or other equivalence Model structure for generating behavior claimed to represent real world
Experimental Frame M&S Entities and Relation(cont’d) Real World Simulator modeling relation simulation relation • Experimental frame specifies • conditions under which the system • is experimented with and observed • captures modeling objectives • needed for validity, simplification • justifications Model
Simulator: Numerical Integrator System DESS model: dq/dt = a*q +bx Simulator: Event Processor Simulator: Recursive Algorithm System System DEVS model DTSS model: time to next event, q(t+1) = a*q(t)+ b*x(t) state at next event ... Dynamic Systems Framework for Continuous and Discrete Models System Specification: DESS: differential equation DTSS: discrete time DEVS: discrete event
Dynamic Systems Framework for Continuous and Discrete Models (cont’d)
x x 0 1 Discrete Event Time Segments X t1 t0 t2 S e y0 Y
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 • Theory of Modeling and Simulation, 2nd Edition, Academic Press, 2000, Bernard P. Zeigler, Herbert Praehofer, Tag Gon Kim
DEVS Hierarchical Modular Composition Atomic: lowest level model, contains structural dynamics -- model level modularity Coupled: composed of one or more atomic and/or coupled models Hierarchical construction + coupling
DEVS Component-Based Expressability Coupled Models Atomic Models Partial Differential Equations can be components in a coupled model Ordinary Differential Equation Models Processing/ Queuing/ Coordinating Networks, Collaborations Physical Space Spiking Neuron Networks Spiking Neuron Models Processing Networks Petri Net Models n-Dim Cell Space Discrete Time/ StateChart Models Stochastic Models Cellular Automata Quantized Integrator Models Self Organized Criticality Models Fuzzy Logic Models Reactive Agent Models Multi Agent Systems
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 internaltransition 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.
start out receptive active passive fire refract Atomic Model Examples pulse Pulse Generator time Pulse Generator interPulseTime >0 Output start ta = ∞ Output Fire-once Neuron Input Firing delay >0 ta = ∞ ta = ∞ external event Internal event output event
Internal Transition /Output Generation output Generate output s’ Time advance s Make a transition using the output function using the internal transition function
Response to External Input input Make a transition using the external transition function elapsed time Time advance
Response to Simultaneous External Input and Internal Event output input Make a transition Generate output elapsed time using the confluent transition function Time advance
DEVS Coupled Model Elements of coupled model: • Components • Interconnections • Internal Couplings • External Input Couplings • External Output Couplings
Coupling in Action Coupling (internal) AB B A Output port Input port internal State external time advance output internal State external time advance output
Coupled Model Example – Neuron net FireOnce Neuron 1 pulseIn pulseOut FireOnce Neuron 2 pulseOut pulseIn Pulse Generator pulseOut pulseIn FireOnce Neuron 4 pulseOut FireOnce Neuron 3 pulseIn pulseOut 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 DEVS Simulation Protocol Single processor C++ Java Distributed Simulator DEVS Simulator Other Representation Real-Time Simulator Non DEVS The DEVS simulation protocol is the agreement between the DEVS modeler and the implemented simulator
DEVS Simulation Protocol Classes Stand alone atomic models are assigned to AtomicSimulators Atomic models as components within coupled models are assigned to coupledSimulators Atomic Simulator coordinator coupledSimulator 1:n Coupled models are assigned to coordinators 1:n coupledCoordinator 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. m timeline (abstract or logica) tN tL inject at time t s =: s init tL =: 0 tN =: ta(sinit) If t == tN generate output (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) Legend: m = message s = state t = clock time tL = time of last event tN = time of next event tL =: t tN =: t + ta(s)
Basic DEVS Simulation Protocol 3 getOut 5 applyDelt simulator simulator simulator tN tN tN 4 sendOut 2. outTN Component Component Component tN. tL tN. tL tN. tL 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. • Coupled Model Coordinator: • Coordinator sends nextTN to request tN from each of the simulators. • All the simulators reply with their tNs in the outTN message to the coordinator • Coordinator sends to each simulator a getOut message containing the global tN (the minimum of the tNs) • 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. • 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. 1 nextTN Coupled Model coordinator After each transition tN = t + ta(), tL = t • 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.
DEVS as the basis for Network Centric M&S Discrete Event Formalisms Discrete Time Systems Diff Eqn. Systems DEVS Model DEVS Model DEVS Model Simulator Simulator Simulator message message message Translator Translator Translator Network Centric Middleware – NCES