Chair: Dennis Kafura
Monday, 8:30 am 5:00 pm
Convention Ctr 102F
As at past OOPSLA conferences, the Doctoral Symposium provides a selected group of doctoral students with a forum to present their research work and to obtain the feedback of mentors drawn from university faculty and industry laboratories. The goal of the symposium is to expose the student and the student's work to helpful but critical external peerevaluation before the student's final defense in order to improve upon his or her thesis work. In addition, the mentors give helpful suggestions on how the student's work can be presented with the best advantage tothe professional community and to prospective employers. This year's mentors are Gul Agha (University of Illinois), Greg Lavender(Sun Microsystems), Satoshi Matsuoka (Tokyo Institute of Technology), and Dennis Kafura (Virginia Tech, Chair).
The symposium is conducted in the style of a technical workshop. Each student is asked to present a synopsis of their work in no more than 5 minutes and an expanded description of up to 25 minutes. The mentors and other students are given 15 minutes to provide feedback both on the technical content of the work as well as its presentation.
This year 10 doctoral students were selected. The selected participants were chosen on the basis of the mentors evaluation of the students descriptions of their research, and whether the work was sufficiently advanced to have some preliminary results but with sufficient time remaining to benefit from the symposium experience.
The participating doctoral students and the titles of their research work are:
1. A Minimalist Approach to Framework Documentation
Ademar Aguiar, Universidade do Porto
Good documentation is crucial for the success of frameworks. Emphasizing a framework's understandability and usability, rather than describing its design, a new documenting approach is proposed combining existing document styles in a kind of "minimalist" framework manual. Benefits and drawbacks are evaluated from frameworks of different domains and complexity.
2. The META4 Programming Language
Jason Kim, Lehigh University
META4 is an object-oriented language with first order reasoning capability that also includes reasoning about the change that the objects go through over time, efficient partial evaluation via runtime propagation of specific values as well as explicit run-time code generation, and a source code to machine code compiling engine.
3. Object-Oriented Algorithms with Functional Style
Johan Larsson, Stockholm University
This project identifies polytypic object-oriented programming, that is, polymorphism over both type and kind variables, recursion patterns, etc. This style of programming abstracts away from specific data types and is therefore also known as "generic programming" in the functional programming community. This research will demonstrate polytypic object-oriented programming.
4. Building an Object-Oriented Problem Solving Environment for the Parallel Numerical Solution on PDEs
Mikel Lujan, University of Manchester
This PhD project proposes to investigate (1) the advantages and disadvantages that object-oriented design and programming can bring to the numerical solution of partial differential equations (PDEs) and numerical linear algebra (NLA) and (2) the integration of PDE and NLA object-oriented libraries with intelligent agents to form the basis of a problem solving environment (PSE) for numerical computation.
5. Model and Techniques to Specify, Develop and Use a Framework: A Meta Modeling Approach
Pascal Rapicault, University of Nice
Object-oriented frameworks are very popular for the efficiency they provide in reusing software. However, their use by instantiation, their enrichment by composition, and their extension by specialization, are all complicated operations requiring simplification by the introduction of new techniques and models. The goal of this research is to provide models to express the structural and behavioral dependencies of a framework.
6. Optimization of Distributed, Object-Oriented Systems
William Ray, Naval Postgraduate School
Distributed object oriented systems usually consist of object servers and client applications on a network of computers. Optimal deployment strategies for object servers change given deviations in object servers, client applications, operational missions, hardware modifications, and various other changes to the environment. Object servers, client applications, mission use patterns, and network resources will be profiled. From these profiles, a set of non-linear equations will be produced that, when solved for minimal response time, produce an optimal deployment strategy.
7. Safely Creating Correct Subclasses without Seeing Superclass Code
Clyde Ruby, Iowa State University
A major problem for frameworks is how to provide enough information about superclasses, so programmers can safely create new subclasses without seeing superclass code. I will describe a reasoning technique that says how to safely override methods and when it is safe to call the superclass's methods.
8. A Workbench for Quality Based Software Re-engineering to Object Oriented Platforms
Ladan Tahvildari, University of Waterloo
This research presents a re-engineering workbench and architecture that allows for legacy systems written in procedural languages to be migrated to new object-oriented platforms. The methodology allows for specific design and quality requirements of the target migrant system to be considered during the re-engineering process through an iterative and incremental process. The migration process recovers an object model from the procedural code and incrementally refines it taking into consideration the design requirements for the migrant system.
9. Constrained Objects for Modeling Complex Structures
Pallavi Tambay, SUNY at Buffalo
Constrained objects are objects whose state is regulated by constraints. They are applicable in many domains, e.g., engineering and organizational modeling. Our proposed language (Cob) supports class hierarchies, constraints, and preferences; and our computational model supports constraint satisfaction, optimization and relaxation. Constrained objects are thus a declarative approach to object-oriented programming. Our contribution is a novel programming language called Cob (Constrained Objects) and computational environment.
10. An Understandability Metric for Object-Oriented Programs
Naoko Yamasaki, Ariake National College of Technology
We propose a software metric to evaluate understandability of OOPs. This metric is composed of a cost formula for understanding based on cognitive science and a model of the understanding process. Unlike Chidamber's metrics, our metric considers instances as well as classes. We have also evaluated understandability of structured programs using this metric.