Submit Search
Upload
Integrating DDS into AXCIOMA component approach
•
0 likes
•
552 views
AI-enhanced title
Remedy IT
Follow
Integrating DDS into AXCIOMA, the component approach
Read less
Read more
Technology
Report
Share
Report
Share
1 of 31
Download now
Download to read offline
Recommended
Company Presentation RemedyIT
Company Presentation RemedyIT
Remedy IT
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
Remedy IT
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
Remedy IT
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
Remedy IT
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
Remedy IT
Using Automation to Improve Software Services
Using Automation to Improve Software Services
International Society of Service Innovation Professionals
Oracle 11i OID AD Integration
Oracle 11i OID AD Integration
Mahesh Vallampati
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component Approach
Real-Time Innovations (RTI)
Recommended
Company Presentation RemedyIT
Company Presentation RemedyIT
Remedy IT
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
Remedy IT
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
Remedy IT
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
Remedy IT
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
Remedy IT
Using Automation to Improve Software Services
Using Automation to Improve Software Services
International Society of Service Innovation Professionals
Oracle 11i OID AD Integration
Oracle 11i OID AD Integration
Mahesh Vallampati
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component Approach
Real-Time Innovations (RTI)
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
Remedy IT
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
Remedy IT
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
Remedy IT
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
Remedy IT
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
Remedy IT
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
Remedy IT
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
Remedy IT
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
Remedy IT
Architecting your Frontend
Architecting your Frontend
Ruben Teijeiro
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Amazon Web Services
CNS Presentation
CNS Presentation
John Couston
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)
SDNRG ITB
ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013
Rupesh Kumar
MT82 IoT Security Starts at Edge
MT82 IoT Security Starts at Edge
Dell EMC World
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
Intel XDK - Philly JS
Intel XDK - Philly JS
Ian Maffett
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Real-Time Innovations (RTI)
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Ramon Tebar
Remedy IT Company presentation
Remedy IT Company presentation
Remedy IT
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
Remedy IT
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overview
Remedy IT
More Related Content
Similar to Integrating DDS into AXCIOMA component approach
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
Remedy IT
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
Remedy IT
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
Remedy IT
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
Remedy IT
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
Remedy IT
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
Remedy IT
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
Remedy IT
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
Remedy IT
Architecting your Frontend
Architecting your Frontend
Ruben Teijeiro
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Amazon Web Services
CNS Presentation
CNS Presentation
John Couston
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)
SDNRG ITB
ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013
Rupesh Kumar
MT82 IoT Security Starts at Edge
MT82 IoT Security Starts at Edge
Dell EMC World
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
Intel XDK - Philly JS
Intel XDK - Philly JS
Ian Maffett
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Real-Time Innovations (RTI)
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Ramon Tebar
Remedy IT Company presentation
Remedy IT Company presentation
Remedy IT
Similar to Integrating DDS into AXCIOMA component approach
(20)
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
Architecting your Frontend
Architecting your Frontend
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
CNS Presentation
CNS Presentation
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)
ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013
MT82 IoT Security Starts at Edge
MT82 IoT Security Starts at Edge
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
Intel XDK - Philly JS
Intel XDK - Philly JS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Remedy IT Company presentation
Remedy IT Company presentation
More from Remedy IT
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
Remedy IT
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overview
Remedy IT
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Remedy IT
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated Satellites
Remedy IT
UCM Initial Submission presentation
UCM Initial Submission presentation
Remedy IT
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Remedy IT
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Remedy IT
Test What Matters Most
Test What Matters Most
Remedy IT
IDL to C++03 RFC
IDL to C++03 RFC
Remedy IT
F6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through Connectors
Remedy IT
AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11
Remedy IT
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Remedy IT
Test What Matters Most
Test What Matters Most
Remedy IT
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
Remedy IT
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...
Remedy IT
Remedy IT Flyer_introduction
Remedy IT Flyer_introduction
Remedy IT
More from Remedy IT
(18)
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overview
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated Satellites
UCM Initial Submission presentation
UCM Initial Submission presentation
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Test What Matters Most
Test What Matters Most
IDL to C++03 RFC
IDL to C++03 RFC
F6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through Connectors
AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Test What Matters Most
Test What Matters Most
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...
Remedy IT Flyer_introduction
Remedy IT Flyer_introduction
Recently uploaded
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
LoriGlavin3
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Slibray Presentation
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
mohitsingh558521
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
Recently uploaded
(20)
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
How to write a Business Continuity Plan
How to write a Business Continuity Plan
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Integrating DDS into AXCIOMA component approach
1.
Integrating DDS into
AXCIOMA, the component approach Johnny Willemsen (jwillemsen@remedy.nl) CTO Remedy IT https://www.remedy.nl
2.
Remedy IT Remedy IT
is specialized in communication middleware and component technologies Strong focus on open standards based solutions Actively involved in the Object Management Group, chairing several OMG standardization efforts Our customers are in various domains including telecom, aerospace and defense, transportation, industrial automation For more information take a look at our website https://www.remedy.nl Copyright © Remedy IT2
3.
What We Do Global
Service Delivery Partner for RTI Connext DDS Develop implementations of OMG open standards • Commercial: TAOX11, AXCIOMA • Open source: TAO, CIAO, R2CORBA Deliver services related to OMG standards including the CORBA, CCM, and DDS standard Develop open standards as part of the Object Management Group Copyright © Remedy IT3
4.
What is AXCIOMA? AXCIOMA
is a comprehensive software suite combining eleven Object Management Group (OMG) open standards • LwCCM, DDS, DDS4CCM, AMI4CCM, CORBA, IDL, IDL2C++11, RPC4DDS, DDS Security, DDS X- Types, and D&C AXCIOMA is based on • Interoperable Open Architecture (IOA) • Component Based Architecture (CBA) • Service Oriented Architecture (SOA) • Event Driven Architecture (EDA) • Model Driven Architecture (MDA) Copyright © Remedy IT4
5.
AXCIOMA AXCIOMA supports the
design, development, and deployment of a distributed component based architecture A component based architecture encapsulates and integrates the following mechanisms in a “container” • Threading model • Lifecycle management • Connection management Copyright © Remedy IT5
6.
What Is a
Component? Independent revisable unit of software with well defined interfaces, called ports Can be packaged as an independent deployable set of files Smallest decomposable unit that defines standard ports is called a monolithic component An component assembly is an aggregation of monolithic components or other component assemblies Copyright © Remedy IT6
7.
Component Copyright © Remedy
IT Provides (facet) attributes Component Configuration Life cycle Uses (receptacle) attributes Component Assembly Configuration Life cycle callbacks 7
8.
IDL CODE DEPLOY DATA (types
and interfaces) INTERACTION PATTERNS BUSINESS (connectors) (components) Uses Generate Generate Generate Types and Interfaces Interaction pattern implementations Component executor starter code Deployment plan Shared libraries Deployment tools Implement business logic Component Framework Copyright © Remedy IT8
9.
IDL CODE DEPLOY DATA (types
and interfaces) INTERACTION PATTERNS BUSINESS (connectors) (components) Uses Generate Generate Generate Types and Interfaces Interaction pattern implementations Component executor starter code Deployment plan Shared libraries Deployment tools Implement business logic Component Framework Copyright © Remedy IT9
10.
IDL CODE DEPLOY DATA (types
and interfaces) INTERACTION PATTERNS BUSINESS (connectors) (components) Uses Generate Generate Generate Types and Interfaces Interaction pattern implementations Component executor starter code Deployment plan Shared libraries Deployment tools Implement business logic Component Framework Copyright © Remedy IT10
11.
IDL CODE DEPLOY DATA (types
and interfaces) INTERACTION PATTERNS BUSINESS (connectors) (components) Uses Generate Generate Generate Types and Interfaces Interaction pattern implementations Component executor starter code Deployment plan Shared libraries Deployment tools Implement business logic Component Framework Copyright © Remedy IT11
12.
IDL CODE DEPLOY DATA (types
and interfaces) INTERACTION PATTERNS BUSINESS (connectors) (components) Uses Generate Generate Generate Types and Interfaces Interaction pattern implementations Component executor starter code Deployment plan Shared libraries Deployment tools Implement business logic Component Framework Copyright © Remedy IT12 Compilation
13.
IDL CODE DEPLOY DATA (types
and interfaces) INTERACTION PATTERNS BUSINESS (connectors) (components) Uses Generate Generate Generate Types and Interfaces Interaction pattern implementations Component executor starter code Deployment plan Shared libraries Deployment tools Implement business logic Component Framework Copyright © Remedy IT13 Compilation
14.
Interaction Patterns Define how
components interact with the outside world • Request/Reply interaction client, server, asynchronous client, and asynchronous server • Event interaction supplier, push consumer, and pull consumer • State interaction observable, passive observer, push observer, pull observer, and push state observer All these interaction patterns can be realized using DDS Copyright © Remedy IT14
15.
Our AXCIOMA DDS Challenge Integrate
RTI Connext DDS into AXCIOMA Provide the IDL to C++11 API to our users Abstract and optimize DDS through the interaction patterns • Request/reply • State • Event Copyright © Remedy IT15
16.
IDL to C++11
Language Mapping (I) Copyright © Remedy IT Simplified mapping for C++ • Make use of the standard C++ library as much as possible Make use of the C++11 features to • Reduce amount of application code • Reduce amount of possible coding errors by providing a safer API • Gain runtime performance • Speedup development and testing Faster time to market Reduced costs Reduced training time 16
17.
IDL to C++11
Language Mapping (II) An IDL interface maps to so called reference types Reference types are automatically reference counted A nil reference type is represented as nullptr A boolean operator for reference comparison is available Invoking an operation on a nil reference results in a INV_OBJREF exception, no need whether object references are valid throughout your business code Copyright © Remedy IT17
18.
DDSX11 RTI Connext DDS
currently does not support the IDL to C++11 language mapping DDSX11 performs the bridging between the IDL to C++11 and RTI Connext DDS C++ API Hides all vendor API details from the programmer Combination of • IDL based code generation • C++11 code generation • Core support classes and templates Copyright © Remedy IT18
19.
DDSX11 Conversion traits For
DDSX11 the C++11 types are leading For each IDL defined type we provide a trait with helper methods to convert between C++ and C++11 • Basic type traits are part of the core • Constructed type traits are generated by our RIDL IDL compiler Generated for a specific vendor DDSX11 uses the traits and is unaware of the real type Copyright © Remedy IT19
20.
DDSX11 Conversion traits Conversion
traits are currently optimized for RTI Connext DDS using the ‘old’ C++ API Traits can be generated differently for other vendors or a different RTI version At the moment the C++ and C++11 type are the same the conversion traits are optimized away by the compiler • DDSX11 and user code doesn’t need to be changed Copyright © Remedy IT20
21.
Optimizing DDS Usage DDS
API is hidden from the programmer Knowledge about how DDS setup is part of the connector The DDS usage knowledge is implemented and optimized once • Usage of domain participants (how many) • Reuse of topics • Clean shutdown of DDS DDSX11 can use IDL4 annotations which are converted to the DDS vendor specific setting Copyright © Remedy IT21
22.
Component and DDS Execution
Model Components run in a single threaded, re-entrant environment Callbacks from DDS threads are going dispatched onto our main thread No locking in user code necessary Additional Execution Models will be available for more complex execution environments Copyright © Remedy IT22
23.
Testing All our connector
and framework functionality has to be tested automatically No need for special DDS test connectors Special test components that trigger fault conditions • Sometimes need to be combined with specific QoS settings On heavy loads sometimes DomainParticipant discovery is missed • Wait on DDS callbacks like publication_matched before starting the real test code Keep QoS and configuration as simple as possible Copyright © Remedy IT23
24.
Shapes Example Copyright ©
Remedy IT … Controller Request/Reply interaction Request/Reply interaction Publisher Event interaction Event interaction Subscriber… 24
25.
Generated ShapeType Class Copyright ©
Remedy IT25 class ShapeType { public: ShapeType () = default; ~ShapeType () = default; ShapeType (const ShapeType&) = default; ShapeType (ShapeType&&) = default; ShapeType (color_type color, int32_t x, int32_t y, int32_t shapesize); ShapeType& operator= (const ShapeType&) = default; ShapeType& operator= (ShapeType&&) = default; … // Getters and Setters private: // Struct members as private members }; ShapeType shape {"GREEN", 0, 0, 15 }; std::cout << “Created ShapeType " << shape << std::endl; ShapeType shape1 = shape; ShapeType shape2 (shape1);
26.
Component Executor Class Copyright ©
Remedy IT /// Component Executor Implementation Class : Publisher_comp_exec_i class Pubisher_comp_exec_i final : public virtual IDL::traits<CCM_Publisher_comp>::base_type { public: /// Constructor Publisher_comp_exec_i (); //@@{__RIDL_REGEN_MARKER__} - END : Shapes_Publisher_comp_Impl::Publisher_comp_exec_i[ctor] /// Destructor virtual ~Publisher_comp_exec_i (); /** @name Component port operations. */ //@{ /// Factory method and getter for the control facet /// @return existing instance of facet if one exists, else creates it virtual IDL::traits<Shapes::CCM_Control>::ref_type get_control () override; //@} ... 26
27.
Facet Executor Class Copyright
© Remedy IT Shapes::ReturnStatus control_exec_i::setLocation ( uint16_t x, uint16_t y) { Shapes::ReturnStatus status = Shapes::ReturnStatus::RETURN_ERROR; auto cex = IDL::traits<Publisher_comp_exec_i>::narrow ( this->component_executor_.lock ()); if (cex) status = cex->setLocation (x, y); else std::cout << "setLocation - failed to lock executor." << std::endl; return status; } 27
28.
Write a DDS
sample Copyright © Remedy IT28 // Get the writer port which we use to write a DDS sample IDL::traits< ::Shapes::ShapeType_conn::Writer>::ref_type writer = this->context_->get_connection_info_write_data (); // Write one sample square for the given instance handle writer->write_one (this->square_, this->instance_handle_);
29.
Receive a DDS
sample Copyright © Remedy IT29 // Data is delivered through a callback void info_out_data_listener_exec_i::on_one_data ( const ::ShapeType& datum, const ::CCM_DDS::ReadInfo&) { std::cout << "Received " << datum << std::endl; }
30.
Conclusion DDS fits perfect
into a component based approach DDSX11 abstracts vendor differences and improves portability of user code Fully automated testing is possible but takes time to implement IDL to C++11 simplifies user code, increases performance, and reduces time to implement Copyright © Remedy IT30
31.
Contact Remedy IT Postbus 81 6930
AB Westervoort The Netherlands tel.: +31(0)88 053 0000 e-mail: sales@remedy.nl website: www.remedy.nl Twitter: @RemedyIT Slideshare: RemedyIT Subscribe to our mailing list Copyright © Remedy IT31
Download now