Joe's Framework Page
The following are some of my views and reference pages on Frameworks.
I must admit that I have been highly influenced
by many framework people, most notably
What Are Frameworks:
A framework is a reusable design of an application or
subsystem and is represented as a set of abstract classes
and the way their instances collaborate. Some frameworks
are more technology frameworks (vertical) solving problems
such as GUI's and object persistence, where other frameworks
are more domain specific (horizontal) solving say
manufacturing problems. Frameworks prescribes how to
decompose a problem. There are white-box frameworks where
you need to overwrite behavior or subclass in order to get
them to work, and there are black-box frameworks where you
customize by configuring which happens through polymorphism
and parameterization. Iteration during framework
development is important and they must "Work
out of the Box" as presented in the
Class pattern paper.
OOPSLA Framework Workshop:
I have attended OOPSLA since 1993 and have started attending
the OOPSLA Framework workshop.
Here is a summary from the OOPSLA'96
Framework Workshop. The
1996 position papers make for some good readings on
frameworks along with 1997 position papers.
The (1997) position paper link is a PDF format that also
has a better format summarizing 1996 results (primarily
because I have simply generated HTML from Word and MSWord doesn't
generate good HTML). There is also a good summary from 1997
which can be found here.
A lot of my research has been focused around frameworks. I have
consciously been working on Frameworks since 1992. The
following is a list of some of the more involved frameworks that I
have worked on and in which there are web pages for.
- WLIS -
A collaborative client-server database application for keeping track
of engineering design changes.
- TIS - A
Smalltalk version of the above for keeping track of general design
changes for tractors or whatever. Meta-data is used to describe
the changes in the system.
applications - These are JAVA/Perl based applications that allow
the users of the framework to develop customized web-based
applications without any programming. The two of interest are the
Tutorial Builder and the Task Management tools.
Modeling Tool - Which is a very elaborate framework for developing
a complete application for managing the finances of a business.
Meta-modeling was used for generating the business rules and the GUIs.
Other Framework Pages: