Converting command-line applications into binary components: Research Articles

Peter Michael Maurer · Software Practice and Experience · 2005

A binary component is a separately compiled program that can be used as a part of a larger program. Binary components generally conform to an accepted technology such as JavaBeans or ActiveX, and generally support a rich program interface containing properties, methods and events. Binary components are generally used in a graphical user interface (GUI) environment. There are a number of benefits to be realized by converting command-line software into binary components. The most important of these is that GUI environments are more popular and more familiar to most people than command-line environments. Using binary components can greatly simplify a GUI implementation, to the point where it is only slightly more complicated than a typical command-line implementation. However there are benefits that go beyond mere convenience. Binary components have much richer interfaces than command-line programs. Binary components are service-oriented rather than task-oriented. A task-oriented program has a main routine that is devoted to accomplishing a single task. A service-oriented component has no main routine or main function, but instead provides a variety of services to its clients. Binary components can be easily integrated with one another, which permits a design where each major feature of an application is implemented in a different component. Such a design encourages software reuse at the component level and facilitates low-impact feature upgrades. We first delineate a design-pattern-based methodology for converting command-line programs into components. We then illustrate these principles using two projects, a simulation system for digital circuits, and a data generation system for software and hardware testing. Copyright © 2005 John Wiley & Sons, Ltd.

Read the paper · More papers on PaperTik