MiniPLoP'2011 - IME/USP - São Paulo - Brasil


Keynote Internacional - BRIAN FOOTE (com participação de JOSEPH YODER)



Over the last decade or so, metadata has gone from being something that was perceived as an obscure, exotic research topic to playing an indispensable, and highly visible, role in day-to-day software development. Previously only expert database analysts and reflection researchers dared to tangle with metadata.  However, metadata has, with the advent of technologies like XML, become mainstream. Do you have the itch to explore meta-programming, not just because it is cool or complicated, but because you want your system's behavior or domain representations to more easily adapt to changing requirements or scale? If so, consider learning about the design of systems that represent (sometimes user-defined) domain representations and behavior specifications as metadata.

This talk will trace how this idea became what in hindsight has to be considered one of the most important concepts to emerge from a generation of object-oriented research. This will be done by examining the patterns that underlie it, and how they have blossomed in practical applications over the last several years. In part because of the rampant heterogeneity of contemporary software applications, metadata has become the indispensible glue that holds them all together. Of course, this isn’t always pretty, and usually involves a lot compromises or tradeoffs. Still, in this Era of Big Data, metadata loom larger than ever.


Brian Foote is an itinerant developer and rogue scholar who has been programming professionally since the late 1970s, when several years of immersion in abysmal scientific realtime code caused him to develop an interest in the question of why such smart people could write such lousy code. This question led him on a journey through the academy, where he studied objects, frameworks, patterns, and processes, and through industry, where he experienced the staggering gap between what we practice and what we preach about programming. His best known work, "Big Ball of Mud", examined this phenomenon a few years back. It still
haunts him to this day.

Joseph Yoder is a founder and principal of The Refactory, Inc., a company focused on software architecture, design, implementation, consulting, and mentoring on all facets of software development. Joseph is an international speaker and pattern author and long- standing member of The Hillside Group, a, a group dedicated to improving the quality of software development. He specializes in architecture, analysis, and design; C#; Java; Smalltalk; patterns; Agile methods; adaptable systems; refactoring; reuse; and frameworks. Joseph is the author of many papers, including being the co-author of the Big Ball of Mud pattern, which illuminates many fallacies in the approach to software architecture.
Joseph currently resides in Urbana, Illinois. He teaches Agile methods, design patterns, object design, refactoring, and testing in industrial settings, and mentors many developers on these concepts. He currently oversees a team of developers who have constructed many systems based on enterprise architecture using the .NET environment. Other projects involve working in both the Java and .NET environments deploying domain-specific languages for clients. Joseph presents tutorials and talks, arranges workshops, and organizes leading technical conferences, including international conferences such as Agile, Agile Portugal, Encontro Ágil in Brazil, AOSD, CBSoft, JAOO, QCon, PLoP, AsianPLoP, SugarLoaf PLoP in Brazil, OOPSLA, ECOOP, SATURN, and SPLASH. Joseph thinks software is still too hard to change and believes that, with good patterns and by putting the ability to change software into the hands of the people with the knowledge to change it, seems to be on a promising avenue to solve this problem.