Object-orientation, systems and models

And how does the object-oriented paradigm relate to all this? As it has already been pointed out, the concept of system is very much related to objects themselves. It does not surprise, bearing these idea in mind, that object-orientation was born as a ``side effect'' when designing a programming language for simulation (i.e. modeling a system). Kristan Nygaard, considered the father of object orientation, said when talking about the way that this paradigm was born: ``The idea that led to Simula and OOP was to create a language that made it possible for people to comprehend, describe, and communicate about systems; to analyze existing and proposed systems through computer based models''Kristen[Nygaard, 2001].

It is surprising how many authors discuss that the ``real'' world is not made of objects but an object-oriented model is a good approximation [Graham, 1991]. What is missing in their discussion is what Nygaard and others mainly from the Scandinavian school realized : when building a software application we are in fact implementing a system model (the application itself is a system); the world may not made of objects but when building a software we are not trying to model the world as a whole but a particular system, present in a given domain of the real world. This idea of object-orientation emerging from system modeling will be further developed in the next section.

As already outlined in the previous section, it is an important hypothesis in this work that object-orientation is the best paradigm for describing systems through models. Although this assertion was directly derived from the definition of system itself it is also interesting to note that the birth of the object-oriented paradigm is intimately related to the idea of system modeling. For strengthening this idea, in this section we will take a look at the ideas of the first pioneers that formulated the foundations of object-orientation. To keep our discussion focused, we will concentrate in the ideas of Kristen Nygaard, creator of the Simula languages, father of object-orientation and founder of the Scandinavian school of object-orientation.