A Change-Oriented Architecture for Mathematical Authoring Assistance
Total Page:16
File Type:pdf, Size:1020Kb
Universität des Saarlandes Naturwissenschaftlich-Technische Fakultät I Fachrichtung Informatik A Change-Oriented Architecture for Mathematical Authoring Assistance Marc Wagner Dissertation zur Erlangung des Grades des Doktors der Ingenieurwissenschaften der Naturwissenschaftlich-Technischen Fakultäten der Universität des Saarlandes Saarbrücken, 2010 Dekan: Prof. Dr. Holger Hermanns Vorsitzender: Prof. Dr. Gert Smolka Gutachter: Prof. Dr.-Ing. Jörg H. Siekmann Prof. Dr. Dr. h.c. mult. Reinhard Wilhelm Prof. Dr. Fairouz Kamareddine Beisitzer: Priv.-Doz. Dr. Helmut Horacek Kolloquium: 15.11.2010 Geleitwort V Geleitwort The monograph is the dissertation of Marc Wagner. Motivated by the problem to support the writing of mathematical documents by mathematical assistance systems, it focuses on the architecture of distributed systems in general with the application to bridge the gap between the mathematical language used in documents and the formal logic representa- tions of mathematical assistance systems. In distributed software systems the representations of the internal states of each subsys- tem are diverse and need to be synchronized. State of the art is that each subsystem syn- chronizes with the connected subsystems by pushing the updates of its internal state or pulling the partners’ internal state. This design of interfaces has the drawback that each subsystem needs to know the signature of interface functions of other subsystems and how to map its own data representation to the remote data representation and back. Con- sequently, any change in either the interface functions or the data representations requires adaptations in all connected subsystems. The solution proposed by Marc Wagner is the document-centric change-oriented architecture (COA) design pattern for distributed software systems, where the internal state of each software module is viewed as a docu- ment and the communication between software modules is exclusively based on exchang- ing updates on the documents. Mediators responsible to bidirectionally transform the dif- ferent document types form the glue layer between two software modules. The mediators are based on an invertible grammar formalism to describe the document transformations and provide efficient support to map changes in one document format to another. The design pattern is applied to interface a text-editor used to author mathematical docu- ments with a proof assistance system. The major problem in interfacing these systems is to mediate between the texts in the editor written in natural language mixed with mathe- matical notations for concepts, formulas and proofs, and the logic based representation in the proof assistance system. Following a controlled natural language approach for writing the mathematical documents, Marc Wagner demonstrates how the invertible grammar formalism in the mediators of the change-oriented architecture can be used to propagate changes made by the author from the text-editor to the mathematical assistance system and back, for instance, to generate proof descriptions in natural language. Furthermore, he demonstrates how the problem to dynamically extend grammars to accommodate new concepts and notations defined in the documents can be solved using the change-oriented architecture design pattern. VI Geleitwort Agility of software development processes is a major issue in order to efficiently cope with the evolution of software to adapt it to new requirements. Keeping as much as pos- sible the impacts of changes of individual modules local to these modules is essential for an agile software development process. The change-oriented architecture proposed in this thesis and its separation of logic and data at the interfaces between distributed software components provides an interesting design pattern for distributed software systems that addresses issues from software evolution already in the software architecture. Dr. Serge Autexier, DFKI GmbH (Deutsches Forschungszentrum für Künstliche Intelli- genz), Sichere Kognitive Systeme, Bremen, Januar 2011 Kurzzusammenfassung VII Kurzzusammenfassung Das computergestützte Verfassen mathematischer Dokumente mit einem wissenschaftli- chen Text-Editor erfordert neue Techniken des mathematischen Wissensmanagements und der Wissenstransformation, um die Arbeitsweise eines Assistenzsystems, wie die des ΩMEGA Systems, zu organisieren. Die Herausforderung besteht darin, dass im gesamten System verteilt verschiedene Arten von vorgegebenem und abgeleitetem Wissen existie- ren, die in unterschiedlichen Formen und Abhängigkeiten auftreten. Wenn Änderungen in diesen Wissenseinheiten auftreten, müssen diese effektiv propagiert werden. In dieser Arbeit wird eine Änderungs-Orientierte Architektur für das computergestütz- te Verfassen mathematischer Dokumente vorgestellt. Dabei werden Dokumente als Schnittstelle verwendet und die Komponenten der Architektur interagieren, indem sie aktiv die Schnittstellendokumente ändern und auf Änderungen reagieren. Um diese Art der Interaktion zu optimieren, werden in dieser Arbeit zwei wesentliche Methoden vorge- stellt. Zum einen wird eine effiziente Methode zur Berechnung von gewichteten semanti- schen Änderungen zwischen zwei Versionen eines Dokumentes entwickelt. Zum anderen wird ein umkehrbarer Grammatikformalismus vorgestellt, der zur automatisierten bidirek- tionalen Transformation von Schnittstellendokumenten dient. Die vorgestellte Architektur ist eine vollwertige Grundlage zum computergestützten Verfassen mathematischer Dokumente mit semantischen Annotationen und einer kontrol- lierten mathematischen Sprache. Abstract IX Abstract The computer-assisted authoring of mathematical documents using a scientific text-editor requires new mathematical knowledge management and transformation techniques to organize the overall workflow of an assistance system like the ΩMEGA system. The chal- lenge is that, throughout the system, various kinds of given and derived knowledge units occur in different formats and with different dependencies. If changes occur in these piec- es of knowledge, they need to be effectively propagated. We present a Change-Oriented Architecture for mathematical authoring assistance. Thereby, documents are used as interfaces and the components of the architecture interact by actively changing the interface documents and by reacting on changes. In order to op- timize this style of interaction, we present two essential methods in this thesis. First, we develop an efficient method for the computation of weighted semantic changes between two versions of a document. Second, we present an invertible grammar formalism for the automated bidirectional transformation between interface documents. The presented architecture provides an adequate basis for the computer-assisted au- thoring of mathematical documents with semantic annotations and a controlled mathemat- ical language. Zusammenfassung XI Zusammenfassung Das computergestützte Verfassen mathematischer Dokumente mit einem wissenschaftli- chen Text-Editor erfordert neue Techniken des mathematischen Wissensmanagements und der Wissenstransformation, um die Arbeitsweise eines mathematischen Assistenzsys- tems, wie die des ΩMEGA Systems, zu organisieren. Die Herausforderung besteht darin, dass im gesamten System verteilt verschiedene Arten von vorgegebenem und abgeleite- tem Wissen existieren, die in unterschiedlichen Formaten und Abhängigkeiten auftreten. Diese Wissenseinheiten und deren Abhängigkeiten müssen gepflegt werden und, wenn Änderungen in einer Komponente auftreten, müssen diese effektiv propagiert werden. In dieser Arbeit wird eine Änderungs-Orientierte Architektur für das computer- gestützte Verfassen mathematischer Dokumente vorgestellt. Dabei werden Dokumente als Schnittstelle verwendet und die Komponenten der Architektur interagieren, indem sie aktiv die Schnittstellendokumente ändern und auf Änderungen reagieren. Um diese Art der Interaktion zu optimieren, werden in dieser Arbeit zwei wesentliche Methoden vorge- stellt. Zum einen wird eine effiziente Methode zur Berechnung von gewichteten semanti- schen Änderungen zwischen zwei Versionen eines Dokumentes entwickelt. Eine Ähnlich- keitsspezifikation wird eingeführt, die es erlaubt zu definieren, wann zwei Teile eines Do- kumentes als ähnlich oder gleich zu betrachten sind. Da die Elemente eines Schnittstel- lendokumentes Objekte in der entsprechenden Komponente repräsentieren, wird es der Komponente ermöglicht, die geschätzten Auswirkungen für die Änderung oder Löschung dieser Objekte in einer Änderungsspezifikation zu gewichten. Das Problem der gewichte- ten Baum-zu-Baum Korrektur wird hierbei auf ein Suchproblem reduziert. Zum anderen wird ein umkehrbarer Grammatikformalismus vorgestellt, der zur auto- matisierten bidirektionalen Transformation von Schnittstellendokumenten verschiedener Komponenten dient. Zu den Regeln der Grammatik können Unifikationsbedingungen formuliert werden, die durch den konstruierten Syntaxbaum erfüllt werden müssen. Um nicht-transformierte Teile eines Dokumentes bei der Rücktransformation generieren zu können, wird der Ablauf der Transformation gespeichert. Die Verarbeitungsreihenfolge einer Grammatikregel kann deklarativ angegeben werden, womit vorhandenes Wissen über den Informationsfluss in einem Dokument in die Grammatikregeln eingebettet wer- den kann. XII Zusammenfassung Die vorgestellte Architektur ist eine vollwertige Grundlage für das computergestützte Verfassen mathematischer Dokumente mit semantischen Annotationen und einer kontrol- lierten