Algorithmen zur Begriffsanalyse und ihre Anwendung bei Softwarebibliotheken
Formale Begriffsanalyse ist eine algebraische Theorie über binäre Relationen und zu ihnen in enger Verbindung stehende vollständige Verbände. Diese Arbeit präsentiert Algorithmen und Datenstrukturen zur Berechnung von Begriffen und ihrer Verbandsstruktur. Da die Anzahl der Begriffe im ungünstigsten Fall exponentiell mit der Größe der Relation ansteigen kann, wurde der Komplexität der Algorithmen besondere Aufmerksamkeit geschenkt. Sowohl die Laufzeit der Algorithmen, als auch die tatsächliche Größe von Begriffsverbänden wurde durch eine Vielzahl von Experimenten untersucht. Sie zeigen, daß für praktische Anwendungen die Laufzeit der Algorithmen und die Größe der Verbände nur quadratisch von der Größe der Relation abhängt. Als Anwendung der Begriffsanalyse wird die Organisation einer Bibliothek wiederverwendbarer Software-Komponenten vorgeschlagen. Softwarewiederverwendung zielt auf eine Steigerung der Software-Qualität und der Produktivität bei ihrer Erstellung. Die vorgeschlagene Methode vereinigt eine leichte Wartbarkeit der Komponentensammlung mit einer starken Unterstützung für den Anwender bei der Suche nach Komponenten. Das Werkzeug zur Suche verwendet als Datenstruktur den Begriffsverband, der einmalig für eine Sammlung berechnet wird. Der Verband enthält im Wesentlichen alle Entscheidungsmöglichkeiten eines Anwenders bei der Suche nach Komponenten und unterstützt die effiziente Bearbeitung einer Anfrage. Zusätzlich kann mit Hilfe des Verbandes die Qualität der Indexierung von Softwarekomponenten beurteilt werden.
Formal concept analysis is an algebraic theory concerning binary relations and closely related complete lattices of so-called concepts. This thesis presents algorithms and data structures to compute concepts and their lattice structure. Since, in the worst case, the number of concepts can grow exponentially with the size of a relation, the complexity of algorithms was given special attention. The speed of algorithms as well as the actual size of concept lattices was tested with a large number of test cases. They show that for practical applications the performance of algorithms and the number of concepts depends only quadratically on the size of the relation. As an application for concept analysis the organization of a library of re-usable software components is proposed. Component based software reuse aims to raise software quality and development productivity by re-using already successfully developed components. The proposed method combines good maintainability of the component library with strong navigation support for the user. The search tool uses the concept lattice as a data structure that is computed once for the library. The lattice essentially contains all decisions a user can take while searching for a component and thus supports efficient searching. Additionally the lattice permits reasoning about the quality of the indexing method used on the components.
Preview
Cite
Access Statistic
Rights
Use and reproduction:
All rights reserved