APPENDIX B: REFERENCES

This appendix provides a list of publications related to the Code Farms libraries. Reprints of the papers are available from Code Farms for a nominal charge covering printing and postage.

[1] Weiss R.: Software Manages C Data Structures, Electronic ­Engineering Times, Feb.5, 1990, pp.39-45.

Early, popular article explaining the advantages of our approach.

[2] Soukup J.: Organized C: A Unified Method of Handling Data in CAD Algorithms and Databases, 27-th ACM/IEEE Design Automation Conference, 1990, pp.425-430.

Describes the main idea, using three examples: netlist for electrical circuits, classical ER example, and a database for a VLSI layout system. All code examples are in C. This paper was written at the time when the C++ version of the library was not developed to its current advanced level.

[3] Soukup J.: Selecting a C++ Library, C++ Report, Jan.1992

This article does not describe our library, but it lists features and priorities that we considered important in our design. It also contains a description of a benchmark suitable for a quick evaluation of a class library.

[4] Soukup J.: Memory Resident Databases, C++ Report, Feb.1992

Describes how persistent data, such as that provided by our library, can be used for fast, flexible databases.

[5] Soukup J.: Beyond Templates, C++ Report, two parts (April and May 1992)

This is a detailed, theoretical analysis with numerous C++ examples.

It explains the advantages of our approach compared to classical C++ libraries and templates, in both run-time performance, code clarity and ease of maintenance.

[6] Galbiati L.: Comparing Different Implementations of a VLSI Simulation Database, submitted to fall ICCAD 92

A user report on evaluation and benchmarks of Code Farms C library, with comparisons to commercial object-oriented databases and a custom-designed database. The performance of the program coded with our library was comparable to the custom-designed database; it needed 5 times less memory and had 20-times faster data access than a leading commercial database.

[7] Hutchings B.L.: Achieving CAD Data Persistence With C++,submitted to 1992 OOPSLA Conference

A user report on a difficult case of a large database (250+ classes), which was originally designed without storage to disk. The author selected Code Farms' library to add persistency to the database, and the paper describes his approach and experience.

[8] Soukup J.: Maze Router Without A Grid Map, submitted to the fall ICCAD 1992

Decription of a special algorithm finding routes through a maze of complex obstacles. The paper includes a full listing of the program coded with the C version of our library.

[9] Soukup J.: The Secret Of Efficient Software Design: Internal Data Organization, Electro Convention, Boston, May 12-14, 1992

Describes the advantage of separating data objects from data relations, and how easily this is done with the Code Farms library.

The paper evolves around a sample problem involving towns connected by highways. The task is to find the fastest route between two given towns. The paper includes a full C++ listing of the program.

[10] Soukup J.: Taming C++: Pattern Classes and Persistence for Large Projects, Addison-Wesley, July 1994, ISBN 0-201-52826-6.

The book describes a new approach to the implementation of data structure libraries, and patterns in general. Also, various forms of persistent data are discussed in detail.

[11] Soukup J.: Implementing Patterns, in Pattern Languages of Program Design (edited by Complien & Schmidt), Addison-Wesley 1995, pp.395-415, ISBN 0-201-60734-4.

This paper from the the first PLoP conference shows that structural patterns can be implemented in the style which we use in the OrgC++ library.

[12] Soukup J.: Intrusive Data Structures (3 part article), C++ Report, May, July, Oct.1998

[13] Soukup J.: Quality Patterns, C++ Report, Oct.1996 also Managing Groups of Cooperating Classes in the same issue.

[14] Vadaparty K.: Memory Resident Databases 1997.

 

Appendix A: Current Organizations Chapter 1: Introduction