Vertical, horizontal, and behavioural extensibility of software systems
FacultiesFakultät für Informatik
By distinguishing three different dimensions of extensibility - vertical (extensions of the type hierarchy), horizontal (extensions of the spectrum of operations available on types), and behavioural (extensions or even modifications of the original behaviour of operations) - it is shown that typical object-oriented programming languages support only the first dimension in a direct and modular way. On the other hand, a new and surprisingly simple concept called dynamic routines, that is introduced in this paper, simultaneously supports all three dimensions in a natural and flexible way. The concept has been implemented as precompiler-based language extensions for C++, Oberon-2, and Java.
Subject headings[LCSH]: Software development
LicenseStandard (Fassung vom 03.05.2003)
MetadataShow full item record
DOI & citation
Please use this identifier to cite or link to this item: http://dx.doi.org/10.18725/OPARU-329