July 7-11, 2010, Irsee Monastery, Bavaria, Germany

Shepherded Papers

The following papers are currently shepherded for EuroPLoP 2010, which means that an experienced pattern author collaborates with the authors of the submissions to improve them prior to acceptance for EuroPLoP 2010.

Note: Click on the email icon next to the author name(s) to send an email to everyone involved with a paper

Pattern papers

  Michael Weiss
PC member: Andreas Fiesser
Shepherd: Allan Kelly
Profiting from open source

The patterns in this paper describe open source business models. How companies can make money from open source is a frequently debated topic. However, since the origins of open source, our understanding of open source business models has significantly evolved. Many businesses now incorporate open source, either leveraging open source to develop new products or starting their own open source projects and building their products and services around their open source offerings.


  Andreas Rüping
PC member: Uwe Zdun
Shepherd: Filipe Correia
From Old to New -- Patterns for Data Migration

When an existing application is replaced by a new one, its data has to be transferred from the old world to the new one. This process, known as a data migration, faces several important requirements. It’s likely that the data is valuable to the organisation that owns it, so the process has to be accurate. The amount of data could be rather large, so the data migration must be reasonably efficient. A failed data migration could easily delay the launch of the new application, so robustness is required. This paper presents a collection of patterns for handling a data migration effort. The patterns are targeted at software developers, architects and managers alike. They demonstrate techniques and strategies that help meet the typical requirements of a data migration project.


  Dr. Moshe Weiler , Ofra Homsky , Amir Raveh
PC member: Paris Avgeriou
Shepherd: Andy Longshaw
Patterns for Risk Management in Projects

When planning a project, it is important to deal with Risk Management aspects. Some of the major tasks in Risk Management Process are identification, initial assessment and prioritizing. These patterns represent the beginning of a Pattern Language for practitioners in the Risk Management problem domain.


  Christian Kohls
PC member: Tim Wellhausen
Shepherd: Dietmar Schuetz
A pattern collection for interactive information graphics

Interactive graphics are frequently used in today’s information delivery strategies. The challenge is to find adequate interactive knowledge representations to communicate complex topics. Also, tools are required to enable a designer to rapidly create and develop interactive content without any programming skills. This paper summarizes the patterns for interactive displays that have been mined over the last years. Many of them have seen Writer’s Workshops already but are now presented as improved versions.


  Rashina Hoda, James Noble, Stuart Marshall
PC member: Christian Kohls
Shepherd: Kristian Elof Soerensen
How Much is Just Enough: Some Documentation Patterns on Agile Projects

Agile methods advocate “just enough” documentation on Agile projects. Unfortunately, there are no clear guidelines on what is “just enough” documentation. We describe a set of patterns to help Agile software development teams define “just enough” in their own contexts. Teams can also employ these documentation patterns as strategies to overcome common challenges of adopting Agile methods.


  Ofra Homsky
PC member: Klaus Marquardt
Shepherd: Neil Harrison
Both sides against the middle

This pattern describes a solution for projects with tight schedules that also carry foreseen and unforeseen uncertainties regarding difficulties during work, and presents a timeless solution.


  Georgina Holden, Nicole Shadewitz, Chrysi Rapanta
PC member: Jim Siddle
Shepherd: Symeon Retalis
Patterns for the creation of elearning content and activities in a university setting

This paper reports a number of patterns identified during the creation of elearning content within the Open University, the largest provider of distance higher education in the UK. The patterns identified relate to writing and content creation and the development of active learning exercises. The patterns were identified through a mix of self and external observation and analysis.


  Veli-Pekka Eloranta, Johannes Koskinen
PC member: Kristian Elof Soerensen
Shepherd: Bob Hanmer
Fault Tolerance Patterns For Distributed Machine Control Systems

When designing distributed machine control systems, developers and architects need to often tackle fault tolerance issues. There are already some patterns available to help in design process. However, while we carried out architectural evaluations in Finnish machine industry, we identified some fault tolerance patterns which are not so broadly documented. In this paper we will present those patterns. In addition, we will show our whole pattern language graph to give understanding how these pattern are related to the rest of the pattern language.


  Ville Reijonen, Johannes Koskinen
PC member: Neil Harrison
Shepherd: Klaus Marquardt
Setup Management Oriented Patterns for Distributed Machine Control Systems

This paper presents four patterns useful for a machine control systems which have changing configuration or long life cycles. These patterns discuss how the system setup could be recognized, configured and updated.


  Fausto Giunchiglia, Hao Xu, Aliaksandr Birukou, Ronald Chenu
PC member: Till Schuemmer
Shepherd: Paris Avgeriou
Patterns for Scientific Discourse Representation

With the advancement of digital library techniques and open access services, more and more off-the-shelf utilities for managing scientific publications are emerging and widely used. However, most papers of today remain electronic facsimiles of the traditional linear structured papers lacking semantics and links between pieces of knowledge. In this paper, we propose a first draft of a pattern language for describing scientific papers. Current version was mainly created by analyzing computer science papers. Such pattern language will facilitate reading and writing of papers and provide means for linking (claims, hypothesis, etc.) within and between papers.


  1.Farah, Lakhani, 2.Michael, Pont, 3.Anjali, Das
PC member: Kristian Elof Soerensen
Shepherd: Jorge Luis Ortega Arjona
Creating embedded systems with predictable patterns of behaviour: Supporting the migration between event-triggered and time-triggered software architectures

We can divide designs for embedded systems into two categories – time- triggered (TT) and event-triggered (ET) - based on the ways in which the various systems tasks are initiated. This paper is concerned with techniques which may be used to support the migration between ET and TT architectures. We have previously introduced a small set of patterns to support such activities. In this paper, we present a number of new patterns which are intended to further support the migration process.


  Elissaveta Gourova, Yanka Todorova
PC member: Allan Kelly
Shepherd: Michael Weiss
Knowledge audit distribution and analysis

The concept of business patterns for Knowledge Audit was presented at a writers workshop of EuroPLoP 2009, where the patterns for Knowledge Audit Plan, Knowledge Audit Team, Knowledge Audit Methodology, Knowledge Audit Questionnaire and Knowledge Audit Report were described [5]. The present paper is a follow-up of these business patterns for the implementation of Knowledge Audit and focuses on the implementation phase of Knowledge Audit. It considers the following patters: 1. Knowledge Audit Questionnaire Distribution 2. Knowledge Audit Analyses of Results


  Stefan Sobernig, Uwe Zdun
PC member: Jim Siddle
Shepherd: Michael Weiss
Inversion-of-Control Layer

Inverting the control is a common design practise that has been used in various application areas. It gained popularity in the context of object-oriented application frameworks and designs based on abstract classes or interfaces. Recently, dependency injection techniques, especially in the context of lightweight containers such as Spring, have raised the attention for inversion of control again. However, inversion of control has not yet been described in its architectural dimension with a focus on layering architectures, and the pros and cons of the design decision for control inversion. In this paper, we present the INVERSION-OF-CONTROL LAYER pattern that describes the design practise from an architectural point of view, rather than focusing on particular implementation techniques.


  Dirk Schnelle-Walka
PC member: Andreas Fiesser
Shepherd: Neil Harrison
A Pattern Language for Error Management in Voice User Interfaces

Error handling is a crucial factor for the success of voice based interfaces since the underlying technology always leaves some uncertainty about the recognized input. In this paper a pattern language for error management in voice based interfaces is presented that enable designers and developers to deal with this limitation. It integrates into our pattern language for voice user interfaces.


  Klaus Marquardt
PC member: Kristian Elof Soerensen
Shepherd: Tim Wellhausen
Patterns for Software Release Versioning

Software developers rightfully focus on the activities needed to polish the software for its first release. The management of future releases, version identification, compatibility checks, and update strategies are typically treated as an afterthought, but insufficiencies or inconsistencies here have all the potential to make your life miserable once the software has hit the market. This paper covers techniques to identify a particular version, policies to determine version compatibility, and release update strategies. It aims to help the project participants responsible for releases. The affected roles are software architect, release manager, project lead, and product manager. In small projects these roles may be covered by one or two persons.


  Martin Wagner, Tim Wellhausen
PC member: Uwe Zdun
Shepherd: Hugo Sereno Ferreira
Patterns for Data Migration Projects

Data migration is one of the most common operations in enterprise computing. Whenever new systems are introduced and after each merger and acquisition, existing data has to be moved from a legacy system to some hopefully more suitable target system. This paper presents several patterns that deal with the complexity involved in matching two distinct domain models and, at the same time, ensuring that the migrated data is of high quality.


  Klaus Marquardt
PC member: Ademar Aguiar
Shepherd: Andy Longshaw
Monoculture

Teams and companies create their own culture. Over time the behaviour of all team members is similar, at least within accepted boundaries. The working habits, the way code is formatted and the configuration management system is used, the quality of tests pretty much resemble each other. Almost certainly, the toolset, compiler, and development environment are identical. This is a great strength as it minimizes the friction that occurs during the daily tasks. Large companies may bring this to some extreme: that all teams follow the same standardized workflows, and use the same environment. This is also brought forward by maturity measurements like SPICE and CMMI. However, there is a downside. Such intentional monoculture can be an obstacle to progress and productivity, and cause the company knowledge to become stale. This diagnoses shows you the mechanisms how you might get into an unhealthy monoculture state, and how to overcome it.


  Bettina Biel, Volker Gruhn
PC member: Klaus Marquardt
Shepherd: Yishay Mor
Usability-Improving Mobile Application Development Patterns for Android

The fast evolution of mobile devices and their complex functionalities require an improvement of the design process applied: Using patterns allows to document and use up to date and already proven solutions. This paper introduces two usability-improving mobile application development patterns for software designers of mobile applications that run on mobile devices without accessing remote logic or data storage.


  Dietmar Schuetz
PC member: Carsten Hentrich
Shepherd: Tim Wellhausen
Lean PLE

The paper is about how to introduce Product Line Engineering into an organisation, following a low risk low investment upfront approach, just lean. Please see paper summary for more details.


  Geert Monsieur, Monique Snoeck, Wilfried Lemahieu
PC member: Paris Avgeriou
Shepherd: Uwe Zdun
Managing Sequence Dependencies in Service Compositions

In a service-oriented environment services are often aggregated to coarser grained service compositions in order to form a service-based system that supports a specific business process. For each service composition, there exists coordination logic that describes all service interactions required to compose the coarser service. These service interactions should follow the constraints specified in the business process. In this article we present four patterns that facilitate the systematic development of coordination logic. In particular pattern combinations help to construct a coordination scenario that is optimized for aspects such as flexibility, loose coupling and performance.


  Claudius, Link
PC member: Allan Kelly
Shepherd: Andreas Fiesser
Patterns for the commercial use of Open Source

Open Source has gained a major importance in producing value in the software business. Through open source it is possible to save considerable costs developing, deploying, and maintaining systems. And the value provided by open source components is still increasing. Even more, to stay competitive you are required to leverage Open Source as you competitor will do so as well. The general question behind the commercial usage of Open Source is how to profit from the value created. To successfully utilize Open Source there are patterns which help to maximize the value, make decisions, minimizing the effort and risks as well as to avoid pitfalls.


  Luis Ferreira da Silva, Fernando Brito e Abreu
PC member: Uwe Zdun
Shepherd: Dietmar Schuetz
Patterns for IT Infrastructure Design

The design of large IT infrastructures is a complex problem because is dependent on many variables and must evolve rapidly to cope with business changes. The use of IT infrastructure patterns can improve this design process by allowing to reuse proven solutions to recurrent problems and by facilitating communication among IT design stakeholders. However, known IT infrastructure patterns are mostly like vendor-specific blueprints. As such, they are not very helpful in comparing alternatives and supporting independent design decisions. In this paper we introduce patterns in the domain of IT infrastructures covering aspects from its rationale to instantiation. This is the first step in the creation of a pattern language that will hopefully leverage the IT infrastructure design process.


  Diethelm, Bienhaus
PC member: Andreas Fiesser
Shepherd: Ofra Homsky
Some Patterns for Innovation Processes

Innovative processes comprise several activities performed by individuals or by groups varying from bringing out first ideas to transferring them into new products or services. Innovation is a highly complex topic involving several human abilities, characteristics and skills like creativity, knowledge, cooperativeness and teamwork are principal determinants. This paper introduces a first collection of patterns focusing on challenges or problems which are likely to come about in innovative processes.


  Shiva Vafadar, Ahmad Abdollahzadeh Barfroush
PC member: Michael Weiss
Shepherd: Wolfgang Herzner
Analysis Pattern for Learning Agents

One of the capabilities which can help intelligent software agents to perform more appropriately in dynamic and volatile situations is learning. Agent Oriented Software Engineering (AOSE) tries to make Artificial Intelligence (AI) findings part of the everyday software engineering practices. Therefore, provid-ing methods for dealing with AI techniques in all phases of software develop-ment would be beneficial. In this paper, we focus on requirements analysis of the agent based software development and introduce a pattern for analysis of (requirements for) learning agents. This analysis pattern contains a group of re-lated, generic meta-classes of the learning and their relations in a domain neutral manner which can be described as elements of conceptual modeling for learning requirements of the agents. The paper also proposes a process for producing and evaluating this pattern. The applicability of the pattern has been investigated through the development of three case studies. The first results of evaluating the earlier version of the pattern are also presented in the paper and they are used to improve the pattern and introduce the new version.


  Christian Remy, Malte Weiss, Martina Ziefle, Jan Borchers
PC member: Till Schuemmer
Shepherd: Christian Kohls
A Pattern Language for Interactive Tabletops in Collaborative Workspaces

In the recent two decades, research on interactive tabletops has revealed a variety of new designs and technologies. As tabletops are becoming commercially available, they might be part of everyday's life in the near future. However, the diversification of hardware designs, interaction techniques, and research findings has led to a highly specialized knowledge that lacks consensus and induces a high threshold for designers, non-researchers, and practitioners, to approach the field, to develop new solutions, or to refine their existing systems. In this paper, we present a Human-Computer Interaction (HCI) design pattern language that bundles existing knowledge on tabletop design and offers solutions to recurring problems. Our patterns enable not only developers, designers, and domain experts to improve their existing systems and facilitate the design process of new systems, we also encourage novice users to comprehend the variety of tabletop research and commercial products in this domain. We consider our language as a starting point to create a sustainable body of knowledge that will be extended and refined by the community.


  Mandy Chessell, James Siddle
PC member: Tim Wellhausen
Shepherd: Lise Hvatum
Master Information Hub Pattern Language

This paper presents a pattern language for designing Master Information Hub solutions usingIBM InfoSphere Master Information Hub, a model-driven toolkit for creating a central server formanaging organizational data. We call the resulting server a Master Information Hub, or MIHub, for short.


  Anne Hoffmann
PC member: Neil Harrison
Shepherd: Alexander Ernst
Requirements Pyramid

One important part during the elicitation phase in Requirements Engineering is about structuring information received from different stakeholders such as customers, marketing, analysts and developers. Thus, a suitable mental model eases these activities, especially the communication about requirements. Here, a structuring according to the level of detail and divided into problem and solution space is shown. To facilitate dependency analysis, relationships between any two requirements are modelled by linking. Once the requirements are ordered and linked accordingly, this structuring can be used for further analyses throughout the whole project or product life cycle respectively.


  Christian Lescher
PC member: Allan Kelly
Shepherd: Jim Siddle
Patterns for Global Development: How to Build One Global Team?

Global Development has become a mainstream trend. Many companies today conduct development projects in teams which are distributed across sites and countries. Typical motivations include proximity to markets, availability of talent regardless of location and cost competitiveness. Global Development also creates new challenges: Geographic separation, cultural differences and different time zones make communication much more difficult and inefficient. However, software development heavily relies on communication. In fact, studies showed that the intensity of project-internal communication is positively correlated with project success. One of the main problems in Global Development is the impact of distribution on team cohesion: Based on their nature, people tend to form local in-groups. In case of difficulties in the project, often an "us versus them" situation between the different sites is the result. To avoid such situations, creating a trust relationship among team members is essential. In this paper, we present a collection of patterns that can help to build one global team and overcome the natural challenges of distributed development.


  Tom Holvoet, Danny Weyns, Paul Valckenaers
PC member: Tim Wellhausen
Shepherd: Michael Weiss
Patterns for Delegate MAS

Delegate MAS has been proposed and investigated as an integrated coordination technique for so-called self-organising coordination-and-control applications. Delegate MAS consist of three types of light weight, ant-like agents that assist domain agents in their coordination tasks - the types are exploration, intention and feasibility ants. The technique is especially suitable for distributed applications in large-scale, dynamic systems. Literature shows that, for various application domains, solution ap- proaches based on self-organisation have been proposed that have several similarities to delegate MAS, yet are not identical. In this paper, we specify three reusable solution patterns for coordination in distributed, large-scale, dynamic systems. To motivate the patterns, we first visit several solution approaches from various domains that bear resemblance with respect to coordination. We then identify common application character- istics as well as common technical challenges that underlie the approaches. We describe recurring solution techniques, and consolidate these in three solution patterns. The patterns are ‘smart messages’, ‘delegate MAS’, and ‘delegate ant MAS’ which rely on stigmergic ant agents. Identifying the patterns fosters reuse of particularly useful coordination techniques, and can serve as a catalyst for new or altered approaches.


Papers on applying patterns

  Aliaksandr Birukou
PC member: Ademar Aguiar
Shepherd: Uwe van Heesch
Searching and Selecting Patterns: a Survey of Existing Approaches

With ever-increasing number of patterns in the literature and online repositories, it can be hard for non-experts to know about new patterns and select patterns appropriate to their needs. In this paper we review existing approaches for searching and selecting patterns. Current version of the paper misses some approaches and details, but we are planning to eliminate this shortcoming during shepherding.


  Lubor Sesera
PC member: Ademar Aguiar
Shepherd: dave west
Applying Fundamental Banking Patterns

Fundamental banking patterns are the system (pattern language) of 24 analysis patterns for banking software systems. The paper extends the previous paper on this topic and describes application of these patterns in real-world software systems. The systems include a core banking system, a branch teller system, two bank card systems, an integrated customer view system, and a loan workflow system. Each of these systems uses specific banking patterns and pattern sequences. It depends both on a subdomain which the system automates and individual features of the system.


  Yanka Todorova, Elissaveta Gourova, Dimitar Birov
PC member: Michael Weiss
Shepherd: Klaus Marquardt
Patterns for Strategy Management of Technology Entrepreneurship and Innovation Executive Program

Today, innovation has become key point to sustaining growth and development, leading to a need for professionals who are skilled in the latest knowledge and best practices in innovation and entrepreneurship. However, innovation is not only about technical innovation, but also the flow of new products and services, dispersion and implementation of innovation strategies for knowledge management and organizational change. Patterns of innovative knowledge flow in the Innovation and Entrepreneurial Ecosystem. Many existing studies observe the relationship between general education and vocational education specific to entrepreneurship from one side, and from the other side, the entrepreneurial performance. The paper extends the EuroPLoP’2009 patterns and introduces four patterns for use by educational organizations’ managers and lecturers for creating of executive program for vocational education and training in the area of technology entrepreneurship and innovation (TEI).


  Jorge L. Ortega-Arjona
PC member: Paris Avgeriou
Shepherd: Stefan Sobernig
Applying Design Patterns for Communication Components. Communicating CSE components for the One-dimensional Heat Equation

The Design Patterns for Communication Components is a collection of patterns related with a method for developing the communication sub-systems of parallel software systems. These design patterns take as input information (a) the architectural pattern of the overall parallel software system, (b) the memory organization of the parallel hardware platform, and (c) the type of synchronization required. In this paper, it is presented the application of the design patterns along with the method for communicating the CSE components of the One-dimensional Heat Equation. The method used here takes the information from the Problem Analysis and Coordination Design, selects a Design Pattern for the communication components, and provides elements about its implementation. This paper is aimed at those interested in the design of parallel software and require a base to understand it, with a background in parallel programming and software patterns, particularly the Patterns for Parallel Software Design. The information provided in this paper attempts to guide developers and programmers during the communication design and implementation using design patterns for communication components.


  Jorge L. Ortega-Arjona
PC member: Neil Harrison
Shepherd: Veli-Pekka Eloranta
Applying Architectural Patterns for Parallel Programming. An Hypercube Sorting

The Architectural Patterns for Parallel Programming is a collection of patterns related with a method for developing the coordination of parallel software systems. These architectural patterns take as input information (a) the available parallel hardware platform, (b) the parallel programming language of this platform, and (c) the analysis of the problem to solve, in terms of an algorithm and data. In this paper, it is presented the application of the architectural patterns along with the method for developing a coordination for solving an Hypercube Sorting. The method used here takes the information from the problem analysis, proposes an architectural pattern for the coordination, and provides some elements about its implementation.


This list will be updated once we have made a final acceptance decision.