VTechWorks staff will be away for the Thanksgiving holiday beginning at noon on Wednesday, November 27, through Friday, November 29. We will resume normal operations on Monday, December 2. Thank you for your patience.
 

Polymorphic types for constructing concurrent objects and layered communication protocols

dc.contributor.authorLavender, R. Gregoryen
dc.contributor.committeechairKafura, Dennis G.en
dc.contributor.committeememberNance, Richard E.en
dc.contributor.committeememberLee, John A.N.en
dc.contributor.committeememberArthur, James D.en
dc.contributor.committeememberAbrams, Marcen
dc.contributor.committeememberMidkiff, Scott F.en
dc.contributor.committeememberCannata, Philip E.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T21:14:22Zen
dc.date.adate2008-06-06en
dc.date.available2014-03-14T21:14:22Zen
dc.date.issued1993-05-05en
dc.date.rdate2008-06-06en
dc.date.sdate2008-06-06en
dc.description.abstractPolymorphic type abstractions are proposed for constructing concurrent objects and layered peer-to-peer communication protocols, both of which exhibit inherently asynchronous behavior. The type abstractions are shown to be both expressive and efficient in the context of a statically typed object-oriented language. Where appropriate, the utility of the type abstractions is illustrated by demonstrating their usefulness in concurrent programming using the Actor model. The results of this work have direct applicability to problems in concurrent programming, distributed systems, and communication protocol architectures. An extensible, polymorphic type abstraction for structuring concurrent method execution in a strongly typed object-oriented language is introduced. The type abstraction is called a <i>polymorphic lambda type</i>. A lambda type is an abstraction for a procedure that is based in part on λ-abstraction in the λ-calculus. The lambda type is a key component of a concurrent object model that allows methods defined in a class to be instantiated as <i>lambda objects</i>. Lambda objects are used to represent some aspect of behavior and they represent a first-class execution environment. The first-class nature of lambda objects facilitates the construction of more powerful computational abstractions, primarily those requiring 'asynchronous interaction and concurrent execution. Through a series of refinements, lambda objects are shown to be as expressive as traditional procedures with little extra cost for call setup and invocation. Concurrent objects require synchronization control. A type abstraction called a <i>behavior set</i> is introduced for specifying synchronization constraints in a strongly typed concurrent object-oriented language with Actor-style concurrency semantics. The behavior set abstraction offers a solution to structuring synchronization control that coexists with an inheritance mechanism, thereby avoiding the inheritance anomaly.en
dc.description.degreePh. D.en
dc.format.extentxiii, 205 leavesen
dc.format.mediumBTDen
dc.format.mimetypeapplication/pdfen
dc.identifier.otheretd-06062008-170911en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-06062008-170911/en
dc.identifier.urihttp://hdl.handle.net/10919/38440en
dc.language.isoenen
dc.publisherVirginia Techen
dc.relation.haspartLD5655.V856_1993.L383.pdfen
dc.relation.isformatofOCLC# 29179279en
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subject.lccLD5655.V856 1993.L383en
dc.subject.lcshCommunications softwareen
dc.subject.lcshObject-oriented programming (Computer science)en
dc.titlePolymorphic types for constructing concurrent objects and layered communication protocolsen
dc.typeDissertationen
dc.type.dcmitypeTexten
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.namePh. D.en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
LD5655.V856_1993.L383.pdf
Size:
9.09 MB
Format:
Adobe Portable Document Format