Concept XXI, Inc.

Design • Develop • Support

28001 Chagrin Blvd, Suite 312, Cleveland, OH 44122 • PH: 216-831-2121 • FAX: 216-831-2444 • hq@cxxi.com

This is a unique solution provided by Concept XXI to one of our clients.

Our client had a commitment to deliver a Windows version of their software for a series of 15-year-old legacy products. The large software system was written in Modula-2 and was running on DOS. The original developers were unavailable and documentation was limited.

The machine was run by a PC communicating with a PLC, a servo controller, and Bitbus instrumentation. The software was structured as several co-tasks with a non-preemptive scheduler.

We built an architecture to emulate the original task scheduler and then converted the bulk of the code from Modula-2 to C . For validating the conversion, we used a unique black-box approach. We recorded all hardware inputs and outputs during several representative machine runs. We then fed the recorded inputs to the converted code and compared the outputs to the recorded outputs. Each time the outputs differed, we would resolve the problem and rerun the conversion. After we could go through entire machine runs successfully, we replaced the operating system dependent portions: hardware interfaces and the GUI.

This innovative technique enabled us to complete the project with minimal use of the actual machine. The software worked correctly the very first time we ran it on a live machine!