Bibliographic Metadata

Title
Reverse engineering of typed rule-based systems : dependency analysis and comprehension aspects / Daniel Wakounig
AuthorWakounig, Daniel
CensorMittermeir, Roland T. ; Bouchachia, Abdelhamid
Published2008
DescriptionXIX, 163 S. : graph. Darst.
Institutional NoteKlagenfurt, Alpen-Adria-Univ., Diss., 2008
Annotation
Zsfassung in dt. Sprache
LanguageEnglish
Bibl. ReferenceKB2008 26 ; OeBB
Document typeDissertation (PhD)
Keywords (DE)Reverse Engineering / Regelbasierte Systeme / Verständnisaspekte / Abhängigkeitsanalyse / Metriken / Clustering
Keywords (EN)reverse engineering / rule-based systems / comprehension / metrics / browsing / dependency analysis / static analysis / impact analysis / clustering
Keywords (GND)Produktionsregelsystem / Reverse Engineering
URNurn:nbn:at:at-ubk:1-18577 Persistent Identifier (URN)
Restriction-Information
 The work is publicly available
Files
Reverse engineering of typed rule-based systems [1.4 mb]
Links
Reference
Classification
Abstract (German)

Ziel dieser Arbeit ist Verständnis- und Wartungaspekte regelbasierter Systeme zu unterstützen. Regelbasierte Systeme basieren auf deklarativen Wenn-dann-Regeln, welche über eine hohe Ausdrucksstärke verfügen. Aufgrund der Ähnlichkeit dieser Wissensmodellierung mit der Art wie Menschen Situationen erfassen und Reaktionen auf diese beschreiben, werden regelbasierte Systeme in verschiedenen Anwendungen eingesetzt. Aus Implementierungssicht vorteilhaft ist hierbei die Trennung des Wissens (Regeln) von der Ausführungseinheit, wodurch eine einfachere Implementierung möglich wird.

Theoretisch erlaubt dies ein systematisches Ändern, Hinzufügen und Entfernen von Regeln. In der Praxis stellen sich diese Adaptionen oft als weit komplexer heraus als vermutet, da die hohe Anzahl an Regeln und die entsprechend hohe Anzahl an inhärenten Abhängigkeiten zwischen diesen schnell ein praktikables Ausmaß übersteigt. Durch die Einbettung regelbasierter Systeme in objekt-orientierte Umgebungen werden diese um Konzepte wie Polymorphismus und Typhierarchien erweitert, was Wartungsoperationen zusätzlich erschwert.

Die Forschung im Bereich regelbasierter Systeme ist vor allem auf die Validierung und Verifikation (V&V), also auf die Sicherstellung der Konformität der Systeme zu identifizierten Anforderungen, fokussiert. Aus Wartungssicht genügt die Unterstützung von V&V Aktivitäten allerdings nicht. Um die Wartbarkeit eines Systems beizubehalten, sollten Strukturiertheit und Transparenz eines Systems bei Wartungstätigkeiten beibehalten werden. Hierfür muss die Umsetzung einer Adaption vorab sorgfältig analysiert werden. V&V betrachten jedoch lediglich Änderungseffekte und deren Korrektheit und Konsistenz.

Inhalt dieser Dissertation ist die Entwicklung von Reverse-Engineering Techniken für regelbasierte Systeme. Zentrales Anliegen ist dabei die Erkundung von Regelabhängigkeiten im Rahmen einer statischen Analyse des Systems. Hierfür werden mehrere Techniken vorgeschlagen, darunter das Browsing der Abhängigkeiten, das Gewinnen diverser Metriken und das Clustering von Regeln. Diese Techniken sind auf typisierte regelbasierte Systeme anwendbar, welche die Objektorientierung und das deklarative Paradigma regelbasierter Systeme verknüpfen. Durch die Transformierung eines regelbasierten Systems in eine generische Repräsentationsform, können diese Techniken auf verschiedene typisierte regelbasierte Systeme angewendet werden.

Die vorgeschlagenen Techniken wurden auf ein reales, 600 Regeln umfassendenes System angewendet.

Dabei wurden verschiedene Einsichten in das System geboten und dessen Struktur ersichtlich gemacht.

Die Angemessenheit der vorgeschlagenen Techniken für die Wartung konnte so gezeigt werden.

Abstract (English)

The aim of this thesis is to support maintenance and comprehension of rule-based systems. Being declarative in nature, these systems rely on if-then rules yielding high expressive power and knowledge transparency.

Due to the similarity to the way human beings describe reactions to specific situations, rule-based systems are used in various applications. From the development point of view, one of the main advantages of these systems is the ease of implementation and change, since the knowledge, unambiguously expressed in the form of rules, is encoded independently of the inference engine. Theoretically, this allows changing existing rules and adding new rules in a systematic way. However, practically, changing the elements of rule-based systems is far from being as trivial as often presumed. Due to the high number of rules encoding the system's knowledge, the number of dependencies and the effort of comprehending them easily exceeds the reasonable level of difficulty.

Moreover, the embedding of rule-based systems into object-oriented environments adds highly complex features like polymorphism and typing to these systems which raise another level of difficulty.

Hence, these systems may become much harder to maintain.

Most research in the field of rule-based systems maintenance focusses on validation and verification (V&V). But, V&V aim only at ensuring the conformance of a system to its requirements. From the perspective of long-term maintenance, additional aspects become crucial.

Maintenance assumes that changes of the system take place at any time following the deployment step. Such changes should keep the system well-structured and adaptable for transparency and maintainability. Furthermore, maintenance requires the identification of the "right place" in the rule base where the change has to be applied, while V&V trace the effect of changes on the system's consistency and correctness.

This thesis investigates reverse engineering mechanisms for rule-based systems. The central focus concerns the exploration of rule dependencies relying on static analysis. Several techniques are proposed, including the browsing of dependencies in a rule base, the generation of metrics, and clustering of rules. These techniques are designed for typed rule-based systems that combine object-oriented features with the declarative paradigm of rule-based systems. By transforming a particular rule-based system into a generic representation, these techniques can be applied to various rule-based systems.

The techniques proposed have been evaluated on a typed rule-based system with some 600 rules. They could provide several insights into the system's structure. Their appropriateness for maintenance tasks has also been shown.

Stats
The PDF-Document has been downloaded 12 times.