Our Supporters

Diamond

Silver

Bronze

Friend

Jim Coplien. Reflections on Reflection

session chairGary T. Leavens, University of Central Florida, United States

Reflections on Reflection

Abstract

Though it usually makes its appearance only as a footnote in the broader discourse of object design, reflection is a recurring and sometimes noisily divisive topic in object-orientation. Glimmers of reflection pervade even the darkest corners of the tapestry of object orientation’s history. In fact, the broader notion of code’s self-knowledge, such as run-time method dispatch, goes to the heart of what differentiates objects from other paradigms.

Object orientation, at its roots, was about people and human mental models. It is impossible to make serious headway in these models without reasoning about the system outside of its simple imperative expression. By analogy, the silent movie era of film held that by removing speech, the media of film could both appeal to broader audiences and to tap into the broader human universals that speech obfuscates.

Programs are the silent films that connect much of humanity today. The silent experience plays out at the screen; the Internet is the deep hardware on which it runs, and our software illuminates and articulates the connections between them. To make software fulfil any social agenda of human problem-solving requires a link between the reflections of the individual and those of the software; to rise to social phenomena requires a computational model that accommodates reflection at the social and societal layers.

The DCI (Data, Context, and Interaction) paradigm provides a world model whose reflection allows program structure to shift with the dynamics in the context of application while featuring new ways to clearly present program structure to faithfully capture end-user mental models of uses cases and data. DCI and other recent post-modern approaches offer breakthroughs that raise reflection to its proper place as a first-class programming concern.

Biographical Sketch

Jim ("Cope") Coplien is the father of Organizational Patterns, is one of the founders of the Software Pattern discipline, a pioneer in practical object-oriented design in the early 1990s and is a widely consulted authority, author, and trainer in the areas of software design and organizational improvements. With Trygve Reenskaug he is a co-originator of the Data, Context and Interaction (DCI) paradigm.

Cope is currently a partner in Gertrud & Cope, Mørdrup, Denmark, and in Scrum Foundation. His work ranges from programming and performance evaluation, to organizational improvement assessments, team- and enterprise-level organizational development and process improvement, and to consulting on system and software architecture.

He is a former researcher at the University of Manchester, and is a past holder of the Vloebergh Endowed Chair at Vrije Universiteit Brussel. He has also held affiliations with Flinders University in Adelaide, Australia, and is a past professor at North Central College in Naperville, Illinois. His current research lies in DCI, in the areas of design theory based on broken symmetries in design structures, and in "entropic patterns" of product portfolio management.

News & Announcements

SPLASH 2013 will be in Indianapolis, Indiana. We hope to see you there!