Title: XMLBased Messaging in the JSIM Simulation Environment
1XML-Based Messaging in the JSIM Simulation
Environment
- Masters Defense
- by
- Xueqin Huang
-
2Acknowledgements
- Major professor
- Dr. John Miller
- Committee
- Dr. Robert Robinson
- Dr. Dan Everett
- ...
3Overview
- Problem interoperability in federated
simulations - Current solution HLA
- Proposed solution Jini and XML
- Prototype implementation JSIM
- Conclusions
- Future work
4Problem
- Reuse of and runtime interoperability b/w
simulation components (federates) developed
without prior knowledge of each other are the key
issues facing federated simulation systems.
5Current Simulation Interoperability Solution
- High Level Architecture (HLA)
- DoD mandate and IEEE standard for simulation
interoperability - federates interact with each other through a
runtime infrastructure (RTI) - all exposed simulation functionality and object
interactions for each federate must be documented
in its Simulation Object Model (SOM) and
Federation Object Model (FOM) in accordance with
the HLA Object Model Template (OMT) - HLA-style simulation systems Federated
Simulations Development Kit JavaGPSS
6Problems with HLA
- RTI offers a low-level operating system like
conceptual framework, which makes it a central
authorization for running a federation. Pitfalls - too complex to implement, too difficult to scale
and evolve - goes against the time-honored design principle of
layering for distributed systems - OMT is a DoD proprietary specification, which
cannot be understood by non-HLA style systems
7Proposed Solution with Jini and XML
- Jini the network computing model for the Java
platform, offering - a service-oriented peer-to-peer communication
framework for computers of the future vs. the
non-layered approach with HLA RTI - a simple programming model that makes it easy to
develop Jini-compliant distributed components vs.
the complexity in implementing HLA RTI and
HLA-compliant components - XML the universal format for data exchange on
the Web, offering - an open standard for data exchange vs. the
proprietary HLA OMT Data Interchange Format (DIF) - potential syntactic and semantic interoperability
across disparate systems vs. the limited
interoperability with HLA
8Jini the Network Computing Model for Java
- Offers service-oriented peer-to-peer
communication framework for computers of the
future - Supports
- join/discovery protocol
- lease-based service access
- security
- distributed transaction
- object mobility
- distributed event model
9Jini (contd)
- Participants of the Jini distributed event model
- remote event object
- event generator/publisher/source/sender
- remote event listener/subscriber/target/receiver
- also allows for third party event routing agents
1. The remote event listener registers interest
in a particular kind of event with the event
generator
Remote event listener
Event generator
Remote event
2. The event generator fires a remote event to
indicate that an event of that kind has occurred
Courtesy of Sun Microsystems
10Data Exchange with XML
- What is XML
- self-descriptive text-based meta-data standard by
W3C - Sample XML document (message.xml)
- Document Type Definition (DTD) (message.dtd)
- XML Schema (message.xsd)
- XML RDF (message.rdf)
- designed for the exchange of data on the Web
- XML messaging standards
- The Simple Object Access Protocol (SOAP)
- ebXML, ...
- How XML may help with interoperability
11Data Interoperability with XML
- Syntactic interoperability
- well-defined and widely accepted format for data
exchange - freely and readily available standard-compliant
tools - Semantic interoperability
- approach 1 define a domain-specific DTD or XML
Schema - approach 2 use XML RDF to achieve
ontology-based interoperability - approach 3 use a general purpose DTD or XML
Schema to structure the data while providing
additional domain-specific semantic support
12A Prototype Implementation with JSIM
- Use Jini-style publish-subscribe eventing with
XML-based event data to leverage the power of
mainstream interoperability technologies to
provide an open and flexible framework for JSIM,
a component-based simulation environment targeted
for simulation analysts
13Publish-Subscribe Eventing in JSIM
1. Expresses interest in an event through the
publisher interface, JsimBean
Publisher
Subscriber
JsimEvent
JSIM XML message
2. Notifies the subscriber through the
JsimListener interface
Advantage It offers a simple yet powerful
communication model that allows JSIM components
to interact with each other at runtime without
prior knowledge about each other.
14JSIM XML Messages with KOML
- KOML the Koala Object Markup Language
- the KOML serialization package provides
bi-directional conversion b/w Java objects and
XML - uses a single DTD for XML data converted from all
types of Java objects - allows access and manipulation of the converted
XML data at an object level instead of the
element level - The use of XML as the format for the exchange of
simulation data opens up the possibility for JSIM
to inter-operate with other simulation systems at
both the syntactic and semantic levels.
15Enhanced Semantic Support via Performatives
- What are performatives
- meaning words that act/perform, originated from
the speech acts theory in modern linguistics
used in the Knowledge Query and Manipulation
Language (KQML) to represent agent vocabularies. - The use of performatives in JSIM messages further
enhances the capability of JSIM components to
dynamically make decisions based on the context
of their conversations.
16Architecture of JSIM
17JSIM Events and Messages
18Managing XML Data
19JSIM Data That Needs to be Stored
20JSIM Database Schema
21Querying JSIM Database
22Sample Query Result from JSIM Database
23Comparison of HLA-Style Systems and Our Proposed
JSIM
24Conclusions
- Proposed a framework for federated simulations
that is open, flexible, extensible, and
comparable to an HLA-style system in terms of its
support for interoperable federated simulations. - Laid a solid foundation for our envisioned system
by building a prototype XML-based messaging
simulation system in accordance with the
framework - Designed and implemented an easy-to-evolve
database schema for JSIM that supports federated
simulations
25Future Work
- Guarantee the reliability and order of event
delivery in JSIM using Jini event routing agents
and event sequence number - Explore Jinis support for distributed
transactions to ensure all JSIM federates store
their simulation results, or nothing is stored. - More semantic support for the XML messages
through XML meta-data technologies, such as XML
RDF
26Selected Bibliography
- Abiteboul, S. Buneman, P, and Suciu, D. (2000).
Data on the Web From Relations to
Semi-structured Data and XML. Morgan Kaufmann
Publishers. - Bollinger, T. (2000). A Guide to Understanding
Emerging Interoperability Technologies. Technical
paper, Mitre Corporation. July 2000. - Burret, R. (2000). XML and Databases.
http//www.rpbourret.com/xml/XMLAndDatabases.htm. - Finin, T., Fritzen, R., McKay, D., and McEntire,
R. (1994). KQML as an Agent Communication
Language. Proceedings of the Third International
Conference on Information and Knowledge
Management (CIKM), ACM Press, November 1994. - Hegaret, P.L. (1999). http//www-sop.inria.fr/koal
a/XML/serialization/. - Kuhl, F., Weatherly, R., and Dahmann, J. Creating
Computer Simulation System An Introduction to
the High Level Architecture. Published by
Prentice Hall PTR. - Miller. J. (1999). Guest Editorial. Web-Based
Simulation and Modeling, IEEE Potentials. Special
Issue on Web-Based Simulation and Modeling, Vol.,
No. (1999) - Sun Microsystems. (2000). Jini Technology Core
Platform Specification, v. 1.1. October, 2000.
http//www.sun.com/jini/specs/core1_1.pdf