A Unix Tool for Managing Reusable Software Components

نویسندگان

  • John Plaice
  • William W. Wadge
چکیده

Sloth is a simple Unix-based tool for creating and maintaining large C programs built from reusable ‘modules’. Sloth is a collection of UNIX shell commands for creating and editing modules, and for producing executables by linking compiled code from the modules comprising a program. Sloth in a sense extends C by providing module facilities similar to those built in to newer languages such as Modula-II. The Sloth ‘extensions’, however, are at the shell level only. No changes are required in C itself; in fact, the Sloth commands invoke the standard Unix C compiler. A Sloth module contains a set of C procedures and local declarations, a set of global definitions and variable declarations, an initialization routine and an ‘import’ list of other modules containing declarations referred to, but not defined by, the module in question. The Sloth link command has one argument, the name of a ‘root’ directory. The link command automatically identifies all those modules imported directly or indirectly by the root module, checks that the object code for each module is up-to-date and recompiles where necessary. It then creates a main program in which the various initialization routines are executed in the correct order (most primitive first), compiles it and links it with all the object files and produces an executable program. Individual modules can be compiled without any knowledge of the application that uses, directly or indirectly, the module in question. Two applications that both use a collection of modules can therefore share the object code for these modules. The use and implementation of Sloth are presented, as are the experience in using it, programming techniques developed to take full advantage of its facilities, as well as several extensions, either completed or planned.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reusable Software Components

AbstructAn empirical study of methods for representing reusable software components is described. Thirty-five subjects searched for reusable components in a database of UNIX tools using four different representation methods: attribute-value, enumerated, faceted, and keyword. The study used Proteus, a reuse library system that supports multiple representation methods. Searching effectiveness was...

متن کامل

Writing Reusable Libraries

Over the past 10 years, the Software Engineering Research Department in A T@T has been engaging in a research program to build a collection of highly portable advanced software tools known as Ast, Advanced Sofiware Technology. A recent monograph, “Practical Reusable UNIX Software” (John Wiley ~ Sons, Inc., 1995), summarizes the philosophy and components of this research program. A major compone...

متن کامل

Strategies for Designing and Building Reusable Software Components

This paper presents time proven methods and strategies for creating, managing, and accessing a library of reusable software components and also software engineering strategies for designing and building reusable components with proper planning and execution, these methodologies will bring significant cost saving. In addition, cost-benefit guidelines are developed to help an organization decide ...

متن کامل

Component mining: a process and its pattern language

An important issue in a component-based software development process is the supply source of mature, reliable, adaptable, and maintainable components. We define as component mining the deliberate, organised, and automated process of extracting reusable components from an existing rich software base and present a pattern language used for mining components from programs that are typically execut...

متن کامل

Wrapper-Based Framework for Domain-Specific Software Reuse

Component-based development is a defacto requirement for many competitive IT industries. The implementation of component reuse ranges from the more isolated solution such as creating a new tool or language to the use of current industry standards such as CORBA COM, EJB, and .NET. However, the complexity of managing and maintaining reusable artifacts increases with large systems In the case of s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Softw., Pract. Exper.

دوره 23  شماره 

صفحات  -

تاریخ انتشار 1993