The RadioControl CORBA® Automation Plug-in exposes a large subset of the
RadioControl C++ Application Programming Interface (API) in form of CORBA objects.
This allows third party vendors and end users to implement software applications
(referred to in this document as RCCORBA client applications) that access
RadioControl features as well as the installed radio devices. These software
applications can be implemented in virtually any programming language (incl.
scripting languages) and not even have to run on the same machine on which
RadioControl is installed. Instead these applications can also run on another
machine with an almost arbitrary operating system and connect to the machine
having RadioControl installed via the LAN or the Internet.
Features of the RadioControl CORBA Automation
Plug-in API (RCCORBA API)
The most important features of the RCCORBA API are listed in the following:
Retrieval of information about the RadioControl application itself. A
RCCORBA client application can retrieve all important information about the
RadioControl application itself, e.g. the full path name of the executable file,
version and licensing information, registry keys.
Access to the RadioControl application window and other user interface
elements. This allows a RCCORBA client application to customize the
appearance of RadioControl, e.g. change the title, size or show state of the
application window or display a completion message in the status bar.
Management and retrieval of installed radio devices. A RCCORBA client
application can easily check which radio devices are currently installed in
RadioControl and can even install additional and uninstall existing radio
devices. In addition, it is also possible to retrieve a subset of the installed
radio devices that matches a specific criterion, e.g. the device type. This
allows a RCCORBA client application to present the user a list of radio devices
that are suitable for a specific operation.
Comprehensive and device-independent API for controlling the installed
radio devices (RCCORBA Device API).
The RadioControl device driver interface was designed to cover a large radio
device feature set in a device-independent way so that functionality provided
by RadioControl can be used with different radio device models. The RCCORBA
Device API de facto completely exposes this RadioControl device driver interface
(which has more than 150 properties and methods) and allows a RCCORBA client
application the comprehensive control of a radio device. In fact such an
application has the same possibilities that RadioControl itself has! The next
four list items will describe the features of this API in greater detail.
Retrieval of information about a radio device. The RCCORBA Device API
allows a RCCORBA client application to retrieve general and technical information
about a radio device, e.g. device manufacturer and model name, device type,
supported frequency range(s), supported modes, supported IF filters. In addition,
an application can also check the actual capabilities of a radio device and
adapt the features it presents to the user.
Comprehensive control of radio devices (incl. VFO, memories, device-internal
scanner). The control features of the RCCORBA Device API comprise control of
the radio device's VFO (e.g. change the current frequency or mode),
upload/download/deletion of memory channels and use of the device-internal
scanner.
Notification about radio device events. In addition to allowing control
of a radio device, the RCCORBA Device API also allows a RCCORBA client
application to receive notifications for example when the radio device itself or
another application or operation has changed the value of a VFO attribute (e.g.
frequency or mode) or when the device-internal scanner has found a frequency.
Concurrent control of the same radio device. The previous two features
of the RCCORBA Device API, comprehensive control and notification about radio
device events, allow more than one application (e.g. RadioControl and a RCCORBA
client application) or more than one operation to use/control the same radio
device without risking to loose control over the radio device itself or its
status. In our view, this is a really important feature because it allows tight
integration of RCCORBA client applications and RadioControl.
Additional Features of the RadioControl CORBA
Automation Plug-in (RCCORBA Plug-in)
The most important features of the RCCORBA Plug-in, in addition to implementing the
RCCORBA API (as described above), are listed in the following:
Support for the CORBA Naming Service (CosNaming). Beside providing the
possibility to publish the object references of the RCCORBA API entry point
objects in so-called IOR files, the RCCORBA Plug-in allows them to be published
to an arbitrary CosNaming server.
Load balanced radio device event dispatching. The RCCORBA Plug-in
implements a customizable load balancing feature to allow dispatching of radio
device events in the most efficient manner. This is especially important if
many radio devices are in use by RCCORBA client applications.
Your Advantages
This section lists some of your advantages when using the RCCORBA Plug-in:
Use your desired programming language and operating system to implement and
run your RCCORBA client applications. Because the RCCORBA Plug-in builds on
the OMG CORBA standard, you can use any CORBA-enabled programming language,
runtime environment and operating system you want. Examples: Java, C++, Delphi
even C (as programming language and/or runtime environment) and Windows, Linux,
Mac OS X (as operating system).
Automate simple repetitive tasks with scripts. As there even exist CORBA
mappings for scripting languages like Perl, Python or Ruby, you can use these
languages with the RCCORBA Plug-in too to implement for example repetitive tasks
or do some prototyping!
Realize remote control and remote monitoring scenarios. CORBA, and
therefore the RCCORBA Plug-in, has network support built-in. Therefore, you can
easily realize scenarios where your RCCORBA client application and RadioControl
run on different machines that may just be a few meters/feed away or even be
several hundred kilometers/miles away.
Tight integration with RadioControl. As already mentioned above,
RadioControl and your RCCORBA application(s) can control the same radio device
simultaneously (i.e. concurrent radio device control). This and other features
of the RCCORBA API (e.g. access to the frequency identification feature) allow
a tight integration between your applications and RadioControl.
Concentrate on the tasks you want to solve and not on how to interact with a
specific radio device. The RCCORBA Device API gives you a consistent
programming interface for controlling your radio devices, including the
possibility to retrieve the capabilities of a radio device. The RadioControl
device drivers will handle the rest (i.e. the low-level interaction with the
radio device) for you. This includes establishing a suitable communications
channel to the device, using a communication protocol (i.e. control commands)
understood by the device and even handling the device's "specialties" and
"subtilities".
Any RCCORBA client application automatically works with (de facto) any radio
device supported by RadioControl. Because such an application uses the
RCCORBA Device API for controlling the radio devices, it will automatically
work with any radio device that is supported by RadioControl now or will be
supported by RadioControl after the RCCORBA client application has been shipped.
In other words, if the radio device used with the RCCORBA client application now
will be replaced with another RadioControl-supported device at someday in the
future, the application will continue to work. Of course, the new radio device
would have to fulfill all technical requirements of the respective RCCORBA
client application.
Possible Use-Cases
This section lists possible use-cases for the RCCORBA Plug-in:
Integration with an existing custom application. Example: A custom
database-centric application that needs access to a radio device so that
frequencies stored in the database can be set in the device to check the
current activity status.
Implementation of custom functionality. Example: Log found frequencies
with additional data and a recording of the transmitted signal into your own
proprietary database.
Remote control and monitoring. Example: Let a central custom application
control radio devices positioned at different geographical locations and log
the found frequencies into a central database.
Automate simple repetitive tasks. Example: Initialize several radio
devices that are positioned at different geographical locations with the same
parameters to check how a specific signal is being received at these locations.
Extension of RadioControl by features not (yet) available.
System Requirements
Intel Pentium compatible processor
Windows 95 or better
RadioControl 1.2 (Preview 2) Professional Edition with a license for
commercial use
A PDF reader (e.g. Adobe Reader) for some parts of the documentation
CORBA is a registered trademark of the Object Management Group, Inc. in the
United States and other countries.