Theory, design, and implementation of programming languages.
Concurrent Programming Languages.
Compilers and Program Analysis.
Code optimization and static analysis.
Operating Systems and Distributed Systems.
Research Projects
JR
Professor Ronald A. Olsson and I have been exploring the
integration of the
SR programming language's concurrency model with
an object-oriented language. Our current
object-oriented host language is Java. JR is an
extended Java that supports SR's concurrency model and
extensions to that model.
More information can be found at the
JR website.
Cooperative Multithreading
I was part of a small group, under the direction of
Professor Ronald A. Olsson, that explored the benefits and
trade-offs of cooperative multithreading as compared to true
concurrent programming under preemptive multithreading.
Publications
These publications are provided only for educational (non-commercial) uses.
All of these publications are copyrighted by the authors, by publishing
companies, or by conferences or other organizations. Any user accessing one of
these publications is expected to adhere to the specifics of the copyright for
that publication.
B. Y. Man, H. N. Chan, A. J. Gallagher, A. S. Goundan, A. W. Keen and R. A. Olsson. A Definition of and Linguistic Support for Partial Quiescence. Concurrency and Computation: Practice & Experience, To Appear (Early View).
B. Y. Man, H. N. Chan, A. J. Gallagher, A. S. Goundan, A. W. Keen and R. A. Olsson. Toward a Definition of and Linguistic Support for Partial Quiescence. 12th International Euro-Par Conference (Euro-Par 2006), August/September 2006.
<ps>
<pdf>
H.N. Chan, E. Pauli, B. Y. Man, A. W. Keen, and R. A. Olsson.
An Exception Handling Mechanism for the Concurrent Invocation Statement.
11th International Euro-Par Conference (Euro-Par 2005), August 2005.
<ps>
<pdf>
B. Cannon and A. W. Keen.
Localized Type-Inference in Python.
PyCon 2005, March 2005
<online> (Brett's <thesis paper>).
A. W. Keen, T. Ge, J. T. Maris, and R. A. Olsson.
JR: Flexible Distributed Programming in an extended Java.
Transactions on Programming Languages and Systems (TOPLAS), Volume 26,
Issue 3, May 2004.
<ps>
<pdf>
J. T. Maris, A. W. Keen, T. Ishihara, and R. A. Olsson.
A Comparison of Concurrent Programming and Cooperative Multithreading under Load Balancing Applications.
Concurrency and Computation: Practice & Experience, Volume 16, Issue 4, 2004 (January 19, 2004 online).
A. W. Keen and R. A. Olsson.
An Inter-entry Invocation Selection Mechanism for Concurrent Programming Languages.
9th International Euro-Par Conference (Euro-Par 2003), August 2003.
<ps>
<pdf>
A. W. Keen, T. Ishihara, J. T. Maris, T. Li,
E. F. Fodor, and R. A. Olsson. A Comparison of Concurrent
Programming and Cooperative Multithreading.
Concurrency and Computation: Practice & Experience, Volume 15, Issue 1, 2003 (January 6, 2003 online).
R. A. Olsson, G. D. Benson, T. Ge, and A. W. KeenFairness in Shared Invocation Servicing.
Computer Languages, Systems & Structures, Volume 28, December 2002.
A. W. Keen and R. A. Olsson.
Exception Handling During Asynchronous Method Invocation.
8th International Euro-Par Conference (Euro-Par 2002), August 2002.
<ps>
T. Ishihara, A. W. Keen, J. T. Maris, and R. A. Olsson.
CoW: A Cooperative Multithreading Web Server.
The 2002 International Conference on Parallel and Distributed Processing
Techniques and Applications (PDPTA '02), June 2002.
E. Wohlstadter, A. W. Keen, S. Jackson, and P. Devanbu.
Accommodating Evolution in AspectJ.
Workshop on Advanced Separation of Concerns, OOPSLA 2001, October 2001.
<pdf>
A. W. Keen, T. Ge, J. T. Maris, and R. A. Olsson.
JR: Flexible Distributed Programming in an Extended Java.
International Conference on Distributed Computing Systems (ICDCS 2001), April 2001.
<ps>
<pdf>