Software Components Bring Flexibility to Control Networks
by Michael Karagosian
©1999 MKPE Consulting All rights reserved worldwide
Published in the January 2000 issue of Protocol, a publication of ESTA
Control systems abound. There are a wide variety of systems used in the entertainment field, and,
in a sense, each of them is a custom system. Developing the software for these systems can
be time-consuming, but the use of software components can simplify and speed the process.
systems in the entertainment field may need to satisfy a full spectrum of requirements,
but the systems can be categorized into two different types, each satisfying a different
set of requirements. In a performance system, such as a show control system,
synchronization and latency (response time) are of paramount important. A venue-wide
control system might be designed for event and alarm monitoring and remote control of
static functions, where determinacy is preferred, and a slow response time is OK. The
typical venue-wide installation might have a central station where alarms such as
equipment faults are reported and where lighting and audio-related commands are issued. In
a theme park, for instance, centralized control might command walkway lighting or might
lower the volume level of background music preceding a scheduled announcement.
One of the most cumbersome aspects of setting up centralized control of either type is
the creation of the application for the user. In this respect, all installations are
custom. At the very least, what the user wants to see on-screen in a theme park will
undoubtedly be completely different from what the user wants to see in an airport system.
However, both systems could be created from identical products. Often, the problem of
integrating control methods is dealt with by both the product manufacturer and the system
integrator. If the job is significantly large, the manufacturing company goes out of its
way to create the tools for the system integrator, who in turn creates the custom software
for the job. Historically, the job of creating custom software has rested upon a select
group of system integrators. Thanks to new software tools, that situation is rapidly
The software industry has considerable interest in reducing the time and effort
required of custom applications. In recent years the introduction of
"middleware" has proved popular. Component technology, a type of middleware
product, was created as a solution for reusing software in a wide variety of applications.
Center stage in the middleware lineup are DCOM (Distributed Common Object Model) and CORBA
(Common Object Request Broker Architecture). Both technologies, while not directly
compatible, are designed to accomplish similar goals, namely platform independent object
communication over networks. DCOM is developed and supported by Microsoft, while CORBA is
developed and supported by an open-membership organization called OMG (Object Management
If the technical jargon makes this sound complicated, then allow me to explain it in a
different way. Think of an object as the software residing in an audio amplifier or a
lighting dimmer. Another object would be the software residing in a computer that controls
the amplifier or dimmer. Middleware provides the means for objects to communicate across a
network. The application of middleware to controls, therefore, is natural.
The driving force behind component technology is reusability of software. The term
reusability often invokes thoughts of recycling, but a better connotation in this case
would be flexibility. Reusability means that a single component can be used in a variety
of applications. For the product manufacturer this means that a single richly-featured
component, once developed, can satisfy a wide variety of applications. One of the big
bonuses is that the component itself requires much less developmental effort than a full
application that attempts to fulfill all customer needs. Because a component can
"plug-in" to many different development environments, its flexibility is
inherent. This flexibility gives the system integrator the opportunity to choose the
appropriate framework for the job, without going back to the manufacturer for revised
control software that meets the needs. Components make for a win-win situation, where the
manufacturer can please a wide range of users with a single product, and a large set of
users can create quality applications for their clients in less time.
In use, components function as "plug-in" software, and can be easily
implemented in development environments such as Visual Basic, Visual C++, Delphi, Visual
Café, and the major browsers. In the DCOM world, ActiveX Controls are the component type
commonly used. In the CORBA world, one might use JavaBeans. The existence of two defacto
standards might be a little confusing, but is mitigated somewhat by products that support
both types of components, such as Microsoft's Visual J++.
Distributed components, meaning components that are connected by means of a network,
also skirt around the issue of designing protocols. As DCOM and CORBA institute their own
protocols to facilitate communication, ideally no further protocols need be developed.
However, DCOM and CORBA alone may not satisfy the controls performance required of some
entertainment systems. Components can still be useful, however. Local components,
implemented as DCOM or CORBA objects, need not take advantage of middleware network
support and can be designed to support alternative networks. This leaves room for
alternative or proprietary network protocols that support performance entertainment
systems, while retaining the benefit of using components for easy system development by
the system integrator.
When using components, there is still room for guidelines and standards that enforce
consistent means of presenting data, and for methods of handling concepts such as
grouping. In the world of industrial control, a similar concept has evolved called OPC,
which stands for OLE (Object Linking and Embedding) for Process Control. OPC is a standard
that describes how to provide data access and to handle alarms and events in the DCOM
world. While it may not be applicable as-is to the entertainment industry, it does
demonstrate how other disciplines have taken advantage of components for control software.
Other technologies are on the horizon that may also simplify the creation of custom
applications. Markup languages are receiving widespread attention today. Markup languages
are text-based, and applications written in them are interpreted when run -- not compiled
ahead of time. HTML, or Hyper Text Markup Language, made popular as the language of the
World Wide Web, is really a simple subset of a more complex markup language called SGML
(Standard Generalized Markup Language). A reduced but compatible subset of SGML, called
XML, or Extended Markup Language, has recently become popular. XML is interesting in that
it offers the ability to define unique "standards" by which data is described.
By imposing such a standard on XML data descriptions, a common means for controlling
devices can be implemented. Recently, an effort has been launched to combine XML with
CORBA, which promises a standard way to communicate XML data across a network. Another
interesting development based on XML is UIML, or User Interface Markup Language. As the
name implies, UIML describes user interfaces. Not only could data be transferred across a
network in XML, but the description of what one sees on screen could also be transmitted
by means of XML. Thus, a device containing a full XML description of itself might describe
to its controller what the user interface ought to look like as well as how to communicate
The sobering thought is that all of the technologies described have been developed
outside of the entertainment industry. The tools are there for us to take advantage of.
While none of this will eliminate the need for a performance-capable control method, the
use of components can certainly enhance it and make the development of integrated systems
much easier. By taking advantage of available software technologies, we can create a new
generation of control methods, enabling us to provide clients with flexible and creative