Algorithm Based Software Design for Multi Project Use

        We present a design methodology for developing algorithm based software platforms for multi-project use with a focus on production planning and scheduling applications. The methodology leads to a partitioning and decoupling of software design activities by using abstraction and complexity hiding in a layered architecture. The abstractions are centered around high level generalizations of common problem classes in Operations Research such as packing, sequencing and grouping. Complexity hiding is achieved by using minimal information interfaces between various levels in the architecture. The resultant design separates the customer specific information from the abstract problem representations and algorithms and thereby facilitates reuse. In addition, such a separation delineates the intellectual property of the customer from that of the solution provider, an important prerequisite for reuse in a business setting.

By: Mark Trumbo, Jayant Kalagnanam, Ho Soo Lee

Published in: RC21430 in 1999


tr21430.ps.gz

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

tr21430.ps.gz

Questions about this service can be mailed to reports@us.ibm.com .