{"title":"Design, Implementierung und Evaluierung einer virtuellen Maschine für Oz","authors":"Ralf Scheidhauer","doi":"10.22028/D291-25738","DOIUrl":null,"url":null,"abstract":"Diese Arbeit beschreibt Design, Implementierung und Evaluierung einer virtuellen Maschine fur die Kernsprache von Oz, die wir mit L bezeichnen. Wir stellen L aus didaktischen Grunden als Erweiterung einer Teilsprache von SML dar. Die wichtigsten Unterschiede von L zu SML sind: logische Variablen, Threads, Synchronisation und dynamische Typisierung. Ausgehend von einer informellen Beschreibung der dynamischen Semantik uber ein Graphenmodell entwickeln wir daraus schrittweise auf unterschiedlichen Abstraktionsebenen eine virtuelle Maschine fur L. Wir beschreiben zunachst ein einfaches Grundmodell. Darauf aufbauend diskutieren wir verschiedene Optimierungen. Schlieslich verfeinern wir weiter, indem wir auf Aspekte der Implementierung des Modells eingehen. Abschliesend evaluieren wir die Effektivitat der vorgestellten Techniken an einer Reihe von groseren Anwendungen aus der Praxis. Weiter zeigen wir, das die Implementierung der Sprache kompetitiv ist mit den schnellsten Emulatoren fur statisch getypte funktionale Sprachen. \nThis thesis presents the design, implementation and evaluation of a virtual machine for the core language of Oz, which we call L. We present L for didactic reasons as an extension of a sublanguage of SML. The most important differences between L and SML are: logic variables, threads, synchronization and dynamic typing. Starting from an informal description of the dynamic semantics in terms of a graph model, we develop step by step on various levels of abstraction a virtual machine for L. We begin with a simple basic model. We then propose several optimizations of this model. Afterwards we keep refining our approach by addressing specific aspects of the implementation of the model. Finally we evaluate the effectiveness of the techniques using a set of larger real world applications. Further we show, that the implementation of the language is competitive with the fastest emulators for statically typed functional languages.","PeriodicalId":165875,"journal":{"name":"Künstliche Intell.","volume":"23 2","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"16","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Künstliche Intell.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.22028/D291-25738","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 16
Abstract
Diese Arbeit beschreibt Design, Implementierung und Evaluierung einer virtuellen Maschine fur die Kernsprache von Oz, die wir mit L bezeichnen. Wir stellen L aus didaktischen Grunden als Erweiterung einer Teilsprache von SML dar. Die wichtigsten Unterschiede von L zu SML sind: logische Variablen, Threads, Synchronisation und dynamische Typisierung. Ausgehend von einer informellen Beschreibung der dynamischen Semantik uber ein Graphenmodell entwickeln wir daraus schrittweise auf unterschiedlichen Abstraktionsebenen eine virtuelle Maschine fur L. Wir beschreiben zunachst ein einfaches Grundmodell. Darauf aufbauend diskutieren wir verschiedene Optimierungen. Schlieslich verfeinern wir weiter, indem wir auf Aspekte der Implementierung des Modells eingehen. Abschliesend evaluieren wir die Effektivitat der vorgestellten Techniken an einer Reihe von groseren Anwendungen aus der Praxis. Weiter zeigen wir, das die Implementierung der Sprache kompetitiv ist mit den schnellsten Emulatoren fur statisch getypte funktionale Sprachen.
This thesis presents the design, implementation and evaluation of a virtual machine for the core language of Oz, which we call L. We present L for didactic reasons as an extension of a sublanguage of SML. The most important differences between L and SML are: logic variables, threads, synchronization and dynamic typing. Starting from an informal description of the dynamic semantics in terms of a graph model, we develop step by step on various levels of abstraction a virtual machine for L. We begin with a simple basic model. We then propose several optimizations of this model. Afterwards we keep refining our approach by addressing specific aspects of the implementation of the model. Finally we evaluate the effectiveness of the techniques using a set of larger real world applications. Further we show, that the implementation of the language is competitive with the fastest emulators for statically typed functional languages.