Component Based Open Source Architecture for Distributed Telecom Applications

IST Programme. Project IST-2001-34445. 1 April 2002 to 31 March 2004


The code that is produced in COACH is available from the web-sites managed by the COACH partners who implement the code.

OpenCCM is the Java-based implementation of the CORBA Component Model.

Qedo is the C++-based implementation of the CORBA Component Model.

Links OpenCCM
OpenCCM OpenCCM Website
CVS (stables) You can download OpenCCM packages from this ObjectWeb Forge Site
CVS (snapshot) Two different sites for the latest snaphot of OpenCCm CVS
Documentation Documentation of the last Release
  Description OpenCCM
  The OpenCCM project is one of the two open source projects in the context of COACH that provide the development support and runtime environment for CORBA components. In contrast to Qedo which supports C++, the supported implementation language for components in OpenCCM is Java. The name OpenCCM stands for "Open CORBA Component Model" and the project home page is The current version is 0.8 from October 2003 with the following features developed for COACH: ·
  • An open development tool chain:
    • a compiler for the OMG Interface Definition Language 3.0 (OMG IDL 3.0) supporting import, typeprefix, typeid, eventtype, component, provides, uses, consumes, publishes, emits, home, factory, and finder keywords
    • a compiler for the OMG Component Implementation Definition Language (CIDL)
    • a compiler for the OMG Persistent State Definition Language (PSDL)
    • an OMG IDL3 Repository to store compiled OMG IDL3 specifications as IR3 objects and as IR2 mapped objects
    • a generator to visit the OMG IDL3 Repository
    • a generator for CCM's OMG IDL2 mapping
    • a generator for XMI 1.1 UML documents
    • a generator for Java container implementations
    • a generator for Java CIF skeleton implementations
    • a generator for Java component implementations.
  • An open deployment infrastructure:
    • supporting the ComponentInstallation, ComponentServer, and Container interfaces of the CORBA Components Specification
    • driven dynamically by Java programs and/or OMG IDLscript scripts
    • offering transactional deployment, e.g. deployments running inside a transaction and that could be rollbacked at any time if there are deployment faults
    • a deployment tool for CCM XML descriptors
  • An open container runtime:
    • a Java runtime library for Java components
    • a Java component server to deploy and to execute Java components with support for transactional deployment
    • a basic open container framework allowing to plug in system services (e.g. security, transactions, monitoring, etc.)
  • Multiple ORB support(ORBacus, The Community OpenORB, Borland Enterprise Server)
Previous releases of OpenCCM during the runtime of COACH were published
  • 20 December 2002: OpenCCM 0.5
  • 8 July 2002: OpenCCM 0.4
Links Qedo
Qedo Qedo Website
CVS (stables) Here you can download all files of the project
CVS (snapshot) Getting daily CVS snapshots
Documentation Qedo generator and run-time documentation
  Description Qedo
  The Qedo project is one of the two open source projects in the context of COACH that provide the development support and runtime environment for CORBA components. In contrast to OpenCCM which supports Java, the supported implementation language for components in Qedo is C++. The name Qedo stands for “Quality of Service enabled distributed Objects” and reflects the broad scope towards a component platform fulfilling the requirements of complex applications likely to be found in the area of telecommunications. The project’s home page is At the beginning of the COACH project two C++ implementations for CCM were under development by the COACH partners. One was CIF of Humboldt University Berlin and the other the DPE of Fraunhofer FOKUS. The CIF project had already started in 2000 in the context of the EURESCOM project P924 and comprised a component code generator tool and a CCM session container implementation. The DPE was based on the RM-ODP and TINA-DPE specification and was used in several software projects within the telecom domain. At this time both implementations were the only available open source C++ implementations of CCM on the market. In order to avoid multiple development as well as a split open source community and to get a maximum benefit for spent resources, the two partners involved decided to bundle their efforts and to merge the projects. Thus one of the first COACH results was the evolution of the Qedo project on the basis of two existing implementations which offered different advantages and rich experiences in CCM. The goal was to integrate the best parts of each of the former implementations into the merged one but the idea proved to be difficult. Therefore, a complete redesign of most of the implementation was necessary and done. While the new runtime environment architecture was inspired by the CIF container implementation, the architecture of the code generator tool was driven by the DPE code generator approach using a repository interface for data representation. In September 2002 the initial Qedo version was available, following version 0.0.3 in November 2002. The current version is 0.1.0 from February 2003 with the following features developed for COACH:
  • code generator implementation
    • 3 partition architecture with frontend, repository and backend
    • frontend for IDL3, CIDL
    • backend for IDL2.x, C++ servant code, C++ business code skeleton, XML descriptors, MS VisualC++7.0 project files;
  • session container implementation
    • extension for introspection;
  • deployment infrastructure implementation including the interfaces of ServerActivator, ComponentServer, Container, ComponentInstallation, HomeFinder;
  • multiple ORB support (Orbacus, Mico, TAO).