The Power of Diagrams
Some time ago I studied law and worked my way through the basics of contract and tort. It was enjoyable, I liked the rigorous reasoning and found the cases engaging. Who could not love the drama of Carlill v Carbolic Smoke Ball Company? There were occasional frustrations, of course, because law rests significantly upon authority, something that the scientist in me rebels against. As the cases got more complex however, my main frustration was with the presentation of the facts and argumentation rather than the substance.
As an engineer my main tool of thought is diagrams. To understand a problem I am immediately drawn to build a visual representation. First perhaps a picture, then a few boxes and arrows, building up, as required, to a more detailed model. Certainly if I am called on to explain my reasoning I need a diagram to do so. I simply cannot understand how disciplines that struggle with complexity - law being a case in point - are able to do without this. So many problems could be better explained, so much more material readily assimilated, and the route to analysis and problem solving smoothed, if a diagram were used.
Not only are diagrams neglected by many disciplines they are often abused. Inconsistent presentation, errors and ambiguities abound. What is that dotted line? Why is that circle inside that box? Why is there an arrow going in, but no arrow going out? Anybody sensitive to diagrams can find this very painful.
Visual modelling is one of the major contributions of systems engineering to science and thinking. We have developed an extensive repertoire of graphical 'aids for thought' that allow us to represent structures, relationships and sequences of events. They provide for abstraction to control complexity and give support for visual reasoning. Combining simple languages, each with a well defined syntax, delivers a powerful framework for analysing and reasoning about difficult problems. It is relatively straightforward to build new modelling schemes to tackle different classes of problem. As you become more sophisticated you can build new graphical modelling schemes relatively straightforwardly. This is the easy way to start 'language engineering' or 'meta-modelling' one of the most powerful intellectual tools delivered by computer science. We have made a strong case for the wider importance of algorithmic and mathematical thinking; we now need to put the power of diagrams at the disposal of everybody.