Past Conferences

EuroPLoP 2012

EuroPLoP 2012

Conference Organization

Conference Chair: Christian Kohls

Program Chair: Andreas Fiesser

Focus Group Chair: Uwe van Heesch

Web Chair: Michael Weiss


EuroPLoP 2012 Focus Groups

  • Crossing The Jungle – A Retrospective of Web 2.0
    FG leader: Andreas R�ping

    “Web 2.0 is a jungle. In some places it’s wild, in some places it’s beautiful; in some places it’s the wilderness that makes it beautiful. Sometimes the jungle is dangerous, yet sometimes it exhibits the most astounding examples of symbiosis and collaboration.”

    The idea of this FG is to review an essay on Web 2.0 that the FG leader has written. The essay is a retrospective of Web 2.0 as we know it today, both describing cultural values that Web 2.0 has helped bring to fruition and addressing the risks and dangers of Web 2.0.

    The FG will be a structured discussion addressing the following questions:

    To what extent do you agree with the author’s perception of Web 2.0?
    Is the list of topics addressed in the essay reasonably complete or are important topics missing?
    Are there any important cultural dependencies regarding the strategies suggested in the essay?
    What could be a good way of disseminating this essay?
    To make a fruitful discussion possible, the FG leader kindly asks potential participants to read the essay in advance. It can be downloaded from–CrossingTheJungle.pdf. Your reading effort will be rewarded by an in-depth discussion that will most certainly raise some controversy among the participants.

    If you plan to attend, please drop the FG leader a line at andreas.rueping[at] You may also attend spontaneously during the conference, though.

  • Evaluating the consequences of applying software proto-patterns
    Focus group leaders: Jaap Kabbedijk , Matthias Galster, and Slinger Jansen

    “Do YOU know what the consequences are of selecting a specific software pattern over others? Can you predict the future?”

    Software patterns usually report extensively on the advantages and liabilities of applying the pattern. These consequences are based on numerous case studies and applications of the patterns in real software products. When a novel solution to a problem is identified however, evaluating these consequences is very difficult, since the solution was not observed in numerous situations yet. Such solutions, which are not a completely described pattern yet, are called proto-patterns. Pattern descriptions do not and cannot prescribe how a specific implementation of the pattern should look like, making the prediction of consequences an even harder nut to crack.

    This FG will explore ways to evaluate the possible consequences of implementing a pattern in a software system. During the FG, an overview will be given of evaluation methods for proto-patterns; the FG leaders will share their experiences using these evaluation methods in practice. Additionally, a proto-pattern evaluation session will be held with all FG attendees, bringing together your pattern related knowledge and expectations in a structured, creative and playful way. The take away of this FG will be knowledge on the different ways of assessing pattern implementation consequences and a fun session, in which the attendees try to evaluate a selection of proto-patterns in an interactive and surprising setting using different scenarios and real world cases.

Past Conferences

EuroPLoP 2011

EuroPLoP 2011

Conference Organization

Conference Chair: Andreas Fiesser

Program Chair: Paris Avgeriou

Focus Group Chair: Aliaksandr Birukou

Web Chair: Michael Weiss


EuroPLoP 2011 Focus Groups

  • Organizing xPLoP events
    Focus group leaders: Lise Hvatum, Klaus Marquardt

    There are several recurring PLoP events happening around the world each year. Each event has its own style, which is a variation over the main theme with workshops and games. The organizers are volunteers from the patterns community. In this focus group, we will discuss the applicability of patterns to capture some of the knowledge needed for the organizers, and proceed to explore the knowledge area. Specifically we will discuss around conference quality and conference sustainability, paper process, logistics, and any other theme that the participants may bring up. All EuroPLoP participants are of course welcome – and we especially hope for participants with experience in organizing smaller conferences!

  • Non-relational databases
    Focus group leader: Tim Wellhausen

    Non-relational databases (also known as NoSQL databases) have recently gained a lot of momentum. These databases are primarily targeted at highly scalable, high-performance web applications, where low latency and high troughput are more important than guaranteed consistency at all time.

    The NoSQL market offers many products with distinct functionality and features. (This is different from relational databases that offer you a consistent, well-defined set of features, regardless of the actual product you take.) The variety of NoSQL features makes it difficult to decide which NoSQL database to take for a given project.

    From a pattern perspective, NoSQL products implement well-proven solutions. It’s just not clear which problems are solved by these solutions. So, the goal of this focus group is to dig into the problem side of NoSQL features: What problem do you need to have so that a particular feature is helpful?

    Beyond this focus group, the goal is to come up with an introduction to NoSQL in form of patterns. These patterns should guide the reader to find the right product suited for the actual problems that a project faces.

    Participation is free for everybody interested in NoSQL databases. Please note that the focus group can only take place if at least some people have prior knowledge that they can contribute.

  • IMPROJECT: Improvisation Techniques in Projects
    Focus group leader: Anne Hoffmann

    Do you want to know, what project management and improvisation theatre have in common? Here, you have the chance to find out. Do you want to get to know a workshop format, how to train your team towards better soft skills competencies? Or do you just want to have fun? Then come along.

    This focus group will be experimental and aims to try out and evaluate some games. Depending on the interest of the participants, there could be the option to take over, and try out the workshop format as the trainer, as well as adjusting game variants on the fly.

    The workshop format had been formerly introduced on the “Third International Workshop on Multimedia and Enjoyable Requirements Engineering (MERE’08)”.

  • Tooling for pattern languages (with cool demo!)
    Focus group leader:James Siddle and Mandy Chessell

    This focus group is about tools for pattern language based design and development. The session will start with a demo of an experimental tool developed at IBM which allows users to easily and quickly create a design by selecting patterns from a pattern language. This will be followed by a discussion about the key use cases and features of the tool, and about tooling support for patterns in general.

Past Conferences

EuroPLoP 2010

EuroPLoP 2010

Conference Organization

Conference Chair: Paris Avgeriou

Program Chair: Michael Weiss

Focus Group Chair: Christian Kohls

Web Chair: Andreas Fießer

Writers’ Workshop groups in EuroPLoP 2011

A – Applied


B – Business and Organization




D – Knowledge and Data


E – Process


F – Software


G –


H –


I –


J –


K –


L –


M –


N –


O –


P –


Q –


R –


S –


T –


U –


V –


W –


X –


Y –


Z –


AA –


AB –


AC –


AD –


AE –


AF –


AG –


EuroPLoP 2010 Focus Groups

  • Using architectural decisions in architecture evolution

    Focus group leaders: Uwe van Heesch, Paris Avgeriou, Uwe Zdun, Neil Harrison

    Software architecture is the result of making a set of design decisions that impact the overall structure and behavior of a software system. These decisions are called architectural decisions. While some architecting approaches document the outcome of these decisions in different architectural views, others focus on documenting the decisions themselves as first class entities.

    In this focus group we will provide documented architectural decisions of an existing software system, which is now subject to change due to new requirements and issues that came up in the last software release. The participants of the FG will be asked to analyze the system by looking at the documented decisions. After that we want them to reject inappropriate architectural decisions and make new ones necessary to fulfill the new requirements and solve the issues that came up. The participants’ results will then be compared to the decisions that the real architects made in the same situation.

  • Pattern Writing

    Focus group leaders: Didi Schütz, Andreas Fiesser, Tim Wellhausen, Klaus Marquardt, Allan Kelly

    The idea of this workshop is to enable upcoming authors to write their first pattern.

    The workshop provides a minimal set of information and rationale on pattern format(s). It proposes an approach (writing sequence) how to come up with a pattern description from knowing a solution. Key element of the workshop are practical exercises, starting with video presenting an appealing solution, extracting concepts and the essence out of that. From there, we expand to problem, context, consequences, forces. These practical exercises are either group discussion or guided witing (by means of online shepherding).

    The workshop has (with different time formats) been run successfuly at an event of the Java User Group (JUG) at Munich (3h, Andreas, Tim, Didi), and in the context of a conference at Sofia University (Allan, Klaus, Didi, 1.5 days).

  • Pattern-oriented HCI development

    Focus group leader: Dirk Schnelle-Walka

    A lot of HCI patterns exist providing a sound source of knowledge for the development of user interfaces. Their aim is to guide and advise the UI developer throughout the development process. But UI developers still have to manually select the patterns and transfer this pattern to the model or code. In contrast to software engineering patterns HCI patterns often do not feature dedicated code fragments or object- oriented concepts that can easily be transferred to the model or the code. This focus group tries to identify if this is really a lack and ways of bridging this gap.

  • Pattern Repositories

    Focus group leaders: Uwe van Heesch, Aliaksandr Birukou and Paris Avgeriou

    This FG will reflect on past experiences in building pattern repositories, show examples of existing and upcoming projects on pattern repositories, gather feedback and brainstorm on directions for future research. Attention will also be given to problems of exchangeability between pattern repositories (e.g., by means of pattern-exchange formats, protocols or public APIs) and to mechanisms for effective and easy gathering of user-generated knowledge and feedback (e.g. links between patterns, tagging and annotations of patterns). Another purpose of the FG is to find interest groups willing to collaborate in an open pattern repository project, mainly by providing content. The current prototype of this open pattern repository will be presented during the FG.

Past Conferences

EuroPLoP 2009

EuroPLoP 2009

Conference Organization

Conference Chair: Michael Weiss

Program Chair: Allan Kelly

Focus Group Chair: Andreas Fießer

Program Committee: Ademar Aguiar, Kristian Elof Sørensen, Andreas Fießer, Allan Kelly, Andy Longshaw, Stephan Lukosch, Klaus Marquardt, Till Schümmer, Jim Siddle, Michael Weiss, Tim Wellhausen, Uwe Zdun, Birgit Zimmermann,

Writers’ Workshop groups in EuroPLoP 2009

A – Alexander

Download all workshop papers:

Workshop Leader: Andreas Fiesser


B – Buckminster Fuller

Download all workshop papers:

Workshop Leader: Uwe Zdun, Paris Avgeriou, and Neil Harrison


C – Le Corbusier

Download all workshop papers:

Workshop Leader: Allan Kelly


D – DaVinci

Download all workshop papers:

Workshop Leader: Christian Kohls


E – Eames

Download all workshop papers:

Workshop Leader: TBA


F – Foster

Download all workshop papers:

Workshop Leader: Tim Wellhausen


F6: Anjali Das, Farah N. Lakhani, Ayman K. Gendy, Michael J. Pont, Two simple patterns to support the development of reliable, real-time embedded systems (updated on Jun 28)


EuroPLoP 2009 Focus Groups

  • Recovering architecture knowledge

    Focus group leaders: Paris Avgeriou, Uwe Zdun, Neil Harrison, and Uwe van Heesch

    Architecture documentation often consists of descriptions, design models and other artifacts that record the outcome of the design process, but misses the context and the rationale behind the specific solutions chosen. Comprehensive documentation is considered a resource-intensive task, that does not have an immediate benefit for documenters. By skipping it however, some important aspects of the architect’s decisions such as the decision context, assumptions, decision drivers, consequences and considered alternatives get lost, or at least become hard to recover.

    In this focus group we will provide the architecture documentation of an existing system and ask the participants to recover the architectural decisions and related knowledge (requirements they address, rationale behind the decisions, dependencies etc.). Therefore the participants will attempt to understand what the architects decided and why, just by looking at the architecture documentation. The results of the recovered architectural knowledge will be then compared to the original intent of the architects.


  • Product Line Engineering

    Focus group leaders: Markus Voelter, Christa Schwanninger, Michael Kircher, and Dietmar Schuetz

    While the field of software development is maturing, cost pressure is leading the industry into more intensified reuse. As we know OO and component orientation did not bring the expected reuse, new approaches were established. So, Software Product Line Engineering has become an important way of building software. In SPLE, the focus is shifted from building isolated products to building families of related products, while reuse is discussed not at a individual object level but as a whole: organizational, process-wise, and also from requirements to actually deployed variability at the customer. While a lot of literature on SPLE exists, there is no collection of well distilled, easy to use and practical patterns. The goal of this focus group is to start the process of collecting and structuring patterns in this area.


  • Sound Bites: When are they sound and when do they bite?

    Focus group leaders: Klaus Marquardt

    Sound bites, maxims, sayings, etc. are often used in software development. Some appear to be helpful and thought provoking — e.g., “program to an interface, not an implementation” — whereas others sound good, but scratch the surface and there’s either not much there or the conclusions are unhelpful and contradictory — e.g., “exceptions should be exceptional”.

Past Conferences

EuroPLoP 2008

EuroPLoP 2008

Conference Organization

Conference Chair: Allan Kelly

Program Chair: Till Schümmer

Focus Group Chair: Tim Wellhausen

Web Chair: Michael Weiss

Program Committee: Kristian Elof Sørensen, Arno Haase, Haase Consulting, Ademar Aguiar, Lise Hvatum, Allan Kelly, Michael Weiss, Andy Longshaw, Klaus Marquardt, Till Schümmer, Didi Schütz, Tim Wellhausen, Jim Siddle, Uwe Zdun

 EuroPLoP 2008 Focus Groups
  • Junkies Like Us
    Organized by Andreas Rueping
    With Web 2.0 becoming more and more popular, people are giving more and more information about themselves away on the Internet: in social networks, blogs, chats and wikis. Here’s a few questions to start with:
    • Have you ever mentioned your favourite books, music, or movies on your homepage or on your personal profile in a social network?
    • Have you ever publicly reviewed a book, a CD, or a restaurant?
    • Have you ever put photographs of you online for the world to see?
    • Have you ever offered a political opinion in an online forum?
  • Most of us will probably answer several of these questions with “yes”. The younger generation especially seems to enjoy social networks and gives infor- mation about their lifestyle away freely. Have we, or will we, become Web junkies who deliberately put more or less their entire lives online? When I look at the material that people put online, I’m torn between two positions. Sometimes I’m impressed with how candid people are when they present themselves to the world. Sometimes I’m scared that all our concerns for privacy might vanish one day.Is the social Web a good thing or a bad?

    On the one hand, there’s the idea of a democratic Web, the perspective of a more open society, and the fun that comes from actively participating in today’s most popular medium.

    On the other hand, there’s the unpleasant prospect of endless personalised advertising and the possible danger that virtually anyone can track you down and collect arbitrary information about you.

    This focus group aims to bring together people who are interested in the non- technical perspective of the social Web.

    The plan is to discuss the following questions:

    • What are the benefits of the social Web?
    • What are the immediate dangers, and what are the possible long-term implications?
    • To which extent can we (the participants) reach agreement regarding what’s good and what’s bad? Do we have similar or fundamentally different positions?
    • Can we identify personal practices for using the social Web? Or strategies for further evolving it? If so, which? Can we even come up with patterns? The focus group will be a forum for participants to share their insight, offer their opinions and discuss possible strategies. The goal is to collect and classify the ideas expressed by the participants and to make the results available as a focus group report.
  • No position paper is required for this focus group, but if you plan to attend, I’d be grateful if you could drop me a line at, preferably by mid June. Anyone interested in co-organising this focus group, please get in touch with me as soon as possible.
  • Efficient and Effective Software System Integration, beyond Continuous Integration
    Organized by Juergen Salecker
    The moments of truth in software development are very often the moments of system integration. Here the wheat is separated from the chaff. Ineffective organizations spend a large amount of time in finding root causes of integration problems. Effective software development anticipates common integration issues. Those issues are how to detect potential harmful semantic dependencies and their impact in advance, or being able to manage interface changes proactively. The focus group should be used to mining the existing knowhow about efficient and effective system integration.

  • Domain-specific Complex Event and Rule Patterns
    Organized by Adrian Paschke, and Rainer von Ammon
    Complex Event Processing (CEP) and business rules are two emerging trends leading to a fundamental change in IT service and applications development and use. Instead of building monolithic systems, applications will be assembled in a flexible service-oriented way, possibly distributed over the internet.
    CEP is an emerging enabling technology to achieve actionable, situational knowledge from distributed systems and data sources in real-time or almost real- time. Applications of CEP technologies arise in manifold domains such as Finance/Banking, Logistics, Automotive, Telco, Life science and the application scenarios range from, e.g., fraud detection, supply chain event monitoring, business activity monitoring and IT service management/governance to adaptive or self-autonomous reactive systems capable of handling e.g. pandemia situations.
    Business rules are rapidly gaining popularity as a means to separate the business logic from the operational processes and applications. They allow specifying business knowledge in a way that is understandable by ‘the business’, but also executable by rule engines, thus bridging the gap between business and technology.
    According to Gartner’s emerging technology hype cycle CEP and business rules are considered as the main prerequisites for many other emerging technologies such as predictive business enterprise networks (service supply chains), real-time adaptive enterprise or autonomic IT systems. They might be applied separated or work in tandem thus enabling semi-autonomous decisions and reactions according to detected complex events, e.g. in order to handle and monitor business process workflows in a dynamic and flexible way.
    Reference models for CEP and business rules offer the potential for an additional increase (1) in efficiency, aimed at cheaper and faster delivery of CEP and rule-based systems for specific domains, and (2) in reusability of successful CEP and business rules solutions in various domains. The models predefine a common frame of reference for a certain application domain, which can be customized to obtain models for specific applications in that domain. Design patterns as more or less formalized descriptions of generic solutions to certain problem classes have become a wide-spread mean to transfer knowledge about successful designs. Hence, they qualify as an adequate representation format for the description of CEP patterns and rule patterns describing e.g. generic rule-based solutions for specifying business policies. A pattern language of domain-specific CEP patterns and rule patterns could establish a way to efficiently communicate about successful domain-specific CEP and rule-based solutions and reuse them for devising concrete implementation solutions in potentially multiple domains. That is, the advantage of CEP and rule patterns is their predefined, reusable, and dynamically customizable nature allowing the designer to reuse existing experience for building new CEP and rulebased applications.
  • Heuristics
    Organized by Klaus Marquardt and Kevlin Henney
    Despite all metrics captures, few of the important things in your project are measured by hard numbers. When is your project doing OK? When do you need to intervene? Is your architecture and design doing fine? Seasoned developers have grown a feeling on quality and success criteria, even before something is provably right or wrong, good or bad. This focus group is to explore these heuristics.
  • Pragmatic and Systematic Approaches in Applying Patterns
    Organized by Paris Avgeriou, Neil B. Harrison, and Uwe Zdun
    The application of the different types of patterns in practice has not met the expectations of the patterns community. Most practitioners are aware of the GoF patterns and some idioms in specific programming languages or platforms, but few of them work systematically with patterns for architecture, analysis, process etc. The discipline of software engineering is significantly lacking in incorporating patterns in standardized and well-proven processes, methods, techniques and tools. This thematic track aims at studying the application of patterns in practice and enforcing the links between the patterns community and the practitioners. It envisions papers that present not only patterns but also their practical applications in real industrial projects, as well as papers on systematizing the application of patterns. It aims at stimulating a general discussion on how to disseminate the patterns literature more in the higher education and training. It hopes to provide visibility to research attempts for integrating patterns in software engineering industrial practices.
Past Conferences

EuroPLoP 2007

EuroPLoP 2007

Conference Organization

Conference Chair: Till Schümmer

Program Chair: Lise Hvatum

Program Committee: Paris Avgeriou, Arno Haase, Neil Harrison, Lise Hvatum, Allan Kelly, Michael Kircher, Andy Longshaw, Klaus Marquardt, Till Schümmer, Didi Schütz, Markus Völter, Uwe Zdun

Writers’ Workshop groups in EuroPLoP 2007

Writers’ Workshop A  –  Allen

Workshop Leader: Allan Kelly


  • A1: Andreas Fießer: A Pattern Language for Film Production
  • A2: Allan Kelly: More patterns for Technology Companies Product Development
  • A3: Ralf Laue, Volker Gruhn : Good and Bad Excuses for Unstructured Business Process Models
  • A4: Osorio Lopes Abath Neto, Jacques Philippe Sauvé, Ayla Dantas: A Pattern Language for Acceptance Test-Driven Development
  • A5: Jürgen Salecker: Patterns for Configuration Management
  • A6: Michael Weiss: In Bed with the Enemy
Writers’ Workshop B  –  Brooks

Workshop Leader: Till Schümmer


  • B1: Marina Haase, Marco Miedl: Patterns for Leading Effective and Efficient Meetings – Part Two
  • B2: Stephan Lukosch, Till Schümmer, Thomas Jarmer : There’s more than just a LOGIN — Six patterns that make connecting to a collaborative system more convenient
  • B3: Amir Raveh, Ofra Homsky: Pattern Language for Online Communities
  • B4: Nicole Schadewitz: Interaction Design Patterns for Cross-Cultural Computer Supported Design Learning
  • B5: Axel Schmolitzky: Patterns for Teaching Software in Classroom
  • B6: Till Schümmer, Peter Tandler: Patterns for Technology Enhanced Meetings
Writers’ Workshop C  –  Cerf

Workshop Leader: Dietmar Schütz


  • C1: Jorge L. Ortega Arjona: Design Patterns for Communication Components of Parallel Programs
  • C2: Sachin Bammi: A generic real time data acquisition pattern language for embedded applications involving interrupt driven I/O
  • C3: Michael Pont, Susan Kurian, Huiyan Wang: Selecting an appropriate scheduler for use with time-triggered embedded systems
  • C4: Dietmar Schütz: Patterns for Implementing Variability
  • C5: Huiyan Wang, Michael Pont: Patterns which help to avoid conflicts over shared resources in time-triggered embedded systems which employ a pre-emptive scheduler
  • C6: Ed Fernandez, Michael VanHilst: Patterns for WiMax security
  • C7: Juan C. Pelaez, Ed Fernandez: Patterns for VoIP Signaling Protocol Architectures
Writers’ Workshop D  –  Dahl

Workshop Leader: Tim Wellhausen 


  • D1: Birte Böhm, Norbert Gewald, Gerold Herold, Dieter Wißmann: Indirection Pattern for data modeling
  • D2: Lotte De Rore, Monique Snoeck: A pattern language for reconciliation
  • D3: Isabelle Cote, Denis Hatebur, Maritta Heisel, Holger Schmidt, Ina Wentzlaff: A Systematic Account of Problem Frames
  • D4: Hans Wegener, Robert Marti: Slowly Changing Dimensions: a Pattern Language for Coping with Change in Analytical Information Processing
  • D5: Leon Welicki: Patterns for Factoring Responsibilities when Working with Objects and Relational Databases
  • D6: Tim Wellhausen: Object Prefetch Filter – A Pattern for Improving the Performance of Object Retrieval Using Object-Relational Mapping Tools
Writers’ Workshop F  –  Feigenbaum

Workshop Leader: Andreas Rüping


  • F1: Diethelm Bienhaus: Patterns for Unique Product Identification
  • F2: Stefan Holtel: A Pattern Language for a Semantics-Driven Software Architecture
  • F3: Marty Kauhanen, Chris Eaket, Robert Biddle: Patterns for Story Authoring Tools
  • F4: Christian Kohls, Tobiam Windbrake: Moving objects – More patterns for a pattern language of interactive information graphics
  • F5: Fernando Lyardet, Dirk Schnelle: Consumer Voice Interface Patterns
  • F6: Andreas Rüping: Software Architectures for Web Content Management — The Big Picture
Writers’ Workshop G  –  Gray

Workshop Leader: Klaus Marquardt


  • G1: Arno Haase: A Pattern Language for Designing Pattern Languages
  • G2: Klaus Marquardt: Overthreading 
  • G3: James Noble, Arno Schmiedmeier, David J. Pearce, Andrew P. Black: Patterns of Aspect-Oriented Design
  • G4: Arno Schmidmeier: Aspect Team and other patterns for adoption of AOP
  • G5: James Siddle: Creating Software Architecture using Pattern Sequences
  • G6: Carsten Hentrich, Uwe Zdun: Service Integration Patterns for Invoking Services from Business Processes
Writing Group

Writing Group Leader: Uwe Zdun


  • WG1: Mayank Chaturvedi: Team where People Matter  A Project Management Pattern; [Associated with workshop A] 
  • >WG3: Klaus Meffert, Ilka Philippow: Configuration Provider: A Pattern for Application Configuration  [Associated with workshop F]
  • WG5:  Birgit Zimmermann, Christoph Rensing, Ralf Steinmetz: New Patterns for Tailoring E-Learning Materials to Make them Suited for Charged Requirements  [Associated with workshop B]
  • WG6: Marc Bartsch, Rachel Harrison: Design Patterns with Aspects: A case study  [Associated with workshop G]

EuroPLoP 2007 Focus Groups

Patterns for Versioning, Releases, and Distribution

Organized by Klaus Marquardt and Kevlin Henney

Beyond software development, there is more to the software lifecycle than maintenance. From a developer’s perspective, the focus on development can be considered only natural.

However, it is very much an inward looking perspective. The software needs to be brought to the end user, and the end user and various customer stakeholders will care about the software beyond its initial release.

To the extent that they influence the development and architecture, the logistics of software deployment are the topic of this focus group. This includes

  • Definition of a package for release 
  • Deployment and installation 
  • Check for compatibility with other software components 
  • Identify the software for future reference 

Process and Results

Some work is available as a would-be pattern language. This focus group shall add to the pattern collection by including a broader experience, and explore sequences to shape the pattern language.

For the focus group, we will use an abbreviated pattern format that helps to focus on sequences. The existing patterns will be brought to the workshop in that format. Participants are asked to prepare in advance, but unprepared guests are welcome as well.

Complexity Management

Organized by Klaus Marquardt, Lise Hvatum, and Dietmar Schütz

Just like stranded whales suffocate from their own weight, projects can suffocate from their own complexity. To successfully run and finish a project, its complexity must be known and managed.

This focus group shall explore the current state of complexity metrics, the related heuristics, and collect the management practices in a pattern form.

Process and Results

The group will start out to identify where complexity is within some project, how it is introduced into the project, and how to get rid of it (where possible) or circumvent it.

Pattern Repositories

Organized by Michael Weiss, Aliaksandr Birukou, and Paolo Giorgini

How do you find a pattern? Do you A. Flip through the patterns books on your shelf, B. Google, C. Not bother and stick with what you know, or do you D. Search a pattern repository. We will explore the issues in making a repository work well. Some of questions for which we hope to get answers are how do you organize and search pattern repositories, how do you integrate them with your development process, and how do you create a community of users around a repository.

More details can be found in this PDF file.

News: The focus group has created a wiki for off-site interaction:

Ajax — The big new thing or the big new bubble?

Organized by Andreas Rüping

With Web 2.0 becoming more and more popular, Ajax (Asynchronous JavaScript and XML) turns out to be the new technical buzzword in the area of Internet-based systems. People’s opinions concerning Ajax seem to differ a lot though. Some say it’s just trendy, relevant only for web sites such as MySpace and YouTube that seem to be in vogue right now. Others point out that Ajax represents a new quality for web applications that cannot be ignored. So the big question is: is this just a hype, or is there some substantial new technology?

In discussions you often hear the following pros and cons: 

+ Ajax-based web applications are much more interactive than anything we’ve known before. Only Ajax makes a vast user participation possible. 

+ Ajax-based web applications are much faster than traditional web applications. Fewer pages are loaded, and some of the page loading can be done in the background asynchonously. 

– Ajax blurs the concept of a web page. The back button can no longer be used, bookmarkability is ruined, and web pages cannot be found by search engines. 

– Ajax-based applications rely on a lot of JavaScript code. JavaScript is notoriously difficult to test and maintain. Develop with JavaScript, and you’re sure to end up in spaghetti. 

– Ajax introduces lots of browser dependencies. Users must have JavaScript switched on, and not everybody has. But even if, what users get to see depends on the browser they’re using.

These pros and cons read a bit like a system of conflicting forces, so why not try to resolve these forces and figure out what techniques really work, and how?

The perspective of this focus group is to:

  • bring together people interested in advanced web technologies
  • exchange experiences made with Ajax in real-world projects
  • describe scenarios where Ajax makes sense and others where it doesn’t
  • identify best practices for using, but not overdosing Ajax
“That Works for Me!” – The role of context in the successful application of software development practices

Organized by Andy Longshaw and Kevlin Henney

There are many methodologies and collections of software development practices that are used in different organizations and by software development teams within those organizations. Some of these organizations successfully produce software-intensive systems while others simply produce high levels of stress. In some cases, successful and unsuccessful organizations use, or purport to use, the same software development methodology, so why do they not get the same results? If an approach fails, it is likely that reluctant adopters and cynical stakeholders will blame the methodology and that the methodologists and enthusiastic adopters will blame the organization and the application of the method. This observation applies as much to individuals and their practices as it does to teams and whole organizations: whether it is naming conventions, programmer testing, class hierarchy design or pairing, “that works for me” does not always translate to “that should work for you”.

It is well knows that certain software products and frameworks have a “sweet spot”: a target environment or projected mode of operation under which the product will perform optimally. When you move outside that sweet spot, not only may the operation of the product become sub-optimal but it may actually start to become detrimental to the operation of the system as a whole. By and large, methodologies and software development practices do not come with an explicit sweet spot (or in their case an expected organizational context and matching individual aptitudes) and, being concerned with people rather than software, they are not as clearly bounded as frameworks. Furthermore, for a variety of reasons, methodologies have a tendency to generalize over time.

However, our hypothesis would be that methodologies and practices also have such a sweet spot in which they operate best and – just as with a software product – straying too far outside this sweet spot can cause the practices to become counter-productive. In both success and failure stories, there is a great deal of implicit detail that contributes to the eventual outcome. By making more of this explicit, could we expect more effective adoption of practices?

This focus group looks to explore which practices work (and which ones don’t) in different types of organization and software development environments and with different kinds of people. Questions we will look to answer include:

  • What examples do we have of successful methodologies or software development practices? 
  • What are the additional details and particular aspects of the context in which they were applied that seemed to make them work? 
  • Can we actually be that scientific about the relationship between context and practices or was a particular success using a practice just lucky? 
  • What context do we think that the originators of the methodology had in mind when they proposed them (or what type of context did they grow out of)? 
  • What makes a methodology work or not work, apart from having the originator of it stood over your shoulder all the time? 
  • Can we start to define a set of key environmental factors that will lead to the successful application of a particular methodology or development practice? 
  • Can we identify any environmental factors that will lead to a particular methodology or development practice becoming a development anti-pattern or smell? And to what extent is it the practice as opposed to misapplication of the practice? 
  • Based on this, do we find that there are “groupings of practices” that share the same context or not?
Patterns for Finding your way into new Projects – quickly…

Organized by Marina Haase

We all know the situation: We are new in an IT-Project – there is very little documentation, and very few people to help us get into the project. I’m implying that most of us don’t just arrive in a project – and “hey, presto!” by magic understand the project, are integrated in the team and start being productive.

I’m sure over the years many of you have collected best practices that you repeat when arriving in new project contexts… and I have started analysing what I do – what doesn’t work and what does… and probably will work next time too! The goal of this focus group is to collect proven best practices for getting into projects and start being productive quickly.

We will spend the first few minutes introducing our best practices. Then we will spend a few moments thinking and brainstorming about the problems that occur when starting out in projects. We will then try and associate the problems to the collected best practices or other ideas of best practices. After this we will divide into groups and brainstorm about forces and consequences of first pattern ideas. Ideally at the end of the focus group we will have generated a collection of pattern beginnings that might be documented in detail at a future Europlop.

Past Conferences

EuroPLoP 2005

EuroPLoP 2005

Conference Organization

Conference Chair: Uwe Zdun

Program Chair: Andy Longshaw

Program Committee: Alan O’Callaghan, Andy Longshaw, Arno Haase, Kevlin Henney, Neil Harrison, Lise Hvatum, Allan Kelly, Michael Kircher, Klaus Marquardt, Till Schümmer, Didi Schütz, Markus Völter, Uwe Zdun

Writers’ Workshop groups in EuroPLoP 2005

A1 – Share and enjoy – Patterns for Successful Knowledge Sharing in Large Online Communities

Workshop Leaders: Elizabeth Whitworth , Robert Biddle

Many online community sites have been created in recent years to better harness the information sharing power of the Internet. Unfortunately, relatively few have prospered in the nebulous web environment. Some communities lacked momentum and could not draw in enough members. Perhaps more tragically, however, many found they could not hold themselves together once initial success brought flocks of new members from all corners of the web. This paper provides a small collection of patterns on how to implement community design that better supports optimal collaboration, cohesiveness, and enjoyment in large, collaborative online communities. 

A2 – More Patterns for Web Applications

Workshop Leader: Michael Weiss

Small to medium sized web applications are often built using a standard open-source platform such as LAMP, rather than a comprehensive, but also more complex framework like J2EE. Our goal is to document a pattern language for this domain. The paper continues our previously reported work on a conceptual model of web applications, and web application frameworks. In this paper, we focus on patterns for the interaction with external data sources, basic access control, and managing complex application logic.

A3 – Patterns for Negotiating Actors

Workshop Leaders: Michael Weiss , Babak Esfandiari

Negotiation is the process through which two or more autonomous actors arrive at a mutually agreeable course of action. In this paper we present three patterns for organizing the negotiation process: trusted facilitator, total disclosure, and incremental disclosure. Organization refers to how the actors reveal their preferences, and whether they interact directly or indirectly. The patterns are demonstrated by applying them to the problem of aligning the behavior of the component services of a composite web service.

A4 – Patterns for Virtual Places

Workshop Leaders: Till Schuemmer , Alejandro Fernandez , Mika Myller

Interaction in virtual communities needs a place to take place. This paper combines Findings from virtual community systems with ideas initially presented by Alexander in A Pattern Language. Patterns for virtual spaces are presented and linked to their real world counterpart.

A5 – Patterns for Session Management in Groupware Systems

Workshop Leaders: Stephan Lukosch , Till Schuemmer

Synchronous groupware brings together users who want to collaborate on a common task. One possibility to make collaboration possible and to structure computer supported collaborative work is to organize collaboration comparable to a real world meeting as a session. In this paper, we discuss patterns that focus on session management for groupware systems. These patterns describe how to model a session, how to get a session running, and what to do when a session ends.

A6 – Software Architectures On Top Of Content Management – Best Practices For Enterprises And E-Government

Workshop Leader: Andreas Rueping

Content management comprises techniques and processes around the creation, maintenance, distribution and delivery of web content. When you design a large web site you’ll probably use a content management system, but you still have to set up a software architecture on top of that. Seriously, you can expect such an endeavour to be a fully-fledged software engineering project. A few guidelines how to this can’t be bad. The paper presents a collection of patterns that capture experiences from a number of projects, ranging from the design of e-government web sites offering public community services on the one hand to enterprise portals for customer relationships management on the other. The topics addressed include content organisation, rendering, support for different output channels, session state management, search functionality, personalisation, caching, workflow and deployment.

B1 – Obligation-Fulfillment: A Pattern Language for Some Financial Information Systems

Workshop Leader: Lubor Sesera

The paper addresses the issue of analysis patterns for some financial information systems. They deal with information systems based on recording obligations of various kinds and their fulfillments. This spans a large number of domains: from commercial companies to public and government institutions. Together, eight patterns and their variants are described forming a simple pattern language.

B2 – Slowly Changing Dimensions – a Pattern Language for Coping With Business Change in an Enterprise

Workshop Leaders: Hans Wegener , Robert Marti

This pattern language focuses on dealing with changes to context attributes in data stores in large corporations that are considered “slow” with respect to the rate at which business transactions are recorded, but “fast” with respect to the evolution of the underlying data model. It defines and delineates elements of an architectural language to describe where changes in the business environment materialize in and how they are propagated through the technical world. It demarcates the line between business and technical world in order to assign responsibility as to where design decisions have to be taken. It outlines techniques for capturing, managing, and propagating the structural properties of changes. It identifies different types of business change and describes how these changes can be handled at the business level and be reflected in the technical world.

B3 – A Pattern Language of Software Licensing

Workshop Leaders: Mark Perry, Halina Kaminski

Software licensing and attendant technologies are integral to the protection of software from unauthorized use, first by defining what is authorized for that particular license. This ensures the management of the resource, and where appropriate, the revenue stream for exploitation of the product. Although a software license is simply an agreement forming a legal relationship between the user of the software and the vendor, it is a vital part of software evolution from idea to market. Software developers are constantly seeking new ways to improve the licensing mechanisms that are currently used on the market. Furthermore, diversity of business models brings the need for a variety of different types of software licenses. In this paper we present a a pattern language for software licensing: a set of patterns that can be used by novice or senior programmers to design and integrate an appropriate license type into their software products. Each pattern provides a solution to a well-known problem.

B4 – User Interfaces for Searching – A Pattern Language

Workshop Leader: Tim Wellhausen

The ability to perform search requests in business data is an important aspect of a modern information system. To be accepted by the users, a successful information system needs a user interface that leverages the features and complexity of the back-end. This paper proposes a pattern language that focuses on the design of such user interfaces.

B5 – Audio Navigation Patterns

Workshop Leaders: Dirk Schnelle , Fernando Lyardet , Tao Wei

Nowadays, the design of effective speech interfaces is considered to be more an art than an engineering science. Several guidelines exist, but are more or less a hint about what should be avoided. We introduce a rst set of patterns integrating many guidelines and solution approaches developed during the past 15 years. Our goal is to document and share this knowledge with novel designers as well as providing a language to talk about Voice User Interface (VUI) designs

B6 – A few more business patterns

Workshop Leader: Allan Kelly

Author expands on earlier patterns of business strategy to investigate how patterns may cover the whole business domain. Having shown earlier how patterns may be used to characterise corporate strategy the author is now seeking to drill down into implementation, from large-scale patterns down to smaller ones. Several common business practices are presented in pattern form: Self-Service, No Frills, Personal Attention, One Size Fits All, and Cosmetic Differences.

C1 – Patterns and Advice for Managing Distributed Product Development Teams

Lise B. Hvatum , Adrian Cretoiu , Thierry Simien , Denis Heliot

These patterns are based on several years of experience within an oilfield services company running development teams that are geographically distributed. They need to deal with a substantial time difference and fundamental cultural diversity. Experience from managing these teams has been collected in a written form from various managers, and from memos with recommendations. The information collected was not in a form where it was easily accessible for new teams. Our aim is to generate a collection of standalone documentation to support distributed project teams on the journey to a successful product delivery.

C2 – Patterns for Leading Effective Meetings

Marina Haase

Statistics reveal that out of professionals attending meetings on a regular basis – 91 % admit to daydreaming during meetings – 73 % say they have brought other work to meetings – 39 % say they have dozed during meetings Many of us spend a high percentage of our work time in meetings. Often these meetings are frustrating as they seem endless, ineffective and a waste of time. But meetings are essential to business life. They are necessary for planning, reaching decisions, building teams, finding solutions… As we all know and countless books on leading meetings state, meetings can actually be made effective, energetic and fun… This paper has collected four patterns on leading meetings effectively. They are obviously not a pattern language but maybe a tentative start of a pattern collection…

C3 – XP Expanded: Patterns for Distributed eXtreme Programming

Keith Braithwaite , Tim Joyce

The ever–increasing globalisation of businesses that consume development effort leads to the desire to create development organisations that span the world. At the same time, XP and other Agile approaches to development emphasise the importance of close communication and collaboration. While these two forces on development teams seem  to be in flat contradiction, in fact a body of techniques for successful distributed Agile development is beginning to emerge. These few patterns record those facets of one successful distributed XP team’s practice that seem to be widely shared amongst distributed development efforts with an Agile bent.

C4 – Patterns for Extreme Programming Practice

Joe Bergin

This set of patterns is intended to complement the standard wisdom that can be gleaned from the Extreme Programming literature such as Kent Beck’s Extreme Programming Explained. It is directed primarily at those who are starting out with Extreme Programming and might miss some subtle ideas. Once a team gains experience these patterns will become obvious, but initially some of them are counter intuitive.

C5 – Have it Your Way

Mark Prince, Andy Schneider

Everyone involved in the software development process makes decisions. Having appropriate decision support is one part of the process, but sometimes the greater challenge comes after making the decision: actually having the decision adopted and carried through. For Project Managers and Technical Leads, being able to get your decisions acted on gracefully and managing their outcome (good or bad) is one of the set of skills that belong in any manager or leads toolbox. This paper presents four patterns that capture the common practices necessary to have decisions adopted.

C6 – Technical Vendor Selection Patterns

Andy Schneider

The vendor selection process is a key part of a commercial off the shelf software based development project. Vendor selection involves a broad community including business representatives, technical teams, functional experts, contract negotiations

C7 – amethodology

James Noble, Charles Weir

You’re sitting there, contemplating the start of a new project. You have (perhaps) a potential team of programmers, project managers, office cleaners, specification gurus, architects, testers, telephone sanitizers, configuration management specialists etc. How are you going to coordinate them? How are they going to coordinate themselves? Even imagining the strictly personnel management side has been taken care of (or not) according to the whims and working of your company; the technical management is more difficult. You’ll need an agreed way of working, of agreeing in advance what we’re going to do, of cementing technical contracts between developers – in other words, you need a methodology. There are many Audi-driving ‘consultants’ who will gather around to help you help them meet their sales quotas. But how do you make the right decision?

D1 – Context Encapsulation – Three Stories, a Language, and Some Sequences

Kevlin Henney

This paper presents a small pattern language, CONTEXT ENCAPSULATION, based on dividing up the ENCAPSULATE CONTEXT pattern by Allan Kelly. Four patterns for encapsulating execution context in statically typed languages are described, allowing a component to be sufficiently decoupled from the code and assumptions in the environment in which it was written. It connects these patterns into the kernel of a pattern language, linking them to one another as well as to patterns outside the language. It presents pattern stories that illustrate the language by example and offers pattern sequences that highlight more generally how the pattern language can be animated. The historical background and motivation for the themes in the paper are also introduced. This paper concludes with a section of notes that readers should consider appendices, and should be read only if the subject matter appeals: some reflections on the wider pattern relationships the pattern language can draw on; a simple record of how the pattern language was written; and a brief and formal reflection on pattern sequences, pattern languages, and the nature of design.

D2 – Indecisive Generality

Klaus Marquardt

When a project fails to clarify important issues, to complete the analysis, or to make clear statements where the system is meant to be extensible and where it needs to be stable, architects tend to answer the indecisiveness in a technical way: general and complex solutions. This diagnosis pattern shows why unmanaged complexity is a major risk to the project’s success, how it creeps into a project and how to detect it. Furthermore it gives techniques how to enforce decisions and limit the generality.

D3 – Architectural Patterns Revisited – A Pattern Language

Paris Avgeriou , Uwe Zdun

Architectural patterns are a fundamental stone in the field of software architecture: they offer well-established solutions to architectural problems, help to document the architectural design decisions, facilitate communication between stakeholders through a common vocabulary and assist in analyzing the quality attributes of a software system. Regrettably, finding, and applying the appropriate architectural patterns in practice still remains largely ad-hoc and un-disciplined. This is due to the difference of opinion with respect to the ‘philosophy’ and granularity of architectural patterns, as well as the lack of a comprehensive catalogue. In this paper we attempt to establish common ground in the architectural patterns community by proposing a pattern language that acts as a superset of the existing architectural patterns collections and categorizations. This language is particularly focused on establishing the relationships between the patterns and performs a categorization based on the concept of ‘architectural views’.

D4 – A Pattern for Formal Verification of Properties of Large Systems

Wolfgang Herzner , Georg Weissenbacher

Formal verification (e.g., model checking or theorem proving) constitutes a far more thorough examination than conventional system testing, but tends to become overly costly (or even infeasible) with increased complexity of the system under test. A common strategy to handle large systems is to consider a simplified model, which reflects only those aspects of the original system that are relevant with respect to the property that should be verified. The CEDAR pattern describes a way to obtain an appropriate simplified model by iterative, counterexample-driven refinement of an initial, extremely coarse abstraction.

D5 – A Pattern Language for the Network of Things

Diethelm Bienhaus

Nowadays production and distribution processes are controlled to a large extend by information processes. Interconnecting the flow of material and of information promises increasing efficiency and quality of business activities. Inproduction and distribution processes an identification of “material things” is necessary. Several solutions for automated identification have evolved like Barcode. Radio Frequency Identification RFID is going to replace or augment traditional automated identification techniques. Data can be read from and written to RFID tags. Thus ”things” can carry information about them like their ID and product description. Widespread application of this RFID tags will reveal approaching challenges like coping with an enormous amount of data distributed on single ”things”. This pattern language is a starting point dealing with problems information technology is going to face.

D6 – More Patterns for the Generation, Handling and Management of Errors

Andy Longshaw , Eoin Woods

As systems become more complex it is increasingly difficult to anticipate and handle error conditions in a system. The developers of the system must ensure that errors do not cause problems for the users of the system. In a previous paper, a collection of patterns for such distributed error handling was explored. As this collection was refined, two new patterns emerged: Hide Technical Details from Users and Unique Error Identifier. This paper retains the same context and but is focused on obtaining feedback specifically on these new additions

D7 – Maintainability Patterns

Ofra Homsky , Amir Raveh

Maintainability of products lies in two areas – the technical and the human. To maintain a product and provide assistance to the customers using it one needs to have indicators that will help glean some insight to the way the system works, and to be able to work as efficiently with the customers since they can also provide valuable information that can help in solving problems that may arise during the time the system is used. One of the biggest challenges in providing good support to a product is the relationship with the customers. We referred to some of the issues in previous patterns, such as What IS the Problem?, Re-State the “obvious” and What Did You Do Before That? (EuroPLoP2003). Face to Face Meeting First presented hers continues on the issue of creating good communication with the customer. On the technical side of maintainability we present 3 patterns: Gene Roddenberry refers to the looking forward phase of the ongoing development of a product. The other two patterns, Total Events Counter Alarm and Protected Counters suggest ways to prevent or indicate problems on their “brewing” stages, before they become critical.

E1 – Models and Aspects

Markus Voelter

Aspect Oriented Software Development (AOSD, see [AOSD]) as well as Model-Driven Software Development (MSDD, see [MDSD]) are both becoming more and more important in modern software engineering. Both approaches attack important problems of traditional software development. AOSD addresses the modularization (and thus, reuse) of cross-cutting concerns (CCC). MDSD allows developers to express structures and algorithms in a more problem-domain oriented language, and automates many of the tedious aspects of software development. But how do the two approaches relate? And how, if at all, can they be used together? This paper looks at both of these questions. The first one – how AOSD and MDSD relate – is briefly discussed in the following paragraphs. How AOSD and MDSD can be used together is the subject of the main discussion, where the paper presents six patterns of how MDSD and AOSD can be used in conjunction.

E2 – Cooperating Aspects

Arno Schmidmeier , Stefan Hanenberg

Most AOP examples and AOP patterns describe scenarios, where aspects work on a set of objects. This is not the only use case of aspects. In programs of advanced AOP developers aspects do often cooperate with objects and other aspects. This paper describes two pattern of interacting and cooperating aspects. NOTE: Please can readers concentrate on pages 4-14.

E3 – The Interaction Aspect Pattern

Alessandro Garcia , Christina Chavez , Uira Kulesza , Carlos Lucena

Software agents have the ability to interact with its surrounding environment. As the agents’ complexity increases, object-oriented abstractions cannot modularize their interactive behavior that usually tends to spread across several classes and methods of each agent design. The Interaction Aspect pattern supports the separate definition of the interaction-related concerns through the use of aspects. It decouples the agent’s interactive behavior from the implementation of its basic functionality and other agent-specific concerns, which in turn improves the system reusability and maintainability.

E4 – The Role Aspect Pattern

Alessandro Garcia , Christina Chavez , Uira Kulesza , Carlos Lucena

Software agents have to play multiple roles during their collaborations in a multi-agent system. As the agents’ complexity increases, object-oriented abstractions cannot modularize the agent roles, which tend to spread across several classes and methods of the system design. The Role Aspect pattern supports the separate definition of agent roles through the use of aspects. It decouples the role-specific behavior from the agent’s basic functionality and other system concerns, which in turn improves the system reusability and maintainability.

E5 – Execution Chain

Didi Schuetz

The “Execution Chain” design patterns focuses on systems where input signals are processed in a cascading style with different components working on the output of previous ones. Similar to the structure in the Observer pattern, the dependencies between the components are expressed explicitly within the code. But instead of building dynamic dependency structures, the information is used to derive an appropriate execution sequence upfront, and stepping through this schedule at runtime. This mechanism supports centralised control on the execution, and provides valuable support to monitor or enforce existing hard and soft real-time requirements. During many architectural reviews in the past years, we often encountered situations where project teams emphasized on using patterns, usually mentioning Observer in the first place. Further investigation revealed that these applications didn’t gain much (or any) benefit out of the dynamic dependency management that comes with observer, but paid a high price for that unused feature. The pattern described here trades this flexibility for much better predictability and additional support functions for systems with real-time requirements.

E6 – The Pipes and Filters Pattern. A Functional Parallelism Architectural Pattern for Parallel Programming

Jorge L. Ortega-Arjona

The Pipes and Filters pattern is an architectural pattern for parallel programming used when a design problem can be understood in terms of functional parallelism. This pattern proposes a solution in which different operations are performed simultaneously on different ordered pieces of data, that “flow” through the operations. Operations carried out by each component depend on results of preceeding operations by former components.

E7 – Design Patterns for Graceful Degradation

Titos Saridakis

The term graceful degradation describes the smooth change to a lower state of some system aspect as a response to the occurrence of an event that prohibits the manifestation of the fully fledged system behavior. Graceful degradation has appeared in a variety of domains, from image processing and telecommunications to shared memory multiprocessors and multi-modular memory systems. In each domain, graceful degradation has targeted a different system aspect, e.g. image quality, voice quality, computational capacity, memory access throughput, etc. However, irrespectively of the system aspect that has been gracefully degraded, the basic concepts behind the corresponding mechanisms have been similar in all the domains where graceful degradation has been used. This paper presents four design patterns that capture design principles of graceful degradation. The first of the presented patterns captures the general idea behind lowering the state of a system aspect in the occurrence of an unsolicited event that affects the quality of that aspect. The rest of the patterns elaborate on three alternative methods for graceful degradation, each with a different set of properties.

Writing Group

WG1 – Hybrid Parser

Juergen Salecker

The Hybrid Parser architectural pattern applies to software systems which need to parse documents but are constrained by memory resources available. The pattern combines the processing advantages (mainly execution speed) of event driven parsers with the programming comfort of tree based parsers. An event driven parser together with a set of expressions is used to select interesting sections (recursive) within the document to be parsed, then the parser events are forwarded to a tree builder which produces a tree of objects out of the forwarded parser events. Finally a tree based parser is used to provide the mapping from the produced object tree to the programming language.


WG2 – An analysis pattern: ‘Three-party pattern’

Lotte De Rore , Monique Snoeck

Reuse of domain models is often limited to the reuse of the structural aspects of the domain. In this paper we present a pattern in such a way that it is possible to reuse both structural and behavioral aspects. The analysis pattern ‘Three-way partnership’ describes a situation with three independent concepts that at some point need to be related with each other in various ways. The pattern can be reused in domains where you have a ‘registration’ of ‘task assignments’.


WG3 – Colour and Image Issues in Web Development

Tanya Linden , Jacob L. Cybulski

This paper describes a small set of patterns that are produced in a process of domain-wide pattern mining. We provide a brief description of the experience mining process across web development domain and explain how the resulting pattern languages were discovered. A subset of the mined patterns was selected for this paper because of their pertinence to most web development projects, i.e. colour scheme and readability issues and images download issue.


WG4 – A Pattern Language for Online Share Trading

Jayadev Gyani , Dr.P.R.K.Murthi

Online share trading systems are gaining popularity because they support share trading from any corner of the world. They provide convenient trading facility to the buyers and sellers of stocks. They provide excellent means of transparency to the sellers and buyers of shares. This paper presents a pattern language for online share trading system. The pattern language contains eight analysis patterns which provide the basic functionality of online share trading namely Select the Company, Search, Sector, Gainers Losers, Trade, Company Profile, Verify and Confirmation. These patterns are mined by observing several online share trading sites. This language helps the developer during analysis of such systems. Basically patterns are reusable designs which can be used in other similar applications. Keywords: pattern language, design patterns, online share trading.


EuroPLoP 2005 Focus Groups

Focus groups are usually free-format discussion groups which bring together people who are interested in a challenging topic related to patterns. They bring up issues such as using patterns, organising patterns, experiences with patterns, or designing pattern languages in a design fest etc. Interdisciplinary topics are particularly welcome since they help us learn from other domains. These domains range from less obvious areas of computing, such as artificial intelligence, to other areas of science, such as building architecture, mechanical engineering, music, or film making. 

There are 3 long focus groups and 4 short focus groups, with 4 resp. 2 sessions over the conference. You can choose one long focus group and one short focus group. Remember that these events typically require some kind of preparation, so please check with the session description when you decide which session you’d like to attend. 

In EuroPLoP 2005 there are the following LONG Focus Groups:

  • Visualizing and Connecting Pattern Languages: This focus group will look for ways of combining different pattern languages and supporting orientation in pattern languages by means of graphical representations. We will discuss conceptual models and practical concerns related with the visualization of languages. There will also be the space for reviewing existing pattern collections and finding out what’s so go about them.
  • Patterns for Embedded Systems: Since embedded systems are getting more and more complex and forced to fulfil more and more demanding requirements, such as openness and flexibility, which are well known in the development of desktop systems. When developing such a high level embedded systems, neither an excellent embedded skill set nor advanced desktop experience is sufficient to be successful. While embedded developers stumble into pitfalls that arise from the complexity, the desktop developers miss requirements like resource effectiveness, deployment strategies, start-up times etc. Goal of this workshop is to explore the primary knowledge on embedded systems that are necessary to “ground” an experienced desktop developer. This knowledge will then be organized in a collection of patterns, thereby defining a probably huge list of patterns that are not written yet but would be very helpful as soon as they are out. Participants to this focus group are asked to prepare a list of pattern candidates that are essential for “desktop” software engineers to be successful in development of embedded systems. Contact:
  • Conway’s Law: In their recently published book Organizational Patterns for Agile Software Development Coplien & Harrison include a pattern named Conway’s Law where the solution calls on organizations to: Make sure the organization is compatible with the product architecture.This focus group will look at Conway’s Law in more depth.

In EuroPLoP 2005 there are the following SHORT Focus Groups:

  • Architectural Patterns in Practice: Architectural patterns were one of the very few points, where consensus was achieved in the field of software architecture: their significance is well-established and they are essential to architectural description. The goal of this focus group is to examine how practitioners, researchers, developers, etc. make use of the rich but heterogeneous and diverse collection of architectural patterns, found in the literature. The participants will reflect and discuss on some of the key issues of putting architectural patterns to practice, focusing on their hands-on experience. The focus group is intended to initiate what is expected to be a long discussion among interested researchers and practitioners in putting architectural patterns to work.
  • Can Pattern Mining Be Improved?: I am proposing a domain wide pattern crafting process whereby practitioners who normally would not participate in pattern mining would be given a chance to share their experience via interviews with the ghost writer (see Figure 1). In my empirical work it was mainly unstructured and semi-structured interviews where practitioners were asked to talk about projects reflecting on their problem-solving experience. The goals of these interviews were to identify areas of concern to practitioners and ultimately to outline the potential pattern languages. All interviews were audio and video recorded (in particular, video recording of the computer screen helps understand the narration).Goal of this focus group: Seek the opinions on the proposed process.
  • A Pattern Language for Peer-to-Peer Networks: Peer-to-peer networks are very different in their technical architecture and their implementation. But the success of various peer-to-peer networks in certain domains shows, that these implementations are best practice examples for distributed applications. The resulting architectures and implementations of those networks can be understood as strategies and differ according to their problem domains. Despite their varying implementations, all peer-to-peer networks must cope with communication, large amount of data, and security issues. Moreover, there are similar activities among peers, such as joining and leaving the network, querying for data items, or routing through the network. Those activities depend on the network strategy, but solve recurring problems in peer-to-peer networks. Some of these topics were discussed on the EuroPLoP 2002 (ref. Peer to Peer Patterns), but not documented as patterns. The intention of this paper is to create a structure for a peer-to-peer pattern language and to document some patterns within the language. For this goal, the pattern language shall include different abstraction levels, which address different software development phases (e.g. analysis, design). 
  • Patterns for Leading Effective Meetings : Meetings are part of every day life. They are necessary for planning, discussing and deciding issues in projects. But most of us have — at least at one point — sat in a meeting that could have been a lot more effective and wondered how much more time we will need to waste … Many of us have even spent seemingly endless hours in meetings that seem dull, ineffective or even counterproductive.
Past Conferences

EuroPLoP 2006

EuroPLoP 2006

Conference Organization

Conference Chair: Lise Hvatum

Program Chair: Uwe Zdun

Program Committee: Alan O’Callaghan, Andy Longshaw, Arno Haase, Neil Harrison, Lise Hvatum, Allan Kelly, Michael Kircher, Klaus Marquardt, Till Schümmer, Didi Schütz, Markus Völter, Uwe Zdun

Writers’ Workshop groups in EuroPLoP 2006

Master Track Workshop 

Workshop Leader: Neil Harrison 


  • MT1: Joseph Bergin: Patterns for Agile Development Practice – Part 2 
  • MT2: Markus Voelter: Software Architecture – A pattern language for building sustainable software architectures 
  • MT3: Michael J. Pont, Susan Kurian and Ricardo Bautistar: Meeting real-time constraints using “Sandwich Delays” 
Writers’ Workshop A 

Workshop Leader: Paris Avgeriou 


  • A1: Paris Avgeriou: Patterns for Adaptive Service-Centric Systems 
  • A2: Dominik Grolimund, Peter Mueller: A Pattern Language for Overlay Networks in Peer-to-Peer Systems 
  • A3: Carsten Hentrich, Uwe Zdun: Patterns for Process-Oriented Integration in Service-Oriented Architectures 
  • A4: Till Koellmann, Carsten Hentrich: Synchronization Patterns for Process-Driven and Service-Oriented Architecturesi 
  • A5: Fang Yan Rao, Ru Fang, Zhong Tian: Cache Mediation Pattern 
  • A6: Tim Wellhausen: Business Logic on the Client-Side 
Writers’ Workshop B 

Workshop Leader: Till Schuemmer 


  • B1: Rui Lopes, Luis Carrico: Patterns for Time-based Hypermedia Artifacts 
  • B2: Bettina Biel, Volker Gruhn: Towards Usability-Improving Design Patterns for Mobile Client-Server Computing 
  • B3: Dirk Schnelle, Fernando Lyardet: Voice User Interface Design Patterns 
  • B4: Till Schuemmer and Stephan Lukosch: READ.ME – Talking about computer-mediated communication 
  • B5: Wolfram Schobert and Till Schuemmer: Supporting Pattern Language Visualization with CoPE
  • B6: Leon Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes Aguilare: Meta-Specification and Cataloging of Software Patterns with Domain Specific Languages and Adaptive Object Models 
Writers’ Workshop C 

Workshop Leader: Klaus Marquardt 


  • C1: Ademar Aguiar, Gabriel David: Patterns for Documenting Frameworks – Part II 
  • C2: Ian Graham: A pattern language for BRMS development 
  • C3: Alexander Fuelleborn, Maritta Heisel: Methods to Create and Use Cross-Domain Analysis Patterns 
  • C4: Allan Kelly: Patterns for Technology Companies 
  • C5: Klaus Marquardt: Patterns for Software Release Versioning
  • C6: Martin Schmettow: User Interaction Design Patterns for Information Retrieval Systems
Writers’ Workshop D 

Workshop Leader: Andreas Rueping 


  • D1: Patrick Morrison, Eduardo B. Fernandez: Securing the Broker Pattern 
  • D2: Sasha Romanosky, Alessandro Acquisti Jason Hong, Lorrie Faith Cranor Batya Friedman: Privacy Patterns for Online Interactions 
  • D3: David J. Pearce, James Noble: Relationship Aspect Patterns 
  • D4: Arno Schmidmeier: Configuration of Aspects 
  • D5: Raf Haesen, Lotte De Rore, Monique Snoeck, Wilfried Lemahieu, Stephan Poelmans: Active-passive hybrid data collection 
  • D6: Andreas Rueping: Web Content Management – Patterns for Interaction and Personalisation 
Writers’ Workshop E 

Workshop Leader: Dietmar Schuetz 


  • E1: Alexandros Karagkasidis: Load Distribution Patterns for Loosely-coupled Multicomputer Systems 
  • E2: Juergen Salecker: Embedded System Update 
  • E3: Dietmar Schuetz: Boot Loader 
  • E4: Povl Kvols, Hedin Meitil: A Pattern Language for Logging 
  • E5: Susan Kurian, Michael J. Pont: Restructuring a pattern language which supports time-triggered co-operative software architectures in resource-constrained embedded systems 
  • E6: Thomas Holzer: Data Selection Patterns in Batch Programming – Or: Why batch programming isn’t that trivial after all 
Writing Group 

Writing Group Leader: Andy Longshaw 


  • WG1: Thomas Mey: Rewrite Patterns for the replacement and maintenance of Software Systems. [Associated with workshop A] 
  • WG2: Uzair Ahmad, Muhammad Ahmad Ghazali: A Pattern Based Persistence Framework for Object Oriented Database Systems [Associated with workshop B]
  • WG3: Michalis Hadjisimou, Aimilia Tzanavari: Migrating to e-Learning in secondary education [Associated with workshop C]
  • WG4: Harri Hakonen, Ville Leppaenen: Object-Oriented Design Pattern: Access Protector [Associated with workshop D]
  • WG6: Klaus Meffert: Defining and Selecting Design Patterns Considering Explicit Semantics and Corresponding Elements [Associated with workshop E]

EuroPLoP 2006 Focus Groups

Focus groups are usually free-format discussion groups which bring together people who are interested in a challenging topic related to patterns. They bring up issues such as using patterns, organising patterns, experiences with patterns, or designing pattern languages in a design fest etc. Interdisciplinary topics are particularly welcome since they help us learn from other domains. These domains range from less obvious areas of computing, such as artificial intelligence, to other areas of science, such as building architecture, mechanical engineering, music, or film making. 

EuroPLoP 2006 will only host short focus groups lasting 2 hours 40 minutes in total. Three focus groups will be held on Thursday (6 July) with another three on Friday (7 July).

You are free to choose which focus group you would like to attend on both days. However, the nature of focus groups makes it difficult to switch between them once they have started. Remember that these events typically require some kind of preparation, so please check with the session description when you decide which session you’d like to attend. 

The following focus groups have been accepted for EuroPLoP 2006:

  • Capturing Architectural Knowledge with Architectural Patterns (provisionally scheduled for Friday)
    Proposed by: Uwe Zdun, Paris Avgeriou and Neil Harrison
    The goal of this focus group is to examine how architectural patterns can serve as significant architectural design decisions and thus provide reusable, shareable architectural knowledge. We expect practitioners, researchers, developers, etc. to share their experiences and insights with taking architectural design decisions by choosing and applying architectural patterns. The participants will demonstrate in practice the architectural design of a non-trivial system according to architectural patterns and will accordingly make their decisions explicit.
  • Communicating Effectively (provisionally scheduled for Friday)

Proposed by: Marina Haase

At the beginning we will spend a short time sharing our experiences in and our knowledge of communication and structuring the input. After that we will focus on practicing and intensifying our communication skills. The exact content of the practices will be dependant on the preferences in the actual group.

Proposed by: Andy Longshaw and Kevlin Henney

Metaphor appears in many aspects of software development from architectural, such as classic XP’s System Metaphor, to metaphors for software development itself, such as building architecture or civil engineering. This focus group seeks to explore the roles of metaphor in software development 

  • Security Patterns – The Next Generation (provisionally scheduled for Friday)
    Proposed by: Markus Schumacher and Sasha Romanosky
    After some years of talking, writing and consolidation, security patterns seem to take off eventually. Several collections of security patterns are available, the first books are going to be published. However, there’s still plenty of security expertise that waits to be made available as a pattern. 
  • Socio-Economic forces in Creating a Major Architecture (provisionally scheduled for Thursday)
    Proposed by: Allan Kelly and Lisa Hvatum
    This focus group proposal is a follow-up of the focus group exploring Conway’s Law at EuroPLoP 2005. While discussing the essential homomorphism causing software architecture to mirror the communication structure of the organization creating it as explained by Conway, the group found a number of other forces that impact creation of software architecture. In this group we will seek to explore in more depth the various forces that software architects should recognize and understand, especially the non-technical forces.
  • Shepherding workshop (provisionally scheduled for Thursday)
    Proposed by: Neil Harrison
    Shepherding gives us the opportunity to see our work as others see it. Let’s use shepherding as a springboard to help us learn to see our works as others see them. This is all about learning to be better at introspection.