<<< Previous speaker Next speaker >>>

Trackhost: Ole Lehrmann Madsen, Alexandra Instituttet

Trackhost: Ole Lehrmann  Madsen Ole Lehrmann Madsen is a professor of Computer Science, Aarhus University, and director of the Alexandra Institute A/S - a joint venture between universities, companies and public institutions to promote private and public co-operation within IT research.

Presentation: "What mainstream OO can learn from SIMULA and BETA"

Track:   Back to the Future

Time: Wednesday 14:30 - 15:30

Location: Conference Hall

Abstract:

The purpose of this talk is not to promote SIMULA or BETA as alternatives to languages such as C++, Java or C#. The purpose is to 'go back to the future' and reintroduce some of the original ideas behind OO as provided by SIMULA. The goals for SIMULA were to provide a language for modeling as well as programming. The focus on modeling and programming has been one of the main characteristics of the Scandinavian School of OO where BETA is another representative.

OO has been a major success and is now the dominating programming perspective. This has resulted in numerous technologies and hundreds of books on OO. The downside of the success is that most technologies and books pay very little attention to the conceptual aspects of modeling. The technical aspects of object-technology seem to be totally dominating.

The main lesson to be learned from SIMULA and BETA is the emphasis on modeling as opposed to the technical aspects that are now dominating OO. Another way to put it is that any technology should be based on a theoretical foundation. Most engineering disciplines have a foundation based on mathematics. In this talk we will present a theory based on a conceptual framework for modeling. The conceptual framework includes conceptual means such as concepts, phenomena, classification, generalization, aggregation, and composition. And we discuss the different kinds of phenomena that characterize information systems. We relate these means to programming language constructs such as object, attributes, class, and subclass. And perhaps most importantly we discuss to what extent programming languages limit the properties of an application domain that can be represented by an OO program.

The main purpose of a conceptual framework is to provide the programmer with guidelines for designing OO software systems. This is of course important when designing an OO model of parts of the 'real world'. But also for designing software in general it is important to have guidelines for identifying the structure of objects, classes and subclasses.

Password protected Download slides