Patrick Steyaert

Learn More
insert() abstract delete() abstract lookup() abstract forall() HashSet ... ListSet ... Set impl insert() delete() lookup() forall() deleteAll() union() constructor() changeImpl() SetImpl abstract insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; }insert() abstract(More)
A critical concern in the reuse of software is the propagation of changes made to reusable artifacts. Without techniques to manage these changes, multiple versions of these artifacts will propagate through different systems and reusers will not be able to benefit from improvements to the original artifact. We propose to codify the management of change in a(More)
This page is dedicated to all the people that helped to bring about this text: My promotor, Prof. Theo D'Hondt, who gave me the opportunity to do this work, supported me throughout the years preceding it, and initiated me in the fascinating field of algorithms and data structures. Patrick Steyaert, Kris Devolder and Wim Codenie, for directing me to relevant(More)
Mixin-based inheritance is an inheritance technique that has been shown to subsume a variety of different inheritance mechanisms. It is based directly upon an incremental modification model of inheritance. This paper addresses the question of how mixins can be seen as named attributes of classes the same way that objects, methods, and also classes in their(More)
Agora is a framework for exploring object-oriented languages. In this paper we will discuss a particular prototype-based instance of Agora that features a general mixin-based approach to (multiple) inheritance. One of the major innovations of Agora is that many important features of object-orientation including inheritance, slot access, reification, cloning(More)
can encapsulate a reusable, tailorable software architecture as a collection of collaborating, extensible object classes. Such frameworks are particularly important for developing open systems in which not only functionality but architecture is reused across a family of related applications. Unfortunately, the design of frameworks remains an art rather than(More)
The European Water Framework Directive (WFD) is built upon significant cognitive developments in the field of ecological science but also encourages active involvement of all interested parties in its implementation. The coexistence in the same policy text of both substantive and procedural approaches to policy development stimulated this research as did(More)