Generating Objects – Towards a Procedural Ontology

File:Aufnahme einzelner Magnetisierungen gespeicherter Bits auf einem Festplatten-Platter..jpg

What is an object? How are objects constituted? What does it mean for an object to exist? In this article, I want to start to approach these philosophical questions by using some concepts derived from computer science. I will develop this further in later articles. In later articles, I am going to apply these ideas outside the area of computers or technology, but the initial example is from the area of computing. I am planning also, in later articles, to expand this framework of ideas into areas like semantics and the theory of knowledge. So this article is only the beginning (although some ideas from this complex have already shown up in previous articles on The Asifoscope).

An Example

I am using a word processor to write this text. The word processor is providing me with a “realm” or “world” of objects like pages, paragraphs, footnotes, headers, footers, etc. The word processor, in turn, is a program “residing” in a world containing “files” and “folders”.

I can create files or open and close them. I can view their content or put information into them. I can store them in folders and copy or move them from one folder to another. I can name files or delete them.

The computer I am writing this on contains an information storage device (a „hard disk“). Information is stored on it in the form of “blocks” that are organized into “tracks”.

Somehow, the files and folders are implemented in terms of blocks and the device “knows” where each block is on the hard drive. The blocks are, in turn, implemented in terms of even smaller storage units, eventually by single “bits”. These are physically represented by the direction of magnetization of small magnetic particles.

Ontological levels and ontological transitions

So there is a hierarchy of levels of description (I am also going to speak of “ontological levels”). The objects on each level are implemented in terms of objects on the level below it. From one level to another, the types of objects we are dealing with are changing. This change is what I call an “ontological transition”.

There are two important properties of ontological levels and the transitions between them that I want to point out in this article:

  1. To an extent, these levels are independent of each other.

At each moment, each object has a specific implementation in terms of the levels below it, but it can be understood in its own terms, without an understanding of the level(s) below it. I can understand a file and what I can do with it without knowing anything about hard disks, blocks, tracks, and storage addresses etc.

Moreover, the implementation can be changed without changing the high level object and perhaps without the program or user using the object even noticing the change. For example, I can copy the file from the hard disk to an optical disc or to an electronic storage chip. The physical system used to represent the file will change completely, from the magnetized particles of the magnetic disk to the microscopic pits of an optical disk or the distribution of electrical charges in a storage chip. Intermediate levels like blocks might also not exist on another storage medium, so the file might be represented in a different way.

  1. Secondly, in each instance of ontological transitions, we will find that there is some active process that produces the objects of the higher level.

Some device driver combined with a disk controller, for example, provides a world of data blocks.

The file system is also a running program (or set of such programs) that resides in a realm of low level storage objects like data blocks and uses them to implement files and folders.

The word processor that is using the file system is, again, a running program. It generates a realm of pages and paragraphs.

So on each level, objects are created by processes. I will be calling such a process an “(object) projector” and the objects provided by it “projections” generated by it. As the file system example is showing, objects and worlds or realms of objects can be just viewed or they can be manipulated through the projector.

The concept of a “projector“, as introduced here, bears some resemblance to the concept of “emulations“, as used in computer science. There are a number of similar constructions in computer science, with different names (instances include, for example, drivers/devices, services/servers and so on) and I have chosen the term “projector” in order to have a neutral term covering them all. Moreover, this term is intended to be useful beyond the limits of computer technology. This, however, will be the topic of other articles.

(The picture is from, showing microscopic magnetization structures on the surface of a hard disk, representing bits of data, is from




  1. Reblogged this on The Asifoscope and commented:

    A topic I am fighting with a bit. The ideas are clear to me; however, the problem is how to present them. I am still struggling to put these ideas into a form that is easy to understand and even interesting. I hope things will become clearer with future articles, elucidating the connections of this stuff to semantics, the theory of knowledge, creativity and other topics. At the moment, it is maybe not yet clear what I am driving at here…

  2. […] When you execute your plan and drive to your friends place, there seems to be another program that executes the plan (and “knows” how to translate it into single movements). In computer science, a program that executes another program is called an “interpreter”. You can think of an interpreter as a program with two entries (or “parameters”, to use a more technical term). You put the “program” into one parameter and the “data” the program is supposed to work on into the other. The interpreter will then apply the program to the data, and produce a result. (Note that the concept of an interpreter as it is used here is connected to the concept of an “(object) projector” I have introduced in Generating Objects – Towards a Procedural Ontology). […]

  3. […] system without affecting the emulated system). So there is an “ontological transition” (…), from a world of neurons to an emulated, but nonetheless real, world of perceived phenomena, a […]

  4. […] We construct things out of the raw sense data by the activity of chunks of knowledge. There is a world that exists independently of us, but we produce or project some world out of it by the activity of our active knowledge. (See also…) […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: