C2SIM Infrastructure Dr. Mark Pullen APPROVED FOR - - PowerPoint PPT Presentation

c2sim infrastructure
SMART_READER_LITE
LIVE PREVIEW

C2SIM Infrastructure Dr. Mark Pullen APPROVED FOR - - PowerPoint PPT Presentation

C2SIM Infrastructure Dr. Mark Pullen APPROVED FOR PUBIC RELEASE LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 1 Presentation Overview C2SIM overall architecture Role of schema


slide-1
SLIDE 1

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 1

C2SIM ¡Infrastructure ¡

¡

  • Dr. ¡Mark ¡Pullen

¡ ¡ APPROVED ¡FOR ¡PUBIC ¡RELEASE ¡

slide-2
SLIDE 2

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 2

Presentation Overview

  • C2SIM overall architecture
  • Role of schema
  • Role of C2 systems (C2IS)
  • Role of simulations
  • Role of servers
  • Need for interfaces

2 ¡

slide-3
SLIDE 3

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 3

BML: ¡DefiniAon ¡

WHERE ¡WE ¡STARTED ¡

  • ¡ ¡BML ¡-­‑ ¡an ¡unambiguous ¡language ¡to: ¡

Ø Command ¡and ¡control ¡live ¡and ¡simulated ¡ forces ¡conduc4ng ¡military ¡opera4ons, ¡and ¡ ¡ Ø Provide ¡for ¡situa4onal ¡awareness ¡and ¡a ¡ shared, ¡common ¡opera4onal ¡picture. ¡ Shared ¡Seman*cs ¡between ¡C2 ¡and ¡M&S ¡via ¡ a ¡Common ¡Tasking ¡Descrip*on ¡

3 ¡

slide-4
SLIDE 4

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 4

BML Architecture Command and Control Systems Simulation Systems

real-time database BML Messages (Orders, Reports, etc.)

BML Web Services + Initialization and Synchronization

4

slide-5
SLIDE 5

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 5

5 ¡

A C2SIM coalition is a system of systems.

slide-6
SLIDE 6

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 6

Example: MSG-048 2009 Architecture

Pullen/MSG-­‑091 ¡

6 ¡

slide-7
SLIDE 7

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 7

Later ¡Example: ¡MSG-­‑085 ¡Demonstration ¡ System ¡

slide-8
SLIDE 8

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 8

What ¡is ¡a ¡Web ¡Service? ¡

  • Generaliza4on ¡of ¡servers ¡that ¡provide ¡webpages ¡in ¡

the ¡Internet ¡

  • Func4ons ¡on ¡a ¡single ¡transac4on ¡basis ¡(stateless) ¡
  • Get/Pull ¡and ¡Post/Push ¡
  • Makes ¡a ¡TCP ¡connec4on ¡for ¡each ¡one ¡
  • Can ¡be ¡seen ¡as ¡a ¡Remote ¡Procedure ¡Call ¡
  • Using ¡Simple ¡Object ¡Access ¡Protocol ¡(SOAP) ¡
  • Or ¡as ¡a ¡way ¡to ¡share ¡and ¡fetch ¡XML ¡documents ¡
  • Could ¡use ¡Representa4onal ¡State ¡Transfer ¡(REST) ¡
  • REST ¡is ¡more ¡efficient ¡so ¡is ¡used ¡more ¡o[en ¡
slide-9
SLIDE 9

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 9

Publish/Subscribe ¡for ¡Web ¡Services ¡

  • Message must go to all interested systems
  • Polling by clients is inefficient
  • Streaming Text Oriented Messaging Protocol

(STOMP) takes care of distribution

  • Systems subscribe for Topics of interest
  • STOMP server copies each message to

subscribing systems

slide-10
SLIDE 10

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 10

Why XML?

  • Extensible Markup Language (XML) uses a

generalization of the HyperText Markup Language (HTML) used for webpages

  • Information expressed as <tag>value</tag>
  • For example:

<title>Battle Management Language</title>

  • Permissible tags defined by a “schema”
  • Defined set of metadata tells how to use document
  • Data about the data
  • Document organized as a “tree” starting from “root”
slide-11
SLIDE 11

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 11

XML Example Report

  • <?xml version="1.0" encoding="UTF-8"?>
  • <BMLReport
  • xmlns:jc3iedm="urn:int:nato:standard:mip:jc3iedm:3.1a:oo:2.0"
  • xmlns:bml="http://netlab.gmu.edu/IBML"
  • xmlns:msdl="http://netlab.gmu.edu/JBML/MSDL">
  • <Report>
  • <CategoryOfReport>StatusReport</CategoryOfReport>
  • <TypeOfReport>GeneralStatusReport</TypeOfReport>
  • <StatusReport>
  • <GeneralStatusReport>
  • <ReporterWho>
  • <bml:UnitID>1-22</bml:UnitID>
  • </ReporterWho>
  • <Hostility>FR</Hostility>
  • <Executer>
  • <bml:Taskee>
  • <bml:UnitID>1-22</bml:UnitID>
  • </bml:Taskee>
  • </Executer>
  • 11
slide-12
SLIDE 12

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 12

12

<OpStatus>MOPS</OpStatus> <WhereLocation> <bml:GDC> <bml:Latitude>33.424079</bml:Latitude> <bml:Longitude>44.682716</bml:Longitude> <bml:ElevationAGL>2.054</bml:ElevationAGL> </bml:GDC> </WhereLocation> <When>20070101000000.000</When> <ReportID>506</ReportID> <Credibility> <bml:Source>HUMINT</bml:Source> <bml:Reliability>A</bml:Reliability> <bml:Certainty>RPTFCT</bml:Certainty> </Credibility> </GeneralStatusReport> </StatusReport> </Report> </BMLReport>

XML Example Report

slide-13
SLIDE 13

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 13

XML Schema

  • Schema is a representation of the organization and format that

is allowable for a given XML file, for example this slice:

<xs:complexType name="ReportHeaderLightType"> <xs:sequence> <xs:element name="ReporterWho" type="cbml:ReporterWhoType”/> <xs:element name="ReportingData" type="cbml:ReportingDataType"> <xs:choice> <xs:element name="AbsoluteReportedWhen" type="cbml:AbsoluteReportedWhenLightType"/> <xs:element name="RelativeReportedWhen" type="cbml:RelativeReportedWhenLightType"/> </xs:choice> </xs:sequence> </xs:complexType>

  • Each Type specifies data order and format for a “chunk” of XML
slide-14
SLIDE 14

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 14

Interconnected C2SIM Systems

  • Command and Control systems
  • Simulation systems
  • Servers
  • Graphic User Interfaces
  • Status monitoring and control

14 ¡

slide-15
SLIDE 15

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 15

15

MSG-085 Coalition C2SIM

Simulation systems possibly federated using HLA or DIS C2 Systems possibly linked using JC3IEDM

15 ¡

slide-16
SLIDE 16

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 16

16

16 ¡

Interfacing C2 Systems

  • C2 systems produce Orders, consume Reports
  • To enable C2SIM, add an interface module that

follows the agreed schema so the C2 system can:

  • Send the server an XML document for each Order
  • Subscribe to Reports distributed by the server and

present them as situational awareness

  • Clearly identify when running in simulated mode
  • Support start/stop of simulated operation
slide-17
SLIDE 17

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 17

17

17 ¡ 17 ¡

Interfacing Simulation Systems

  • Simulation systems accept Orders, produce

Reports

  • To enable C2SIM, add an interface module that

follows the agreed schema so the simulation system can:

  • Send the server an XML document for each status

change that requires a Report

  • Subscribe to Orders distributed by the server and

follow the directions they contain

  • Start/stop simulation operation under coalition

control

slide-18
SLIDE 18

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 18

18

18 ¡

C-BML/MSDL Servers

slide-19
SLIDE 19

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 19

Primary Server Functions

  • Accept ¡Push/Post ¡of ¡XML ¡documents ¡and ¡store ¡
  • C-­‑BML ¡Orders ¡and ¡Reports; ¡MSDL ¡scenario ¡files ¡
  • Accept ¡Subscrip4ons ¡by ¡Topic ¡
  • e.g. ¡all ¡General ¡Status ¡Reports ¡
  • Publish ¡documents ¡to ¡subscribers ¡as ¡they ¡arrive ¡
  • And ¡respond ¡to ¡Get/Pull ¡for ¡them ¡
slide-20
SLIDE 20

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 20

Additional Server Functions

  • Namespaces ¡
  • XML ¡tagnames ¡can ¡be ¡qualified ¡by ¡addi4on ¡of ¡a ¡

“namespace” ¡code: ¡<bml:Report> ¡

  • This ¡allows ¡tagnames ¡from ¡different ¡sources ¡to ¡

work ¡together ¡safely ¡

  • Schema ¡validaAon ¡
  • Server ¡confirms ¡that ¡each ¡document ¡received ¡

conforms ¡to ¡the ¡schema ¡

  • This ¡iden4fies ¡a ¡likely ¡source ¡of ¡incompa4bili4es ¡ ¡
  • However, ¡it ¡slows ¡the ¡service ¡
  • Filtering ¡data ¡
  • Restrict ¡delivery ¡based ¡on ¡user-­‑defined ¡criteria ¡
slide-21
SLIDE 21

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 21

More Server Functions

  • Logging/replay
  • Server writes a file showing every transaction it receives,

with time stamps

  • Server is capable of replaying this file to recreate the
  • riginal sequence of Orders and Reports at original time

intervals

  • Distributed servers
  • Multiple servers can be tied together to increase load

capacity and geographic scope of the C2-Sim coalition

slide-22
SLIDE 22

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 22

Simple ¡Distributed ¡Server ¡Architecture ¡

FKIE SERVER

WISE- SBML SERVER

B2B CLIENT B2B CLIENT

STOMP STOMP REST REST

B2B: back-to-back client

slide-23
SLIDE 23

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 23

Server Schema Translation

  • Needed because developing organizations are reluctant to

change their interface each time a new schema is developed

  • So we end up with C2 and simulation systems interfaced

to different (but mostly equivalent) schemas

  • Server parses the XML document according to appropriate

schema; produces output conforming to different designated schema

  • Possible only where data support the same semantics
  • This capability allowed MSG-085 to interoperate C2 and

simulation systems that had been interfaced under various previous schemas

slide-24
SLIDE 24

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 24

MSDL Server

  • MSDL inputs must be aggregated from all

participating systems

  • In a coalition each C2 and simulation system can have

different initialization requirements

  • A consolidated MSDL file is needed for consistency
  • Server can aggregate them automatically
  • A change on any system is reflected to all
slide-25
SLIDE 25

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 25

MSDL Server Operation

SBML Server MSDL Administrator Client

Master Controller

Initialize Add Units and Relations Client Add Units and Relations Client Add Equipment and Relations Administrator Publish Publish

25 ¡

slide-26
SLIDE 26

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 26

Other Supporting Software For C-BML/MSDL Communications

slide-27
SLIDE 27

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 27

Graphical User Interfaces (GUIs)

  • During ¡development ¡it ¡is ¡very ¡useful ¡to ¡have ¡a ¡

generic ¡way ¡to ¡generate ¡and ¡inspect ¡BML ¡ documents ¡

  • Create ¡an ¡Order, ¡Report, ¡Request ¡etc. ¡and ¡introduce ¡

it ¡to ¡server ¡

  • Accept ¡and ¡display ¡Order, ¡Report, ¡etc. ¡from ¡client ¡

system ¡or ¡server ¡

  • Edit ¡either ¡of ¡the ¡above ¡
  • The ¡GUI ¡can ¡serve ¡as ¡a ¡limited/surrogate ¡C2 ¡system ¡

for ¡experimenta4on ¡

27 ¡

slide-28
SLIDE 28

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 28

BML GUI Functions

  • Editing a C-BML or MSDL

document

  • Merging MSDL documents
  • Serialization of document
  • Grammar validation of

document

  • Schema validation of XML

document

  • Auto-configuration to schema

28 ¡

  • Pulling a document
  • Pushing a document
  • Subscription to server Topics
  • Retrieving latest reports
  • C2 capability
  • Displaying maps with overlays
  • Geolocation entry from maps
slide-29
SLIDE 29

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 29

BML GUIs in Use Today

  • C2LG GUI
  • by Fraunhofer FKIE
  • Additional features for C2 of robots
  • BML C2 GUI
  • Open source by GMU
  • Generic
slide-30
SLIDE 30

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 30

C2LG GUI

slide-31
SLIDE 31

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 31

BML C2 GUI

!

slide-32
SLIDE 32

LS-141 - C2 to Simulation Interoperability (C2SIM) Slide 32

Virtual ¡Private ¡Network ¡(VPN) ¡

  • Enables ¡a ¡private, ¡distributed ¡enclave ¡over ¡Internet ¡

Ø Commercial ¡and ¡open ¡source ¡versions ¡available ¡ Ø Good ¡for ¡sensi4ve ¡but ¡unclassified ¡informa4on ¡ ¡

  • Used ¡by ¡MSG-­‑085 ¡for ¡

Ø Development ¡and ¡tes4ng ¡ Ø Remote ¡par4cipa4on ¡in ¡Final ¡Demonstra4on ¡

  • We ¡are ¡working ¡to ¡establish ¡C2SIM ¡service ¡ ¡

Ø available ¡by ¡VPN ¡24x7 ¡