Title: DEVS Namespace for Interoperable DEVSSOA
1DEVS Namespace for Interoperable DEVS/SOA
- Chungman Seo
- Bernard P. Zeigler
- Arizona Center for Integrative Modeling and
Simulation - The University of Arizona
2Outline
- Motivation of the study
- Objectives
- Background
- Design of interoperable DEVS simulation
environment - Implementation of interoperable DEVS simulation
environment - Track Display Application
- HLA vs. SOA support for DEVS interoperability
- Conclusions
- Future work
3The Problem
- DEVS simulators implement the DEVS modeling
formalism in diverse programming environments,
e.g. DEVSJAVA, ADEVS, CD, DEVSim,
PythonDEVS - The DEVS formalism specifies the same abstract
simulator algorithm for any simulator - Different simulators implement the same abstract
simulator using different codes - This situation
- inhibits interoperating DEVS simulators
- prevents simulation of heterogeneous models
- Each simulator can not provide platform-neutral
message passing
4The Need for Interoperability
- Different platforms specialize in different
capabilities, e.g., C supports fast execution,
but JAVA provides a better platform for web
service development - In our applications at JITC, ADEVS based on C
is employed for radar track generation while
DEVSJAVA is used for track display - Reusability of Models increases through
interoperability - System of Systems (SoS) requires interoperability
to compose new systems from existing systems - Interoperability requires well-defined interfaces
to use systems in different platforms or
languages - Web services, HLA, and CORBA provide
communication channels between software systems
with different platforms
5DEVS Standardization Supports Higher Level
Web-Centric Interoperability
6Prior Work
- Mittal and Rico developed DEVS/SOA
- it employs JAVA serialization to code messages
into byte array - this restricts interoperation to simulators based
on JAVA, e.g. DEVSJAVA, and XDEVS - It does not use DEVS namespace
- Taekyu Kim extended DEVS/SOA to run in real time
but did not address interoperability - Moath Jarrah developed a Negotiation Model and
simulated it on DEVS/SOA but did not implement it
in web services
7Objectives
- To design and implement interoperable DEVS
Simulation environment using SOA and DEVS
namespace - To manage DEVS namespace for interoperable DEVS
Simulation environment - To implement neutral message passing between
different DEVS simulation environments - To show implementation of layered
interoperability concept - Platforms and languages neutral DEVS simulation
environment using SOA
8Background - DEVS Modeling and Simulation
Framework
- Set theory based system specification formalism
- Atomic model lowest level model, contains
structural dynamics - Coupled model composed of one or more atomic
and / or coupled - -gt hierarchical construction
- Basic Parallel DEVS Model
- M ltX, Y, S, dint, dext, dcon, ? tagt
- X set of input events
- Y set of output events
- S set of states
- dint internal transition function
- dext external transition function
- dcon confluent function
- ? output function
- ta time advance function
- Time base is logical time
9Background - SOA (Service-Oriented Architecture)
- Language and platform independent gt
- separation of specification and implementation
- Loosely coupled gt
- message based, synchronous and asynchronous
interactions. - Over the Internet gt
- No centralized control, use of established
protocols, security considerations. - Inter-operable gt
- Standards based.
- Transport protocol
- HTTP/HTTPS
- Data Encoding
- SOAP (Simple Object Access Protocol), XML Schema
- Interface Description
- WSDL (Web Services Description Language)
- Service Description and Discovery
- UDDI (Universal Description, Discovery and
Integration) - Security
- WS-Security, XML-Signature, XML-Encryption, ...
- An architectural approach to build software
application that use services available in a
network
Web Service
10Overall System of Interoperable DEVS Simulator
Services with DEVS namespace
11Web-enabled interoperability of DEVS components
12DEVS namespace
- Network accessible schema document
- Storage for types of messages which are used in
DEVS models - A unique element name in the DEVS namespace
- Register and extract domain specific schema
through a web service - Supports re-use, composability, and
interoperability
13The Structure of DEVS Simulator Service
- Web Service displayed to clients
- Link between DEVS MS and
- WS operations
- Convert DEVS message to XML message
- Implement DEVS MS with various
- Languages ( Java, C, Python, Matlab)
- Manage Networking and SOAP
14The operations of DEVS simulator service
15DEVS message to XML message
- DEVS message consists of a port/value pairs
- Implementation of DEVS message is different in
different DEVS implementations - DEVSJAVA employs a message class for DEVS
message - ADEVS PortValue class is used for ADEVS message
XML message
16Track Display Application
- Shows interoperability between DEVS models in
different implementation languages - Consists of a TrackDisplay model and
TrackGenerator models - The TrackGenerators generate time indexed
TrackData behavior - The TrackDisplay has a capability of displaying
track data in GUI - Uses a message type called TrackData consisting
of four variables - id int xposition double yposition double
- heading double
DEVSJAVA TrackGenerator 1 Model
Coordinator
ADEVS TrackGenerator 2 Model
AXIS2 environment Apache web server
.Net environment Microsoft web server
Virtual Time Simulation
TrackDisplay for web service using AXIS2
SOAP messages
SOAP messages
SOAP messages
IP Network
17HLA vs. SOA support for DEVS interoperability
18Conclusions
- Designed and Implemented an interoperable DEVS
Simulator services with DEVS namespace - Applied to DEVSJAVA and ADEVS
- Developed the web service for handling DEVS
namespace to provide semantic level
interoperability between DEVS simulator services - Implemented the platform-neutral message passing
on the interoperable DEVS Simulation environment
19Future Work
- Design/Implement pragmatic level interoperability
- Apply interoperable DEVS simulator service to the
other DEVS implementations (DEVS python, DEVS
Matlab, and so on) - Add more functions to the web service for
handling the DEVS namespace - Extend the platform-neutral message passing to
support complex message types
20Thank you
21Implement the DEVS namespace
22Example of Registration /Extraction of DEVS
message
Web Service Operation
Web Service Operation
Web Service Operation
Web Service Operation
Extraction
Registration
23DEVS simulator service for DEVSJAVA
- DEVSJAVA Modeling Simulation
- DEVSJAVA interface between operations and
DEVSJAVA simulator - DEVSJAVA message to XML message
- AXIS2 to generate a DEVS simulator service
- Java based web service on Apache tomcat server
- Simulator classes for virtual time and real time
simulations - A Atomic class contains DEVS atomic or coupled
model using a Digraph2Atomic class - A Digraph2Atomic class which pretends to be an
atomic model to follow DEVS protocol during
simulation of interoperable DEVS simulator
services - A XMLObjectMessageHandler class to convert
DEVSJAVA message to XML message vice versa
DEVS Interface
24DEVS simulator service for ADEVS
- ADEVS modeling and simulation
- ADEVS interface between operations and ADEVS
simulator - ADEVS message converter
- .Net to generate a DEVS simulator service
- C based web service on Microsoft web server
ADEVS Library
ADEVS Interface simulator string converter of
C to VC vice versa ADEVS message converter
ADEVS Interface