I'm still pretty much in hermit mode, but I am emerging for a moment to post the announcement for my thesis defense on Monday. It's an open presentation, but I don't do well with public speaking and to be honest I'd be more comfortable if nobody showed up. Still, some of you explicitly asked me to keep you informed, so here it is:
College of Computer and Information Science
Northeastern University, Boston
PhD Thesis Defense:
Doug Orleans
Title:
PROGRAMMING LANGUAGE SUPPORT FOR SEPARATION OF CONCERNS
Monday, June 20, 2005
2:00pm
366 West Village H
Abstract:
The Socrates programming language unifies and generalizes object-oriented and aspect-oriented language mechanisms that support separation of concerns. In particular, methods and advice can be viewed as special cases of the same general mechanism: units of behavior that specify what to do (the body) and when to do it (the predicate). A program in the Socrates core language consists of messages, representing abstract operations, and branches, representing concrete units of behavior that implement parts of one or more operations. Both the body and the predicate of a branch can be unrestricted procedures, allowing the program code to be flexibly organized by concern, rather than only by type or operation. Precedence between branches whose predicates overlap is determined by logical implication analysis (a generalization of inheritance-based object-oriented precedence rules) plus mechanisms for overriding this default precedence relation (to support crosscutting behavior). Socrates also provides layers of abstraction on top of these primitive constructs to emulate features of other languages, including multimethods, generalized open classes, pointcuts and advice, structural pattern matching, classifiers, and composition filters.
Socrates is implemented as a language embedded in PLT Scheme, so that Socrates code and Scheme code can be freely intermixed; in addition, messages are Scheme procedures and branches are first-class values that can be dynamically added to and removed from the global dispatch table. This dissertation presents the specification of this embedding, as well as a case study of a non-trivial GUI application implemented in Socrates, a formulation of the Law of Demeter for Socrates including a Socrates program to dynamically check for violations, and a partial-evaluator-based algorithm to analyze predicate implication. The Socrates implementation is a free software project on SourceForge (http://socrates-lang.sf.net/). The thesis is also available on SourceForge.
Thesis committee:
Karl Lieberherr (advisor)
Mitchell Wand
Greg Sullivan, BAE Systems
After the defense, I still have more revisions to make on the dissertation, so I'm not likely to be done until the end of July. But the end is nearing.
Also, last weekend I went down to South Jersey for my dad's retirement party, and we visited a geocache in Berlin Park where my dad worked for 26 years. I added a log entry, including some pictures.
College of Computer and Information Science
Northeastern University, Boston
PhD Thesis Defense:
Doug Orleans
Title:
PROGRAMMING LANGUAGE SUPPORT FOR SEPARATION OF CONCERNS
Monday, June 20, 2005
2:00pm
366 West Village H
Abstract:
The Socrates programming language unifies and generalizes object-oriented and aspect-oriented language mechanisms that support separation of concerns. In particular, methods and advice can be viewed as special cases of the same general mechanism: units of behavior that specify what to do (the body) and when to do it (the predicate). A program in the Socrates core language consists of messages, representing abstract operations, and branches, representing concrete units of behavior that implement parts of one or more operations. Both the body and the predicate of a branch can be unrestricted procedures, allowing the program code to be flexibly organized by concern, rather than only by type or operation. Precedence between branches whose predicates overlap is determined by logical implication analysis (a generalization of inheritance-based object-oriented precedence rules) plus mechanisms for overriding this default precedence relation (to support crosscutting behavior). Socrates also provides layers of abstraction on top of these primitive constructs to emulate features of other languages, including multimethods, generalized open classes, pointcuts and advice, structural pattern matching, classifiers, and composition filters.
Socrates is implemented as a language embedded in PLT Scheme, so that Socrates code and Scheme code can be freely intermixed; in addition, messages are Scheme procedures and branches are first-class values that can be dynamically added to and removed from the global dispatch table. This dissertation presents the specification of this embedding, as well as a case study of a non-trivial GUI application implemented in Socrates, a formulation of the Law of Demeter for Socrates including a Socrates program to dynamically check for violations, and a partial-evaluator-based algorithm to analyze predicate implication. The Socrates implementation is a free software project on SourceForge (http://socrates-lang.sf.net/). The thesis is also available on SourceForge.
Thesis committee:
Karl Lieberherr (advisor)
Mitchell Wand
Greg Sullivan, BAE Systems
After the defense, I still have more revisions to make on the dissertation, so I'm not likely to be done until the end of July. But the end is nearing.
Also, last weekend I went down to South Jersey for my dad's retirement party, and we visited a geocache in Berlin Park where my dad worked for 26 years. I added a log entry, including some pictures.
From:
no subject
From:
no subject
I'm glad to hear that the process is finally working its way to the end.
Knock 'em dead at your defense!
From:
no subject
From:
no subject
From: (Anonymous)
How did it go?
From:
no subject
From: (Anonymous)
Ok, Deal!