Bringing desktop interoperability to real-time systems

Component Object Model (COM) is the de facto standard for handling objects in desktop PCs and is how Microsoft implements many of its Windows system interfaces. COM provides a complete language-independent object model, and a simple programming model that is widely used and well understood. Distributed COM (DCOM) extends this programming model to the network, bringing location-independe...

05/01/2000


Component Object Model (COM) is the de facto standard for handling objects in desktop PCs and is how Microsoft implements many of its Windows system interfaces. COM provides a complete language-independent object model, and a simple programming model that is widely used and well understood. Distributed COM (DCOM) extends this programming model to the network, bringing location-independence and remote method invocation to all COM objects.

Designing systems with software components means moving away from the monolithic application or even the object-oriented class library approach.

Using a well-established component framework allows quick and easy component development, while maintaining modularity and isolation among subsystems. This is achieved by carefully specifying the interfaces between components, often known as 'design by contract.' Each component can also be tested in isolation to make sure it meets design goals and fulfills its external contract.

COM provides a scalable infrastructure for software components. Within this framework, DCOM adds the capability for distributed components and interaction between embedded systems and desktop PCs. On the desktop, COM provides language bindings for C, C++, and other compiled and interpreted languages. Java, Perl, Visual Basic, and other languages have built-in COM support.

Besides aiding development and testing, using software components in COM's framework allows distribution and replacement of components without requiring an application to be rebuilt.

Using extension mechanisms, DCOM enhancements allow real-time requirements, such as execution priority, to be factored into distributed object-based systems. DCOM scaled to embedded devices allows them to transparently connect to each other and to remote, PC-based management consoles.


Using VxDCOM's architecture

These tasks can be accomplished with Wind River Systems Inc.'s (Alameda, Calif.) VxDCOM technology, which is the first implementation of DCOM for embedded systems. VxDCOM's connectivity allows development of distributed, object-based applications on the VxWorks real-time operating system (RTOS) using the Tornado II development platform. Transparent interoperability with Windows-based desktop PCs is made possible by directly implementing DCOM wire protocol.

VxDCOM has a 280-KB footprint and supports C and C++. However, COM's binary interface, coupled with the DCOM protocol, allows seamless interconnection between supported languages on the desktop and C++ code on the embedded target.

VxDCOM also includes an interface definition language (IDL) compiler, Wind IDL (WIDL), as well as sample source code, demo programs, runtime libraries and headers, and documentation. The runtime portion implements some familiar API calls, such as CoCreateInstance, which help COM-fluent developers get up to speed quickly.

In addition, VxDCOM's Tornado 2.0 Project Facility provides simple configuration of the kernel image to include COM support or both COM and DCOM support. When DCOM support is enabled, users will see extra tasks in their running system, which provide DCOM protocol implementation and runtime environment.

VxDCOM uses standard network protocols to ensure compatibility between COM clients and servers on different machines, possibly with different processors and architectures. Its compact footprint and ability to add new threads to the thread pool-to handle peaks in activity-make VxDCOM technology suitable for building embedded devices. For example, VxDCOM permits a Windows NT workstation to interact with manufacturing robots through graphical supervisory packages, or allows a VxWorks-based sensor to publish data directly to a PC spreadsheet.


Author Information

David Sellars software engineer, Wind River Systems Inc.




No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
The System Integrator Giants program lists the top 100 system integrators among companies listed in CFE Media's Global System Integrator Database.
The Engineering Leaders Under 40 program identifies and gives recognition to young engineers who...
This eGuide illustrates solutions, applications and benefits of machine vision systems.
Learn how to increase device reliability in harsh environments and decrease unplanned system downtime.
This eGuide contains a series of articles and videos that considers theoretical and practical; immediate needs and a look into the future.
Sensor-to-cloud interoperability; PID and digital control efficiency; Alarm management system design; Automotive industry advances
Make Big Data and Industrial Internet of Things work for you, 2017 Engineers' Choice Finalists, Avoid control design pitfalls, Managing IIoT processes
Engineering Leaders Under 40; System integration improving packaging operation; Process sensing; PID velocity; Cybersecurity and functional safety
This article collection contains several articles on the Industrial Internet of Things (IIoT) and how it is transforming manufacturing.

Find and connect with the most suitable service provider for your unique application. Start searching the Global System Integrator Database Now!

SCADA at the junction, Managing risk through maintenance, Moving at the speed of data
Flexible offshore fire protection; Big Data's impact on operations; Bridging the skills gap; Identifying security risks
The digital oilfield: Utilizing Big Data can yield big savings; Virtualization a real solution; Tracking SIS performance
click me