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 Allerton Park, Monticello, Illinois, USA.

Conference at a Glance

The BootCamp, a special full-day Pre-PLoP activity for newcomers, will happen on Sunday, September 14th, 8:30-17h00.

The PLoP conference starts on Sunday evening, September 14th, at 18:00, with the traditional games and pizza matsuri (祭) and it will conclude on Wednesday, September 17th at 17:00.

Invited Talks

"Exercises in Programming Style"

Cristina Videira Lopes, Monday, 09/15, 10:30-11:30

Back in the 1940s, a French writer called Raymond Queneau wrote an interesting book with the title Exercises in Style featuring 99 renditions of the exact same short story, each written in a different style. In my book “Exercises in Programming Style” I shamelessly do the same for a simple program. From monolithic to object-oriented to continuations to relational to publish/subscribe to monadic to aspect-oriented to map-reduce, and much more, you will get a tour through the richness of human computational thought by means of implementing one simple program in many different ways. This is more than an academic exercise; large-scale systems design feeds on these ways of thinking. I will talk about the dangers of getting trapped in just one or two prescribed styles during your career, and the need to truly understand this wide variety of concepts when architecting software.

Cristina Videira Lopes is a Professor of Informatics at the University of California, Irvine. Her research focuses on software engineering for large-scale data and systems. She was a founding member of the Xerox PARC team that developed Aspect-Oriented Programming. She is also a prolific software developer in particular for OpenSimulator, a virtual world server. She is also a founder of Encitra, a company specializing in online virtual reality for early-stage sustainable urban redevelopment projects. She claims to be the only person in the world who is both an ACM Distinguished Scientist and Ohloh Kudos Rank 9.

"Simplicity – The Road Not Taken?"

Dave Thomas, Monday, 09/15, 19:00-19:30

We all know that Simplicity is an oxymoron that applies only to Scripts, code that is so insignificant that it doesn’t merit being called a Program. Real Software requires a rich variety of concepts, abstractions, languages, tools, practices and an approved social process for building it. It can’t be developed nor comprehended by a single person! Useful Software by definition begets Complexity, stubbornly resisting change.

We constantly discover improved ways to make ways to create software but fail to make significant progress in how to evolve it. Finally we have accepted that Programming is an essential life skill. Everything will be programmable, and it will useless without programming. Code rules! We have won! Forget those silly ideas of Software Simplicity or Elegance!

We beg to differ!

Dave Thomas has a wide spectrum of experience in the software industry as an engineer, professor, consultant, architect, executive and investor. Dave (www.davethomas.net) is founder and CEO of Bedarra Corporation.

Root cause analysis of some faults in Design Patterns

Ralph Johnson, Tuesday, 09/16, 9:00-10:15

As Design Patterns reaches its 20th year, its faults are easier to see. We'll look at a few of them and see if we can learn lessons about writing patterns.

Ralph Johnson is one of the four coauthors of Design Patterns and coauthored the first paper (1990) that used the word "refactoring". He was on the faculty of the Department of Computer Science at the University of Illinois at Urbana-Champaign from 1985 to 2012 and since then has been with a small startup, Metaficient, building tools that allow accountants to define their own accounting systems.

Focus Groups

"Future Language Workshop for the Pattern Community"

Takashi Iba -- Wed 9:00-10:30

This workshop provides an opportunity for you to think about the future of the pattern community by creating the Future Language of the pattern community together and to talk the vision with these words.

"Data-driven Design Pattern Development (3DPD)"

Peter Scupelli -- Wed 9:00-10:30

Increasingly, outside of the design pattern community, big data is being used to validate design decisions. For example, A/B testing and simple randomized experiments with two variants are used to validate design decisions in online settings such as web-design, social media, and so forth. Likewise in online math tutor systems, data driven approaches are used to identify math problems that confuse and frustrate students or are linked to positive learning outcomes. Big data and measurable outcomes can help to identify problems and confirm high quality solutions. Design patterns provide a very effective way to describe known design problems and design solutions. In this workshop, we propose to explore the role of data driven processes in the development of design patterns such that data-driven exploration may help authors uncover problems and high-quality solutions. In the workshop, we explore domains where data-driven approaches may be appropriate to develop design patterns, methodologies for collecting data, techniques for pre-processing data, approaches for analyzing data and utilizing its results to facilitate the design pattern development process. Participants will have the opportunity to experience the data-driven design pattern development approach through group discussions and simulations.



"My object can beat up your object"

Michael John -- Wed 1:00-2:30

My argument is that enterprise level application development is still too hard. Common solutions to this problem tend to focus on things that are big, e.g. programming languages, development methodologies, etc. My solution, has been to go to the other end of the spectrum and look at things that are small, i.e. the object. I have found that we can do a lot to improve the situation by simply improving the object.

"Mining New Patterns by Learning from the Trenches"

Robert Hanmer -- Wed 1:00-2:30

Pattern Mining is a scientific and research process where methods of knowledge discovery are used to find established ways of software analysis, design, implementation, and maintenance, and then describe such findings in as reusable knowledge for a given context. Over years, several traditional pattern mining techniques have been used in the community to collect tactic and specific design knowledge across different projects and organizations and present them in explicit and generic form of software patterns. This focus group introduces a new dimension to the practice of pattern mining, where a set of design analysis tools and automated design discovery and knowledge mining techniques are used to mine large scale software repositories, publicly available bug reports in issue tracking software and the open information presented on the web to extract new patterns. The collective knowledge gleaned from this effort can be used to define new patterns or patterns prototype for improving software productivity. This focus group presents a set of such patterns and illustrates anecdotal examples of the new patterns discovered through these techniques. Furthermore, this focus group discuss the challenges faced by the pattern community in order to continue discover, maintain and organize patterns in a systematic and usable way.

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. Final versions will be available after the conference.

Writers' Workshops

Narrow Road to the Deep North (奥の細道)


Facilitator - Richard Gabriel

"From Environmental Structure to Service Systems Thinking: Wholeness with Centers Described with a Generative Pattern Language"
by David Ing

"The Nature of Pattern Illustrating: The Theory and The Process of Pattern Illustrating"
by Kaori Harasawa, Natsumi Miyazaki, Rika Sakuraba, Takashi Iba

"Pattern Language for good old future from Japanese culture"
by Megumi Kadotani, Shunichi Ishibashi, Kyungmin Lim, Aya Matsumoto, Takashi Iba

“Feeling of Life” System with a Pattern Language
by Takashi Iba, Norihiko Kimura, Shingo Sakai

"Change Making Pattern Workbook: A Workbook Approach to Pattern Applications"
by Sumire Nakamura, Eri Shimomukai, Taichi Isaku, Takashi Iba

"A Journey on the Way to Pattern Writing: Designing the Pattern Writing Sheet"
by Takashi Iba

Pattern Language & Mining


Facilitators - Lise Hvatum & Bob Hanmer

"A Pattern Language for Open Academic Society with Non-professional Users"
by Koichiro Eto, Tom Hope, Hideaki Takeda

"Learning Patterns for Self-Directed Learning with Notebooks"
by Yuji Harashima, Tetsuro Kubota, Tasuku Matsumura, Kazuo Tsukahara, Takashi Iba

"Patterns of Public Policy and Administration: Indentifying Interfaces and Relationships"
by Paul Chalekian

"Requirements Elicitation using BPM"
by Lise Hvatum

"Analyzing Software Patterns Network obtained from Portland Pattern Repository"
by Hironori Washizaki, Suthinan Thanintranon, Masashi Kadoya, Yoshiaki Fukazawa, Takeshi Kawamura, Joseph W. Yoder

"Mining New Patterns by Learning from the Trenches"
by Robert S. Hanmer, Mehdi Mirakhorli

Testing & Development


Facilitators - Rebecca Wirfs-Brock & Joseph Yoder

"Improving Code Quality on Automated Tests of Web Applications: A Set of Patterns"
by Maurício Aniche, Eduardo Guerra, Marco Aurélio Gerosa

"QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality - “Measuring and Monitoring Quality”"
by Joseph Yoder and Rebecca Wirfs-Brock

"Patterns for Preparing for a Test Driven Development Session"
by Eduardo Guerra, Maurício Finavaro Aniche, Marco Aurélio Gerosa, Joseph Yoder

"Patterns for Testing Distributed Systems Interaction"
by Eduardo Guerra, Paulo Bittencourt Moura, Felipe Meneses Besson, Ayla Rebouças, Fabio Kon

"Pattern Enabled Development"
by Marvin Toll, William R. Minto

"Business Object State Transition Controller"
by Russ Rubis, Dr. Ionut Cardei

Security


Facilitator - Ralph Johnson

"Extensions to Pattern Formats for Cyber Physical Systems"
by Antonio Maña, Ernesto Damiani, Sigrid Gürgens, George Spanoudakis

"The Secure Domain Name System pattern"
by Eduardo B. Fernandez, Michael Van Hilst

"Cipher Suite Rollback Attack: A Misuse Pattern for TLS Server Authentication Handshake Protocol"
by Ali Alkazimi, Eduardo B. Fernandez

"Engineering Secure and Private Systems Using COSSPs"
by Antonio Maña, Jose Fran. Ruiz, Marcos Arjona

"Patterns for Fault Tolerant Cloud Software"
by Robert Hanmer

"Pattern for fine-grain access-controlled business objects"
by Russ Rubis, Dr. Ionut Cardei