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.
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.
"Pattern Language 3.0: Making Pattern Languages for Human Actions" |
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" |
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 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. |
"You Manage your Environment HOW?" | |
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. |
"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.” |
Writers' Workshops | |
"Patterns for Managing an Escalated
Issue" |
|
"Learning Patterns for Group
Assignments - Part 1" |
|
"Patterns for Creative Thinking" |
|
"A Pattern Language for Teaching in a
Foreign Language - Part 2" |
|
"Target and Spacing Sizes for
Smartphone User Interfaces for Older Aldults: Design Patterns Based on An
Evaluation With Users" |
|
"Change Making Patterns - A Pattern
Language for Fostering Social Entrepreneurship" |
|
"Generative Beauty Patterns - A
Pattern Language for Living Lively and Beautiful" |
|
"A pattern for the WS-SecureConversation standard for
web services" |
|
"Catalog of Security Tactics linked to Common Criteria
Requirements" |
|
"A Security Pattern for the Transport Layer Security
(TLS) Protocol" |
|
"Effectiveness of a Pattern for Detecting Intellectual
Property Theft by Departing Insiders" |
|
"Multidimensional Pattern Languages" |
|
"Cloud Service Model
Patterns" by Keiko Hashizume, Eduardo B. Fernandez, Maria M. Larrondo-Petrie |
|
"Graceful Patterns for Patterns in Grace" |
|
"Data Synchronization Patterns in Mobile
Application Design" |
|
"Web Design Pattern for Mobile Devices" |
|
"Patterns for Evaluating Usability of Domain-Specific
Languages" |
|
"Documenting Patterns with Business Process Models" |
|
"Organizing and Building
Software" by Ralph Thiim, Lise Hvatum |
|
"Patterns for distributed machine control system data
sharing" |
|
"Patterns for Sustaining Muddy Architectures" |
|
"Basic Test Driven Development Step Patterns" |
|
"Pattern Language - Coherent Generational Design" |
|
"Designing the Architecture of Clotho 3.0 - An
Interactive Pattern Story" |
|
"Interoperability Marshaller/Unmarshaller" |
|
"An Approach to Evolutionary Design Pattern Engineering" |
|
"Pattern Mining Patterns" |
|
"A Serious Game to HCI Design Patterns Discovery and
Dissemination: The PatternCity Concept" |
|
"A Pattern Language for Pattern Illustrating" |
|
"Meta Patterns for Developing a Minimalist Training
Manual" |
|
"Holistic Pattern-Mining Patterns" |
|
"Towards a Pattern Language for Affective Systems" |
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! |