Transcript Simulation

Simulation concepts and
architectures
Simulation Basics
• System: a collecting of entities that act and
interact together toward the accomplishment
of some logical end.
• State: the collection of variables necessary
to describe a system at a particular time,
relative to the objectives of a study
• Model: a description about how a system
behaves, that consist of a collection of
assumptions.
System
Experiment with
the actual system
Experiment with a model
of the system
Physical
model
Analytical
solution
Figure 1. Ways to study a system
Mathematical
model
Simulation
• Experiment with the actual system
vs. Experiment with a Model of the system
– Costly, disruptively.
– “System” could be only a conceptual matter.
– Validity : the accuracy of the model.
• Physical model
vs. Mathematical model
– Cockpits, miniatures, etc. are iconic. Sometimes useful in operations
research like scale models.
• Analytical solution
vs. Simulation
– v = d/t
– Large nonsparse matrix inversion, manufacturing system, the Matrix
Simulation models
• Static vs. Dynamic simulation models
– Whether time plays an role in the model
• Deterministic vs. stochastic simulation models
– Whether random elements are taken into account
– One of the main disadvantage of simulation
• Continuous vs. discrete simulation models
– Whether state changes happen instantaneously in countable time
points.
Time advance mechanisms for discrete-event models
• Next-event time advance
….while ( !done) {
System->next_Event();
Simulation_clock->update();
}…..
• Fixed-increment time advance
….while (time <= end_time) {
System->update_states();
time++;
}….
Distributed simulation
• Why distributed simulation?
– Ever-complex system and simulation models
require more computing power
– Advance in hardware and software technologies
– Lower cost of hardware
– Network computing capabilities
•Users don’t know where the
resources are located
•Resources can be moved
without changing their names
•Users don’t know the number of
existing instances of the object
•Many users can share the
resources automatically
•Some processes may execute in
parallel on the network.
•Distributed systems: the middle tier contains computers without
shared memories. Acts as one single machine to users.
•Dialogue between computers is make possible by a unique
inter-process communication mechanism
Distributed simulation architecture
Basic elements:
– An object interface language : describe interface.
• Distributed applications require more abstract level of
communications than ordinary ones.
• Provide interoperability between distributed objects
– An object manager :
• Passing references to requesting clients
• Instantiating objects and marshalling(coordinating) object requests
between different machines.
• Objects therefore become indifferent to invokers.
– A naming service
• The mechanism by which a server informs clients about objects
available for access.
• Making the communications between objects can be delayed until
runtime.
High level architecture
Common Object Request Broker
Architecture
J2EE’s RMI
Remote Method Invocation/Internet Inter-ORB
Protocol (RMI/IIOP)— Protocol that enables Remote
Method Invocation (RMI)
• Programmers to combine the benefits of using the RMI
APIs and robust
• CORBA IIOP communications protocol to communicate
with
• CORBA-compliant clients that have been developed
using any language
• compliant with CORBA.
Comparison
• Both CORBA and HLA are concerned with legacy
applications, possibly in different languages. C++, Ada,
Java, etc.
• RMI keeps to single language, now has common interface
with CORBA
• HLA is more simulation specific, whereas CORBA and
RMI are designed for general applications.
• HLA’ s notion of transfer of object ownership is unique .
• RMI uses TCP/IP, CORBA uses IIOP, HLA leaves the
choice to RTI developers/vendors (which is considered a
disadvantage to interoperability).
• RMI has unique security Manager.