Knowledge (XXG)

Data Distribution Service

Source đź“ť

441:(dds4ccm) offers an architectural pattern that separates the business logic from the non-functional properties. A 2012 extension added support for streams. A Java 5 Language PSM for DDS defined a Java 5 language binding, referred to as a Platform Specific Model (PSM) for DDS. It specified only the Data-Centric Publish-Subscribe (DCPS) portion of the DDS specification; Additionally, it encompasses the DDS APIs introduced by DDS-XTypes and DDS-CCM. DDS-PSM-Cxx defines the ISO/IEC C++ PSM language binding, referred to as a Platform Specific Model (PSM) for DDS. It provides a new C++ API for programming DDS that is more natural to a C++ programmer. The specification provides mappings for the 278:(QoS) parameters to configure discovery and behavior mechanisms up-front. By exchanging messages anonymously, DDS simplifies distributed applications and encourages modular, well-structured programs. DDS also automatically handles hot-swapping redundant publishers if the primary fails. Subscribers always get the sample with the highest priority whose data is still valid (that is, whose publisher-specified validity period has not expired). It automatically switches back to the primary when it recovers, too. 91: 25: 472:
intermediate service in a DDS domain possible and DDS-RPC (RPC Over DDS) which defines Remote Procedure Calls. These provide a bidirectional request/reply communication and determine distributed services, and are detailed using a service interface. It also supports both synchronous and asynchronous method invocation.
349: 259:
DDS supports mechanisms that go beyond the basic publish-subscribe model. The key benefit is that applications that use DDS for their communications are decoupled. Little design time needs be spent on handling their mutual interactions. In particular, the applications never need information about
433:
Other related standards followed the initial core document. The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification ensured that information published on a topic using one vendor's DDS implementation is consumable by one or more subscribers using the same or
356:
In March 2009, three vendors demonstrated interoperability between the individual, independent products that implemented the OMG Real-time Publish-Subscribe protocol version 2.1 from January 2009. The demonstration included the discovery of each other's publishers and subscribers on different OS
471:
Other protocols to be mentioned are: DDS-XRCE (DDS for eXtremely Resource Constrained Environments), this specification protocol allows the communication between devices of limited resources, like microcontroller for example and a DDS network. It makes publishing and subscribing to topics via an
344:
During demos, each vendor published and subscribed to each other's topics using a test suite called the shapes demo. For example, one vendor publishes information about a shape and the other vendors can subscribe to the topic and display the results on their own shapes display. Each vendor takes
460:(UML) profile specified DDS domains and topics to be part of analysis and design modeling. This specification also defined how to publish and subscribe objects without first describing the types in another language, such as XML or OMG IDL. An 434:
different vendor's DDS implementations. Although the specification is targeted at the DDS community, its use is not limited. Versions 2.0 was published in April 2008, version 2.1 in November 2010, 2.2 in September 2014, and 2.3 in May 2019.
246:. Nodes that produce information (publishers) create "topics" (e.g., temperature, location, pressure) and publish "samples". DDS delivers the samples to subscribers that declare an interest in that topic. 1324: 345:
turns publishing the information and the other subscribe. Two things made the demos possible: the DDS-I or Real-Time Publish-Subscribe (RTPS) protocol, and the agreement to use a common model.
260:
the other participating applications, including their existence or locations. DDS transparently handles message delivery without requiring intervention from the user applications, including:
452:
Extensible and Dynamic Topic Types for DDS (DDS-XTypes) provided support for data-centric publish-subscribe communication where topics are defined with specific data structures. To be
468:(CORBA) specification chapter 3. This IDL 3.5 was compatible with the CORBA 3 specification, but extracted as its own specification allowing it to evolve independently from CORBA. 124: 415:(OMG) published DDS version 1.0. Version 1.1 was published in December 2005, 1.2 in January 2007, and 1.4 in April 2015. DDS is covered by several US patents, among others. 253:(so subscribers can be on different platforms from the publisher), delivery, flow control, retries, etc. Any node can be a publisher, subscriber, or both simultaneously. 456:, DDS topics use data types defined before compile time and used throughout the DDS global data space. This model is desirable when static type checking is useful. A 986: 422:
A lower data-centric publish-subscribe (DCPS) level that is targeted towards the efficient delivery of the proper information to the proper recipients.
465: 489: 518: 550: 1355: 35: 979: 110: 54: 442: 291: 142: 72: 1034: 1105: 307: 239: 199: 1166: 972: 461: 315: 611: 319: 235: 599: 1350: 335: 331: 311: 120: 50: 587: 575: 341:
DDS vendors participated in interoperability demonstrations at the OMG Spring technical meetings from 2009 to 2013.
1283: 323: 295: 106: 101: 457: 425:
An optional higher data local reconstruction layer (DLRL), which allows for a simple integration of DDS into the
870: 256:
The DDS publish-subscribe model virtually eliminates complex network programming for distributed applications.
299: 1059: 645:"The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification (DDSI-RTPS)" 494: 412: 164: 1217: 438: 475:
Starting with DDS version 1.4 in 2015, the optional DLRL layer was moved to a separate specification.
348: 1049: 995: 287: 525: 1029: 210: 206: 188: 180: 1100: 1024: 446: 275: 168: 833:
Extensible and Dynamic Topic Types for DDS (DDS-XTypes), 1.0, formal/2012-11-10, November 2012,
1258: 1014: 426: 381: 358: 243: 810: 46: 1288: 205:
DDS addresses the real-time data exchange needs of applications within aerospace, defense,
1314: 1268: 1207: 176: 897:"About the DDS For Extremely Resource Constrained Environments Specification Version 1.0" 1293: 1237: 1192: 1141: 1019: 821:
DDS-PSM-Cxx: ISO/IEC C++ 2003 Language DDS PSM, Version ptc/2011-01-02, January 2011,
1344: 1329: 1202: 1090: 1054: 250: 195: 184: 822: 1263: 1253: 1156: 600:
http://www.slideshare.net/GerardoPardo/dds-interoperability-demo-2013-washington-dc
846: 797:
DDS for Lightweight CCM (dds4ccm), Version 1.1, formal/2012-02-01, February 2012,
858: 588:
https://community.rti.com/content/presentation/omg-dds-interoperability-demo-2012
576:
https://community.rti.com/content/presentation/omg-dds-interoperability-demo-2011
1298: 1278: 1009: 192: 90: 1319: 1273: 1227: 1095: 857:
DDS-Java: Java 5 Language PSM for DDSVersion 1.0, ptc/2012-12-01, March 2013
786: 775: 764: 753: 619: 484: 231: 214: 172: 834: 517:
Angelo Corsaro, Gerardo Pardo-Castellote and Clark Tucker (August 12, 2009).
1110: 366: 798: 1232: 1222: 1151: 1146: 1044: 1176: 1136: 1131: 1075: 964: 920: 370: 213:, medical devices, robotics, power generation, simulation and testing, 1212: 1171: 1161: 874: 644: 944: 896: 390:
Quality of service (QoS) Compatibility between requester and offerer
1080: 411:
Development of the DDS specification started in 2001. In 2004, the
303: 1197: 1085: 1039: 732: 710: 688: 666: 362: 347: 327: 1115: 968: 376:
The DDS interoperability demonstration used scenarios such as:
242:
for sending and receiving data, events, and commands among the
84: 18: 809:
Programming languages — C++, 15 October 2003, ISO/IEC 14882,
402:
Content filtering of topic data including time and geographic
217:
management, transportation systems, and other applications.
811:
http://www.iso.org/iso/catalogue_detail.htm?csnumber=38110
618:. Real-Time Innovations. December 14, 2010. Archived from 418:
The DDS specification describes two levels of interfaces:
175:
or connectivity framework) standard that aims to enable
116: 42: 497:(OMG), standards body that developed the specification 290:
implementations of DDS are available. These include
53:, and by adding encyclopedic content written from a 1307: 1246: 1185: 1124: 1068: 1002: 464:(IDL) was specified in 2014 independently from the 921:"About the RPC Over DDS Specification Version 1.0" 871:"Interface Definition Language (IDL), Version 3.5" 845:UML Profile for Data Distribution, version: 1.0, 823:http://www.omg.org/spec/DDS-PSM-Cxx/1.0/Beta1/PDF 249:DDS handles transfer chores: message addressing, 945:"DDS Data Local Reconstruction Layer (DDS-DLRL)" 105:, potentially preventing the article from being 847:http://www.omg.org/cgi-bin/doc?ptc/10-05-17.pdf 556:. Real-Time Innovations, Inc. December 11, 2010 512: 510: 859:http://www.omg.org/spec/DDS-Java/1.0/Beta3/PDF 733:"Data Distribution Service (DDS), Version 1.4" 711:"Data Distribution Service (DDS), Version 1.2" 689:"Data Distribution Service (DDS), Version 1.1" 667:"Data Distribution Service (DDS), Version 1.0" 352:OMG Data Distribution Service interoperability 980: 445:(API) specified in DDS-XTypes, and accessing 8: 270:what happens if messages cannot be delivered 669:. Object Management Group. December 2, 2004 294:(APIs) and libraries of implementations in 264:determining who should receive the messages 987: 973: 965: 835:http://www.omg.org/spec/DDS-XTypes/1.0/PDF 125:reliable, independent, third-party sources 639: 637: 551:"DDS Interoperability Demo December 2010" 524:. Object Management Group. Archived from 466:Common Object Request Broker Architecture 143:Learn how and when to remove this message 73:Learn how and when to remove this message 799:http://www.omg.org/spec/dds4ccm/1.1/PDF/ 119:by replacing them with more appropriate 506: 490:Open architecture computing environment 396:Multiple topics and instances of topics 387:Discovery of publishers and subscribers 102:too closely associated with the subject 34:contains content that is written like 449:(QoS) profiles specified in DDS-CCM. 7: 873:. OMG. March 1, 2014. Archived from 612:"DDS Interoperability Demonstration" 380:Basic connectivity to network using 251:data marshalling and de-marshalling 292:application programming interfaces 14: 443:application programming interface 100:may rely excessively on sources 89: 23: 16:Object Management Group standard 274:DDS allows the user to specify 1106:Radio-frequency identification 399:Exclusive ownerships of topics 163:) for real-time systems is an 1: 462:interface definition language 267:where recipients are located 1356:Message-oriented middleware 519:"DDS Interoperability Demo" 1372: 458:Unified Modeling Language 393:Delay-tolerant networking 240:publish–subscribe pattern 200:publish–subscribe pattern 157:Data Distribution Service 1060:Wireless sensor networks 373:network communications. 234:that simplifies complex 1284:Josef Preishuber-Pflügl 495:Object Management Group 413:Object Management Group 165:Object Management Group 353: 1218:Internet refrigerator 531:on September 15, 2011 351: 286:Both proprietary and 55:neutral point of view 1050:Ubiquitous computing 996:Ambient intelligence 437:DDS for Lightweight 288:open-source software 230:DDS is a networking 1030:Object hyperlinking 877:on January 21, 2017 787:US Patent US9015672 776:US Patent US8150988 765:US Patent US8671135 754:US Patent US8874686 236:network programming 211:autonomous vehicles 207:air-traffic control 47:promotional content 1351:Computer standards 1101:Machine to machine 1025:Internet of things 691:. December 4, 2005 598:2013, March 2013, 586:2012, March 2012, 574:2011, March 2011, 447:quality of service 354: 276:quality of service 238:. It implements a 171:(sometimes called 169:machine-to-machine 49:and inappropriate 1338: 1337: 1259:Gaetano Borriello 1015:Context awareness 713:. January 1, 2007 427:application layer 382:Internet Protocol 359:Microsoft Windows 153: 152: 145: 83: 82: 75: 1363: 1289:John Seely Brown 989: 982: 975: 966: 957: 956: 954: 952: 941: 935: 934: 932: 931: 917: 911: 910: 908: 907: 893: 887: 886: 884: 882: 867: 861: 855: 849: 843: 837: 831: 825: 819: 813: 807: 801: 795: 789: 784: 778: 773: 767: 762: 756: 751: 745: 744: 742: 740: 735:. April 10, 2015 729: 723: 722: 720: 718: 707: 701: 700: 698: 696: 685: 679: 678: 676: 674: 663: 657: 656: 654: 652: 641: 632: 631: 629: 627: 608: 602: 596: 590: 584: 578: 572: 566: 565: 563: 561: 555: 547: 541: 540: 538: 536: 530: 523: 514: 365:) and supported 282:Interoperability 181:high-performance 148: 141: 137: 134: 128: 93: 85: 78: 71: 67: 64: 58: 36:an advertisement 27: 26: 19: 1371: 1370: 1366: 1365: 1364: 1362: 1361: 1360: 1341: 1340: 1339: 1334: 1315:Ambient Devices 1303: 1269:Stefano Marzano 1242: 1208:Home automation 1181: 1120: 1064: 998: 993: 962: 960: 950: 948: 943: 942: 938: 929: 927: 919: 918: 914: 905: 903: 895: 894: 890: 880: 878: 869: 868: 864: 856: 852: 844: 840: 832: 828: 820: 816: 808: 804: 796: 792: 785: 781: 774: 770: 763: 759: 752: 748: 738: 736: 731: 730: 726: 716: 714: 709: 708: 704: 694: 692: 687: 686: 682: 672: 670: 665: 664: 660: 650: 648: 643: 642: 635: 625: 623: 610: 609: 605: 597: 593: 585: 581: 573: 569: 559: 557: 553: 549: 548: 544: 534: 532: 528: 521: 516: 515: 508: 504: 481: 409: 284: 228: 223: 149: 138: 132: 129: 114: 94: 79: 68: 62: 59: 40: 28: 24: 17: 12: 11: 5: 1369: 1367: 1359: 1358: 1353: 1343: 1342: 1336: 1335: 1333: 1332: 1327: 1325:Ebbits project 1322: 1317: 1311: 1309: 1305: 1304: 1302: 1301: 1296: 1294:Bruce Sterling 1291: 1286: 1281: 1276: 1271: 1266: 1261: 1256: 1250: 1248: 1244: 1243: 1241: 1240: 1238:Smarter Planet 1235: 1230: 1225: 1220: 1215: 1210: 1205: 1200: 1195: 1193:Ambient device 1189: 1187: 1183: 1182: 1180: 1179: 1174: 1169: 1164: 1159: 1154: 1149: 1144: 1139: 1134: 1128: 1126: 1122: 1121: 1119: 1118: 1113: 1108: 1103: 1098: 1093: 1088: 1083: 1078: 1072: 1070: 1066: 1065: 1063: 1062: 1057: 1052: 1047: 1042: 1037: 1032: 1027: 1022: 1020:Device ecology 1017: 1012: 1006: 1004: 1000: 999: 994: 992: 991: 984: 977: 969: 959: 958: 936: 912: 888: 862: 850: 838: 826: 814: 802: 790: 779: 768: 757: 746: 724: 702: 680: 658: 633: 603: 591: 579: 567: 542: 505: 503: 500: 499: 498: 492: 487: 480: 477: 431: 430: 423: 408: 405: 404: 403: 400: 397: 394: 391: 388: 385: 283: 280: 272: 271: 268: 265: 227: 224: 222: 219: 196:data exchanges 151: 150: 97: 95: 88: 81: 80: 51:external links 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 1368: 1357: 1354: 1352: 1349: 1348: 1346: 1331: 1330:IPSO Alliance 1328: 1326: 1323: 1321: 1318: 1316: 1313: 1312: 1310: 1306: 1300: 1297: 1295: 1292: 1290: 1287: 1285: 1282: 1280: 1277: 1275: 1272: 1270: 1267: 1265: 1262: 1260: 1257: 1255: 1252: 1251: 1249: 1245: 1239: 1236: 1234: 1231: 1229: 1226: 1224: 1221: 1219: 1216: 1214: 1211: 1209: 1206: 1204: 1203:Connected car 1201: 1199: 1196: 1194: 1191: 1190: 1188: 1184: 1178: 1175: 1173: 1170: 1168: 1165: 1163: 1160: 1158: 1155: 1153: 1150: 1148: 1145: 1143: 1140: 1138: 1135: 1133: 1130: 1129: 1127: 1123: 1117: 1114: 1112: 1109: 1107: 1104: 1102: 1099: 1097: 1094: 1092: 1091:IEEE 802.15.4 1089: 1087: 1084: 1082: 1079: 1077: 1074: 1073: 1071: 1067: 1061: 1058: 1056: 1055:Web of Things 1053: 1051: 1048: 1046: 1043: 1041: 1038: 1036: 1033: 1031: 1028: 1026: 1023: 1021: 1018: 1016: 1013: 1011: 1008: 1007: 1005: 1001: 997: 990: 985: 983: 978: 976: 971: 970: 967: 963: 946: 940: 937: 926: 922: 916: 913: 902: 898: 892: 889: 876: 872: 866: 863: 860: 854: 851: 848: 842: 839: 836: 830: 827: 824: 818: 815: 812: 806: 803: 800: 794: 791: 788: 783: 780: 777: 772: 769: 766: 761: 758: 755: 750: 747: 734: 728: 725: 712: 706: 703: 690: 684: 681: 668: 662: 659: 646: 640: 638: 634: 622:on 2014-01-07 621: 617: 613: 607: 604: 601: 595: 592: 589: 583: 580: 577: 571: 568: 552: 546: 543: 527: 520: 513: 511: 507: 501: 496: 493: 491: 488: 486: 483: 482: 478: 476: 473: 469: 467: 463: 459: 455: 450: 448: 444: 440: 435: 428: 424: 421: 420: 419: 416: 414: 406: 401: 398: 395: 392: 389: 386: 383: 379: 378: 377: 374: 372: 368: 364: 360: 350: 346: 342: 339: 337: 333: 329: 325: 321: 317: 313: 309: 305: 301: 297: 293: 289: 281: 279: 277: 269: 266: 263: 262: 261: 257: 254: 252: 247: 245: 241: 237: 233: 225: 220: 218: 216: 212: 208: 203: 201: 197: 194: 190: 186: 185:interoperable 182: 178: 174: 170: 166: 162: 158: 147: 144: 136: 126: 122: 118: 112: 108: 104: 103: 98:This article 96: 92: 87: 86: 77: 74: 66: 56: 52: 48: 44: 38: 37: 32:This article 30: 21: 20: 1264:Adam Dunkels 1254:Kevin Ashton 1186:Applications 1157:Raspberry Pi 1069:Technologies 961: 949:. Retrieved 947:. April 2015 939: 928:. Retrieved 924: 915: 904:. Retrieved 900: 891: 879:. Retrieved 875:the original 865: 853: 841: 829: 817: 805: 793: 782: 771: 760: 749: 737:. Retrieved 727: 715:. Retrieved 705: 693:. Retrieved 683: 671:. Retrieved 661: 649:. Retrieved 624:. Retrieved 620:the original 615: 606: 594: 582: 570: 558:. Retrieved 545: 533:. Retrieved 526:the original 474: 470: 453: 451: 436: 432: 417: 410: 375: 355: 343: 340: 285: 273: 258: 255: 248: 229: 221:Architecture 204: 160: 156: 154: 139: 130: 115:Please help 99: 69: 60: 45:by removing 41:Please help 33: 1299:Mark Weiser 1279:Roel Pieper 1010:Ambient IoT 951:November 9, 925:www.omg.org 901:www.omg.org 881:November 9, 739:November 9, 717:November 9, 695:November 9, 673:November 9, 651:October 28, 626:November 9, 560:November 9, 535:November 9, 357:Platforms ( 1345:Categories 1320:AmbieSense 1274:Don Norman 1228:Smart city 1096:Internet 0 930:2021-03-12 906:2021-03-12 647:. May 2019 502:References 485:Middleware 454:extensible 232:middleware 215:smart grid 177:dependable 173:middleware 117:improve it 107:verifiable 43:improve it 1142:Gadgeteer 1125:Platforms 1111:Smartdust 1035:Profiling 367:multicast 189:real-time 133:July 2014 121:citations 63:July 2020 1247:Pioneers 1233:Smart TV 1223:Nabaztag 1152:Netduino 1147:ioBridge 1045:Supranet 1003:Concepts 479:See also 198:using a 193:scalable 1177:NodeMCU 1137:Contiki 1132:Arduino 1076:6LoWPAN 407:History 371:unicast 111:neutral 1213:HomeOS 1172:Xively 1167:Wiring 1162:TinyOS 334:, and 316:Python 167:(OMG) 1308:Other 1198:CeNSE 1086:DASH7 1040:Spime 616:video 554:(PDF) 529:(PDF) 522:(PDF) 363:Linux 328:Pharo 320:Scala 244:nodes 226:Model 1116:XBee 1081:ANT+ 953:2016 883:2016 741:2016 719:2016 697:2016 675:2016 653:2019 628:2016 562:2016 537:2016 384:(IP) 369:and 361:and 336:Rust 332:Ruby 312:Java 155:The 109:and 439:CCM 324:Lua 310:, 304:C++ 296:Ada 161:DDS 123:to 1347:: 923:. 899:. 636:^ 614:. 509:^ 338:. 330:, 326:, 322:, 318:, 314:, 308:C# 306:, 302:, 298:, 209:, 202:. 191:, 187:, 183:, 179:, 988:e 981:t 974:v 955:. 933:. 909:. 885:. 743:. 721:. 699:. 677:. 655:. 630:. 564:. 539:. 429:. 300:C 159:( 146:) 140:( 135:) 131:( 127:. 113:. 76:) 70:( 65:) 61:( 57:. 39:.

Index

an advertisement
improve it
promotional content
external links
neutral point of view
Learn how and when to remove this message

too closely associated with the subject
verifiable
neutral
improve it
citations
reliable, independent, third-party sources
Learn how and when to remove this message
Object Management Group
machine-to-machine
middleware
dependable
high-performance
interoperable
real-time
scalable
data exchanges
publish–subscribe pattern
air-traffic control
autonomous vehicles
smart grid
middleware
network programming
publish–subscribe pattern

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑