One of the characteristics of an engineering discipline is a world view or paradigm[1]. However, what is the worldview of Software Engineering? (or a bit wider, for computers?)
I just read an idea by Stephen Hawking and Leonard Mlodinow, called Model-Dependent Realism[2]:
“the idea that a physical theory or world picture is a model (generally of a mathematical nature) and a set of rules that connect the elements of the model to observations.”
This statement is rather matching with my thoughts, almost in each word. (Of course, we perhaps may ignore the “physical” and take some extension for “observations”)
This reminded me of the Smith’s opinion[3]: (see the Figure 1 below)
“You are to imagine a description, program, computer system (or even a thought – they are all similar in this regard) in the left hand box, and the very real world in the right. Mediating between the two is the inevitable model, serving as an idealized or preconceptualized simulacrum of the world, in terms of which the description or program or whatever can be understood.”
Figure 1: Computers, Models, and the Embedding World (Smith 1985)
Is this the apposite worldview for software or computing? Whatever, Smith have pointed out some key relationships for models with computers, and with the real world — of course, it still needs more — but it seems have been somewhat lost or ignored, isn’t it?
—-
[1] Liles, D. H., Mary E. Johnson, Laura M. Meade, and D. Ryan Underdown, “Enterprise Engineering: A Discipline?“, Society for Enterprise Engineering Conference Proceedings, June, 1995.
[2] The phrase “model-dependent realism” appears to have been coined by Stephen Hawking and Leonard Mlodinow in their 2010 book The Grand Design. (quoted from: “What Is Model-Dependent Realism?” by Andrew Zimmerman Jones, About.com Guide)
[3] Smith, B. C., “The limits of correctness“, ACM SIGCAS Computers and Society, v.14,15 n.1,2,3,4, p.18-26, Jan 1 1985


Hi TY
Enjoyed reading about B.C. Smith again. Indeed, Smith’s article is one of the main reasons why I think a Theory of Modelling is a very important thing to achieve.
Based on the above notion, the next ‘natural’ step now would be to have a closer look at the ‘Model’. There are definitely perseverative issues that make the creation of such models really challenging.
Unfortunately – how I see it – the focus of the last centuries was solely on languages and technologies. Perhaps it is the nature of the computer scientist to always need to ‘run’ something? ‘Modeling Theory’ would be nothing for running on a machine, but rather sth to train the human thinking and cognition.
Have fun
|=
Posted by modelpractice | November 26, 2011, 18:11Enjoyed! this was also my feeling when I read Smith 1985 years ago and saw Hawking and Mlodinow’s “new” idea (though they were talking on pysics) — and saw your remarks above: “Unfortunately – how I see it – the focus of the last centuries was solely on languages and technologies. Perhaps it is the nature of the computer scientist to always need to ‘run’ something? ‘Modeling Theory’ would be nothing for running on a machine, but rather sth to train the human thinking and cognition.” – and the ‘run’: as well as ‘execution’. This also reminds me of that topic in days ago: so-colled MDE temporary filure is mainly due to … “Confusing modeling and programming languages” …, but in my thoughts, the topic is always based on modeling and programming (perhaps more clearly, models and programs), firstly. ;-)
Posted by TY | November 27, 2011, 10:30