TENA R A N G E L V C

Similar documents
IKE2 Implementing Implementing the Stateful Distributed Object Paradigm

DS 2009: middleware. David Evans

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Towards integration of the Data Distribution Service with the CORBA Component Model

Today: Distributed Middleware. Middleware

Chapter 2 Architectures. Software Architectures

The Test and Training Enabling Architecture (TENA)

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

Using Quality Objects (QuO) Middleware for QoS Control of Video Streams

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Middleware. Distributed Objects

Today: Distributed Objects. Distributed Objects

Component-based Engineering for Embedded Systems USA EU workshop

Distributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects

Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, Middleware in Context: 2016 David E. Bakken

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

Mobile Computing (3C05) Outline. Introduction

SAI/ST course Distributed Systems

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

DTE-ARCH Milestone 4: Customized Logging for TENA Middleware

Middleware in Context: 2016 David E. Bakken. Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019

09. Component-Level Design

Who we are. 2 Copyright Remedy IT

Distributed Objects. Object-Oriented Application Development

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

CSCI 3130 Software Architectures 1/3. February 5, 2013

Implementing a NTP-Based Time Service within a Distributed Middleware System

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

Challenges in component based programming. Lena Buffoni

Desarrollo de Aplicaciones en Red. El modelo de comunicación. General concepts. Models of communication. Message Passing

Appendix A - Glossary(of OO software term s)

The C Language Mapping Does it meet the needs of Embedded Real-time Applications?

Component models. Page 1

Managing Complexity of Designing Routing Protocols Using a Middleware Approach

Porting of Real-Time Publish-Subscribe Middleware to Android

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Real-Time CORBA Experiences in an Avionics Domain

Distributed Simulation Modeling: A Comparison Of HLA, CORBA, and RMI

Deccansoft Software Services. J2EE Syllabus

Game Industry Characteristics

Designing High Performance IEC61499 Applications on Top of DDS

DDS Interoperability Demo

Model Driven Architecture Targets Middleware Interoperability Challenges

in an Industrial Production Environment Realtime Image Analysis with CORBA Lothar Werzinger

CSC407: Software Architecture Winter 2007 Middleware

Overview. Borland VisiBroker 7.0

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Communication. Overview

Verteilte Systeme (Distributed Systems)

DISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware MIDDLEWARE. Distributed Object based: Slide 1. Slide 3. Message-oriented: Slide 4

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Oracle SOA Suite 11g: Build Composite Applications

Dassault Enovia, a Case Study of CORBA. Introduction Distributed Architecture Orbix Im plem entation Detail Conlcusion

Architectural Patterns

Connecting ESRI to Anything: EAI Solutions

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

OBJECT ADAPTER ORB CORE I/O SUBSYSTEM. struct RT_Info { wc_exec_time_; period_; importance_; dependencies_; }; 1: CONSTRUCT CALL 6: SUPPLY RUN-TIME

Towards a Standardized Federate Protocol for HLA 4

Event semantics in asynchronous distributed event middleware

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Enterprise Application Integration. Generated Adaptive Frameworks. with. by Rüdiger Schilling smdelta

Application Servers in E-Commerce Applications

Code Generation for SCA Components. Mark Hermeling

1. Briefly explain these terminologies. If they are acronyms, also write what they stand for. (24 points)

Chapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration

Advanced Systems Engineering Methodologies and Tools for Gateway Selection and Configuration

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

Ask a network designer what middleware

Software Architecture

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. Graphics: Alexandra Nolte, Gesine

Distributed Systems Architecture

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

Migrating IONA Orbix 3 Applications

Jasper van Baten AmsterCHEM Michel Pons CO-LaN Bill Barrett USEPA Michael Hlavinka BR&E Mark Stijnman Shell Global Solutions.

CORBA in a Real-Time Game Environment

Electronic Payment Systems (1) E-cash

Distributed Systems Middleware

Architecture domain. Leonardo Candela. DL.org Autumn School Athens, 3-8 October th October 2010

A Tutorial on The Jini Technology

The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

MIDDLEWARE IN WIRELESS SENSOR NETWORKS (WSNS)

Towards a DDS-based Platform Specific Model for Robotics

Advanced Lectures on knowledge Engineering

AQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA

Lecture Notes on CASE-Tools: Together

Flexible Fault Tolerance In Configurable Middleware For Embedded Systems

ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE

The Joint Live Virtual Constructive Data Translator Framework Interoperability for a Seamless Joint Training Environment

Opening Mobile Phones to Multimodal Interaction - The Multimodal Hub Approach

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Architecture of Distributed Systems

Lessons Learned Using YANCEES to Support Impromptu

Basic Properties of Styles

Live-Virtual-Constructive Architecture Roadmap Implementation. Convergence Defining Architecture Characteristics and Activities

Chapter 2 Distributed Computing Infrastructure

Transcription:

TENA RANGE LVC

TENA Test and Training Enabling Architecture (TENA) See https://www.tena-sda.org/display/intro/home Targeted at LVC applications in a range environment; has substantial spillover to the M&S community since the ranges tend to play in the Live part of LVC Implementations on Linux, Windows; no explicit OS X support ;-(

TENA More or less: Use CORBA infrastructure as one element (though they have modified it somewhat) Have a prefab archive of CORBA objects to do common things This means you can have methods associated with objects, unlike HLA Publish-Subscribe capability for object attributes Uses Tao real-time CORBA ORB as basis for middleware message exchange backplane (not an explicit requirement)

CORBA Objects Traditionally CORBA objects just have methods you can call. This doesn t scale well if you have 100 people requesting updates of the object s state. But, unlike HLA, CORBA objects can have methods associated with objects, so you can call the method remotely; IE, you can have code associated with objects, which helps immensely with reuse

Publish/Subscribe TENA bolts on an additional concept of a stateful distributed object An object can have a series of state variables that it publishes Other participants can subscribe to those state variables; the object publishing them does not know who subscribes When state variables are changed the subscribers receive updates, perhaps via unreliable (UDP) mechanisms

SDOs Traditional CORBA objects provide methods via a proxy on client hosts SDOs also provide the illusion of having access to the instance variables of the remote object. The local client copy of the instance variables are updated via publish/subscribe

Traditional CORBA Proxy -dosomething -dosomethingelse Servant -dosomething -dosomethingelse Traditionally, CORBA lets a stand-in client proxy object call a server object, where the real computation happens. There may be several Proxy objects calling a single server object

SDO Proxy int x; int y; -dosomething -dosomethingelse Method Call ivar Subscribe Servant int x; int y; -dosomething -dosomethingelse SDOs, in addition, can subscribe to published ivars (state variables) on the server side. Updates may be via UDP or some other method, and may be distributed to many objects.

SDO The objective: make it appear as if the remote object complete with instance variables is on your local machine This means the ORB is extended to allow ivar pub/ sub

Performance

Performance At least on the tested hardware (circa 2003), implies small-to-mid simulations. Probably better with more modern networks and hardware

The Basic Idea Write an application in a conventional language, probably C++ Include TENA objects, typically prefab objects from their repository The objects included subscribe to updates from server objects, and may provide (publish) updates to other interested parties

TENA Participants

Coding TENA uses an IDL-like language for defining the interfaces and instance variables of objects, and the pub/sub parameters To write a TENA C++ object, you can first write a TDL file, then use a web-based generator to create the C++ implementation TENA handles object serialization, unlike HLA! Existence of methods allows reuse of algorithms, such as coordinate system transforms (huzzah) Even further, you can generate the TDL from UML diagrams

Coding Reuse of objects encouraged TENA has a repository of standard objects that can be reused; vastly reduces errors by making use of known, tested code

TDL Example { package Example interface Controllable { string initialize(); }; class Participant : implements Controllable { string name; long ID; }; class Sensor : extends Participant { string state; string point(in double azimuth) };

Code Repository

Java Primarily C++ Some Java support wrappers for C++ objects

Wiring Diagram