An efficient and portable implementation of a concurrent constraint language

Persistent Link:
http://hdl.handle.net/10150/288878
Title:
An efficient and portable implementation of a concurrent constraint language
Author:
Gudeman, David Alan
Issue Date:
1997
Publisher:
The University of Arizona.
Rights:
Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
Abstract:
This dissertation describes a sequential implementation of a concurrent constraint programing language called Janus. The language implemented is somewhat different from the original Janus; it is a flat guarded language with assignment, similar to Strand and to FGHC. This implementation, called jc (Janus Compiler) compiles Janus source code to C, and then calls a C compiler to compile the C code. This technique gives us most of the performance benefits of compiling to machine code, but also has the portability of an interpreter. There are some special problems involved in the implementation of a language like Janus. First, Janus data is dynamically typed. Therefore each data value must carry type information and in principle every operation must check this type information in order to operate correctly. Second, procedure calls are much more common in Janus than in most other languages since every conditional and every loop must be coded as a call to a procedure. Third, Janus has the ability to suspend if a variable is evaluated before it is assigned a value. The jc implementation addresses these problems with a set of novel design decisions and optimization techniques. It was our goal to ensure, as far as possible, that programs that do not make essential use of the special features of Janus should not pay the performance penalty of having those features available. In particular, a program that is a fairly direct translation of a C program to Janus should execute about as fact as the original C program did.
Type:
text; Dissertation-Reproduction (electronic)
Keywords:
Computer Science.
Degree Name:
Ph.D.
Degree Level:
doctoral
Degree Program:
Graduate College; Computer Science
Degree Grantor:
University of Arizona
Advisor:
Debray, Saumya K.

Full metadata record

DC FieldValue Language
dc.language.isoen_USen_US
dc.titleAn efficient and portable implementation of a concurrent constraint languageen_US
dc.creatorGudeman, David Alanen_US
dc.contributor.authorGudeman, David Alanen_US
dc.date.issued1997en_US
dc.publisherThe University of Arizona.en_US
dc.rightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.en_US
dc.description.abstractThis dissertation describes a sequential implementation of a concurrent constraint programing language called Janus. The language implemented is somewhat different from the original Janus; it is a flat guarded language with assignment, similar to Strand and to FGHC. This implementation, called jc (Janus Compiler) compiles Janus source code to C, and then calls a C compiler to compile the C code. This technique gives us most of the performance benefits of compiling to machine code, but also has the portability of an interpreter. There are some special problems involved in the implementation of a language like Janus. First, Janus data is dynamically typed. Therefore each data value must carry type information and in principle every operation must check this type information in order to operate correctly. Second, procedure calls are much more common in Janus than in most other languages since every conditional and every loop must be coded as a call to a procedure. Third, Janus has the ability to suspend if a variable is evaluated before it is assigned a value. The jc implementation addresses these problems with a set of novel design decisions and optimization techniques. It was our goal to ensure, as far as possible, that programs that do not make essential use of the special features of Janus should not pay the performance penalty of having those features available. In particular, a program that is a fairly direct translation of a C program to Janus should execute about as fact as the original C program did.en_US
dc.typetexten_US
dc.typeDissertation-Reproduction (electronic)en_US
dc.subjectComputer Science.en_US
thesis.degree.namePh.D.en_US
thesis.degree.leveldoctoralen_US
thesis.degree.disciplineGraduate Collegeen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Arizonaen_US
dc.contributor.advisorDebray, Saumya K.en_US
dc.identifier.proquest9729453en_US
dc.identifier.bibrecord.b34800888en_US
All Items in UA Campus Repository are protected by copyright, with all rights reserved, unless otherwise indicated.