TY - THES A1 - Betz, Christian T1 - Scalable authoring of diagnostic case based training systems T1 - Skalierbare Erstellung diagnostischer fallbasierter Trainingssysteme N2 - Diagnostic Case Based Training Systems (D-CBT) provide learners with a means to learn and exercise knowledge in a realistic context. In medical education, D-CBT Systems present virtual patients to the learners who are asked to examine, diagnose and state therapies for these patients. Due a number of conflicting and changing requirements, e.g. time for learning, authoring effort, several systems were developed so far. These systems range from simple, easy-to-use presentation systems to highly complex knowledge based systems supporting explorative learning. This thesis presents an approach and tools to create D-CBT systems from existing sources (documents, e.g. dismissal records) using existing tools (word processors): Authors annotate and extend the documents to model the knowledge. A scalable knowledge representation is able to capture the content on multiple levels, from simple to highly structured knowledge. Thus, authoring of D-CBT systems requires less prerequisites and pre-knowledge and is faster than approaches using specialized authoring environments. Also, authors can iteratively add and structure more knowledge to adapt training cases to their learners needs. The theses also discusses the application of the same approach to other domains, especially to knowledge acquisition for the Semantic Web. N2 - Fallbasierte diagnostische Trainingssysteme (FDT) ermöglichen es Lernern, Wissen durch Anwendung in einem realistischen Kontext zu erwerben und zu festigen. In der medizinischen Ausbildung präsentieren FDT Systeme virtuelle Patienten, an denen der Lerner die Auswahl und Interpretation der richtigen Untersuchungen, die Diagnostik und die Bestimmung geeigneter Therapien erlernen und üben kann. Eine Vielzahl von Anforderungen durch die Lerner und die Autoren solcher Systeme hat zur Entwicklung unterschiedlicher Trainingsumgebungen geführt. Darunter gibt es einfache, präsentationsorientierte Systeme ebenso wie komplexe wissensbasierte Systeme, die exploratives Lernern erlauben. Diese Dissertation untersucht einen Ansatz und Werkzeuge, um FDT Systeme aus vorhandenen Daten (d.h. Dokumenten, beispielsweise Entlassschreiben) und mit Hilfe bekannter Werkzeuge (d.h. Textverarbeitung) zu entwickeln: Die Autoren annotieren dazu die Dokumente, um die Fälle zu modellieren. Eine skalierbare Wissensrepräsentation kann das so extrahierte Wissen auf verschiedenen Ebenen erfassen, angefangen mit unstrukturierten Elementen bis zu Wissensmodellen mit kausalen Beziehungen. Autoren können mit Hilfe des vorgestellten Ansatzes fallbasierte diagnostische Trainingssysteme mit geringerem Vorwissen und schneller erstellen als mit Hilfe spezialisierter Autorensysteme. Dabei können die Autoren insbesondere die Fälle sukzessive mit weiterem Wissen anreichern und so auf die Anforderungen ihrer Lerner anpassen. In der Dissertation wird darüber hinaus die Anwendung des Ansatzes und der entstandenen Werkzeuge auf andere Domänen untersucht. Besonders interessant ist dabei die Anwendung in der Wissensakquisition für das Semantic Web. KW - Computerunterstütztes Lernen KW - Medizin KW - Wissensrepräsentation KW - Trainingssystem KW - agile Prozesse KW - Semantic Web KW - d3web.Train KW - knowledge representation KW - training systems KW - agile processes KW - semantic web KW - d3web.Train Y1 - 2005 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:20-opus-17885 ER - TY - THES A1 - Nogatz, Falco T1 - Defining and Implementing Domain-Specific Languages with Prolog T1 - Definition und Implementierung domänenspezifischer Sprachen mit Prolog N2 - The landscape of today’s programming languages is manifold. With the diversity of applications, the difficulty of adequately addressing and specifying the used programs increases. This often leads to newly designed and implemented domain-specific languages. They enable domain experts to express knowledge in their preferred format, resulting in more readable and concise programs. Due to its flexible and declarative syntax without reserved keywords, the logic programming language Prolog is particularly suitable for defining and embedding domain-specific languages. This thesis addresses the questions and challenges that arise when integrating domain-specific languages into Prolog. We compare the two approaches to define them either externally or internally, and provide assisting tools for each. The grammar of a formal language is usually defined in the extended Backus–Naur form. In this work, we handle this formalism as a domain-specific language in Prolog, and define term expansions that allow to translate it into equivalent definite clause grammars. We present the package library(dcg4pt) for SWI-Prolog, which enriches them by an additional argument to automatically process the term’s corresponding parse tree. To simplify the work with definite clause grammars, we visualise their application by a web-based tracer. The external integration of domain-specific languages requires the programmer to keep the grammar, parser, and interpreter in sync. In many cases, domain-specific languages can instead be directly embedded into Prolog by providing appropriate operator definitions. In addition, we propose syntactic extensions for Prolog to expand its expressiveness, for instance to state logic formulas with their connectives verbatim. This allows to use all tools that were originally written for Prolog, for instance code linters and editors with syntax highlighting. We present the package library(plammar), a standard-compliant parser for Prolog source code, written in Prolog. It is able to automatically infer from example sentences the required operator definitions with their classes and precedences as well as the required Prolog language extensions. As a result, we can automatically answer the question: Is it possible to model these example sentences as valid Prolog clauses, and how? We discuss and apply the two approaches to internal and external integrations for several domain-specific languages, namely the extended Backus–Naur form, GraphQL, XPath, and a controlled natural language to represent expert rules in if-then form. The created toolchain with library(dcg4pt) and library(plammar) yields new application opportunities for static Prolog source code analysis, which we also present. N2 - Die Landschaft der heutigen Programmiersprachen ist vielfältig. Mit ihren unterschiedlichen Anwendungsbereichen steigt zugleich die Schwierigkeit, die eingesetzten Programme adäquat anzusprechen und zu spezifizieren. Immer häufiger werden hierfür domänenspezifische Sprachen entworfen und implementiert. Sie ermöglichen Domänenexperten, Wissen in ihrem bevorzugten Format auszudrücken, was zu lesbareren Programmen führt. Durch ihre flexible und deklarative Syntax ohne vorbelegte Schlüsselwörter ist die logische Programmsprache Prolog besonders geeignet, um domänenspezifische Sprachen zu definieren und einzubetten. Diese Arbeit befasst sich mit den Fragen und Herausforderungen, die sich bei der Integration von domänenspezifischen Sprachen in Prolog ergeben. Wir vergleichen die zwei Ansätze, sie entweder extern oder intern zu definieren, und stellen jeweils Hilfsmittel zur Verfügung. Die Grammatik einer formalen Sprache wird häufig in der erweiterten Backus–Naur–Form definiert. Diesen Formalismus behandeln wir in dieser Arbeit als eine domänenspezifische Sprache in Prolog und definieren Termexpansionen, die es erlauben, ihn in äquivalente Definite Clause Grammars für Prolog zu übersetzen. Durch das Modul library(dcg4pt) werden sie um ein zusätzliches Argument erweitert, das den Syntaxbaum eines Terms automatisch erzeugt. Um die Arbeit mit Definite Clause Grammars zu erleichtern, visualisieren wir ihre Anwendung in einem webbasierten Tracer. Meist können domänenspezifische Sprachen jedoch auch mittels passender Operatordefinitionen direkt in Prolog eingebettet werden. Dies ermöglicht die Verwendung aller Werkzeuge, die ursprünglich für Prolog geschrieben wurden, z.B. zum Code-Linting und Syntax-Highlighting. In dieser Arbeit stellen wir den standardkonformen Prolog-Parser library(plammar) vor. Er ist in Prolog geschrieben und in der Lage, aus Beispielsätzen automatisch die erforderlichen Operatoren mit ihren Klassen und Präzedenzen abzuleiten. Um die Ausdruckskraft von Prolog noch zu erweitern, schlagen wir Ergänzungen zum ISO Standard vor. Sie erlauben es, weitere Sprachen direkt einzubinden, und werden ebenfalls von library(plammar) identifiziert. So ist es bspw. möglich, logische Formeln direkt mit den bekannten Symbolen für Konjunktion, Disjunktion, usw. als Prolog-Programme anzugeben. Beide Ansätze der internen und externen Integration werden für mehrere domänen-spezifische Sprachen diskutiert und beispielhaft für GraphQL, XPath, die erweiterte Backus–Naur–Form sowie Expertenregeln in Wenn–Dann–Form umgesetzt. Die vorgestellten Werkzeuge um library(dcg4pt) und library(plammar) ergeben zudem neue Anwendungsmöglichkeiten auch für die statische Quellcodeanalyse von Prolog-Programmen. KW - PROLOG KW - Domänenspezifische Sprache KW - logic programming KW - knowledge representation KW - definite clause grammars Y1 - 2023 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:20-opus-301872 ER -