Code Monkey home page Code Monkey logo

ervolkan / opendds Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opendds/opendds

0.0 0.0 0.0 94.83 MB

OpenDDS is an open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). OpenDDS also supports Java bindings through JNI.

Home Page: http://www.opendds.org

License: Other

C++ 80.25% Perl 4.84% Shell 0.21% C 0.40% HTML 3.28% Java 9.47% CSS 0.25% Makefile 0.02% Batchfile 0.01% XSLT 0.83% Ruby 0.05% Awk 0.01% sed 0.01% Dockerfile 0.02% CMake 0.33% Python 0.05%

opendds's Introduction

OpenDDS

OpenDDS

Coverity Scan Build Status

OpenDDS is an open-source C++ implementation of the Object Management Group's specification "Data Distribution Service for Real-time Systems" (DDS), as well as some other related specifications. These standards define a set of interfaces and protocols for developing distributed applications based on the publish-subscribe and distributed cache models. Although OpenDDS is itself developed in C++, Java and JMS bindings are provided so that Java applications can use OpenDDS. OpenDDS also includes support for the DDS Security and XTypes specifications.

OpenDDS is built on the ACE abstraction layer to provide platform portability. OpenDDS also leverages capabilities of TAO, such as its IDL compiler and as the basis of the OpenDDS DCPS Information Repository (DCPSInfoRepo).

The primary development of OpenDDS was done by Object Computing, Incorporated in St. Louis and Phoenix. It is released under generous license terms similar to ACE, TAO and MPC. See the LICENSE file for details.

Table of Contents:

Documentation

Other documentation can be found in docs directory.

Support

If you encounter any problems with this release please fill out the PROBLEM-REPORT-FORM file found in this directory and use it when posting to the mailing list or creating a GitHub Issue.

For commercial support please see https://opendds.org/support.html.

Features

This release of OpenDDS is based on the DDS Specification formal/2015-04-10 (version 1.4). It features the following transport protocols:

  • TCP/IP
  • UDP/IP
  • IP multicast
  • RTPS over UDP/IP (unicast and multicast)
  • Shared memory

RTPS (Interoperability) features are based on the DDS-RTPS Specification formal/2019-04-03 (version 2.3). See the OpenDDS Developer's Guide and the file docs/design/RTPS for more details on RTPS.

See the Developer's Guide for information on OpenDDS compliance with the DDS specification. If you would like to contribute a feature or sponsor the developers to add a feature please see the Support section above for contact information.

Dependencies

For a complete detailed list of dependencies, see docs/dependencies.md.

ACE/TAO

OpenDDS requires TAO for both IDL compilation as well as interaction with the DCPSInfoRepo. ACE is also required, but it is always included with TAO. If you will be using the configure script for OpenDDS (see the INSTALL.md file for details), you do not need to download TAO first -- the configure script will download it for you.

There are three distributions of ACE/TAO that can be used with OpenDDS:

  • OCI ACE/TAO 2.2a patch 21 or later
  • DOC Group ACE 6.5.14 / TAO 2.5.14 or later in the ACE 6.x / TAO 2.x series
    • When using the configure script, DOC Group ACE/TAO can be downloaded using one of these arguments:
      • --doc-group for the latest release
      • --ace-github-latest to use the ace6tao2 branch of ACE/TAO as is. This also downloads the master branch of MPC as is.
    • Can be manually downloaded from:
  • DOC Group ACE 7.0.4 / TAO 3.0.4 or later in the ACE 7.x / TAO 3.x series. This distribution requires a C++11 capable compiler

The TAO Developer's Guide book can be requested for free from https://objectcomputing.com/products/tao/tao-developers-guide and the CORBA Programmers Guide can be downloaded for free from https://www.remedy.nl/opensource/corbapg.html.

Perl

Perl is used for the configure script, running the automated tests and examples included in this source tree, and generating Makefiles or Visual Studio project files.

On Windows we recommend the use of Strawberry Perl.

Optional Dependencies

  • Google Test, for various tests.
    • Google Test is required for OpenDDS tests. If tests are not built, Google Test is not needed.
  • CMake, for building Google Test and the OpenDDS CMake module.
  • Java, for Java bindings.
  • Qt, for Monitor application and ishapes demo.
  • Wireshark, for the OpenDDS DCPS Wireshark dissector.
  • RapidJSON, for optional dissector sample dissection support and JSON typesupport.
  • Xerces-C++, for XML QoS and DDS Security.
  • OpenSSL, for DDS Security.

Supported Platforms

Operating Systems

This release of OpenDDS has been tested under the following platforms:

Linux family:

  • Red Hat EL and CentOS 6.6, 6.8, 6.9 (x86_64)
  • Red Hat EL and CentOS 7.2, 7.3, 7.4, 7.5 (x86_64)
  • Fedora 24 and 33 (x86_64)
  • Debian 9.4 (i686)
  • Ubuntu 18.04 LTS, (x86_64)
  • openSUSE 42.1 (x86_64)

Windows family:

  • Windows 7 (32-bit, 64-bit)
  • Windows Server 2012 R2 (64-bit)
  • Windows 10 (64-bit)

Others:

  • macOS 10.15.2 (Catalina)

Embedded/Mobile/IoT:

We have built OpenDDS for VxWorks 6.9 and 7 and have run basic system and performance tests (but not the entire regression test suite). Please contact [email protected] or [email protected] for more information on support for ACE, TAO, and OpenDDS on VxWorks. OCI's packages for ACE, TAO, and OpenDDS can be obtained on the Wind River Marketplace.

Compilers

This release of OpenDDS has been tested using the following compilers:

  • Microsoft Visual C++ 9 with SP1 (Visual Studio 2008)
  • Microsoft Visual C++ 10 with SP1 (Visual Studio 2010)
  • Microsoft Visual C++ 11 (Visual Studio 2012) - Update 4
  • Microsoft Visual C++ 12 (Visual Studio 2013) - Update 5
  • Microsoft Visual C++ 14 (Visual Studio 2015) - Update 3
  • Microsoft Visual C++ 14.1 (Visual Studio 2017) cl 19.16.27044
  • Microsoft Visual C++ 14.2 (Visual Studio 2019) cl 19.28.29335
  • gcc 4.4.7, 4.8.5
  • gcc 6.3
  • gcc 7.2
  • gcc 11.1
  • Clang 12.0.1 (llvm.org) and 11.0.3 (Apple)

Building and Installing

For building and installation instructions see the INSTALL.md file in this directory.

Quick Start with Docker

See docs/docker.md for how to use the pre-built docker image.

opendds's People

Contributors

mitza-oci avatar iguessthislldo avatar simpsont-oci avatar jwillemsen avatar jrw972 avatar oschwaldp-oci avatar claytoncalabrese avatar kuznetsovmoci avatar brianjohnson5972 avatar lij-oci avatar sonndinh avatar jonesc-oci avatar paulcalabrese avatar pmesnier avatar oth3r1if3 avatar pollocktoci avatar lewisdo avatar neeleym avatar ceneblock avatar ocielliottc avatar plabanca avatar hud1031 avatar iliyan avatar jmmorato avatar dczanella avatar wilsongoci avatar adamsj-ros avatar huangminghuang avatar dependabot[bot] avatar brattonj-oci avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.