Thesaurus-Based Software Environments

1994 
Software environments support the process of constructing and maintaining application systems. This paper describes the idea of a thesaurus1 as a viable foundation for software environments. A thesaurus contains information about the names and identifiers in all the software written in all the languages of an application. Information about extensional data in a database or persistent store is also included. The comprehensiveness of the thesaurus is in contrast to most commercially available tools which focus either on the source code only (source code analysers) or on database-specific information (data dictionaries). A few data dictionary tools also include source code information, but relationships between names and identifiers in the software written in the various languages are not recorded automatically. All the contents of the thesaurus are automatically maintained. The whole application system is analysed, and the thesaurus updated, regularly at times specified by the user, for example daily at 02:00. A full analysis and update can also be initiated at any time. Two thesaurus tools have been built. The HMS thesaurus tool was developed for a health management system (HMS) in an industrial (C, C++, X Window System and relational database) environment [13]. Another thesaurus tool was thereafter built in the context of the strongly typed, persistent programming language Napier88 [12]. The software environments that have been built around the thesauri focus on change management and include tools that display structures and dependencies and provide impact analysis. In the persistent case, automatic build management is supported, including installation, smart recompilation [15] and re-execution according to a persistent programming methodology. To prevent deteriorating structure and improve maintainability, a set of application independent constraints have been defined [14]. The programming environment automatically verifies these constraints. The present tools focus on the implementation phase (initial construction and maintenance). However, automatically maintained thesauri with extended information may form a basis for tools supporting other phases of the life cycle as well.
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    14
    References
    4
    Citations
    NaN
    KQI
    []