Abstract
Software applications, mostly consisting of an algorithm applied to domain knowledge, are hard to maintain and to reuse as a result of their hard coded combination. We propose to follow the principles of aspect-oriented programming, separating the domain from the algorithm and describing them in a logic and conventional programming language respectively. In this paper, we report on an experiment that was conducted to validate this hypothesis, and to investigate the requirements of a programming environment for this con_guration. An already existing environment that uses a logic meta-language to reason about objectoriented systems, SOUL, is used as a starting point for this experiment. The result is a working implementation in SOUL, which validates our ideas, reveals mechanisms that require more research, and points to other features that should be included.
This work is partly sponsored by the Vlaams Instituut voor de Bevordering van het Wetenschappelijk-Technologisch Onderzoek in de Industrie.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
D’Hondt, M., D’Hondt, T.: Is domain knowledge an aspect? ECOOP99, Aspect-Oriented Programming Workshop (1999)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-oriented programming. In Proceedings of ECOOP (1997)
Wuyts, R.: Declarative reasoning about the structure of object-oriented systems. In Proceedings of TOOLS USA (1998)
Wuyts, R.: Declaratively codifying software architectures using virtual software classifications. Submitted to TOOLS Europe (1999)
Steyaert, S.: Open design of object-oriented languages, a foundation for specialisable reflective language frameworks. PhD thesis, Brussels Free University (1994)
De Meuter, W.: The story of the simplest MOP in the world, or, the scheme of object-orientation. In Prototype-Based Programming (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
D’Hondt, M., De Meuter, W., Wuyts, R. (2000). Using Reflective Logic Programming to Describe Domain Knowledge as an Aspect. In: Czarnecki, K., Eisenecker, U.W. (eds) Generative and Component-Based Software Engineering. GCSE 1999. Lecture Notes in Computer Science, vol 1799. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40048-6_2
Download citation
DOI: https://doi.org/10.1007/3-540-40048-6_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41172-7
Online ISBN: 978-3-540-40048-6
eBook Packages: Springer Book Archive