A pattern language for tool construction and integration based on the tools and materials metaphor

Why do people prefer to use certain software systems and why do they have problems using others? What is the quality within certain software that makes people soon feel familiar using it and lets them work efficiently? These are questions that we, like a lot of people who develop and use application systems in their everyday work, asked ourselves. We believe that the key to this quality (in the sense of [Pir74]) is found in systems that allow people to work according to their qualification and needs while using their skills and competence. In order to develop software with this quality we, as a group, have put together many of the things which have proved useful in software engineering over the last decades and have integrated these methods and techniques into a unifying approach – the Tools and Materials Metaphor [BCS92, BZ92]. It has guided us and other developers during analysis and design and has helped to envision and finally build systems of quality. The Tools and Materials Metaphor is an approach with a specific underlying view of human work:

[1]  M H Dodani,et al.  Separation Of Powers , 1989 .

[2]  Pattie Maes,et al.  Agents that reduce work and information overload , 1994, CACM.

[3]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[4]  Robert M. Pirsig Man and Machine. (Book Reviews: Zen and the Art of Motorcycle Maintenance. An Inquiry into Values) , 1974 .

[5]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[6]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[7]  William G. Griswold,et al.  Adding Implicit Invocation to Languages: Three Approaches , 1993, ISOTAS.

[8]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[9]  David Notkin,et al.  Reconciling environment integration and software evolution , 1992, TSEM.

[10]  Ralph E. Johnson,et al.  Surveying current research in object-oriented design , 1990, CACM.

[11]  R. Budde,et al.  Approaches to Prototyping , 1984, Springer Berlin Heidelberg.

[12]  Gerard Meszaros,et al.  Patterns in software architecture , 1997, OOPSLA '97.

[13]  William R. Cook,et al.  Interfaces for strongly-typed object-oriented programming , 1989, OOPSLA '89.

[14]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[15]  E KrasnerGlenn,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[16]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[17]  Ward Cunningham The CHECKS pattern language of information integrity , 1995 .

[18]  Ralph E. Johnson,et al.  Documenting frameworks using patterns , 1992, OOPSLA '92.

[19]  C. Floyd,et al.  Software Development and Reality Construction , 1992, Springer Berlin Heidelberg.

[20]  Roger Scruton,et al.  The Art of Motorcycle Maintenance , 1987 .

[21]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[22]  Ralph D. Hill The abstraction-link-view paradigm: using constraints to connect user interfaces to applications , 1992, CHI '92.

[23]  Christiane Floyd,et al.  Software Development and Reality Construction , 1992 .

[24]  Heinz Züllighoven,et al.  Tools and Materials: an Analysis and Design Metaphor , 1992, TOOLS.

[25]  Bertrand Meyer,et al.  Advances in object-oriented software engineering , 1992 .

[26]  Heinz Züllighoven,et al.  Software Tools in a Programming Workshop , 1992 .

[27]  William R. Cook,et al.  Interfaces for strongly-typed object-oriented programming , 1989, OOPSLA 1989.

[28]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[29]  C. Floyd A Systematic Look at Prototyping , 1984 .

[30]  Pattie Maes,et al.  Agents that reduce work and information overload , 1994, CACM.

[31]  Horst Oberquelle,et al.  Perspectives and Metaphors for Human-Computer Interaction , 1992 .