SPLASH 2012 DCI Tutorial
SPLASH 2012 will be hosting a Wavefront Workshop on Lean Architecture and DCI.
DATE: Monday, 22 October, 2012
PLACE: SPLASH, Tuscon, Arizona, USA, Rincon conference room
TIME: 8:30 - 5:00 (New Starting Time)
SESSION DESIGNATION: W7: DCI
This one-day tutorial workshop will overview the DCI paradigm. DCI (Data, Context and Interaction) is a paradigm for software design and programming conceived by Trygve Reenskaug and developed together by Prof. Reenskaug and Jim Coplien. The paradigm features concepts of the original OO vision: a focus on human mental models; separation of concerns; and piecemeal evolution. DCI also goes beyond contemporary implementations of object orientation by providing a home for system operations and sequences of action as might implement a use case. Most important, it returns design focus to run time and to objects instead of remaining in the static, myopic view of class-oriented programming supported by contemporary object design methods and programming methods. The end goals of DCI are greatly improved program comprehensibility, and greatly reduced maintenance costs for system operations and system evolution in general. Though it reflects a paradigm shift from the point of view of the computational model, DCI can be implemented conveniently in most modern programming languages.
Whereas Model-View-Controller (MVC) was designed to separate the presentation of an object from its logic, DCI was designed to separate the system behavior of an object from the data in the individual objects. This tutorial will focus on the motivations for DCI and the implementation of its computational model.
Attendees should be proficient in programming one or more modern OO programming languages and should be accomplished in contemporary object-oriented design. Proficiency in UX skills will enhance the attendee experience.
Wavefront workshop: hands-on learning, no paper submission.
This Wavefront workshop serves as a venue for the DCI event to supplant the tutorial format at former SPLASH conferences. It is not a workshop in the OOPSLA tradition, and attendees need submit no position or paper.
Sign up for Workshop 7 (W7: DCI) during the standard SPLASH registration process. Early registration for SPLASH ends 21 September.
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-developer of the DCI paradigm.
Cope is currently a partner in Gertrud & Cope, Mørdrup, Denmark, and in the Scrum Foundation. His work ranges from programming and performance evaluation, to organizational improvement assessments, organizational development, and process improvement, and to consulting on system and software architecture.
He was formerly a 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, and in the areas of design theory based on broken symmetries in architectural form.
Trygve Reenskaug is professor emeritus of informatics at the University of Oslo. He has 50 years experience in software engineering research and 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 the start in 1960, Autokon featured an end user programming language, structured programming, product model, and a data base oriented architecture. Autokon was in use in major shipyards around the world well into the nineties. Its architecture remained unchanged, 30 years after the original development.
- 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 goal of his current research is to create 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 research method is experimental. The BabyIDE Interactive Development Environment is a proof-of-concept implementation illustrating the power and applicability of DCI.