Research Work Carried Out by Students (Hofer03)
Andreas Hofer.
Process Types in Java.
Theses, Institute of Computer Languages, Vienna University of Technology, 2003.
Abstract:
Process types are types that encode message sequences. They can be used
for concurrent programming where many clients need to be synchronized.
While common synchronization mechanism mainly depend on features
provided by the operating system, process types allow synchronization
already at the type system level. Currently, no programmming language
has been developed or extended to support process types. This work is a
first step of the appliance of process types in object-oriented
programming languages. We extend Java, a well known strongly-typed
object-oriented programming languages, with language features that
implement the semantics of process types. The focus lies in basic
modifications to the syntax and semantics, including both the compiled
and interpreted elements of the language. Wherever necessary, we use a
formal model based on abstract data types in combination with natural
semantics to describe implementation details. This thesis shows that
Java ca be extended to support process types, however, not all theory
aspects of process types can be integrated. Especially static type
checking is limited. Aspects of Java that are implemented in the
language API, for example serialization or reflection, are not
considered in this work.
@MastersThesis{Hofer03,
author = {Andreas Hofer},
title = {Process Types in {J}ava},
school = {Institute of Computer Languages, Vienna University of Technology},
year = 2003,
address = {Vienna, Austria}
}