CCM From CORBA Component Model To Common Component Model Copyright © 2011 Page 1 CCM Application Development Cycle Copyright © 2011 Page 2 CCM Exists as Component Model for more than a decade Several implementations available Platform and programming language independent Accepted into a large amount of projects because it is an open standard Copyright © 2011 Page 3 DDS4CCM Specification-level support for using/configuring DDS within the context of CCM Introduced the concept of IDL3+ and connectors, soon part of CORBA 3.2 Specifies DDS QoS settings through XML Copyright © 2011 Page 4 Deployment view Copyright © 2011 Page 5 DDS4CCM Implementation available as part of CIAO – RTI currently the only supported DDS vendor – Designed in an extensible manner so that other vendors could be supported Component Based DDS (CBDDS) – Simplifies D&C of DDS-based applications – Reduces tedious & error prone boilerplate code for QoS configuration – Potentially allows for DDS implementations to be chosen at deployment time vs. compile/design time Copyright © 2011 Page 6 AMI4CCM Asynchronous invocations for CCM – Does not require CORBA AMI support – Details of asynch invocation hidden from component business logic Set of implied IDL rules – Creates implied connector and interfaces used by component business logic – Currently requires annotation through preprocessor macros – Interfaces modeled off of CORBA AMI AMI4CCM connector Copyright © 2011 Page 7 Deployment view Copyright © 2011 Page 8 AMI4CCM Standardization OMG RFP issued December 2010 Draft initial submission available Reference implementation available as part of CIAO Copyright © 2011 Page 9 Built-in event support CCM has built-in support for events – Not very flexible or extensible – Requires container-level support for new event passing mechanisms Currently part of the core CCM specification Mostly not used with CBDDS Proposal to move this to a connector that can be much more powerful than the existing event support Copyright © 2011 Page 10 Extensibility Past solutions resulted in heavy containers and deployments tools – Tight integration between CCM implementation and D&C toolchain – Container-level code modifications required for new features Revised approach is to provide interceptor support at various levels – Locality (D&C toolchain) – Container – Component Copyright © 2011 Page 11 Improved Language Mappings Current component executor programmers find the mappings hard to use C++ is a real challenge and needs to be improved Java and C can also be improved New set of base classes specific to CCM For CCM not all IDL supported features need to be available Copyright © 2011 Page 12 Modeling support CCM/D&C needs adequate modeling support Multiple vendors for CCM/D&C – CoSMIC – Atego – Zeligsoft D&C specification provides XML-based meta-data exchange format for modeling tools Copyright © 2011 Page 13 What do we want to do? Migrate from CORBA Component Model to a Common Component Model – Decouple from CORBA specification – Make CORBA ORB an optional middleware bus Extensibility CCM & D&C through plugins QoS4CCM extensions for LifeCycle Improved language bindings Copyright © 2011 Page 14 What do we need? Input from users about improvements Support from the modeling tool vendors for the new features Funding to prototype, implement, and standardize the various extensions Copyright © 2011 Page 15 Thanks for your attention Johnny Willemsen <jwillemsen@remedy.nl> Marcel Smit <msmit@remedy.nl> http://www.theaceorb.nl Copyright © 2011 Page 16