ORBexpress RT

For C++

Why ORBexpress RT?

Because ORBexpress RT is simply the easiest way for a complex system to communicate to a world full of differences.

You will really appreciate the features of ORBexpress RT if you:

    • Use an embedded operating system.
    • Want access to transport protocols beyond TCP/IP.
    • Use the native thread priorities in your operating system.
    • Want to control and bound the resources used by the ORB.
    • Want to control the Quality of Service parameters to optimize use of your transport.
    • Want to build a predictable distributed system.

About ORBexpress RT for C++

ORBexpress® RT is a uniquely powerful communications framework for creating high performance, high-reliability, distributed applications. ORBexpress RT is used for the development of real-time systems, where reliability and predictability are critical. Going beyond the Real-time CORBA Specification, ORBexpress RT provides developers the tools they need to ensure the success of their project.

Developed by real-time experts, ORBexpress RT for C++ internals are designed for maximum performance and predictable behavior. ORBexpress RT for C++ can be used by developers building applications with hard deadlines, such as those found in avionics and process control. These industries require maximum performance and deterministic capabilities and they choose ORBexpress RT for C++ because it offers:

    • Priority propagation reducing inter-system priority inversion problems.
    • Fault resilient connections between the client and server allowing clients to choose between multiple paths to servers, enabling the use of redundant networks.
    • Replaceable transports allowing developers to “plug-in” predictable custom transports.
    • Quality of service allowing the control of upper bounds on latency and jitter.
    • Distributed Priority Inheritance allows servers to run requests at the client’s priority.
    • The internal algorithms and concurrency primitives in ORBexpress are carefully designed to minimize and bound priority inversions.

Features

Fast and Small

Independently recognized as the fastest and smallest ORB on the market. Learn more about ORBexpress performance. ORBexpress also fully supports the new CORBA/e (CORBA for embedded) standard.

Keep your Priorities Straight

The ORBexpress RT Distributed Priority Inheritance™ capability greatly reduces the intersystem priority inversion problems that can plague complex distributed, real-time systems.

Specify Quality of Service

ORBexpress provides a universal Quality of Service specification that can parameterize any network transport to. Using a QoS parameter, you can maintain upper bounds on latency and jitter, guarantee bandwidth, control buffer sizes, etc.

 

Flexible Transports

Network transport flexibility is essential to optimizing systems performance and hardware resources. ORBexpress RT for C++ provides a number of transport options. ORBexpress RT ships with IIOP (GIOP over TCP/IP), shared memory, and other operating system specific transports. ORBexpress RT for C++ provides transport APIs so that you can write your own transports, enabling unique capabilities in your application.

Predictable Memory Pools

The ORBexpress predictable memory pools are used for ORB internal allocations and deallocations as well as application-created CORBA object allocations and deallocations. These memory pools provide your developers with consistent, bounded allocation and deallocation times and prevent the fragmentation of memory over long time periods. Typical execution times for the allocation/deallocation cycle using the ORBexpress predictable memory pools are four to six times faster than the default heap memory mechanisms.

Minimum Memory Footprint

ORBexpress RT for C++ provides a lightweight CORBA implementation without sacrificing performance. We’ve optimized our memory footprint with the most stringent embedded device requirements in mind.

Configurable Resource Use

ORBexpress RT for C++ provides several configuration options and a large number of parameters that enable developers to configure resource usage to optimize application performance.

Tested Interoperability

ORBexpress fully supports IIOP™ (Internet Inter-ORB Protocol), the CORBA standard vendor-independent protocol. Through IIOP, ORBexpress offers proven interoperability with other IIOP-compliant ORBs and middleware.

Full Multi-Threading

ORBexpress RT for C++ fully supports real-time multi-threading applications on all platforms. The product includes portable priority, thread, and mutex APIs providing cross platform consistency.

Fast Multiplexing Connection Model

The ORBexpress RT for C++ connection management maintains high performance as the number of objects, operations, and threads are increased. Multiple requests to a server from different threads share the same connection. Requests can be automatically processed in parallel by multiple server threads.

Portability

ORBexpress RT for C++ enables true application portability. ORBexpress has a fully featured Portable Object Adapter (POA) to ensure portability of object implementations. The ORBexpress IDL™ (Interface Definition Language) compiler generates readable and portable C++ code.

Optimized Collocation

ORBexpress provides architectural flexibility of complete location transparency, including collocation of objects in the same address space. ORBexpress optimizes invocations between collocated objects to a local function call, maximizing performance.

Fault-Resilient Connections

ORBexpress facilitates fault-resilient connections between a client and server, enabling the development of fault resilient systems. Alternate paths to a server, over alternate transports or redundant media can be established. On failure to establish a connection or failure of an established connection, ORBexpress RT for C++ can retry on the same path, use an alternate path, or fail over to an alternate server.

Flexible, Controllable Quality of Service

ORBexpress supports synchronous and asynchronous messaging to provide flexibility for your communication model. Reliability options allow tuning to your application needs.

Key Benefits

Do More With Less – Since ORBexpress is the fastest and smallest ORB on the market, your application can now do more on yout hardware.

Meet Communication Deadlines – Your distributed application can be built to meet the most stringent timing deadlines where failure is not an option.

Efficient – Designed to use minimal system resources so that you can meet and exceed your performance requirements.

Scalable – Used in very large systems with tens of thousands of distributed objects while maintaining fast, bounded system performance.

Flexible – Change happens – continue refactoring your application until final deployment.

No Run-time Fees – Simplified pricing for you and your customers, with no run-time fees for licenses under maintenance.

World-Class Support – First year of maintenance, support and upgrades are included at no additional cost with every development license.

Free Training – Every development license includes a 3-day ORBexpress for C++ training class. Increase your Developer’s productivity at no additional cost.

Professional ServicesProfessional Services such as additional training, consulting and mentoring are available to help you reduce project risk and development time.

Widely Available – ORBexpress RT for C++ supports an unrivaled variety of processors, operating systems, real-time operating systems and compilers. ORBexpress does not limit your choices. View a list of the wide variety of ORBexpress RT platforms.

Comparison of ORB latency performance
ORBexpress Performance

Comparison of average round-trip time in microseconds for a message