TOOLS
Europe'2000
Enterprise Architecture - Patterns - Components
Mont St Michel & St Malo, France,
5-8 June 2000
Workshop 2 |
Workshop 1 | Monday, June 5, 2000 AM and PM |
Component
Based Development: Software Architecture,
Component Models and Teaching
Organizers: Mark Collins-Cope, Hubert Matthews, Gilda Pour, Daniel Deveaux and Patrice Frison
Pattern Workshop | Tuesday & Wednesday, June 6 & 7, 2000 |
Mastery of Pattern Concepts through Pattern Writing
Overview
Software Patterns are a literary form, designed to communicate expert knowledge about system construction. The most useful Patterns are the ones that address structural problems and which are carefully written to be readable. Patterns can help an organization capture its core competencies, lengthen corporate memory, and provide a disciplined format for sharing ideas that too often remained locked in the heads of a few people. Pattern literature provides a vehicle to communicate these ideas; the Pattern culture provides a setting in which these ideas can effectively be gathered and shared.
This two day workshop teaches Pattern-writing skills in the context of the broader goals and values of the Pattern community. The workshop mixes a small amount of lecture with exercises and small workshops. Participants will do a comparative analysis of published Patterns and work in small teams to review Patterns.
Objective
The course objective is to help participants understand both the pattern culture, and techniques that support effective patterns. Participants will be able to lead pattern efforts in their own companies or communities that want to collect and share domain expertise among themselves and their colleagues using the pattern form. The workshop goes beyond the casual use of pattern form that dominates much popular pattern literature to ground the participant in underlying patterns principles.
Audience
To fully enjoy the workshop, a basic software design background is helpful, but not necessary. The workshop may be useful to anyone wishing to capture expertise that exists for creating structure in any domain. While the workshop will emphasize software development, the course can benefit practitioners in areas as broad as programming, organizational design, and the fine arts. No prior experience is assumed, other than experience in some domain whose value is based in some kind of structural knowledge.
Participants may bring draft patterns to the workshop if they are already familiar with patterns, but this is not required.
Workshop Outline
During the first day of this two day session, the participants will learn to appreciate Patterns as a literary form in the broader context of a Pattern culture that has emerged over the past 5 years. Specifically, the participants will learn:
Key aspects of the Pattern value system
How to recognize traits of a well-written Pattern
What to look for when reading and applying Patterns
Several popular Pattern forms
Pattern vocabulary
What is a Pattern?
Hands in View (example)
Gabriel's broadside
What isn't a Pattern?
II. What is a good Pattern?
Half-Object Plus Protocol
Contents of good Patterns
Generativity
Form of well-written Patterns
III. The Form
Name
Context
Problem
Forces
Solution
Patterns as a play or story
Sketch
IV. Different Forms
Alexanderian form, GOF form, Coplien form, Cockburn form, Portland Form
Comparitive analysis of Patterns
Distillation of properties of good Patterns
V. Pattern Languages
Writing Patterns
At the end of the first day, participants will write patterns from their own experience for presentation and review on the second day. Participants will benefit from guidance and personal coaching from the workshop speakers.
During the second day of this two day session, the participants will learn how to apply the Writers' Workshp review format to improve their Patterns. This is a highly participative activity that takes place in small groups facilitated by the workshop speakers. In particular, participants will learn:
How to improve their Pattern-writing skills, through specific individual feedback
Writers' Workshop facilitation skills
How to tap into industry Pattern resources
Additional aspects of the Pattern culture and value system
The second day wraps up with a presentation of the following topics:
The Pattern community
Pattern ethics and discussion
Workshop Leaders will be :
Jim Coplien Jim Coplien is a Distinguished Member of Technical Staff at Bell Laboratories in Naperville, Illinois. He is the author of Advanced C++ Programming Styles and Idioms and of Multi-Paradigm Design for C++. He was co-editor of the first two volumes of the Software Pattern book series, he is author of the Software Patterns management briefing, and writes a regular Patterns column for the C++ Report. He has taught this Pattern workshop at OOPSLA, Israeli OO Days and at SIGS OOP/Java Expo. He has led dozens of courses and workshops at OOPSLA, TOOLS, OOP, and ECOOP, and is a widely known and highly regarded lecturer and facilitator.
Nathalie Gaertner Information forthcoming.
Workshop 2 | Wednesday, June 7, 2000 PM |
Patterns of Visual Programming
Organizers: David Parsons, Mark Cranshaw, Awais Rashid & Alex Telea
Workshop 3 | Thursday, June 8, 2000 AM |
Modelling large systems
Organizers: Richard Mitchell and Alan Wills
Workshop 4 | Thursday, June 8, 2000 - 3:30 pm |
Organizational Patterns
Organizers: Jim Coplien & Martine Devos
You do not have to register for this workshop.
Some software organizations serve their customers well, they deliver on time, deliver a profit to the stockholders and build a supporting workplace for the team. And some don't. Quality of the result of our efforts depends on the quality of communication between users, customers and developers, designers. Many people believe that the processes of OO software development are fundamentally different from those used in developing software in other paradigms. We will explore how some organizational and process patterns apply -- or don't apply in OO development. Our findings may validate or repudiate the above belief. Patterns help us understand existing organizations. Patterns have everything to do with transferring knowledge. They are often associated with reuse. They provide transfer of concept, insights, and information. Although there is nothing intrinsically object-oriented about process patterns, families of patterns that help shape the day to day life of our software projects have been collected within the OO-community. Our software projects don't span generations. So we need short cuts, getting teams together that are able of learning and sharing a common language in a short time. A good pattern language for organization should give us both the means of expression and the freedom to tailor the solution to the particular environment and context of application of the patterns. We will explore how some organizational and process patterns apply -- or don't apply in OO development. In a highly interactive workshop we diverge and converge on what a core organization and process pattern language could and should be. We test our findings, using scenarios from real life situations. Our goals for this workshop include the following: - Learn new patterns of productive software development organizations. - Learn more about how existing organization patterns interact to create highly productive software development organizations. - Learn more about organizations that develop OO software. How are they different from other software development organizations? How are they similar? What organizational patterns apply only (or chiefly) to OO development organizations? What patterns do not apply? Why? Workshop participants: OO-project managers and technical leads. Both pattern writers and users of process patterns (beginners and experienced).