Call for Participation:
OOPSLA 2001 Workshop
"Beyond Design: Patterns (mis)used"
Tampa, Florida USA
In the past seven years, a strong pattern community
has been built, consisting of a number of conferences to discuss the writing
and use of patterns. But design patterns are important for reasons beyond
capturing and transferring information about recurring problems and their
solutions. For instance pattern information can aid reverse engineering
tasks, or it can be used to determine useful language improvements or extensions.
Currently, research centered on such concepts occurs at the periphery of
the pattern community, and hence there has been limited opportunity for
researchers interested in other aspects of pattern research to interact
with the pattern community.
Our goal is to diversify and expand the pattern community with these
additional views, to find points of collaboration and to share insights
about patterns.
|
|
Beyond Design: Patterns (mis)used
Patterns are no longer the ‘new kid on the block’. Seven years ago
the first Design Patterns book [1] was published. The motivation for pattern
authors was, and still is, to transfer design knowledge that has emerged
from years of experience. Designers read and use the patterns so as to
profit from this experience. In the past seven years, a strong pattern
community has been built, consisting of a number of conferences [2] to
discuss the writing and use of patterns. Pattern authors, pattern
teachers and pattern users find peers in the pattern community.
However, not all researchers who are exploiting patterns are included
in these groups. Design patterns are important for reasons beyond
capturing information about recurring problems; for instance pattern information
can aid reverse engineering tasks, or it can be used to determine useful
language improvements or extensions. Currently, research centered on such
concepts occurs at the periphery of the pattern community, and hence there
has been limited opportunity for researchers interested in other aspects
of pattern research to interact with the pattern community. In this workshop
we focus on aspects of current patterns beyond the act of transferring
design experience.
Patterns have structure in their written representation. The essential
properties are at least the description of context, problem, forces, and
of course the solution, whereas the solution is, typically, regarded to
be the most valuable part. Considering other properties and portions of
pattern descriptions, it is obvious that they contain more than solutions
to problems.
-
Patterns discuss the problem space fully, in a more or less explicit forces
section.
-
Patterns are often part of a pattern language that deals with a problem
space, such as domain specific pattern languages.
-
Patterns often provide sample code to describe a proven solution to a recurring
problem.
-
Patterns reveal deep insight and experience that reaches beyond the solution
to a particular problem.
Some examples for “not-intended” uses of patterns might be:
-
Good patterns discuss recurring problems and forces in depth. Examining
these descriptions suggests shortcomings in programming languages, design
methodologies, or in the way software design is taught.
-
Understanding the problems as stated by experts in a domain helps finding
appropriate solutions that could even make the patterns obsolete.
-
The compilation of question catalogues for a special domain from the problem
and forces section in patterns might help designers reason about their
problems and make better decisions.
-
Pattern analysis may help find crosscutting concerns that could be factored
out using Advanced Separation of Concerns facilities.
-
The concept of patterns could be augmented to help describe design information
for new programming paradigms, like those addressing Advanced Separation
of Concerns (ASOC).
Workshop Goal
In short, patterns can be used in various ways apart from the obvious ones.
Our goal is to diversify and expand the pattern community with these additional
views, to find points of collaboration and to share insights about patterns.
We would be happy to either identify similar research interests and come
up with a shared research agenda; or to find ways how somebody makes use
of existing design patterns in stages of the software life cycle other
than design. We are open to all proposed ways to use the huge body of experience
encoded in pattern form.
How to Attend
Every interested person is invited to apply for
attendance by sending a position paper to the organizers. The submission
should be one to two pages describing the key ideas of one of the following
-
Experiences where a pattern was helpful other than for applying it to your
design or process, e.g. by using the problem and forces description to
find a more general approach to solve domain specific problems
-
Approaches using parts of pattern descriptions for research purposes, e.g.
to do research in problem solving strategies
-
Research into expanding the applicability of patterns to new programming
areas, like ASOC, where patterns could be used to find cross cutting concerns.
-
Attempts to use patterns in a wider context than collecting or directly
applying them.
The submission should be in pdf, HTML or plain ASCII and is to be
sent to christa.schwanninger@mchp.siemens.de. Submissions will be reviewed
by the organizers. The authors will be notified about acceptance by September
1st if they have submitted their position paper due to August 31st
(EXTENDED DEADLINE). All accepted submissions will be posted on the
workshop web site by September 1st (extended to September 16th due
to extended deadline).
The number of participants will be limited to 15 to foster a highly
interactive workshop.
Workshop Format
Please read the format
thoroughly, because some preparation is required!
-
Introduction and name games.
-
"Hot Chair": Ten minutes questions and answers for every position paper.
(There will be no presentations, attendees are required to read the position
papers in advance.)
-
Discussion and grouping the ideas in main areas of interest. The workshop
organizers will provide an initial grouping attempt in advance. Attendees
will be informed about the initial grouping and encouraged to participate
in an email discussion so that every attendee may decide beforehand other
topics relevant to their area of interest. Thus we hope to set the right
context for fruitful discussions at the workshop. However, the groupings
may change during discussion.
-
Break into small groups based on determined topics. Each breakout group
will brainstorm about ways to collaborate, e.g. in a shared research attempt,
or try to come to group result, like a bunch of domain specific patterns
that reveal insights beyond solving single design problems..
-
Presentation of the group work results (typically a plan how to proceed
after the workshop). These results will be the basis for the final report.
Position Papers
We ask all workshop attendees to read all the position papers before the
workshop.
Final Report
Collectively, the workshop attendees will be asked
to agree on a format for the final report, including a plan for each group
how to proceed. After the conference, the workshop results will be
compiled to a 10 - 15 page report, which will be published on the workshop’s
web site and condensed to a 2-page summary, published at the OOSPLA web
site.
About the Organizers
The organizing committee consists of an interesting mixture of people
from academia and industry, with background in software evolution including
new programming paradigms and in patterns. Christa Schwanninger will chair
the workshop.
Christa Schwanninger
is a Senior Research Scientist at the Software Research Department of Siemens
Corporate Technology in Munich. She is conference chair of EuroPLoP
2001, was member of the program committee of EuroPLoP 2000 and has
(co) organized several workshops and tutorials before. Among them are the
Pattern Writing Workshops at the last two EuroPLoP conferences and a series
of pattern writing workshops at OOPSLA 98, OOPSLA 99 and ECOOP 2001. She
co-organized a workshop on Deploying Lightweight Processes at OOPSLA 2000.
Elisa Baniassad is a PhD student
at the University of British Columbia.
She us currently working with Gail Murphy and Christa Schwanninger
on using Design Patterns as a means for tracing design rationale through
to source code. Her other research interests include the study of
the human practices involved in software evolution, and creating tool support
for those practices.
Gail Murphy is an Assistant Professor
in the Department of Computer Science at the University of British Columbia.
Along with Elisa Baniassad and Christa Schwanninger, she is currently working
on using Design Patterns as a way of linking design rationale to source
code. She has been a co-organizer of two OOPSLA workshops: the Multi-dimensional
Separation of Concerns Workshop at , and the Testing Smalltalk Applications
at OOPSLA '95. She has also co-organized an Aspect-oriented Programming
Workshop at the International Conference on Software Engineering (ICSE)
in 1998. In 2000, she was a co-Workshops Chair for OOPSLA and a co-Workshops
Chair for ICSE. When not doing other fun things, her research efforts focus
on topics in software evolution.
Vera Seidel, Senior
Research Scientist at the Software Research Department of Siemens Corporate
Technology in Munich, bridges the gap between research and industrial software
development in her job as a Project Manager. She has deployed Design Patterns
in a number of software projects. During Elisa Baniassad's stay in Munich
to work with Christa Schwanninger ,Vera became interested in the idea of
using Design Patterns as a means for tracing design rationale through to
source code and took contributed valuable insights during fruitful discussions.
References
[1] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides “Design
Patterns Elements of Reusable Object-Oriented Software”, Addison-Wesley,
1994
[2] PloP (http://jerry.cs.uiuc.edu/~plop/), EuroPLoP (http://www.hillside.net/patterns/EuroPLoP/),
ChiliPLoP (http://www.agcs.com/patterns/chiliplop/index.htm) and KoalaPLoP
(http://www.mcs.vuw.ac.nz/~kplop/)
|
Author: Christa Schwanninger Last change: September 16th
2001
|