DEVS Namespace for Interoperable DEVS/SOA Chungman Seo Bernard P. Zeigler Arizona Center for Integrative Modeling and Simu...
Outline <ul><li>Motivation of the study </li></ul><ul><li>Objectives </li></ul><ul><li>Background </li></ul><ul><li>Design...
The Problem   <ul><li>DEVS simulators implement the DEVS modeling formalism in diverse programming environments, e.g. DEVS...
The Need for Interoperability <ul><li>Different platforms specialize in different capabilities, e.g., C++ supports fast ex...
DEVS  Standardization Supports Higher  Level Web-Centric Interoperability
Prior Work <ul><li>Mittal and Rico developed DEVS/SOA </li></ul><ul><ul><li>it employs JAVA serialization to code messages...
Objectives <ul><li>To design and implement interoperable DEVS Simulation environment using SOA and DEVS namespace </li></u...
Background - DEVS Modeling and Simulation Framework   <ul><li>Set theory based system specification formalism </li></ul><u...
Background - SOA (Service-Oriented Architecture) <ul><li>An architectural approach to build software application that use ...
Overall System of Interoperable DEVS Simulator Services with DEVS namespace
Web-enabled interoperability of DEVS components
DEVS namespace <ul><li>Network accessible schema document </li></ul><ul><li>Storage for types of messages which are used i...
The Structure of DEVS Simulator Service <ul><li>Manage Networking and SOAP </li></ul><ul><li>Implement DEVS M&S with vario...
The operations of DEVS simulator service
DEVS message to XML message <ul><li>DEVS message consists of a port/value pairs </li></ul><ul><li>Implementation of DEVS m...
Track Display Application <ul><li>Shows interoperability between DEVS models in different implementation languages </li></...
HLA vs. SOA support for  DEVS interoperability   Support all levels (syntactic, semantic, and pragmatic)  Support 2 levels...
Conclusions  <ul><li>Designed and Implemented an interoperable DEVS Simulator services with DEVS namespace </li></ul><ul><...
Future Work <ul><li>Design/Implement pragmatic level interoperability </li></ul><ul><li>Apply interoperable DEVS simulator...
Thank you
Implement the DEVS namespace
Example of Registration /Extraction of DEVS message Web Service Operation Web Service Operation Web Service Operation Web ...
DEVS simulator service for DEVSJAVA <ul><li>DEVSJAVA Modeling & Simulation </li></ul><ul><li>DEVSJAVA interface between op...
DEVS simulator service for ADEVS <ul><li>ADEVS modeling and simulation </li></ul><ul><li>ADEVS interface between operation...
Upcoming SlideShare
Loading in …5
×

DEVS Namespace for Interoperable DEVS/SOA

501 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
501
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DEVS Namespace for Interoperable DEVS/SOA

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

×