OpenDDS est une implémentation C++ open source de la spécification de l'Object Management Group « Data Distribution Service for Real-time Systems » (DDS), ainsi que d'autres spécifications connexes. Ces normes définissent un ensemble d'interfaces et de protocoles pour développer des applications distribuées basées sur les modèles de publication-abonnement et de cache distribué. Bien qu'OpenDDS soit lui-même développé en C++, des liaisons Java sont fournies pour que les applications Java puissent utiliser OpenDDS. OpenDDS inclut également la prise en charge des spécifications DDS Security et XTypes.
OpenDDS est construit sur la couche d'abstraction ACE pour assurer la portabilité de la plateforme. OpenDDS exploite également les capacités de TAO pour la compilation IDL et le référentiel d'informations OpenDDS DCPS.
Le développement principal d'OpenDDS a été réalisé par Object Computing, Incorporated à St. Louis et Phoenix. Il est publié sous des conditions de licence généreuses similaires à celles d'ACE, TAO et MPC. Voir le fichier LICENSE
pour plus de détails.
Table des matières:
Le Guide du développeur OpenDDS est disponible sur https://opendds.readthedocs.io/en/latest-release.
Pour les développeurs souhaitant contribuer à OpenDDS, veuillez lire les directives de développement.
D'autres documents peuvent être trouvés dans le répertoire docs
.
Pour une assistance commerciale, veuillez consulter https://opendds.org/support.html.
Les questions concernant OpenDDS doivent être adressées aux discussions GitHub.
Si vous souhaitez déposer un rapport de bug :
tests/DCPS/MyExample
( MyExample
est un espace réservé.)run_test.pl
. Assurez-vous de documenter les options. Voir tests/DCPS/HelloWorld/run_test.pl
pour vous inspirer.README.rst
qui donne un aperçu général de l'exemple et du problème qu'il illustre. Il devrait être possible de créer et d'exécuter l'exemple en utilisant run_test.pl
comme dans les démarrages rapides pour Windows et Linux. Si le problème réside dans l'exemple, alors l'interface Pull Request de GitHub permettra aux utilisateurs de discuter, de commenter et de proposer des modifications pour faire fonctionner l'exemple. Si le problème réside dans OpenDDS, alors l'exemple est un nouveau scénario de test.
Cette version d'OpenDDS est basée sur la spécification DDS formal/2015-04-10 (version 1.4). Il comporte les protocoles de transport suivants :
Les fonctionnalités RTPS (Interopérabilité) sont basées sur la spécification DDS-RTPS formelle/2019-04-03 (version 2.3). Consultez le Guide du développeur OpenDDS et le fichier docs/design/RTPS pour plus de détails sur RTPS.
Consultez le Guide du développeur pour plus d'informations sur la conformité d'OpenDDS avec la spécification DDS. Si vous souhaitez contribuer à une fonctionnalité ou parrainer les développeurs pour ajouter une fonctionnalité, veuillez consulter la section Support ci-dessus pour obtenir les informations de contact.
Ce ne sont que les dépendances requises. Pour une liste complète et détaillée des dépendances, y compris les dépendances facultatives, voir https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html.
OpenDDS nécessite TAO pour la compilation IDL ainsi que pour l'interaction avec DCPSInfoRepo. ACE est également requis, mais il est toujours inclus avec TAO. Si vous utilisez le script configure
pour OpenDDS, vous n'avez pas besoin de télécharger TAO au préalable : le script configure
le téléchargera pour vous.
Perl est utilisé pour le script de configuration, exécutant les tests automatisés et les exemples inclus dans cette arborescence source et générant des fichiers de projet Makefiles ou Visual Studio.
Sous Windows, nous recommandons l'utilisation de Strawberry Perl.
Cette version d'OpenDDS a été testée sur les plateformes suivantes :
Famille Linux :
Famille Windows :
Embarqué/Mobile/IoT :
Nous avons construit OpenDDS pour VxWorks 6.9, 7 et 21.03 et avons exécuté des tests de base du système et des performances (mais pas l'intégralité de la suite de tests de régression). Veuillez consulter la page de support OpenDDS pour plus d'informations sur la prise en charge d'ACE, TAO et OpenDDS sur VxWorks. Téléchargez les packages VxWorks RPM pour ACE, TAO et OpenDDS ici.
Cette version d'OpenDDS a été testée à l'aide des compilateurs suivants :
Pour les instructions de construction et d'installation, voir https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html
Consultez le démarrage rapide de Docker pour savoir comment utiliser l'image Docker prédéfinie.