Connexis Benefits

The Connexis programming model provides significant value:



Access Transparency

Connexis has a flexible encoding and decoding strategy so that it can work in different types of hardware environments. The endian of the target environment is transparent to the executing application.

Location Transparency

The Connexis Locator service provides location transparency for a distributed application. The application uses service names to refer to the endpoints that are being connected. As a result, the physical address of these endpoints never has to be revealed to the application. Locator features are available for services published on integrated transport addresses. Connexis also supports many different distribution options, which allow the design of the application to be very flexible.

The following are the most common types of connections supported:

For local connections within the same process, Connexis optimizes communication to be as efficient as directly wired ports. The endpoints of the local connections are registered using service names and Connexis takes care of binding the endpoints together. Once bound, these local connections have the same performance characteristics as two wired ports that have been bound together.

Connexis accepts registrations that use explicit endpoint addresses in the registration string. This can be used if the application knows the location of the services that it wants to access. In this way a client can bind to a service using an explicit location and the service name of the desired service.

The Connexis Locator service can be used to find a service (given the service name) anywhere in the distributed application. Once the Locator has been started, one side of the connection registers with it as the publisher, and the other side registers as the subscriber. The Connexis Locator finds the matching endpoints, and feeds them back to the connection service which establishes the connection when both endpoints are available.

Configuration

Connexis supports a wide range of configuration options. This enables the use of Connexis to be very flexible and adaptable to different target environments. For example, configuration options can:

The Target Agent and the Connexis Locator Service do not have to be a part of every Connexis application. If your application does not use the Locator service, these components can be left out of the executable’s configuration. This helps minimize the size of the Connexis code that gets linked in your executables.

Connexis allows multiple ports to be registered with the same service name. This, coupled with the standard Model RealTime support for port multiplicity, enables several common distribution patterns to be supported by Connexis. Patterns that are not directly supported can usually be implemented very easily in Model RealTime.

The Connexis model library is shipped with full source code. The library can be rebuilt if needed for a custom target configuration (see Porting Connexis to a New Target Configuration).

Fault-tolerance and Reliability

Fault tolerance and reliability are paramount to most real-time systems. Connexis has been designed with these requirements in mind. The following is a list of the different Connexis features that enhance fault tolerance and reliability: