Date: Tue, 10 Dec 1996 21:47:30 GMT Server: NCSA/1.4.2 Content-type: text/html Last-modified: Fri, 08 Nov 1996 23:11:08 GMT Content-length: 4994
Mike's approach to source code reuse and adaptability involves the use of fine-grained components, where each component ideally captures a single decision or factor. In object oriented programming each component encodes an incomplete piece of a class. The key to this approach is to provide a method for implementing components in such a way that they can be composed and independently interchanged. Mike is proposing a way to do this using inheritance, parameterization, and compile-time binding. To manage the components and produce designs that use them, Mike has adapted a design approach based on collaborations and roles.
To learn more about Mike's research, you may download one or more of the following papers co-authored with Mike's thesis advisor, David Notkin.
Using C++ Templates to Implement Role-Based Designs [155k Postscript] [47k gzipped] [text abstract]. This paper describes the mechanisms and compares Mike's approach to a framework approach for implementating object collaborations. It was presented at the JSSST International Symposium on Object Technologies and Systems (ISOTAS'96) in March 1996.
Using Role Components to Implement Collaboration-Based Designs [163k Postscript] [50k gzipped] [text abstract]. This paper describes a design approach adapted from Jacobson's OOSE (use-case-like) methodology. The approach solves a number of problems in the recylcing machine design from Jacobson's book and improves the adaptability of the resulting application to unanticipated change. There is also some discussion of Mike's experience in using the approach on a larger application. The paper will be presented at OOPSLA'96 in October 1996.
Decoupling Change from Design[160k Postsript] [50k gzipped] [text abstract]. In this paper Mike decomposes the modules from traditional designs into submodules (using the mechanisms described in the ISOTAS paper) with interesting results. The basic argument is that change can be better addressed by submodules at a level lower than that of traditional design modules. The analysis uses several published designs for the KWIC application and a collection of changes said to be difficult for certain designs. This paper will be presented at the ACM SIGSOFT Symposium on the Foundations of Software Engineering in October 1996.
Mike participated in the Doctoral Symposium at OOPSLA'95 and had a poster demonstrating an interesting composition of data structures using his approach to fine-grained components.
Mike participated in the Subjectivity Workshop at OOPSLA'94 and will be participating again in the Subjectivity workshop at OOPSLA'96.
In addition to software engineering, Mike has other research interests, including software quality, participatory design, user interfaces, image processing, and color spaces. Mike's thesis advisor is David Notkin.
Here are some pointers to papers and related work by others.
visits since 8 November 1996.