37
Metaphors in Software Engineering Klaas van den Berg Software Engineering Group Farewell Lecture - 01 July 2010

Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

Metaphors in Software Engineering

Klaas van den BergSoftware Engineering GroupFarewell Lecture - 01 July 2010

Page 2: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 2 -

TRESESE GroupUTwente

TRESESE GroupUTwente

TRESESE GroupUTwenteHow it Started in 1964

Picture 1964

Page 3: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 3 -

TRESESE GroupUTwente

TRESESE GroupUTwente

TRESESE GroupUTwenteA Challenging Journey

1964 Campus THT – Electrical Engineering BSc/MSc Material Science Prof. Jonker, Wim Hulscher, Cock Lodder, Jan Fluitman, …

1975 University of Zambia / Tanzania Lecturer EE - NUFFIC1981 HTS - Technical College Enschede Lecturer - from Hardware to Software1986 1986 University of Twente – Informatica/CAP/SETI Functional Programming Prof. Duijvestijn, Hans van Berne, Gerrit van der Hoeven, ...

1995 University of Twente – PhD Software Measurement & Functional Programming Prof. Duijvestijn, Norman Fenton, Pim van den Broek, …

1996 University of Twente – EWI/SE Software Engineering Group Projects: AOSD-NoE, Darwin, QuadREAD TRESE: Mehmet Aksit … and many colleagues and students

Page 4: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 4 -

My Themes

Measurement Quantification of Properties

Models Abstractions of Reality

Why Better systems, better solutions Better understanding of the problems

Page 5: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 5 -

Paper Electron Microscopy

Electron Diffraction

Page 6: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 6 -

Software Engineering

Page 7: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 7 -

Software Engineering

Software Engineering How to design, construct and maintain

software systems

Quality Productivity, Usability, Performance, Maintainability .. Quality Models & Measurement

Software Development Processes / Products: to design / the design

A Picture is Worth a thousand Words

Page 8: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 8 -

Software Engineering

Some Problems

Change Technology New Requirements

Crosscutting Modularization based on Concerns Other Concern is present in all Modules

Trade-off Conflicting Quality Properties

Page 9: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 9 -

Change: Software Evolution

Darwin Project: MRI Scanners - Philips Medical Systems Modeling Software of MRI Scanner Measure and Improve Evolvability of Software

Page 10: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 10 -

Change: Software Evolution

Darwin Project: MRI Scanners - Philips Medical Systems Modeling Software of MRI Scanner Measure and Improve Evolvability of Software

Page 11: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 11 -

Models & Measurement

Framework (Hughes) Ivan Kurtev PhD Thesis

My PhD Thesis

No Measurements without a GoalNo Models without a Goal

Everything is a Model (Bezivin)

Page 12: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 12 -

Topics in Software Engineering Group

Empirical Software Engineering Validation of Measurements Controlled Experiments

Model-Driven Engineering Models / Metamodels / Meta-metamodels (PhD Ivan Kurtev) Modeling Requirements / Traceability (PhD Arda Goknil)

Aspect-Oriented Software Development Problem: Crosscutting (PhD Chema Conejero) Solution: Composition Filters

Page 13: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 13 -

Composition Filters

Mehmet Aksit: Camera Filters

Page 14: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 14 -

Composition Filters

Lodewijk Bergmans: Shape Sorter

Page 15: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 15 -

Metaphors & Analogies Composition Filters – Cameras/Toys Software Architecture – Buildings/Bridges

Water Pump – Heart Electron Orbits – Planetary Orbits Life/Career – Journey Computer – Brains

Desktop, Folders, Recycle Bin, Threads, Patterns, Objects, Messages, Evolution, Life Cycle, Retirement, Garbage Collection, Code Smell, Bugs, ...

(Metaphors in Computer Science - Colburn & Shute)

Metaphors are fundamental to human thoughtMetaphors are Everywhere (Richardson)

Page 16: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 16 -

Metaphors Can Be Considered Harmful

Edsger W. Dijkstra, EWD1036-25

Page 17: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 17 -

Metaphors

Metaphors are fundamental to human thought

A Metaphor is Worth a thousand Pictures

Linguistics, Cognitive Psychology, Philosophy of ScienceMany competing theories: War on Metaphor’s (a meta-metaphor)

Metaphors are EverywhereEverything is a Model

Metaphors are ModelsExtend Ivan’s Framework

Page 18: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 18 -

Metaphors & Models

Source (familiar domain) - Target (unfamiliar domain) Semantic Mappings / Commuting Diagram / Pushout

Open Issue Metaphors in Model-Driven Engineering Models-Measurements-Metaphors

Source

Target

Page 19: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 19 -

Metaphors for Software & Software Engineering

DinosaurMehmet Aksit in Study Guide for Master Students in CS

or

Page 20: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 20 -

Software & Software Engineering as Mountain Hiking

Page 21: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 21 -

Software & Software Engineering as Mountain Hiking

Cockburn Training & Tools Individual – Team Planned – Improvised Challenging – Fun Dangerous ?? ! !

Page 22: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 22 -

Software Engineering can be Dangerous

Page 23: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 23 -

Software Engineering is Team Work

Page 24: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 24 -

My Team

Page 25: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 25 -

Trade-Off Analysis

Quality Factors in Software Engineering

Adaptability Maintainability Functionality Usability Performance Security Portability Cost ….

Page 26: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 26 -

Trade-Off Analysis

Page 27: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 27 -

Trade-Off Analysis

Quality Factors in Mountain Hiking

Weight Volume Comfort Nutrition Navigation Safety Cost …

Page 28: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 28 -

Measurement in Mountain Hiking

Page 29: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 29 -

Tradeoff-Analysis in Mountain Hiking

Page 30: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 30 -

Hartkeks

Page 31: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 31 -

Reflection

Page 32: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 32 -

Software Engineering: A Challenging Journey

Only the top counts

The journey is the destination

It is not the mountain we conquer but ourselves

Page 33: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 33 -

Conclusion

Metaphors are omnipresent in Computer Science

Metaphors are fundamental for human understanding

Metaphors can be considered harmful

Metaphors theories could be beneficial for Model-Driven Engineering

Page 34: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 34 -

Future Work

….

….

….

….

After climbing a great hill, one only finds that there are many more hills to climb

Nelson Mandela

Page 35: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 35 -

Acknowledgements

Many, many people …. Research / Teaching Colleagues / Students Courses / Supervision Study Advisor / Educational Committees Workshops / Conferences Projects / Companies Secretaries / Services / BOZ / Helpdesk / HD / Library ….

THANK YOU ALL

Page 36: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 36 -

References

Aubusson, P. J., Harrison, A. G., & Ritchie, S. M. (2006). Metaphor and Analogy. In P. J. Aubusson

(Ed.), Metaphor and Analogy in Science Education: Springer.

Bailer-Jones, D. (2002). Models, Metaphors, and Analogies. In P. Machamer & M. Silberstein (Eds.),

Blackwell Companion to the Philosophy of Science (pp. 108 - 127).

Black, M. (1962). Models and Metaphors: Studies in Language and Philosophy: Cornell University

Press.

Bradie, M. (1999). Science and Metaphor. Biology and Philosophy, 14, 159-166.

Colburn, T. R., & Shute., G. M. (2008). Metaphor in Computer Science. Journal of Applied Logic, 2,

526-533.

Garfield, E. (1986). The Metaphor-Science Connection. Essays of an Information Scientist, 9, 316-323.

Gentner, D. (1983). Structure-Mapping: A Theoretical Framework for Analogy. Cognitive Science, 7,

155-170.

Gentner, D., Bowdle, B., Wolff, P., & Boronat, C. (2001). Metaphor is like analogy. In D. Gentner, K. J.

Holyoak & B. N. Kokinov (Eds.), The analogical mind: Perspectives from cognitive science (pp. 199-

253). Cambridge MA: MIT Press.

Page 37: Metaphors in Software Engineering - Universiteit TwenteSecure Site  · 2020. 4. 6. · A Metaphor is Worth a thousand Pictures. Linguistics, ... Software & Software Engineering as

FAREWELL TTT – 01 July 2010 - 37 -

References

Gentner, D., & Markman, A. B. (1997). Structure Mapping in Analogy and Similarity. American

Psychologist, 52(1), 45-56.

Hesse, M. (2000). Models and Analogy. In W. Newton-Smith (Ed.), A companion to the philosophy

of science (pp. 299-307). Oxford: Blackwell Publishing.

Hoffman, R. R. (1979). Metaphor in Science. In R. P. Hoffman & R. R. Honeck (Eds.), Cognition

and figurative language (pp. 393-423). Hillsdale: Erlbaum.

Kuhn, T. S. (1993). Metaphor in Science. In A. Ortony (Ed.), Metaphor and thought (2 ed., pp. 533-

542). Cambridge: Cambridge University Press.

Montuschi, E. (2000). Metaphor in Science. In W. H. Newton-Smith (Ed.), A Companion to the

Philosophy of Science (pp. 277-282). Oxford: Blackwell Publishing.

Ortony, A. (1993). Metaphor and thought (2 ed.). Cambridge: Cambridge University Press.

Richardson, L. (1997). Fields of Play: Constructing an Academic Life. New Brunswick, NJ: Rutgers

University Press.