Re: Modelling the real world.
Posted: Mar 11, 2004 4:30 AM
> The starting point for One-Click is the pre-existing
> notion of the Web Page, and the ergonomics of on-line
> ordering. A BankLoan class, as you point out, starts from
> the existing business processes, legal rules, and
> artifacts created when a customer asks a bank for a loan.
> In both cases, the term "abstraction" still applies in
> n that the programmer starts with a whole group of facts,
> desires, and constraints, and distills them into software.
> If software were pure invention, without reference to
> o anything outside the programmer's mind or software text,
> it would be useless.
> Yes, the BankLoan class bears little resemblance to the
> existing documents and paper-shuffling procedures, and a
> programmer must use a great deal of creativity to write
> it. Nevertheless, that programmer must also abstract from
> a plethora of existing or envisioned legal and business
> requirements in order to create that chunk of software.
> One-Click is a trickier situation, since on the surface
> it's, well, one click to buy an item. Still, Amazon had
> to make sure that one click could technically and legally
> execute all the business processes required to execute an
> order. In that case, some programmer had to analyze the
> processes required and abstract the data and workflow
> required from an order
> Perhaps my choice of initial analogies was confusing. In
> my mind -- if no one else's -- abstraction is the process
> of disentangling the useful and relevant parts of a
> physical object, man-made set of constraints, or
> underlying metaphor from the inessential or accidental
> Perhaps the real problem isn't the term "modelling", but
> the definition of the "real world" as exclusively
> tangible, physical, external things. Or perhaps its the
> assumption that there's a one-to-one mapping from the
> model to the real thing, between some assumed set of
> things to software objects. Just as a model airplane
> excludes some features of a real airplane, it also
> includes some things a real airplane wouldn't (like a
> giant rubber band).
I completely agree that there is always a process of abstraction in your sense of selecting, disentangling, accounting for constraints and so on. And this is also true to some degree for non-physical objects. But, I think, this doesn't cover the normative aspects, where we say how it _should_ be. A law maker, for example, doesn't model the real world, he makes new rules that apply to the real world and that then constitute part of the real world. The laws are of course formulated in terms of abstractions of things that exist but they also create something new that wasn't there before and that doesn't have to be modelled upon anything.
I think this difference between analytic understanding of something that exists and the formulation of rules to express how things should be, is a fundamental logical idea that seems to be neglected in the phrase "modelling the real world".