|
RTC/MLTnet:
Distributed Real-Time Software Development System
ARS Real-Time Control System: RTC
ARS Multipurpose Networking System: MLTnet
Advanced Realtime Systems, Inc. (ARS) RTC Version
5.0 and MLTnet Version 5.0 use the “ARS Generic Distributed
Real-Time Software Architecture” (ASA) technology allowing
developers to quickly “plug-in” applications
into a self-contained, high-performance, fully-featured, “out-of-the-box”
distributed real-time control system. In addition, ARS
products can support a company's already deployed "legacy"
devices/systems (not running RTC/MLTnet). This
can save tremendous amounts of software development effort.
RTC/MLTnet Benefits
Essentially any real-time project would benefit greatly from using
RTC/MLTnet because:
- RTC/MLTnet
can eliminate years of complicated, high-risk software effort.
ARS products have relieved up to 90% of a project’s
software development effort.
- Your
developers will not have to develop nor worry about any
real-time control and networking software. They can concentrate
strictly on your application.
- Since
the complicated, high-risk software is completely written
and tested via RTC/MLTnet, your time to market is reduced
significantly.
- RTC/MLTnet
is a stable and mature technology. It can be used in any
embedded system running a supported RTOS.
- Since
ARS products use a “platform independent” technology,
they can be used repeatedly in current and future projects
utilizing different hardware configurations.
- RTC/MLTnet
allows your application software to “plug-and-play.”
It also supports any development process.
- If your
current project needs to interface to a previously deployed
device/system (which is not running RTC/MLTnet), no problem.
RTC/MLTnet is designed to package raw data from your legacy
system, pass it to your applications, then unpackage it,
and transfer it back to your legacy system (using its original
format).
- A common
problem today in developing real-time embedded systems is
trying to troubleshoot real-time intermittent bugs. RTC/MLTnet
provides a toolset allowing you to obtain unparalleled real-time
visibility into your complex embedded software system.
|
RTC/MLTnet Concept
The concept behind the RTC/MLTnet products is not
to have applications sit "on top" of "middleware."
Instead, applications "sit inside" of the RTC/MLTnet "infrastructure."
The primary idea behind the RTC/MLTnet system is to allow applications
to simply “plug into” its framework by quickly and easily
tailoring the template files provided. This process of “tailoring”
is called RTCGEN.
Essentially, you write your application routines and
perform an RTCGEN to package them into special items called subcomponents
(i.e., a class in object-oriented design). After packaging all subcomponents
of your application, RTC/MLTnet “covers” them with “special
software” such that each subcomponent can be placed into any
executable task (also via RTCGEN). Note that this technology allows
your application subcomponents to be moved (via “plug-and-play”,
without recoding) into another execution thread dynamically, even
while the system is running!
RTC/MLTnet is a mail-driven/event-driven system. Your
subcomponents simply receive incoming mail, process the mail, and
send mail out to other subcomponents, not knowing or caring if the
sending or receiving subcomponents are in the same executable task,
in different tasks on the same platform, or located on different
nodes or processors – anywhere throughout the LAN, WAN, or
even the Internet.
Packaged via the RTCGEN process, a subcomponent is
configured to consist of a set of “mail” callback routines,
along with any other internal application routines desired in the
subcomponent. Once mail for a subcomponent is received by the RTC/MLTnet
system, the mail item is dispatched to the appropriate subcomponent
by invoking the configured “mail callback routine.”
RTC/MLTnet Version 5.0 is "bus independent." It will
run with any bus (providing device drivers and a proper board support
package are available for the platform). In addition, RTC/MLTnet
will run over any physical/data link layer medium (e.g., Ethernet,
etc.) which supports a network stack (like TCP/IP).
RTC/MLTnet Real-Time Functions
RTC/MLTnet performs the following complex real-time computing functions:
- Data Acquisition
- Interprocess Communication
- System Control
- Equipment Status Monitoring and Control
- Software Fault Tolerance
- Time-Driven and Interrupt-Driven Event Processing
- Network Communication
- Network Fault Tolerance
In addition, RTC/MLTnet helps you meet all timing
requirements, response-time requirements, data throughput requirements,
and I/O requirements.
RTC/MLTnet Product Features
RTC/MLTnet includes the following general features:
Platform Independence
ARS products use a “platform independent”
technology. They can be used repeatedly in current and future
projects utilizing different hardware configurations.
RTC/MLTnet was developed specifically to operate independently
of your hardware platform’s bus architecture -- whether
you are using VME, Compact PCI, etc.
RTC/MLTnet is built on top of your RTOS, libraries, and tools.
This allows your application to be built with maximum scalability
and portability.
RTC/MLTnet users require no knowledge of operating system principles,
networking protocols, RTOS and network APIs, or system service
calls to generate high-performance real-time embedded applications.
They simply and easily interface to RTC/MLTnet, which performs
all the real-time and networking software functionality on behalf
of your application. Your embedded applications need never
change -- even if your hardware does!
Your applications simply “plug into” the RTC/MLTnet
framework by quickly and easily tailoring the template files provided.
RTC/MLTnet can be easily integrated into your Web applications.
Follow a few simple interface rules and you’re
ready to go. Your mission-critical applications will now work
together seamlessly within the RTC/MLTnet high-performance distributed
real-time control system. You write no high-risk software
to handle data acquisition, interprocess communication, system
control, equipment status monitoring and control, software fault
tolerance, time-driven and interrupt-driven event processing,
network communication, and network fault tolerance. RTC/MLTnet
handles it all!
Dynamic Configuration
With RTC/MLTnet’s Dynamic Configuration Facility, you
may dynamically (during system execution) configure the message
communication facility to transmit data to any single component
or group of components throughout your network. In addition,
pieces of your application can actually be placed into
another execution thread while the system is running!
This technology allows your application software “plug-and-play”
interoperability over a diverse computing environment.
It also allows your application to quickly and easily “load
balance” in an effort to tune itself for maximum
performance.
Data Acquisition
RTC/MLTnet supports real-time data acquisition from and to your
embedded devices. If your current project needs to interface
to a previously deployed device/system (which is not running RTC/MLTnet),
no problem. The RTC/MLTnet non-native mode is designed
to package raw data from your legacy system, pass it to your applications,
then unpackage it, and transfer it back to your legacy system
(using its original format).
Once your data is collected, it is passed to your application
in real-time, using a state-of-the-art, high-performance, robust
message communication facility.
Interprocess Communication
RTC/MLTnet applications communicate with each other
by one consistent interface, whether they are in the
same executable task, in different tasks on the same platform,
or located on different nodes or processors – anywhere
throughout the LAN, WAN, or even the Internet.
This technology allows your embedded project to be easily
scalable, without modifications to your applications.
In other words, by using RTC’s subcomponent multicasting,
redundant path, and aliasing features, additional hardware cards
can be added (even dynamically), without changes in application
software. This can be very useful for embedded projects
that contain identical software components executing on more than
one node or processor.
System Control
With RTC’s System Control Facility, you write no complicated
software to handle overall system startup, initialization, termination,
shutdown, or failing over to a backup or hot standby system.
While RTC contains very elaborate startup, initialization, termination,
and shutdown protocols, you simply “plug in” your
application initialization and termination routines. RTC will
automatically call them when required.
Software Fault Tolerance
RTC supports a software fault tolerance feature where tasks
may be configured with certain attributes indicating course
of actions to occur when RTC detects a task has died or hung.
Options include: operator notification, automatic system
shutdown, automatic system failover to a backup or hot standby
system, allowing the system to continue executing in a "degraded-mode,"
as well as other system control options.
Error Reporting
The RTC Error Reporting Facility allows time-critical tasks
to report errors (as well as other events) in real time to a
variety of local or remote logging devices -- without delaying
mission-critical system operation.
Equipment Status Monitoring and Control
RTC includes an Equipment Status Monitoring and Control Facility
allowing software fault tolerant treatment for your embedded
devices and equipment. Devices may be configured with certain
attributes indicating course of actions to occur upon device
failure. Options include: operator notification, automatic
system shutdown, automatic system failover to a backup or
hot standby system, allowing the system to continue executing
in a "degraded-mode," as well as other
system control options.
Network Communication and Fault Tolerance
MLTnet utilizes the TCP/IP protocol suite for point-to-point
network communication over local and wide area networks (LAN/WAN,
and the Internet). MLTnet includes TCP and UDP support for
connection-oriented and connectionless communication.
It is important to note that your application components
need to know nothing about networking protocols, etc. Your
applications simply “send mail” to/from each other,
not knowing or caring if the sender or receiver are in the
same executable task, in different tasks on the same platform,
or located on different nodes or processors – anywhere
throughout the LAN, WAN, or even the Internet.
MLTnet contains many features supporting network fault tolerance,
such as automatic detection when network connections
are lost, automatically attempting to re-establish
a connection (if desired), allowing for a group
of redundant connections by which data will be automatically
transmitted over all connections, if desired, and allowing
for a group of failover connections by which
data will be transmitted over only one link, i.e., the primary
connection. The other connections will be automatically used
as “failover connections,” should the primary
connection become lost.
MLTnet can also be used in conjunction with RTC to support
already deployed "in-field legacy" devices/systems
(not currently running RTC/MLTnet).
Simply configure MLTnet and let it go!
Real-Time Visibility Toolset
A common problem today in developing real-time embedded
systems is trying to troubleshoot real-time intermittent
bugs. RTC/MLTnet provides a toolset allowing you to obtain
unparalleled real-time visibility into your complex
embedded software system. Real-time updates can
be obtained for RTCGEN configuration items of both RTC and
MLTnet. In addition, the RTC/MLTnet visibility tools need
no “host” services generally required by an
RTOS in a lab environment – they are designed
to be used even while your embedded application is deployed.
Using RTC/MLTnet
To use RTC/MLTnet, you first perform an RTCGEN. Next, each
application subcomponent supplies a callback routine for
system initialization and termination. RTC will automatically
invoke the supplied subcomponent initialization callbacks
once the system starts up. RTC will automatically invoke
the supplied subcomponent termination callbacks once your
system enters the “controlled termination phase,”
and is ready to shutdown (if applicable to your system).
Next, your application subcomponents simply follow a few
simple interface rules, and your embedded application is
ready to run. Power up your box or boxes and “let
it go.” Use the supplied RTC/MLTnet toolset to obtain
unparalleled real-time visibility into your complex embedded
software system.
|