Refine
Year of publication
- 1997 (2)
Document Type
- Preprint (2)
Language
- English (2)
Has Fulltext
- yes (2)
Keywords
Faculty / Organisational entity
This paper describes an Internet-scalable knowledge base infrastructure for managing the knowledge used by an in-telligent software productivity infrastructure system. The infrastructure provides workable solutions for several significant issues: (1) Internetunique names for pieces of knowledge; (2) multi-platform, multi-language support; (3) distributed knowledge base synchronization mechanisms; (4) support for extensive customized variations in knowledge content, and (5) knowledge caching mechanisms for improved system performance. The infrastructure described here is a workable example of the kind of infrastructure that will be required to manage the evolution and reuse of millions of pieces of knowledge in the future.
Software Products As Objects
(1997)
This paper describes our experiences in modeling entire software products (trees of software files) as objects. Container pnodes (product nodes) have user-defined Internetunique names, data types, and methods (operations). Pnodes can contain arbitrary collections of software files that represent programs, libraries, documents, or other software products. Pnodes can contain multiple software products, so that header files, libraries, and program products may all be stored within one pnode. Pnodes can contain views that list other pnodes in order to form large conceptual structures of pnodes. Typical pnode -object methods include: fetching and storing into version controlled repositories; dynamic analysis of pnode contents to generate makefiles of arbitrary complexity; local automated build operations; Internet-scalable distributed repository synchroni- zations; Internet-scalable, multi-platform, distributed build operations; extraction and generation of online API documen- tation, spell checking of document pnodes, and so on. Since methods are user-defined, they can be arbitrarily complex. Modelling software products as objects provides a large amount of effort leverage, since one person can define the methods and many people can use them in extensively automated ways.