Simulation concepts and architectures Simulation Basics System a

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 interprocess 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

J 2 EE’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.
- Slides: 13