Hardware and Software

Bruce Edmonds (B.Edmonds@MMU.AC.UK)
Fri, 24 Nov 1995 10:13:57 GMT

Jeff asked whether there is an important difference between hardware
and software.

Well, imporatnce is relative to your aims and goals, so no absolute
answer can be given. Let me try a few perspectives.

(1) Every thing (that does something) has an underlying layer that
is relatively unchanging, if only because the universe itself seems
to have such a structure (physical laws that do not change much).
Here hardware refers to the relatively unchanging layer and software
to the more transient one. By this an organsims hardware layer would be
the chemical laws and units. The organism can not change these (with
out outside help of a drastic kind). For software the hardware is
the computer hardware - or more accurately the computer hardware
determines the laws of the software universe.

Formal systems seem to be similar in the need for a fixed underlying
layer and a layer with the actual inference machinery etc. (though it
may be that the underlying layer for formal systems is not needed for
the formal system itself but only so that we (humans) can understand
it).

You could build a purely mechanical computer, which controls noise
like a electronic one does (so that it works in a reliable (low
noise) and digital fashion). There would still be a meaningful
software-hardware distinction to be made in terms of the above
analysis.

This distinction is, of course, relative, but is then meaningful at
many different layers of appropriate abstraction (e.g. language
could be considered as the software relative to the hardware of
whatever deep-structure language rules are common to most of out
brains).

(2) Harware is associated with physicality, regardless of its
permanence. Thus the electrons in the atoms in the computer are
hardware, the enzymes are hardware etc., only an interpretation of
these as symbols etc. is not.

In this case software does effect the hardware in an electronic
computer because this includes the electrons, there is no clear
cut-distinction here. Thus a Babbage analytic engine would have no
software that is not in the mind of its programmer (and maybe nothing
would).

(3) Hardware is associated with certain propeties like noise,
software is that layer so engineered to be almost noise-free and
suitable for the indefinite propogation of uniquely identifyable
symbols in a deterministic manner.

This framework is interesting but would cut accross may of our
existing distinctions (maybe not a bad thing). Thus there might be
systems that compute with no software and quantum-computation with
no hardware (depending on exactly how low a noise level you would
insist upon for your your definition).

.............................................

I being a typical philosopher would go for (1), as it reveals
something deeper than the hapenstance of how particular compuational
devices are constructed but am also interested in (3), as I
understand that the constuction of devices does effect computation.
Pattee, is considering (2) (as I understand it).

Back to my analogy re the possiblity of software life (sorry): it is
not appropriate to associate the "hardware" of a computer and the
"hardware" of enzymes as by (1) these are not the corresponding
layers, the computer hardware laws of operation of software
correespond to the physical/chemical laws and units in the organism.
Neither can change these without outside intervention. I am
arguing that something highly analagous to life could evolve in
software environments (but still be as irreducible as life appears to
be).

What do others think about software/hardware?

(more on Kanpis article later)...(WWW archive "hardware" (the disk drive -
but its not very unchanging!!!!) back on line but restoring content
is taking time)...

----------------------------------------------------------
Bruce Edmonds
Centre for Policy Modelling,
Manchester Metropolitan University, Aytoun Building,
Aytoun Street, Manchester, M1 3GH. UK.
Tel: +44 161 247 6479 Fax: +44 161 247 6802
http://bruce.edmonds.name/bme_home.html