Plug and Play/Pull and Pray

A Question of "un-" Reuse

 

Will Tracz

Lockheed Martin Federal Systems

Owego, NY 13827

Tel: (607)751-2169, fax: (607)751-6025

Email: Will.Tracz@LMCO.com

URL: http://www.owego.com/~tracz

 

Abstract

Software developers have long been using the "Plug and Play" approach to facilitate the development and integration of reusable software components. By creating layered architectures with virtual machine interfaces, system architects and designers have created fairly robust, adaptable, scalable, and extendable software solutions and product families. This paper discusses the software composition mechanisms that support "plug and play" and examines them in the light of an inverse scenario, that of "pull and play." That is, creating a system where it is just as easy to efficiently remove functionality, rather than substitute or add functionality.

 

 

Keywords: Plug and Play, Layered Architecture, Virtual Machine Interface, 3C Model

Workshop Goals: To establish consensus on taxonomy of plug and play mechanisms with a preliminary assessment of their impact.

Working Groups: Integration, Composition, and Architecture

1 Background

Reusable software components need to be easily composed. Oftentimes system designers provide reusable software designs, architectures, frameworks or patterns, in which developers can "plug" other components into. Furthermore, it is often the case, for reasons of performance, or lack of foresight, that certain features, functionality, capabilities (or whatever one chooses to call it) are "built-in" to the system. The problem becomes how to "not" reuse this functionality when future versions of these components are reused.

 

2 Position

My position is that reuse starts at design time and certain design rules probably exist to efficiently support "pull and play." Furthermore, if we understand how design for "pull and play" better, we should be able to develop more reusable "plug and play" software components.

 

3 Approach

I think that it is time to re-visit the 3-C Model: Concept, Content, and Context [Tracz90].

 

References

[Tracz90] Tracz, Will, "The 3 Cons of Software Reuse," Proceedings of the 4th Workshop on Software Reuse, July 1990

Biography

Will Tracz (Will.Tracz@LMCO.com) Lockheed Martin Federal Systems, Owego, NY http://www.owego.com/~tracz

Dr. Will Tracz is a senior software engineer for Lockheed Martin Federal Systems (formerly Loral Federal Systems Owego, and before that, IBM Federal Systems Company Owego Laboratory). Currently, he is lead architect for several COTS and Reuse Repository Projects as well as the PI (Principle Investigator) on an internal IR&D project focussed on investigating non-intrusive integration mechanisms. Dr. Tracz is also serves at the chair of the Lockheed Martin Software Subcouncil Working Group on COTS Software and Reuse. Prior to this he was a PI (Principle Investigator) on the DARPA DSSA-ADAGE (Domain-Specific Software Architecture - Avionics Domain Application Generation Environment) Project. While with IBM, he was a member of IBM Corporate Reuse Council, IBM FSC Reuse Steering Committee, and editor of the IBM Corporate Programming Reuse Newsletter. Currently he is a member of the IEEE Computer Society Subcommittee on Software Reuse advisory board, editor of the ACM SIGSOFT Software Engineering Notes, and column editor for IEEE Computer. He also served as newsletter editor and chairman of ACM SIGMicro and been chairman of several reuse conferences, symposiums, and workshops.

Tracz has over 85 publications on software engineering, microprogramming, and software reuse. His current book, "Confessions of a Used Program Salesman: Institutionalizing Software Reuse," published (1995) by Addison-Wesley, provides a road map for introducing reuse into an organization by first using anecdotes and analogies to illustrate the non-technical inhibitors to software reuse, then providing a detailed process for identifying and creating reusable software assets.