SlideShare a Scribd company logo
1 of 33
Download to read offline
AXCIOMA Internals
A LwCCM implementation supporting the IDL to C++11 language mapping
http://www.axcioma.com/
Johnny Willemsen
jwillemsen@remedy.nl
Advantages of IDL to C++11
The IDL to C++11 language mapping has the
following advantages compared to the IDL to C++
language mapping
• Easier to use
• Language mapping is much safer to use
• Improved runtime performance
• Reduced training time
• Reduced development and test time
• Faster time to market
Copyright © Remedy IT2
AXCIOMA Requirements
LwCCM implementation using the IDL to C++11
Language Mapping
Existing CIAO deployment plans should be reusable
with minimal changes
Reduced footprint compared to CIAO
Reduced dependency on CORBA
Optimized set of features compared to CIAO
• No support for CCM events
• No support for the IDL ‘supports’ keyword
• Component attributes are set to their initial value
using a D&C compliant deployment tool but not
changeable through CORBA
Copyright © Remedy IT3
Prerequisites AXCIOMA
C++ compiler supporting C++11
• GCC 4.7 or newer
• Visual Studio 2015
• Intel C++ 2016
• Other C++ compilers have been tested but lack
features
Extensible IDL compiler supporting IDL2, IDL3, and
IDL3+
• RIDLC
Implementation of the IDL to C++11 language
mapping for all IDL type constructs
• TAOX11
4 Copyright © Remedy IT
RIDLC
Ruby based IDL compiler developed by Remedy IT
Front end with support for IDL2, IDL3, IDL3+, and
annotations compatible with DDS-XTypes
Supports pluggable and extensible backends
Current available backends
• IDL to Ruby
• IDL to C++
• IDL to C++11
A LwCCM C++11 backend is developed by extending
the IDL to C++11 backend
Frontend is available as Ruby Gem from
http://www.rubygems.org/gems/ridl
Copyright © Remedy IT5
TAOX11
Commercial CORBA implementation by Remedy IT
Compliant with the IDL to C++11 v1.2 language
mapping
Uses TAO core leveraging its portability and features
Uses RIDLC as IDL compiler
Extended suite of unit tests
See http://taox11.remedy.nl
Copyright © Remedy IT6
AXCIOMA Goals
Fix the API for component developers by using the
IDL to C++11 language mapping
Independent from the existing CIAO LwCCM
implementation
Existing CIAO deployment plans can be used with
minimum changes
Uses TAOX11 for the C++11 type system and
optional CORBA support
Uses RIDLC as extensible IDL compiler
Copyright © 20147
DAnCEX11 Requirements
Be able to deploy AXCIOMA components and
connectors
Provide a flexible and powerful deployment tooling
Support plugin support for various interception points
Copyright © Remedy IT8
Requirements DAnCEX11 LM
A new DAnCEX11 Locality Manager will be
developed
Same set of features as the DAnCE LM
New internal design and implementation
Will provide same plugin support as the DAnCE LM
Copyright © Remedy IT9
AXCIOMA
http://www.axcioma.com/
AXCIOMA Container Architecture
AXCIOMA container does not depend on CORBA for
its core functionality
AXCIOMA container is smaller in terms of LOC and
footprint compared to CIAO
Copyright © Remedy IT11
AXCIOMA Container
AXCIOMA container will provide services to the
components hosted
AXCIOMA installation handlers will create all
components
AXCIOMA architecture is way easier than the CIAO
architecture
Copyright © Remedy IT12
Component CORBA servant
Signature of the component CORBA servant entry
point as used by D&C will be updated with a different
return value
Name of the entry point will be kept the same which
means deployment plans don’t change
An AXCIOMA ExecutorLocator is returned which
provides access to all needed component related
entities:
• Component and facet executors
• Component context
• Component configuration values
Copyright © Remedy IT13
Executor Locator and
Configuration Values
ExecutorLocator is responsible for setting
component attributes to their initial value
Converts attribute names to concrete method
invocations onto the user implemented component
executor
Extracts the attribute value from their Any
encapsulation
Copyright © Remedy IT14
High level architecture
Copyright © Remedy IT15
Component Executor
Facet
Executor
Facet
Executor
User code
Executor Locator
Connector(s)
CIAOX11 Container & Deployment Interceptors
Component
Context
Facet
Executor
Generated
CIAOX11 Core
Clients
Component context
Caches object references for all receptacles of a
component
The CIAO SessionContext get_CCM_object is
removed
Simplified API because of the fact that the
connection_name is now used as Cookie, no
valuetypes anymore!
Copyright © Remedy IT16
Lifecycle operations
LwCCM defined lifecycle operations will go directly
from the container to the component executor using
the ExecutorLocator
Which operations are called on the component
executor is determined by the container, not by the
generated code
Copyright © Remedy IT17
Component CORBA servant
The component CORBA servant is used by D&C to
retrieve CORBA facet object references when remote
CORBA interfaces are used
The component CORBA servant is registered with the
POA using its unique D&C id
Retrieval of facet CORBA object references happens
through the POA using the unique component D&C id and
the facet name, the references are not cached in the
component CORBA servant
One CORBA component servant implementation will be
used for all user components, no user component specific
API will be available through CORBA
The component CORBA servant is not required for the
container to operate
The CORBA servant is handled within CORBA4CCM
Copyright © Remedy IT18
Connector CORBA servant
Connectors only provide local facets
Connectors don’t have CORBA mandatory parts, no
CORBA servants are needed
• A DDS4CCM connector will have no component and
facet CORBA servants
• Leads to a heavy reduction in code generation and
footprint for connectors
Copyright © Remedy IT19
CORBA4CCM connector
A CORBA4CCM connector is introduced to support
request/reply interaction between components
CORBA4CCM connector delegates all operations
and attribute access to the user provided facet
executor
No usage of inheritance for the C++11 facet CORBA
servants leads to reduced dependencies and
simplified compilation steps
Copyright © Remedy IT20
DDS4CCM
DDS4CCM connectors are implemented using
C++11
Use a similar C++ templated connector framework as
CIAO
Optimal integration requires a DDS vendor that
natively supports IDL to C++11 for
• Built in DDS entities and types
• User defined types as generated by TAOX11
• IDL defined type specific DataReader and
DataWriter
Copyright © Remedy IT21
RTI DDS integration
RTI DDS lacks support for IDL to C++11
AXCIOMA will provide C++11 API to the user and convert
internally to the RTI C++ API
• Makes the integration possible
• Can be adapted for other DDS vendors that lack C++11
support
• Templated design allows for full optimization when a DDS
vendor with native IDL to C++11 support is integrated
No usage of the RTI CORBA Compatibility Kit (CCK)
Runtime conversion of user data to the RTI C++ types
New set of RIDLC backends for generating the type
conversion
Copyright © Remedy IT22
AMI4CCM
AMI4CCM connectors are implemented using C++11
and generated by RIDLC
TAOX11 CORBA AMI support is used
CORBA AMI support is completely hidden inside the
AMI4CCM connector, no CORBA AMI is exposed to
the component developer
Copyright © Remedy IT23
Timer Support
Timer support is provided by the TT4CCM connector
TT4CCM shields application code from low level
middleware details
AXCIOMA does provide access to the TAOX11 ORB
through the LwCCM service registry and the TAOX11
ORB will provide access to its ACE Reactor
Future revisions of the LwCCM/UCM standard need
to address the lack of a timer concept in LwCCM
Copyright © Remedy IT24
Valuetypes
AXCIOMA modifies the LwCCM IDL to not use
valuetypes
• ConfigValue are changed to an IDL struct
• Cookie will be an IDL string simplifying the usage of
it
Not using valuetypes reduces footprint and
complexity
Copyright © Remedy IT25
Starter Executor Generation (1)
AXCIOMA uses RIDLC for generating the starter
code for the component and facet executors
Unique RIDLC regeneration blocks will be added to
the generated starter code
• A regeneration block is enclosed by a begin and end
marker
• Marker is unique for the file where it is used in
RIDLC will read in the existing file, store the blocks
and place them back upon regeneration
Copyright © Remedy IT26
Starter Executor Generation (2)
// Some example markers, the @@{__RIDL_REGEN_MARKER__} part can be changed through the commandline
// flags of RIDLC
//@@{__RIDL_REGEN_MARKER__} - BEGIN : Shapes_Receiver_Impl[src_includes]
#include "ace/OS_NS_time.h"
//@@{__RIDL_REGEN_MARKER__} - END : Shapes_Receiver_Impl[src_includes]
void
info_out_data_listener_exec_i::on_one_data (const ::ShapeType& datum, const ::CCM_DDS::ReadInfo&
info)
{
//@@{__RIDL_REGEN_MARKER__} - BEGIN : info_out_data_listener_exec_i::on_one_data[_datum_info]
std::cout << “Received shape <“ << datum << std::endl;
//@@{__RIDL_REGEN_MARKER__} - END : info_out_data_listener_exec_i::on_one_data[_datum_info]
}
Receiver_exec_i::~Receiver_exec_i ()
{
//@@{__RIDL_REGEN_MARKER__} - BEGIN : Shapes_Receiver_Impl::Receiver_exec_i[destructor]
//@@{__RIDL_REGEN_MARKER__} - END : Shapes_Receiver_Impl::Receiver_exec_i[destructor]
}
Copyright © Remedy IT27
AXCIOMA Release
Copyright © Remedy IT28
AXCIOMA V1.1
Android, RHEL 6.x/7.x, Fedora >= 17, OpenSuSE >= 12.2,
CentOS 6.x/7.x, and Windows 32/64 using MinGW, Visual
Studio 2015, and Intel C++ 2016 as supported platforms
Support for components and connectors
CORBA support through CORBA4CCM
DDS4CCM Event and State connectors using RTI
Connext DDS 5.2.3
AMI4CCM support
TT4CCM support
Full suite of unit tests and examples
Full D&C compliant toolchain
Full documentation
Copyright © Remedy IT29
Resources
Copyright © Remedy IT30
External links
TAOX11
• http://taox11.remedy.nl/
IDL to C++11 specification
• http://www.omg.org/spec/CPP11
IDL to C++11 background and tutorials
• http://osportal.remedy.nl/projects/idl2cppx0
Copyright © Remedy IT31
Want to know?
Go to our AXCIOMA website at
http://www.axcioma.com
See our other presentations at
http://www.slideshare.net/RemedyIT
Ask for a free evaluation version, see
http://swsupport.remedy.nl
Copyright © Remedy IT32
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 IT33

More Related Content

What's hot

Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachRemedy IT
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody SoftwareBill Duncan
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Softwaregjuljo
 
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialRemedy IT
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customizationgjuljo
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integrationgjuljo
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Peter R. Egli
 
Iisrt arshiya hesarur
Iisrt arshiya hesarurIisrt arshiya hesarur
Iisrt arshiya hesarurIISRT
 
Getting started with IBM Rational Rhapsody in Ada
Getting started with IBM Rational Rhapsody in AdaGetting started with IBM Rational Rhapsody in Ada
Getting started with IBM Rational Rhapsody in AdaFrank Braun
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and RhapsodyMartin Owen
 
Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168Saikrishna Basetti
 
Velocity-EHF for Android
Velocity-EHF for AndroidVelocity-EHF for Android
Velocity-EHF for Androidmichaeljfawcett
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsRemedy IT
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsRemedy IT
 
From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System Intland Software GmbH
 
Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...yaevents
 
Develop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster ReadyDevelop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster ReadyIntel IT Center
 

What's hot (20)

Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Software
 
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customization
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integration
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
 
Iisrt arshiya hesarur
Iisrt arshiya hesarurIisrt arshiya hesarur
Iisrt arshiya hesarur
 
Getting started with IBM Rational Rhapsody in Ada
Getting started with IBM Rational Rhapsody in AdaGetting started with IBM Rational Rhapsody in Ada
Getting started with IBM Rational Rhapsody in Ada
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168
 
Velocity-EHF for Android
Velocity-EHF for AndroidVelocity-EHF for Android
Velocity-EHF for Android
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
 
COM+ & MSMQ
COM+ & MSMQCOM+ & MSMQ
COM+ & MSMQ
 
From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System
 
Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...
 
Develop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster ReadyDevelop, Deploy, and Innovate with Intel® Cluster Ready
Develop, Deploy, and Innovate with Intel® Cluster Ready
 

Similar to AXCIOMA, the internals, 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++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Remedy IT
 
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachIntegrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachReal-Time Innovations (RTI)
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialRemedy IT
 
AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11Remedy IT
 
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSComponent Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSRemedy IT
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix Rohit Kelapure
 
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...PT Datacomm Diangraha
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
 
introduction_to_rtsc.ppt
introduction_to_rtsc.pptintroduction_to_rtsc.ppt
introduction_to_rtsc.pptssuserdfaa10
 
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Edge 2016 Session 1886  Building your own docker container cloud on ibm power...Edge 2016 Session 1886  Building your own docker container cloud on ibm power...
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...Yong Feng
 
414: Build an agile CI/CD Pipeline for application integration
414: Build an agile CI/CD Pipeline for application integration414: Build an agile CI/CD Pipeline for application integration
414: Build an agile CI/CD Pipeline for application integrationTrevor Dolby
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Oracle Developers
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Remedy IT
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmugVMUG IT
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesSamuel Dratwa
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container PlatformSanjeev Rampal
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDocker, Inc.
 
Leveraging HybridMultiCloud for Devops and Automation Platform
Leveraging HybridMultiCloud for Devops and Automation PlatformLeveraging HybridMultiCloud for Devops and Automation Platform
Leveraging HybridMultiCloud for Devops and Automation PlatformDevOps Indonesia
 
Serverless patterns
Serverless patternsServerless patterns
Serverless patternsJesse Butler
 

Similar to AXCIOMA, the internals, the component framework for distributed, real-time, and embedded systems (20)

Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
 
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachIntegrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component Approach
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
 
AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11
 
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSComponent Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
 
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
Creating Microservices Application with IBM Cloud Private (ICP) - ICP Archite...
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
 
introduction_to_rtsc.ppt
introduction_to_rtsc.pptintroduction_to_rtsc.ppt
introduction_to_rtsc.ppt
 
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Edge 2016 Session 1886  Building your own docker container cloud on ibm power...Edge 2016 Session 1886  Building your own docker container cloud on ibm power...
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
 
414: Build an agile CI/CD Pipeline for application integration
414: Build an agile CI/CD Pipeline for application integration414: Build an agile CI/CD Pipeline for application integration
414: Build an agile CI/CD Pipeline for application integration
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container Platform
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker Engine
 
Leveraging HybridMultiCloud for Devops and Automation Platform
Leveraging HybridMultiCloud for Devops and Automation PlatformLeveraging HybridMultiCloud for Devops and Automation Platform
Leveraging HybridMultiCloud for Devops and Automation Platform
 
Serverless patterns
Serverless patternsServerless patterns
Serverless patterns
 

More from Remedy IT

Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentationRemedy IT
 
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Remedy IT
 
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewRemedy 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 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...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 SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesRemedy IT
 
UCM Initial Submission presentation
UCM Initial Submission presentationUCM Initial Submission presentation
UCM Initial Submission presentationRemedy 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 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...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...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 MostTest What Matters Most
Test What Matters MostRemedy IT
 
IDL to C++03 RFC
IDL to C++03 RFCIDL to C++03 RFC
IDL to C++03 RFCRemedy IT
 
F6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through ConnectorsF6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through ConnectorsRemedy IT
 
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...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 MostTest What Matters Most
Test What Matters MostRemedy IT
 
Remedy IT Flyer_introduction
Remedy IT Flyer_introductionRemedy IT Flyer_introduction
Remedy IT Flyer_introductionRemedy IT
 

More from Remedy IT (16)

Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentation
 
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Comparing 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 overviewACE/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...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...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 SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated Satellites
 
UCM Initial Submission presentation
UCM Initial Submission presentationUCM 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...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...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...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 MostTest What Matters Most
Test What Matters Most
 
IDL to C++03 RFC
IDL to C++03 RFCIDL 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 ConnectorsF6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through Connectors
 
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...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 MostTest What Matters Most
Test What Matters Most
 
Remedy IT Flyer_introduction
Remedy IT Flyer_introductionRemedy IT Flyer_introduction
Remedy IT Flyer_introduction
 

Recently uploaded

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

AXCIOMA, the internals, the component framework for distributed, real-time, and embedded systems

  • 1. AXCIOMA Internals A LwCCM implementation supporting the IDL to C++11 language mapping http://www.axcioma.com/ Johnny Willemsen jwillemsen@remedy.nl
  • 2. Advantages of IDL to C++11 The IDL to C++11 language mapping has the following advantages compared to the IDL to C++ language mapping • Easier to use • Language mapping is much safer to use • Improved runtime performance • Reduced training time • Reduced development and test time • Faster time to market Copyright © Remedy IT2
  • 3. AXCIOMA Requirements LwCCM implementation using the IDL to C++11 Language Mapping Existing CIAO deployment plans should be reusable with minimal changes Reduced footprint compared to CIAO Reduced dependency on CORBA Optimized set of features compared to CIAO • No support for CCM events • No support for the IDL ‘supports’ keyword • Component attributes are set to their initial value using a D&C compliant deployment tool but not changeable through CORBA Copyright © Remedy IT3
  • 4. Prerequisites AXCIOMA C++ compiler supporting C++11 • GCC 4.7 or newer • Visual Studio 2015 • Intel C++ 2016 • Other C++ compilers have been tested but lack features Extensible IDL compiler supporting IDL2, IDL3, and IDL3+ • RIDLC Implementation of the IDL to C++11 language mapping for all IDL type constructs • TAOX11 4 Copyright © Remedy IT
  • 5. RIDLC Ruby based IDL compiler developed by Remedy IT Front end with support for IDL2, IDL3, IDL3+, and annotations compatible with DDS-XTypes Supports pluggable and extensible backends Current available backends • IDL to Ruby • IDL to C++ • IDL to C++11 A LwCCM C++11 backend is developed by extending the IDL to C++11 backend Frontend is available as Ruby Gem from http://www.rubygems.org/gems/ridl Copyright © Remedy IT5
  • 6. TAOX11 Commercial CORBA implementation by Remedy IT Compliant with the IDL to C++11 v1.2 language mapping Uses TAO core leveraging its portability and features Uses RIDLC as IDL compiler Extended suite of unit tests See http://taox11.remedy.nl Copyright © Remedy IT6
  • 7. AXCIOMA Goals Fix the API for component developers by using the IDL to C++11 language mapping Independent from the existing CIAO LwCCM implementation Existing CIAO deployment plans can be used with minimum changes Uses TAOX11 for the C++11 type system and optional CORBA support Uses RIDLC as extensible IDL compiler Copyright © 20147
  • 8. DAnCEX11 Requirements Be able to deploy AXCIOMA components and connectors Provide a flexible and powerful deployment tooling Support plugin support for various interception points Copyright © Remedy IT8
  • 9. Requirements DAnCEX11 LM A new DAnCEX11 Locality Manager will be developed Same set of features as the DAnCE LM New internal design and implementation Will provide same plugin support as the DAnCE LM Copyright © Remedy IT9
  • 11. AXCIOMA Container Architecture AXCIOMA container does not depend on CORBA for its core functionality AXCIOMA container is smaller in terms of LOC and footprint compared to CIAO Copyright © Remedy IT11
  • 12. AXCIOMA Container AXCIOMA container will provide services to the components hosted AXCIOMA installation handlers will create all components AXCIOMA architecture is way easier than the CIAO architecture Copyright © Remedy IT12
  • 13. Component CORBA servant Signature of the component CORBA servant entry point as used by D&C will be updated with a different return value Name of the entry point will be kept the same which means deployment plans don’t change An AXCIOMA ExecutorLocator is returned which provides access to all needed component related entities: • Component and facet executors • Component context • Component configuration values Copyright © Remedy IT13
  • 14. Executor Locator and Configuration Values ExecutorLocator is responsible for setting component attributes to their initial value Converts attribute names to concrete method invocations onto the user implemented component executor Extracts the attribute value from their Any encapsulation Copyright © Remedy IT14
  • 15. High level architecture Copyright © Remedy IT15 Component Executor Facet Executor Facet Executor User code Executor Locator Connector(s) CIAOX11 Container & Deployment Interceptors Component Context Facet Executor Generated CIAOX11 Core Clients
  • 16. Component context Caches object references for all receptacles of a component The CIAO SessionContext get_CCM_object is removed Simplified API because of the fact that the connection_name is now used as Cookie, no valuetypes anymore! Copyright © Remedy IT16
  • 17. Lifecycle operations LwCCM defined lifecycle operations will go directly from the container to the component executor using the ExecutorLocator Which operations are called on the component executor is determined by the container, not by the generated code Copyright © Remedy IT17
  • 18. Component CORBA servant The component CORBA servant is used by D&C to retrieve CORBA facet object references when remote CORBA interfaces are used The component CORBA servant is registered with the POA using its unique D&C id Retrieval of facet CORBA object references happens through the POA using the unique component D&C id and the facet name, the references are not cached in the component CORBA servant One CORBA component servant implementation will be used for all user components, no user component specific API will be available through CORBA The component CORBA servant is not required for the container to operate The CORBA servant is handled within CORBA4CCM Copyright © Remedy IT18
  • 19. Connector CORBA servant Connectors only provide local facets Connectors don’t have CORBA mandatory parts, no CORBA servants are needed • A DDS4CCM connector will have no component and facet CORBA servants • Leads to a heavy reduction in code generation and footprint for connectors Copyright © Remedy IT19
  • 20. CORBA4CCM connector A CORBA4CCM connector is introduced to support request/reply interaction between components CORBA4CCM connector delegates all operations and attribute access to the user provided facet executor No usage of inheritance for the C++11 facet CORBA servants leads to reduced dependencies and simplified compilation steps Copyright © Remedy IT20
  • 21. DDS4CCM DDS4CCM connectors are implemented using C++11 Use a similar C++ templated connector framework as CIAO Optimal integration requires a DDS vendor that natively supports IDL to C++11 for • Built in DDS entities and types • User defined types as generated by TAOX11 • IDL defined type specific DataReader and DataWriter Copyright © Remedy IT21
  • 22. RTI DDS integration RTI DDS lacks support for IDL to C++11 AXCIOMA will provide C++11 API to the user and convert internally to the RTI C++ API • Makes the integration possible • Can be adapted for other DDS vendors that lack C++11 support • Templated design allows for full optimization when a DDS vendor with native IDL to C++11 support is integrated No usage of the RTI CORBA Compatibility Kit (CCK) Runtime conversion of user data to the RTI C++ types New set of RIDLC backends for generating the type conversion Copyright © Remedy IT22
  • 23. AMI4CCM AMI4CCM connectors are implemented using C++11 and generated by RIDLC TAOX11 CORBA AMI support is used CORBA AMI support is completely hidden inside the AMI4CCM connector, no CORBA AMI is exposed to the component developer Copyright © Remedy IT23
  • 24. Timer Support Timer support is provided by the TT4CCM connector TT4CCM shields application code from low level middleware details AXCIOMA does provide access to the TAOX11 ORB through the LwCCM service registry and the TAOX11 ORB will provide access to its ACE Reactor Future revisions of the LwCCM/UCM standard need to address the lack of a timer concept in LwCCM Copyright © Remedy IT24
  • 25. Valuetypes AXCIOMA modifies the LwCCM IDL to not use valuetypes • ConfigValue are changed to an IDL struct • Cookie will be an IDL string simplifying the usage of it Not using valuetypes reduces footprint and complexity Copyright © Remedy IT25
  • 26. Starter Executor Generation (1) AXCIOMA uses RIDLC for generating the starter code for the component and facet executors Unique RIDLC regeneration blocks will be added to the generated starter code • A regeneration block is enclosed by a begin and end marker • Marker is unique for the file where it is used in RIDLC will read in the existing file, store the blocks and place them back upon regeneration Copyright © Remedy IT26
  • 27. Starter Executor Generation (2) // Some example markers, the @@{__RIDL_REGEN_MARKER__} part can be changed through the commandline // flags of RIDLC //@@{__RIDL_REGEN_MARKER__} - BEGIN : Shapes_Receiver_Impl[src_includes] #include "ace/OS_NS_time.h" //@@{__RIDL_REGEN_MARKER__} - END : Shapes_Receiver_Impl[src_includes] void info_out_data_listener_exec_i::on_one_data (const ::ShapeType& datum, const ::CCM_DDS::ReadInfo& info) { //@@{__RIDL_REGEN_MARKER__} - BEGIN : info_out_data_listener_exec_i::on_one_data[_datum_info] std::cout << “Received shape <“ << datum << std::endl; //@@{__RIDL_REGEN_MARKER__} - END : info_out_data_listener_exec_i::on_one_data[_datum_info] } Receiver_exec_i::~Receiver_exec_i () { //@@{__RIDL_REGEN_MARKER__} - BEGIN : Shapes_Receiver_Impl::Receiver_exec_i[destructor] //@@{__RIDL_REGEN_MARKER__} - END : Shapes_Receiver_Impl::Receiver_exec_i[destructor] } Copyright © Remedy IT27
  • 29. AXCIOMA V1.1 Android, RHEL 6.x/7.x, Fedora >= 17, OpenSuSE >= 12.2, CentOS 6.x/7.x, and Windows 32/64 using MinGW, Visual Studio 2015, and Intel C++ 2016 as supported platforms Support for components and connectors CORBA support through CORBA4CCM DDS4CCM Event and State connectors using RTI Connext DDS 5.2.3 AMI4CCM support TT4CCM support Full suite of unit tests and examples Full D&C compliant toolchain Full documentation Copyright © Remedy IT29
  • 31. External links TAOX11 • http://taox11.remedy.nl/ IDL to C++11 specification • http://www.omg.org/spec/CPP11 IDL to C++11 background and tutorials • http://osportal.remedy.nl/projects/idl2cppx0 Copyright © Remedy IT31
  • 32. Want to know? Go to our AXCIOMA website at http://www.axcioma.com See our other presentations at http://www.slideshare.net/RemedyIT Ask for a free evaluation version, see http://swsupport.remedy.nl Copyright © Remedy IT32
  • 33. 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 IT33