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.

Control 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 changing.

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 Group).

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.

 Components plug into software

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++.

Middleware performs communication

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 control information.

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 installations.