SlideShare a Scribd company logo
1 of 47
Download to read offline
AXCIOMA
An eXtendable Component-based Interoperable Open Model-driven
Architecture
The Component Framework for
Distributed, Real-Time, and Embedded Systems
http://www.axcioma.com
AXCIOMA: the component
framework for distributed, real-time,
and embedded systems
AXCIOMA is the component technology enabling the
Industrial Internet of Things (IIoT)
The concrete communication middleware between
components is a deployment decision and does not
impact business logic
AXCIOMA integrates multiple communication
transports out of the box and more transports can be
easily added
AXCIOMA delivers portability and interoperability for
IIoT applications through a standardized component
model
For more information take a look at our website
http://www.axcioma.com
Copyright © Remedy IT2
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 IT3
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 IT4
What is a Component?
Independent revisable unit of software with well
defined interfaces called “ports”
Able to be packaged as an independently deployable
set of files
Smallest decomposable unit that defines standard
ports is called a “monolithic component”
A “component assembly” is an aggregation of
monolithic components or other component
assemblies
Copyright © Remedy IT5
Why Component Based
Development? (1)
Modularity
• Components can be independently updated or
replaced without impacting the rest of a system
Reuse
• Software is reusable at the component level instead of
at the system level
Interoperability
• Well-defined ports and standards based development
ensures interoperability between application
components
Copyright © Remedy IT6
Why Component Based
Development? (2)
Extensibility
• A Component Based Architecture (CBA) is inherently
loosely-coupled, supporting easier extension of
component and system functionality
Scalability
• Scalable from single component deployment to large
distributed multi node deployments
Reduced Complexity
• Encapsulation, modularity, separation of concerns, and
the establishment of hierarchical component
dependencies contribute to reduced design & system
complexity
Copyright © Remedy IT7
Why Component Based
Development? (3)
Faster and Cheaper Development
• Shorter design times, more reuse and less complexity
• Faster time-to-market, faster software development
• Focus changed to composition of a software-intensive
system vs. all new design
• Lower maintenance costs
Quality & Reliability
• Reuse and test/maintenance at the component level
vs. at a monolithic system level
Copyright © Remedy IT8
Advantages of using Open
Standards based API
Open APIs are less prone to technology
obsolescence
No vendor lock-in
Typically well vetted and designed
Reuse of existing off-the-shelf technology
• Implementations
• Tools
• Documentation
• Training
Copyright © Remedy IT9
AXCIOMA Design &
Deployment
AXCIOMA clearly separates design, implementation,
and deployment phases
Components are designed to be location
independent and communication middleware
agnostic
Components are implemented and tested in a highly
decoupled fashion
Deployment planning happens separately based on
the complete system requirements
The AXCIOMA framework handles the lifecycle for all
components at runtime
Copyright © Remedy IT10
MDE Tooling
MDE tools that support AXCIOMA
• Zeligsoft CX for CBDDS
• PTC Integrity Modeler IDL Profile
• CoSMIC
• Remedy IT Eclipse plugins
MDE tools provide support for
• Data modeling
• Component modeling
• Deployment modeling
• Auto generation of IDL artifacts
• Auto generation of D&C deployment plans
Copyright © Remedy IT11
Interface Definition Language
AXCIOMA uses Interface Definition Language (IDL)
to define the type system, interaction patterns, and
components
IDL is vendor, programming language, and platform
agnostic
IDL is transformed to a programming language
according to a so called language mapping
Standardized language mappings exist for various
programming languages, including C++, C++11, C,
Java, Ruby, and others
Copyright © Remedy IT12
IDL to C++11
AXCIOMA supports the IDL to C++11 language
mapping
IDL to C++11 reuses as much as possible from the
C++11 standard features
The IDL generated types and support classes use
C++11 features to provide a safe and easy to use
API
Business logic does not need to use C++11 language
features
Copyright © Remedy IT13
Generic Interaction Support
Generic Interaction Support (GIS) enables the
definition of generic interaction patterns
Business logic uses interaction patterns to exchange
information in a generic way
Connectors realize a specific interaction pattern
GIS allows the encapsulation of communication
middleware, legacy systems, and hardware inside a
connector
Combining business logic and connectors is a
deployment time decision, not an implementation
decision
Copyright © Remedy IT14
Event Interaction Pattern
AXCIOMA supports an event interaction pattern
using the Generic Interaction Support
The event interaction pattern defines extended ports
for the following roles
• Basic many-to-many publish subscribe messaging
• Event distribution with optional user defined data
Copyright © Remedy IT15
State Interaction Pattern
AXCIOMA supports a state interaction pattern using
the Generic Interaction Support
The state interaction pattern defines extended ports
for the following roles
• Distributed state management and access
• Distributed database functionality with eventual
consistency
Copyright © Remedy IT16
DDS Based State and Event
Interaction Patterns
AXCIOMA provides an implementation of the state
and event interaction patterns using DDS as
communication middleware
Clearly separates business logic from all low level
DDS details
DDS QoS configuration is done using XML QoS
profiles and not hardcoded into the business logic
DDS Security provides secure interaction between
the components
Copyright © Remedy IT17
Advantages of AXCIOMA
compared to plain DDS
AXCIOMA delivers the following advantages
compared to plain use of DDS
• Delivers a concrete architecture instead of a
messaging protocol
• The implemented abstraction layer delivers DDS
vendor neutrality
• Achieves improved interoperability between
components through standardized interaction
patterns
• Delivers portability of components between various
operating systems and compilers
• Comprehensive application layer MDE tooling
support hides the complexity of DDS entities
Copyright © Remedy IT18
Request/Reply Interaction
Pattern
Using the Generic Interaction Support AXCIOMA
realizes the request/reply interaction pattern
Support for synchronous and asynchronous
invocations
Delivered with a function style API
Defined in IDL using operations with arguments and
an optional return value
The application code that uses this interaction
pattern is unaware of how the interaction pattern is
realized
Copyright © Remedy IT19
CORBA Based Request/Reply
Interaction Pattern
AXCIOMA realizes the request/reply interaction
pattern using CORBA
The request/reply interaction pattern supports
synchronous and asynchronous invocations
CORBA communication is realized using the
connector framework
CORBA is a mature middleware technology
delivering a well optimized transport mechanism
Can use various communication transports like IIOP,
SSLIOP
AXCIOMA uses TAOX11 as CORBA implementation
Copyright © Remedy IT20
DDS Based Request/Reply
Interaction Pattern
AXCIOMA will also realize the request/reply
interaction pattern using DDS as communication
middleware
The DDS connector implementation will hide all
implied DDS topics and glue code imposed by the
RPC4DDS standard from the business logic
DDS Security provides secure interaction between
the components
Copyright © Remedy IT21
Integration of 3rd Party
Middleware and Hardware
3rd party communication middleware, legacy
systems, and hardware are shielded from the
application developer using the GIS connectors
Connectors hide all communication middleware and
hardware details
AXCIOMA delivers a flexible framework for
implementing custom connectors and code
generators
AXCIOMA supports the definition and implementation
of user defined interaction patterns between
components
Copyright © Remedy IT22
Execution Models
AXCIOMA provides a single threaded and reentrant
execution model as default execution model
AXCIOMA will support the following additional
execution models
• Single threaded and non-reentrant
• Multi threaded (thread pools)
Copyright © Remedy IT23
Deployment using DnCX11
AXCIOMA contains DnCX11 as a deployment tool
supporting various deployment options
• Centralized and decentralized deployment using
D&C compliant tools
• XML based and binary D&C compliant deployment
plans
• Easy to create text based deployment configuration
files
• Domain, node, and process as multiple levels of
deployment
Copyright © Remedy IT24
DnCX11 Single Node
Deployment
Deployment of one node using a node launcher
• No need for a domain centralized and synchronized
deployment
• Nodes can be launched and torn down
independently
• Locality managers can be deployed as separate
process or in-process with the node launcher
• Components, connectors, and connections can be
deployed using a very simple text based
configuration file
• Support for binary and XML D&C compliant
deployment plans
Copyright © Remedy IT25
DnCX11 Single Locality
Deployment
DnCX11 allows fully decentralized deployment of a
single locality
A locality represents one operating system process
Support for binary and XML based D&C deployment
plans and DnCX11 text based configuration files
Using the static configuration support a single
executable can be created containing AXCIOMA
infrastructure and user components
• Static deployment increases security and
performance
Copyright © Remedy IT26
DnCX11 Deployment
Configuration Files
DnCX11 has support for text based configuration files
to
• Configure deployment interceptors and handlers
• Deploy components and connectors
• Create local connections between components and
connectors
• Create remote connections between components
Copyright © Remedy IT27
From AXCIOMA to UCM
The OMG is working on a new Unified Component
Model (UCM)
AXCIOMA has been designed and implemented with
UCM in mind
UCM will impact the AXCIOMA infrastructure but has
minimal impact on the business logic
The AXCIOMA roadmap includes support for UCM
Copyright © Remedy IT28
AXCIOMA Advantages
Compared to CIAO
AXCIOMA supports the most features from CIAO and
DAnCE
AXCIOMA has the following advantages compared to
CIAO
• Much easier to use language mapping which
increases the productivity of the programmer
• Reduced application code
• Up to 70% footprint reduction for your component
related generated code
• Support for regeneration of business logic without
losing already implemented code
• Prevents possible memory leaks or invalid memory
access at runtime
Copyright © Remedy IT29
AXCIOMA Advantages
Compared to CIAO
And AXCIOMA has even more advantages
• Simplified compilation of all IDL generated artifacts
• The request/reply interaction pattern using CORBA
is realized using the connector framework and not
implicitly by the framework
• Will realize the request/reply interaction pattern
using DDS
• Simplified and more powerful deployment tooling
• Framework for implementing custom connectors
• Extensible logging framework
Copyright © Remedy IT30
AXCIOMA Advantages
Compared to DAnCE
AXCIOMA has the following advantages compared to
DAnCE as deployment tool
• Improved configurability
• Improved tool consistency
• Extended deployment options (centralized, node,
and locality)
• Multiple options to support runtime debugging of
component implementations
Copyright © Remedy IT31
Want to know more about
AXCIOMA?
Contact Remedy IT at sales@remedy.nl
Call us at +31-88-0530000
Check our website at http://www.remedy.nl
Check AXCIOMA at http://www.axcioma.com
Check all our presentations online at
http://www.slideshare.net/RemedyIT
Follow us on Twitter @RemedyIT
Copyright © Remedy IT32
Shapes AXCIOMA example
Copyright © Remedy IT33
Example overview
This example demonstrates 2 components
exchanging data using the event interaction pattern
• Sender writes shapes samples to a event connector
• Receiver receives shapes samples from a event
connector
Copyright © Remedy IT34
Sender ReceiverDDS
Shape IDL definition
In order to exchange data we define a publish
subscribe message type in IDL which is used by all
components
Based on the IDL message type definition AXCIOMA
will generate
• C++11 type representation
• C++11 DDS data reader and writer API
• Conversion layer to integrate a specific DDS vendor
Copyright © Remedy IT35
IDL Shapetype
IDL definition
struct ShapeType {
string color; //@key
long x;
long y;
long shapesize;
};
Copyright © Remedy IT36
Component Definition
Two components are defined in this example, both
use the GIS DDS4CCM extended ports
An extended port delivers a specific interaction
pattern
• State: state based data exchange
• Event: event based data exchange
All extended ports are available by instantiating the
DDS4CCM templated module with a concrete data
type definition
• module CCM_DDS::Type <ShapeType, ShapeTypeSeq> ShapeType_conn;
Copyright © Remedy IT37
Component Definitions
Sender
module Shapes {
component Sender {
port ShapeType_conn::DDS_Write
info_write;
};
};
Receiver
module Shapes {
component Receiver {
port ShapeType_conn::DDS_Listen
info_out;
};
};
Copyright © Remedy IT38
Sender implementation
// Sender component class declaration and implementation which publishes one sample to DDS
class Sender_i : public IDL::traits<CCM_Sender>::base_type
{
public:
// Setter method to receive the component context
virtual void set_session_context(IDL::traits<Components::SessionContext>::ref_type ctx) override {
context_ = IDL::traits<Shapes::CCM_Sender_Context>::narrow (ctx);
}
// Lifecycle callback indicating we have received our settings, register an instance to DDS
virtual void configuration_complete () override {
IDL::traits<Shapes::ShapeType_conn::Writer>::ref_type writer =
context_->get_connection_info_write_data();
instance_handle_ = writer->register_instance (square_);
}
// Lifecycle callback indicating we can start our functionality, write one sample to DDS
virtual void ccm_activate () override {
IDL::traits<Shapes::ShapeType_conn::Writer>::ref_type writer =
context_->get_connection_info_write_data();
writer->write_one (square_, instance_handle_);
}
// Lifecycle callback that we are going to shutdown, unregister the instance from DDS
virtual void ccm_passivate () override {
IDL::traits<Shapes::ShapeType_conn::Writer>::ref_type writer =
context_->get_connection_info_write_data();
writer->unregister_instance (square_, instance_handle_);
}
virtual void ccm_remove () override {}
private:
IDL::traits<Shapes::CCM_Sender_Context>::ref_type context_;
DDS::InstanceHandle_t instance_handle_;
// Use C++11 uniform initialization to initialize the member
ShapeType square {“GREEN”, 10, 10, 1};
};
Copyright © Remedy IT39
Receiver implementation (1)
// Receiver component declaration and implementation which receives the samples from DDS
class Receiver_i : public IDL::traits<CCM_Receiver>::base_type
{
public:
// Setter method to receive the component context
virtual void set_session_context(IDL::traits<Components::SessionContext>::ref_type ctx) override {
context_ = IDL::traits<Shapes::CCM_Receiver_Context>::narrow (ctx);
}
virtual void configuration_complete () override {}
// Lifecycle callback indicating we can start our functionality, indicate we want sample by sample
virtual void ccm_activate () override {
IDL::traits<CCM_DDS::DataListenerControl>::ref_type lc =
context_->get_connection_info_data_control();
lc->mode (CCM_DDS::ListenerMode::ONE_BY_ONE);
}
virtual void ccm_passivate () override {}
virtual void ccm_remove () override {}
// Retrieve the facet executor that implements the listener functionality
IDL::traits<Shapes::ShapeType_conn::CCM_Listener>::ref_type get_info_out_data_listener () {
if (!data_listener_) data_listener_ = CORBA::make_reference<info_out_i> (context)_;
return data_listener_; }
private:
IDL::traits<Shapes::CCM_Sender_Context>::ref_type context_;
IDL::traits<Shapes::ShapeType_conn::CCM_Listener>::ref_type data_listener_;
};
Copyright © Remedy IT40
Receiver implementation (2)
// Listener facet implementation, receives the sample from DDS and just dumps it to the console
class info_out_i: public IDL::traits<Shapes::ShapeType_conn::CCM_Listener>::base_type
{
public:
info_out_i(IDL::traits<Components::CCM_Receiver_Context>::ref_type ctx) : context_ (ctx) {}
// Callback to inform the component that a sample has been received by DDS
virtual void on_one_data (const ShapeType& shape, CCM_DDS::ReadInfo&) override {
std::cout << “Received ” << shape << std::endl;
}
virtual void on_many_data (const ShapeTypeSeq&, CCM_DDS::ReadInfoSeq&) override {}
private:
IDL::traits<Shapes::CCM_Sender_Context>::ref_type context_;
};
Copyright © Remedy IT41
Deployment
The example components can be deployed using
• Centralized deployment using the D&C compliant
deployment tools
• Deployment of one node using the single node
launcher
• Deployment of one process using the single locality
launcher
Support for the D&C compliant deployment plans
Support for simple text based deployment
configuration
Easy to start and use directly from a debugger
Copyright © Remedy IT42
Background slides
Copyright © Remedy IT43
IDL to C++11 (1)
The IDL to C++11 language mapping is a formal
open standard created with the following goals
• Simplify development compared to IDL to C++
• Reduce amount of possible programming errors
• Gain runtime performance
• Reduce size of application code
• Use C++11 standard types and constructs as much
as possible
Copyright © Remedy IT44
IDL to C++11 (2)
The specification is available from
http://www.omg.org/spec/CPP11
For background, details, tutorials, examples see
• http://osportal.remedy.nl
• http://www.orbzone.org
Copyright © Remedy IT45
TAOX11
TAOX11 the Commercial CORBA implementation
from Remedy IT
Compliant with IDL to C++11 v1.2
Support for CORBA AMI
New IDL compiler with front end supporting IDL2,
IDL3, and IDL3+
Free of charge evaluation versions available from
http://swsupport.remedy.nl!
Copyright © Remedy IT46
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 IT47

More Related Content

What's hot

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
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Iisrt arshiya hesarur
Iisrt arshiya hesarurIisrt arshiya hesarur
Iisrt arshiya hesarurIISRT
 
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
 
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesRemedy 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
 
Advanced Federation and Web Services in Aras for Enterprise PLM
Advanced Federation and Web Services in Aras for Enterprise PLMAdvanced Federation and Web Services in Aras for Enterprise PLM
Advanced Federation and Web Services in Aras for Enterprise PLMAras
 
EGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenEGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenWill Smythe
 
Aras Federation Web Services
Aras Federation Web ServicesAras Federation Web Services
Aras Federation Web ServicesProdeos
 
Swarn Singh_CV_SSE
Swarn Singh_CV_SSESwarn Singh_CV_SSE
Swarn Singh_CV_SSESwarn Singh
 
Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...yaevents
 
1214 deploying rational insight in a heterogenous environment
1214 deploying rational insight in a heterogenous environment1214 deploying rational insight in a heterogenous environment
1214 deploying rational insight in a heterogenous environmentPaulo Lacerda
 
Documentum Spring Data
Documentum Spring DataDocumentum Spring Data
Documentum Spring DataMichael Mohen
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case StudyADC Austin Tech
 
SachinBC_Resume
SachinBC_ResumeSachinBC_Resume
SachinBC_ResumeSachin BC
 
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
 
Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168Saikrishna Basetti
 
Extending OPC-UA through Architecture Flexibility, Performance, and Scalability
Extending OPC-UA through Architecture Flexibility, Performance, and ScalabilityExtending OPC-UA through Architecture Flexibility, Performance, and Scalability
Extending OPC-UA through Architecture Flexibility, Performance, and ScalabilityReal-Time Innovations (RTI)
 

What's hot (20)

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
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Iisrt arshiya hesarur
Iisrt arshiya hesarurIisrt arshiya hesarur
Iisrt arshiya hesarur
 
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
 
The Fluent Interface Pattern
The Fluent Interface PatternThe Fluent Interface Pattern
The Fluent Interface Pattern
 
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated Satellites
 
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
 
Advanced Federation and Web Services in Aras for Enterprise PLM
Advanced Federation and Web Services in Aras for Enterprise PLMAdvanced Federation and Web Services in Aras for Enterprise PLM
Advanced Federation and Web Services in Aras for Enterprise PLM
 
EGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL OpenEGL Conference 2011 - EGL Open
EGL Conference 2011 - EGL Open
 
Aras Federation Web Services
Aras Federation Web ServicesAras Federation Web Services
Aras Federation Web Services
 
Swarn Singh_CV_SSE
Swarn Singh_CV_SSESwarn Singh_CV_SSE
Swarn Singh_CV_SSE
 
Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...Обзор современных возможностей по распараллеливанию и векторизации приложений...
Обзор современных возможностей по распараллеливанию и векторизации приложений...
 
1214 deploying rational insight in a heterogenous environment
1214 deploying rational insight in a heterogenous environment1214 deploying rational insight in a heterogenous environment
1214 deploying rational insight in a heterogenous environment
 
Documentum Spring Data
Documentum Spring DataDocumentum Spring Data
Documentum Spring Data
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
 
SachinBC_Resume
SachinBC_ResumeSachinBC_Resume
SachinBC_Resume
 
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
 
Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168Portlet Programming Using Jsr 168
Portlet Programming Using Jsr 168
 
Extending OPC-UA through Architecture Flexibility, Performance, and Scalability
Extending OPC-UA through Architecture Flexibility, Performance, and ScalabilityExtending OPC-UA through Architecture Flexibility, Performance, and Scalability
Extending OPC-UA through Architecture Flexibility, Performance, and Scalability
 

Viewers also liked

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
 
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
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
 
Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Real-Time Innovations (RTI)
 
Smart City: Many Applications and Devices
Smart City: Many Applications and DevicesSmart City: Many Applications and Devices
Smart City: Many Applications and DevicesEurotech
 
Component based software development
Component based software developmentComponent based software development
Component based software developmentEmmanuel Fuchs
 
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
 
presentation on Toyota motors L.t.d
presentation on Toyota motors L.t.dpresentation on Toyota motors L.t.d
presentation on Toyota motors L.t.dShivam Gupta
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part IAngelo Corsaro
 

Viewers also liked (11)

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
 
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
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++
 
Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?
 
DCOM Comparison
DCOM ComparisonDCOM Comparison
DCOM Comparison
 
Presentation On Com Dcom
Presentation On Com DcomPresentation On Com Dcom
Presentation On Com Dcom
 
Smart City: Many Applications and Devices
Smart City: Many Applications and DevicesSmart City: Many Applications and Devices
Smart City: Many Applications and Devices
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
 
presentation on Toyota motors L.t.d
presentation on Toyota motors L.t.dpresentation on Toyota motors L.t.d
presentation on Toyota motors L.t.d
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 

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

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
 
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
 
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSDeveloping Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSReal-Time Innovations (RTI)
 
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)
 
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
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.netsuraj pandey
 
Interoperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewInteroperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewJorgen Thelin
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]Raul Soto
 
Introduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerIntroduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerAnt Phillips
 
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
 
Introduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptxIntroduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptxEverestMedinilla2
 
Adaptive Network Middleware CSC (Communication Service Concierge) - R Kawamura
Adaptive Network Middleware CSC (Communication Service Concierge)  - R KawamuraAdaptive Network Middleware CSC (Communication Service Concierge)  - R Kawamura
Adaptive Network Middleware CSC (Communication Service Concierge) - R Kawamuramfrancis
 
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...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
 
Kamil Kolodziejski_Structura-AWS.pptx
Kamil Kolodziejski_Structura-AWS.pptxKamil Kolodziejski_Structura-AWS.pptx
Kamil Kolodziejski_Structura-AWS.pptxAWS Chicago
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Michael Elder
 
Lucw lsec-securit-20110907-4-final-5
Lucw lsec-securit-20110907-4-final-5Lucw lsec-securit-20110907-4-final-5
Lucw lsec-securit-20110907-4-final-5Luc Wijns
 

Similar to AXCIOMA, the component framework for distributed, real-time and embedded systems (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
 
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...
 
Interoperable DDS Strategies
Interoperable DDS StrategiesInteroperable DDS Strategies
Interoperable DDS Strategies
 
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSDeveloping Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
 
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
 
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
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
 
Interoperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewInteroperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) Overview
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]
 
What Can DDS Do For You?
What Can DDS Do For You?What Can DDS Do For You?
What Can DDS Do For You?
 
Introduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerIntroduction to WebSphere Message Broker
Introduction to WebSphere Message Broker
 
Middleware Technologies ppt
Middleware Technologies pptMiddleware Technologies ppt
Middleware Technologies ppt
 
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
 
381101843.pptx
381101843.pptx381101843.pptx
381101843.pptx
 
Introduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptxIntroduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptx
 
Adaptive Network Middleware CSC (Communication Service Concierge) - R Kawamura
Adaptive Network Middleware CSC (Communication Service Concierge)  - R KawamuraAdaptive Network Middleware CSC (Communication Service Concierge)  - R Kawamura
Adaptive Network Middleware CSC (Communication Service Concierge) - R Kawamura
 
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
 
Kamil Kolodziejski_Structura-AWS.pptx
Kamil Kolodziejski_Structura-AWS.pptxKamil Kolodziejski_Structura-AWS.pptx
Kamil Kolodziejski_Structura-AWS.pptx
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
Lucw lsec-securit-20110907-4-final-5
Lucw lsec-securit-20110907-4-final-5Lucw lsec-securit-20110907-4-final-5
Lucw lsec-securit-20110907-4-final-5
 

More from Remedy IT

Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentationRemedy IT
 
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
 
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
 
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
 
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
 
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 (17)

Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentation
 
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
 
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...
 
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
 
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
 
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

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

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

  • 1. AXCIOMA An eXtendable Component-based Interoperable Open Model-driven Architecture The Component Framework for Distributed, Real-Time, and Embedded Systems http://www.axcioma.com
  • 2. AXCIOMA: the component framework for distributed, real-time, and embedded systems AXCIOMA is the component technology enabling the Industrial Internet of Things (IIoT) The concrete communication middleware between components is a deployment decision and does not impact business logic AXCIOMA integrates multiple communication transports out of the box and more transports can be easily added AXCIOMA delivers portability and interoperability for IIoT applications through a standardized component model For more information take a look at our website http://www.axcioma.com Copyright © Remedy IT2
  • 3. 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 IT3
  • 4. 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 IT4
  • 5. What is a Component? Independent revisable unit of software with well defined interfaces called “ports” Able to be packaged as an independently deployable set of files Smallest decomposable unit that defines standard ports is called a “monolithic component” A “component assembly” is an aggregation of monolithic components or other component assemblies Copyright © Remedy IT5
  • 6. Why Component Based Development? (1) Modularity • Components can be independently updated or replaced without impacting the rest of a system Reuse • Software is reusable at the component level instead of at the system level Interoperability • Well-defined ports and standards based development ensures interoperability between application components Copyright © Remedy IT6
  • 7. Why Component Based Development? (2) Extensibility • A Component Based Architecture (CBA) is inherently loosely-coupled, supporting easier extension of component and system functionality Scalability • Scalable from single component deployment to large distributed multi node deployments Reduced Complexity • Encapsulation, modularity, separation of concerns, and the establishment of hierarchical component dependencies contribute to reduced design & system complexity Copyright © Remedy IT7
  • 8. Why Component Based Development? (3) Faster and Cheaper Development • Shorter design times, more reuse and less complexity • Faster time-to-market, faster software development • Focus changed to composition of a software-intensive system vs. all new design • Lower maintenance costs Quality & Reliability • Reuse and test/maintenance at the component level vs. at a monolithic system level Copyright © Remedy IT8
  • 9. Advantages of using Open Standards based API Open APIs are less prone to technology obsolescence No vendor lock-in Typically well vetted and designed Reuse of existing off-the-shelf technology • Implementations • Tools • Documentation • Training Copyright © Remedy IT9
  • 10. AXCIOMA Design & Deployment AXCIOMA clearly separates design, implementation, and deployment phases Components are designed to be location independent and communication middleware agnostic Components are implemented and tested in a highly decoupled fashion Deployment planning happens separately based on the complete system requirements The AXCIOMA framework handles the lifecycle for all components at runtime Copyright © Remedy IT10
  • 11. MDE Tooling MDE tools that support AXCIOMA • Zeligsoft CX for CBDDS • PTC Integrity Modeler IDL Profile • CoSMIC • Remedy IT Eclipse plugins MDE tools provide support for • Data modeling • Component modeling • Deployment modeling • Auto generation of IDL artifacts • Auto generation of D&C deployment plans Copyright © Remedy IT11
  • 12. Interface Definition Language AXCIOMA uses Interface Definition Language (IDL) to define the type system, interaction patterns, and components IDL is vendor, programming language, and platform agnostic IDL is transformed to a programming language according to a so called language mapping Standardized language mappings exist for various programming languages, including C++, C++11, C, Java, Ruby, and others Copyright © Remedy IT12
  • 13. IDL to C++11 AXCIOMA supports the IDL to C++11 language mapping IDL to C++11 reuses as much as possible from the C++11 standard features The IDL generated types and support classes use C++11 features to provide a safe and easy to use API Business logic does not need to use C++11 language features Copyright © Remedy IT13
  • 14. Generic Interaction Support Generic Interaction Support (GIS) enables the definition of generic interaction patterns Business logic uses interaction patterns to exchange information in a generic way Connectors realize a specific interaction pattern GIS allows the encapsulation of communication middleware, legacy systems, and hardware inside a connector Combining business logic and connectors is a deployment time decision, not an implementation decision Copyright © Remedy IT14
  • 15. Event Interaction Pattern AXCIOMA supports an event interaction pattern using the Generic Interaction Support The event interaction pattern defines extended ports for the following roles • Basic many-to-many publish subscribe messaging • Event distribution with optional user defined data Copyright © Remedy IT15
  • 16. State Interaction Pattern AXCIOMA supports a state interaction pattern using the Generic Interaction Support The state interaction pattern defines extended ports for the following roles • Distributed state management and access • Distributed database functionality with eventual consistency Copyright © Remedy IT16
  • 17. DDS Based State and Event Interaction Patterns AXCIOMA provides an implementation of the state and event interaction patterns using DDS as communication middleware Clearly separates business logic from all low level DDS details DDS QoS configuration is done using XML QoS profiles and not hardcoded into the business logic DDS Security provides secure interaction between the components Copyright © Remedy IT17
  • 18. Advantages of AXCIOMA compared to plain DDS AXCIOMA delivers the following advantages compared to plain use of DDS • Delivers a concrete architecture instead of a messaging protocol • The implemented abstraction layer delivers DDS vendor neutrality • Achieves improved interoperability between components through standardized interaction patterns • Delivers portability of components between various operating systems and compilers • Comprehensive application layer MDE tooling support hides the complexity of DDS entities Copyright © Remedy IT18
  • 19. Request/Reply Interaction Pattern Using the Generic Interaction Support AXCIOMA realizes the request/reply interaction pattern Support for synchronous and asynchronous invocations Delivered with a function style API Defined in IDL using operations with arguments and an optional return value The application code that uses this interaction pattern is unaware of how the interaction pattern is realized Copyright © Remedy IT19
  • 20. CORBA Based Request/Reply Interaction Pattern AXCIOMA realizes the request/reply interaction pattern using CORBA The request/reply interaction pattern supports synchronous and asynchronous invocations CORBA communication is realized using the connector framework CORBA is a mature middleware technology delivering a well optimized transport mechanism Can use various communication transports like IIOP, SSLIOP AXCIOMA uses TAOX11 as CORBA implementation Copyright © Remedy IT20
  • 21. DDS Based Request/Reply Interaction Pattern AXCIOMA will also realize the request/reply interaction pattern using DDS as communication middleware The DDS connector implementation will hide all implied DDS topics and glue code imposed by the RPC4DDS standard from the business logic DDS Security provides secure interaction between the components Copyright © Remedy IT21
  • 22. Integration of 3rd Party Middleware and Hardware 3rd party communication middleware, legacy systems, and hardware are shielded from the application developer using the GIS connectors Connectors hide all communication middleware and hardware details AXCIOMA delivers a flexible framework for implementing custom connectors and code generators AXCIOMA supports the definition and implementation of user defined interaction patterns between components Copyright © Remedy IT22
  • 23. Execution Models AXCIOMA provides a single threaded and reentrant execution model as default execution model AXCIOMA will support the following additional execution models • Single threaded and non-reentrant • Multi threaded (thread pools) Copyright © Remedy IT23
  • 24. Deployment using DnCX11 AXCIOMA contains DnCX11 as a deployment tool supporting various deployment options • Centralized and decentralized deployment using D&C compliant tools • XML based and binary D&C compliant deployment plans • Easy to create text based deployment configuration files • Domain, node, and process as multiple levels of deployment Copyright © Remedy IT24
  • 25. DnCX11 Single Node Deployment Deployment of one node using a node launcher • No need for a domain centralized and synchronized deployment • Nodes can be launched and torn down independently • Locality managers can be deployed as separate process or in-process with the node launcher • Components, connectors, and connections can be deployed using a very simple text based configuration file • Support for binary and XML D&C compliant deployment plans Copyright © Remedy IT25
  • 26. DnCX11 Single Locality Deployment DnCX11 allows fully decentralized deployment of a single locality A locality represents one operating system process Support for binary and XML based D&C deployment plans and DnCX11 text based configuration files Using the static configuration support a single executable can be created containing AXCIOMA infrastructure and user components • Static deployment increases security and performance Copyright © Remedy IT26
  • 27. DnCX11 Deployment Configuration Files DnCX11 has support for text based configuration files to • Configure deployment interceptors and handlers • Deploy components and connectors • Create local connections between components and connectors • Create remote connections between components Copyright © Remedy IT27
  • 28. From AXCIOMA to UCM The OMG is working on a new Unified Component Model (UCM) AXCIOMA has been designed and implemented with UCM in mind UCM will impact the AXCIOMA infrastructure but has minimal impact on the business logic The AXCIOMA roadmap includes support for UCM Copyright © Remedy IT28
  • 29. AXCIOMA Advantages Compared to CIAO AXCIOMA supports the most features from CIAO and DAnCE AXCIOMA has the following advantages compared to CIAO • Much easier to use language mapping which increases the productivity of the programmer • Reduced application code • Up to 70% footprint reduction for your component related generated code • Support for regeneration of business logic without losing already implemented code • Prevents possible memory leaks or invalid memory access at runtime Copyright © Remedy IT29
  • 30. AXCIOMA Advantages Compared to CIAO And AXCIOMA has even more advantages • Simplified compilation of all IDL generated artifacts • The request/reply interaction pattern using CORBA is realized using the connector framework and not implicitly by the framework • Will realize the request/reply interaction pattern using DDS • Simplified and more powerful deployment tooling • Framework for implementing custom connectors • Extensible logging framework Copyright © Remedy IT30
  • 31. AXCIOMA Advantages Compared to DAnCE AXCIOMA has the following advantages compared to DAnCE as deployment tool • Improved configurability • Improved tool consistency • Extended deployment options (centralized, node, and locality) • Multiple options to support runtime debugging of component implementations Copyright © Remedy IT31
  • 32. Want to know more about AXCIOMA? Contact Remedy IT at sales@remedy.nl Call us at +31-88-0530000 Check our website at http://www.remedy.nl Check AXCIOMA at http://www.axcioma.com Check all our presentations online at http://www.slideshare.net/RemedyIT Follow us on Twitter @RemedyIT Copyright © Remedy IT32
  • 34. Example overview This example demonstrates 2 components exchanging data using the event interaction pattern • Sender writes shapes samples to a event connector • Receiver receives shapes samples from a event connector Copyright © Remedy IT34 Sender ReceiverDDS
  • 35. Shape IDL definition In order to exchange data we define a publish subscribe message type in IDL which is used by all components Based on the IDL message type definition AXCIOMA will generate • C++11 type representation • C++11 DDS data reader and writer API • Conversion layer to integrate a specific DDS vendor Copyright © Remedy IT35
  • 36. IDL Shapetype IDL definition struct ShapeType { string color; //@key long x; long y; long shapesize; }; Copyright © Remedy IT36
  • 37. Component Definition Two components are defined in this example, both use the GIS DDS4CCM extended ports An extended port delivers a specific interaction pattern • State: state based data exchange • Event: event based data exchange All extended ports are available by instantiating the DDS4CCM templated module with a concrete data type definition • module CCM_DDS::Type <ShapeType, ShapeTypeSeq> ShapeType_conn; Copyright © Remedy IT37
  • 38. Component Definitions Sender module Shapes { component Sender { port ShapeType_conn::DDS_Write info_write; }; }; Receiver module Shapes { component Receiver { port ShapeType_conn::DDS_Listen info_out; }; }; Copyright © Remedy IT38
  • 39. Sender implementation // Sender component class declaration and implementation which publishes one sample to DDS class Sender_i : public IDL::traits<CCM_Sender>::base_type { public: // Setter method to receive the component context virtual void set_session_context(IDL::traits<Components::SessionContext>::ref_type ctx) override { context_ = IDL::traits<Shapes::CCM_Sender_Context>::narrow (ctx); } // Lifecycle callback indicating we have received our settings, register an instance to DDS virtual void configuration_complete () override { IDL::traits<Shapes::ShapeType_conn::Writer>::ref_type writer = context_->get_connection_info_write_data(); instance_handle_ = writer->register_instance (square_); } // Lifecycle callback indicating we can start our functionality, write one sample to DDS virtual void ccm_activate () override { IDL::traits<Shapes::ShapeType_conn::Writer>::ref_type writer = context_->get_connection_info_write_data(); writer->write_one (square_, instance_handle_); } // Lifecycle callback that we are going to shutdown, unregister the instance from DDS virtual void ccm_passivate () override { IDL::traits<Shapes::ShapeType_conn::Writer>::ref_type writer = context_->get_connection_info_write_data(); writer->unregister_instance (square_, instance_handle_); } virtual void ccm_remove () override {} private: IDL::traits<Shapes::CCM_Sender_Context>::ref_type context_; DDS::InstanceHandle_t instance_handle_; // Use C++11 uniform initialization to initialize the member ShapeType square {“GREEN”, 10, 10, 1}; }; Copyright © Remedy IT39
  • 40. Receiver implementation (1) // Receiver component declaration and implementation which receives the samples from DDS class Receiver_i : public IDL::traits<CCM_Receiver>::base_type { public: // Setter method to receive the component context virtual void set_session_context(IDL::traits<Components::SessionContext>::ref_type ctx) override { context_ = IDL::traits<Shapes::CCM_Receiver_Context>::narrow (ctx); } virtual void configuration_complete () override {} // Lifecycle callback indicating we can start our functionality, indicate we want sample by sample virtual void ccm_activate () override { IDL::traits<CCM_DDS::DataListenerControl>::ref_type lc = context_->get_connection_info_data_control(); lc->mode (CCM_DDS::ListenerMode::ONE_BY_ONE); } virtual void ccm_passivate () override {} virtual void ccm_remove () override {} // Retrieve the facet executor that implements the listener functionality IDL::traits<Shapes::ShapeType_conn::CCM_Listener>::ref_type get_info_out_data_listener () { if (!data_listener_) data_listener_ = CORBA::make_reference<info_out_i> (context)_; return data_listener_; } private: IDL::traits<Shapes::CCM_Sender_Context>::ref_type context_; IDL::traits<Shapes::ShapeType_conn::CCM_Listener>::ref_type data_listener_; }; Copyright © Remedy IT40
  • 41. Receiver implementation (2) // Listener facet implementation, receives the sample from DDS and just dumps it to the console class info_out_i: public IDL::traits<Shapes::ShapeType_conn::CCM_Listener>::base_type { public: info_out_i(IDL::traits<Components::CCM_Receiver_Context>::ref_type ctx) : context_ (ctx) {} // Callback to inform the component that a sample has been received by DDS virtual void on_one_data (const ShapeType& shape, CCM_DDS::ReadInfo&) override { std::cout << “Received ” << shape << std::endl; } virtual void on_many_data (const ShapeTypeSeq&, CCM_DDS::ReadInfoSeq&) override {} private: IDL::traits<Shapes::CCM_Sender_Context>::ref_type context_; }; Copyright © Remedy IT41
  • 42. Deployment The example components can be deployed using • Centralized deployment using the D&C compliant deployment tools • Deployment of one node using the single node launcher • Deployment of one process using the single locality launcher Support for the D&C compliant deployment plans Support for simple text based deployment configuration Easy to start and use directly from a debugger Copyright © Remedy IT42
  • 44. IDL to C++11 (1) The IDL to C++11 language mapping is a formal open standard created with the following goals • Simplify development compared to IDL to C++ • Reduce amount of possible programming errors • Gain runtime performance • Reduce size of application code • Use C++11 standard types and constructs as much as possible Copyright © Remedy IT44
  • 45. IDL to C++11 (2) The specification is available from http://www.omg.org/spec/CPP11 For background, details, tutorials, examples see • http://osportal.remedy.nl • http://www.orbzone.org Copyright © Remedy IT45
  • 46. TAOX11 TAOX11 the Commercial CORBA implementation from Remedy IT Compliant with IDL to C++11 v1.2 Support for CORBA AMI New IDL compiler with front end supporting IDL2, IDL3, and IDL3+ Free of charge evaluation versions available from http://swsupport.remedy.nl! Copyright © Remedy IT46
  • 47. 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 IT47