Important Dates

May 23rd
Initial Draft Submission
Jun 11th
Shepherding starts
Aug 1st
Focus Groups Submission
Aug 17th
Second draft due for review
Aug 27th
Notification of Acceptance
Sep 15th
Conference Draft Due
Sep 21st
Early Registration ends
October 18th
BootCamp
October 19-21
PLoP Conference Days

PROGRAM

Pattern Languages of Programs (PLoPTM) conference is a premier event for pattern authors and pattern enthusiasts to gather, discuss and learn more about patterns and software development.

The conference program includes the following kinds of sessions:

PLoP and the Bootcamp will be held at the Loew's Ventana Canyon Resort · Tucson, Arizona, USA.

Conference at a Glance

The BootCamp, a special full-day Pre-PLoP activity for newcomers, will happen on Thursday, October 18th, 8h30-17h00.

The PLoP conference starts on Friday morning, October 19th, at 7h30, with breakfast, and it will conclude on Sunday, October 21st at 6pm.

Invited Talks

"Pattern Language 3.0: Making Pattern Languages for Human Actions"

Takashi Iba, Friday, 10/19, 09:00-10:00

The original idea of pattern languages for writing out the design knowledge was proposed by an architect Christopher Alexander. His intention was to have people get involved in the process of designing their own houses and community where they live in. Ten years later, the idea of pattern languages was adopted in the field of software design. And, recently, the fields where pattern languages are applied are expanding little by little.

With these events in the background, I have been writing pattern languages in a whole new area of knowledge: human actions, like learning, presentation, collaboration, education, business, social innovation, policymaking, and even beauty in daily life. Through these experiences, I have faced such a fundamental question as “what are pattern languages?” Such thoughts allowed me the opportunity to organize and refine my views on pattern languages.

Human actions appear to be much different from architecture and software, however they need to be designed with tacit design knowledge, which consists mainly of context, problem, and solution. In that sense, without losing the essence of design knowledge, pattern languages have gone through, and are still experiencing, a tremendous evolution. In this talk, I will present a new framework for pattern languages based on these thoughts, and show our examples of patterns and
applications.

Takashi Iba, a trans-disciplinary researcher, creator, and writer, explores the nature of creativity and works to build media to nurture it. He is an associate professor at the Faculty of Policy Management and the Graduate School of Media and Governance of Keio University, Japan. Dr. Iba has made many pattern languages concerning human actions, including learning, presentations, education, entrepreneurship, and beauty in daily life, with his collaborators. He is also currently working on creating pattern languages for collaboration, business, and policy making. Respecting the original philosophy of Christopher Alexander, he is now developing a new methodology for the creation of pattern languages emphasizing the importance of the whole. He believes that this holistic approach based on Alexander's philosophy must be a new foundation for the emerging creative society. He received a Ph.D. in Media and Governance from Keio University in 2003, and continued von as a visiting scholar at the MIT Center for Collective Intelligence, 2009-2010. He authored multiple scientific textbooks such as the bestselling Introduction to Complex Systems: An Adventure to the Frontier of Knowledge (NTT Publishers, 1998, in Japanese), and many others including Social Systems Theory (Keio University Press, 2011, in Japanese).
"Outside-the-Box Thinking for Patterns in an Evolving Organizational Security Domain"

Andrew P. Moore and David A. Mundie, Saturday, 10/20, 09:00-10:00

Over the last decade, CERT has cataloged over 700 cases of malicious insider crime and identified well over 100 categories of weaknesses that allow such insider attacks to occur. Most recently we have undertaken the development of an insider threat pattern language to assist in transitioning what we have learned into practice.

Unfortunately, testing the validity of our patterns and implementing them in real environments is complex and challenging due to our evolving understanding of the problem and the low base rate of insider attacks. In this talk we present two strategies that we have found useful. The first is to view a pattern as a hypothesis to test, rather than a tried-and-true method of solving a development problem. This approach was suggested by Kohls and Panke in their 2009 PLoP paper “Is that true …? Thoughts on the epistemology of patterns.” The advantage of this view is that pattern developers can hypothesize previously untried methods as patterns and collect evidence that the patterns would be successful in development contexts. We present an example insider threat mitigation pattern viewed as a hypothesis to test, and present evidence of its effectiveness derived empirically from CERT’s case database.

The second strategy we discuss addresses the issue of how to organize our patterns so as to optimize navigation, conceptualization, education, and implementation. Our central problem was that we knew of five reasonable ways to organize the language, but each of them involved sacrificing useful features from the others. In an attempt to have our cake and eat it to, we followed in the footsteps of VanHilst et al., and opted for an explicitly multi-dimensional pattern language. We discuss our solution and the paradigm shift that new visualization techniques may bring about in the way we think about classification.

Andrew P. Moore is a lead researcher in the CERT Insider Threat Center and Senior Member of the Technical Staff at Carnegie Mellon University's Software Engineering Institute. He explores ways to improve the security, survivability, and resiliency of enterprise systems through insider threat and defense modeling, incident management, and architecture engineering and analysis. Andy also works with teams across the SEI applying modeling and simulation techniques to hard system and software engineering problems. Before joining the SEI in 2000, he worked for the Naval Research Laboratory (NRL) investigating high-assurance system development methods for the Navy. He has over twenty years experience developing and applying mission-critical system analysis methods and tools, leading to the transfer of critical technology to both industry and the military. Andy has co-published a book on insider threat, two book chapters, and a wide variety of technical journal and conference papers. Andy received a MA in Computer Science from Duke University, a BA in Mathematics from the College of Wooster, and a Graduate Certificate in System Dynamics from Worcester Polytechnic Institute.

David A. Mundie is a Senior Member of the Technical Staff in the CERT Cyber Enterprise and Workforce Management directorate in the CERT Program at the Software Engineering Institute (SEI). As a member of the CERT CSIRT Development Team, Mundie currently works to help other organizations build their own computer security incident response team (CSIRT) or incident management capability. In addition to his CSIRT development work, Mundie is a researcher in insider threat, and has co-developed an insider threat pattern language. From 2006 to 2012, Mundie was the manager for Outreach, Awareness, and Training in Q-CERT, a national CSIRT that is a partnership between the CERT program and the government of Qatar. Prior to joining the SEI, Mundie worked in software development at Texas Instruments and Western Digital. He holds an M.A. in philosophy from the University of Chicago, as well as an A.B.D. in French Literature and an M.S. in computer science from the University of Virginia.
"On the Powerful Symbiosis of Man and Computer"

Trygve Reenskaug, Sunday, 10/21, 09:00-10:00


The application of computers, computer communication, personal computing, and social media has been slowly evolving over the past 40 years. Today, the effects on society and the lives of individuals are so profound that it begins to take the shape of a symbiosis between man and machine. I strongly believe that this symbiosis can be greatly facilitated by a mind-set based on true object orientation, a mind-set that could be shared across people, domains, and systems.

The talk is divided into three parts. The first part is about how computing influences our work processes, our business process architectures, and all the computer based tools we use for a variety of tasks. The second part is about man-machine communication, in particular about the communication path between the human brain and the data in the computer. This is exemplified by the old Model-View-Controller paradigm (MVC). Its essential purpose is to bridge the gap between the human user's mental model and the digital model in the computer. Ideally, MVC supports a user illusion of seeing and directly manipulating this model. I summarize with a quick sketch of a pattern language for MVC and its usage. The third part is about the completion of the man-machine symbiosis by unifying the end user's mental model, the programmer's mental model, and the computer code. This is exemplified by the new Data-Context-Interaction paradigm (DCI). The paradigm separates the domain model (data) from use cases (context) and roles that objects play (interaction). A DCI program mirrors each part of the end user’s mental model onto a corresponding part in the code, supporting the user illusion of the computer as seamlessly augmenting his intellect. I conclude the talk with tentative sketch of a pattern language for DCI.

Trygve Reenskaug is professor emeritus of informatics at the University of Oslo. He has 50 years experience in software engineering research and in the development of industrial strength software products. He has extensive teaching and speaking experience including keynotes, talks and tutorials. His firsts include:
  • The Autokon system for computer aided design of ships. From its start in 1960, Autokon featured an end user programming language, structured programming, product model, and a data base centered architecture. Autokon was in use in major shipyards around the world well into the nineties. Its architecture remained unchanged after 30 years of continuous evolution.
  • Object oriented applications from 1973.
  • Model-View-Controller (MVC); the industry standard pattern for user interface architectures, in 1979.
  • OOram role modeling method and tool from 1983.
    The premier book on role modeling in 1995.
  • Trygve was a member of the UML Core Team and contributed the notion of Collaborations, a variant of role modeling, to the UML modeling language. (1997).


The theme of his current research is a new programming paradigm for readable and reviewable code that reflects the end users' mental models. The result is the DCI paradigm where the code is seen in three perspectives: The Data perspective for system state, the Context perspective for the runtime networks of communicating objects, and the Interaction perspective for the system's behavior. The DCI community is steadily growing and includes members that implement DCI in a variety of languages.

Focus Groups

"You Manage your Environment HOW?"

Ralph Thiim and Lise Hvatum, Saturday, 10/22, 16:00-18:00

With a variety of development tools and tool versions available to software developers, there are many practices and preferences applied by product development teams to manage their environment. Challenges are added from distributed teams, large and long-lived code bases, and in some cases high attrition in the development teams. We are interested in bringing experienced developers together to mine for practices around keeping a consistent developer environment, including the challenges in managing, tracking, and replicating this environment. The goal is (of course) to end up with more patterns!

Ralph and Lise are colleagues in Schlumberger, with a shared interest in ALM processes and tools. They are on a quest to better understand practices around software (code) management from outside their internal experience, with a hope to establish a body of knowledge.
"Agile and Sustainable Architecture"

Eduardo Guerra, Rebecca Wirfs-Brock and Joseph Yoder, Saturday, 10/22, 16:00-17:00

Agile software development usually uses emergent design techniques, such as TDD and refactoring, where the application structure emerge during iterations. The main question that arises is how to handle architectural issues in this kind of development. On the one hand, agile methodologies try to deliver value to the client as fast as possible and keep evolving the design through the iterations. On the other hand, some architecture decisions should be made and tested earlier to make it sustainable for the entire project. These two main forces are the main reason why architecture practices are not yet consolidated on agile processes. This focus groups will discuss practices that can be used by an agile team to define and evolve the software architecture in a highly iterative process.


PLoP Workshops

"Dialogue Workshop using the Learning Patterns"

Takashi Iba, Eri Shimomukai, Sumire Nakamura, Taichi Isaku, Ayano Tamefusa, Sunday, 10/23, 13:00-17:00

In our recent complex society, it is essential for us to have a questioning creative mind to find the problems lurking around us, and moreover work out solutions for them from various points of view. We need to learn by constructing our own knowledge based on the situations surrounding us, and not by just memorizing existing information. It is also important to know how to think and get new ideas. In this sense, learning is of primary importance nowadays, but few opportunities and tools are present to help us learn how to learn.

This workshop provides an opportunity for you to reflect on your learning experiences and to design your learning by using the Learning Patterns, a pattern language for creative learning. In this workshop, first you will recall your learning experiences using the patterns in the Learning Patterns. You will also choose patterns you wish to master in the near future of your learning career. You will then walk around to find and talk with participants who have experienced one of the patterns you want to master, and listen to their episodes. After that, you will design your own way of learning and share
it with others.

Through the workshop, you should realize that pattern languages can be used as media for people to talk about their experiences, even if such pattern languages are from domains where people hardly talk about their experiences. This usage of pattern language as a medium for narratives suggests a new possibility for introducing pattern languages into your community.

In the last part of this workshop, the organizers will share with you a pattern language that will help you facilitate these kinds of workshops, and encourage you to introduce pattern languages in your community.

"Patterns for Effective Shepherding"

Neil Harrison, Sunday, 10/23, 13:00-17:00

There are two compelling reasons for every pattern writer to become a shepherd. The first is that there is always a critical need for good shepherds, and you as an author have an obligation to give something back to the patterns community. The second is that it will help you improve your own pattern writing. But many people worry that one must be an expert to be a shepherd, and that it takes a lot of time.

In this workshop you will learn shepherding techniques that will help you be an effective shepherd, even if you are a non-expert with limited time. You will participate in exercises that will help you learn how to approach shepherding, what to look for in patterns, and how to give comments to authors.

All PLoPpers, from novices just learning about shepherding, to experienced authors looking to brush up on their shepherding skills, are invited to attend.

Neil Harrison, an associate professor of computer science at Utah Valley University, has been involved in software patterns since 1994. He led the development of shepherding to the powerful force it is, and might be called the “father of pattern shepherding.” The Neil Harrison Shepherding Award is named for him. He has authored numerous patterns, papers, and book chapters on patterns, mainly in the areas of shepherding, software architecture, and organizational dynamics. He is the co-author of “Organizational Patterns of Agile Software Development.”
 

Accepted Papers

All accepted papers were organized into Writer's Workshops by categorizing the contents and trying to build groups with a balance workload (number of papers) and with matching contents. This has resulted in the following Writer's Workshops named after wildlife indigenous to the Arizona ecosystem:
Workshop 1 - Elk, Workshop Leader Christian Köppe
Workshop 2 - Rattlesnake, Workshop Leader Richard P. Gabriel
Workshop 3 - Coyote, Workshop Leader Lise Hvatum
Workshop 4 - Roadrunner, Workshop Leader Rebecca Wirfs-Brock
Workshop 5 - Cougar, Workshop Leader Bob Hanmer

You can download the conference versions of all the papers accepted for PLoP 2012. 

Final versions will be available after the conference.

Writers' Workshops

  1. Elk, Workshop Leader Christian Köppe 

"Patterns for Managing an Escalated Issue"
by Fritz Gabriel Jr., Jean chu, Wen Cao, Shahid Zaheer

"Learning Patterns for Group Assignments - Part 1"
by Christian Köppe

 "Patterns for Creative Thinking"
by Christian Kohls

"A Pattern Language for Teaching in a Foreign Language - Part 2"
by Christian Köppe, Mariëlle Nijsten

"Target and Spacing Sizes for Smartphone User Interfaces for Older Aldults: Design Patterns Based on An Evaluation With Users"
by Roxanne Leitão, Paula Silva

"Change Making Patterns - A Pattern Language for Fostering Social Entrepreneurship"
by Eri Shimomukai, Sumire Nakamura, Takashi Iba - Writing Group

"Generative Beauty Patterns - A Pattern Language for Living Lively and Beautiful"
by Rinko Arao, Ayano Tamefusa, Megumi Kadotani, Kaori Harasawa, Shingo Sakai, Keishi Saruwatari, Takashi Iba - Writing Group

  2. Rattlesnake, Workshop Leader Richard P. Gabriel

  "A pattern for the WS-SecureConversation standard for web services"
      by Ola Ajaj, Eduardo B. Fernandez

  "Catalog of Security Tactics linked to Common Criteria Requirements"
      by Christopher Preschern

  "A Security Pattern for the Transport Layer Security (TLS) Protocol"
      by Ajoy Kumar, Eduardo B. Fernandez

  "Effectiveness of a Pattern for Detecting Intellectual Property Theft by Departing Insiders"
      by Andrew Moore, David McIntire, David Mundie, David Zubrow

  "Multidimensional Pattern Languages"
      by David A. Mundie, Andrew P. Moore, David McIntire

 "Cloud Service Model Patterns"
      by Keiko Hashizume, Eduardo B. Fernandez, Maria M. Larrondo-Petrie

  3. Coyote, Workshop Leader Lise Hvatum

  "Graceful Patterns for Patterns in Grace"
      by Michael Homer, James Noble

  "Data Synchronization Patterns in Mobile Application Design"
      by Zach McCormick, Douglas C. Schmidt

  "Web Design Pattern for Mobile Devices"
      by Jorge Ribeiro

  "Patterns for Evaluating Usability of Domain-Specific Languages"
      by Ankica Barišic, Pedro Monteiro, Vasco Amaral, Miguel Goulão, Miguel Monteiro

  "Documenting Patterns with Business Process Models"
      by Pedro Monteiro

 "Organizing and Building Software"
      by Ralph Thiim, Lise Hvatum

  4. Roadrunner, Workshop Leader Rebecca Wirfs-Brock

  "Patterns for distributed machine control system data sharing"
      by Marko Leppänen, Veli-Pekka Eloranta

  "Patterns for Sustaining Muddy Architectures"
      by Rebecca Wirfs-Brock, Joseph Yoder

  "Basic Test Driven Development Step Patterns"
      by Eduardo Guerra

  "Pattern Language - Coherent Generational Design"
      by Juan Reza

  "Designing the Architecture of Clotho 3.0 - An Interactive Pattern Story"
      by Ernst Oberortner, Swapnil Bhatia, Douglas Densmore, J. Christopher Anderson

  "Interoperability Marshaller/Unmarshaller"
      by Youngsu Son, Jiwon Kim, Donguk Kim, Jungmin Son - Writing Group

  5. Cougar, Workshop Leader Bob Hanmer

  "An Approach to Evolutionary Design Pattern Engineering"
      by René Reiners, Ragnhild Halvorsrud, Aslak Wegner Eide, Daniela Pohl

  "Pattern Mining Patterns"
      by Robert Hanmer

  "A Serious Game to HCI Design Patterns Discovery and Dissemination: The PatternCity Concept"
      by Benjamin Pick, Ahmed Seffah, Halima Habieb-Mammar

  "A Pattern Language for Pattern Illustrating"
      by Kaori Harasawa, Rinko Arao, Takashi Iba

  "Meta Patterns for Developing a Minimalist Training Manual"
      by Rick Rodin

  "Holistic Pattern-Mining Patterns"
      by Takashi Iba, Taichi Isaku - Writing Group

  "Towards a Pattern Language for Affective Systems"
      by Javier Gonzalez-Sanchez, Maria Elena Chavez-Echeagaray, Robert Atkinson, Winslow Burleson - Writing Group

Day-by-Day

Thursday, October 18th - Bootcamp
08:30-09:00 Assemble
09:00-12:00 Parts of a Pattern
12:00-13:30
13:30-17:00 Bootcamp continues and Writing Workshop discussions with a mentor
17:00-17:30 Wrap Up
Friday, October 19th
07:30-08:30 Breakfast
08:00-08:30 Registration
08:30-09:00 Welcome and Overview with Games and Demo Workshop
09:00-10:00 Invited Talk: "Pattern Language 3.0: Making Pattern Languages for Human Actions" by Takashi Iba
10:00-10:30 Coffee Break
11:00-12:00 Writer's Workshop I
12:00-13:00 Lunch
13:00-13:30 Writing Group/Reading Time
13:30-15:00 Writer's Workshop II
15:00-15:30 Coffee Break
15:30-16:00 Games
16:00-17:30 Writer's Workshop III
17:30-18:00 Daily Summary
18:00-21:00 Dinner & BoFS
Saturday, October 20th
07:30-08:30 Breakfast
08:30-09:00 Day Overview  & Games
09:00-10:00 Invited Talk: "Outside-the-Box Thinking for Patterns in an Evolving Organizational Security Domain" by Andrew P. Moore and David A. Mundie
10:00-10:30 Coffee Break
10:30-12:00 Writer Workshop IV
12:00-13:00 Lunch
13:00-13:30 Writing Group/Reading Time
13:30-14:30 Writer's Workshop V
14:30-15:00 Daily Summary
15:00-15:30 Coffee Break
15:30-18:00 Special Event
18:00-21:30 Dinner & BoFS
Sunday, October 23rd
07:30-08:30 Breakfast
08:30-09:00 Day Overview & Games
09:00-10:00 Invited Talk: "On the Powerful Symbiosis of Man and Computer" by Trygve Reenskaug
10:00-10:30 Coffee Break
10:30-12:00 Writers Workshop VI
12:00-13:00 Lunch
13:00-15:00 PLoP Workshops & Focus Groups
15:00-15:30 Coffee Break
15:30-16:00 Games
16:00-17:00 PLoP Workshops & Focus Groups continued
17:00-18:30 Closing Retrospective & Conference Close
17:30-18:00 Goodbye!