Using Reflective Logic Programming to Describe Domain Knowledge as an Aspect

  • Maja D’Hondt
  • Wolfgang De Meuter
  • Roel Wuyts
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1799)


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.


Domain Knowledge Base Program Domain Layer Aspect Language Domain Knowl 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    D’Hondt, M., D’Hondt, T.: Is domain knowledge an aspect? ECOOP99, Aspect-Oriented Programming Workshop (1999)Google Scholar
  2. 2.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-oriented programming. In Proceedings of ECOOP (1997)Google Scholar
  3. 3.
    Wuyts, R.: Declarative reasoning about the structure of object-oriented systems. In Proceedings of TOOLS USA (1998)Google Scholar
  4. 4.
    Wuyts, R.: Declaratively codifying software architectures using virtual software classifications. Submitted to TOOLS Europe (1999)Google Scholar
  5. 5.
    Steyaert, S.: Open design of object-oriented languages, a foundation for specialisable reflective language frameworks. PhD thesis, Brussels Free University (1994)Google Scholar
  6. 6.
    De Meuter, W.: The story of the simplest MOP in the world, or, the scheme of object-orientation. In Prototype-Based Programming (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Maja D’Hondt
    • 1
  • Wolfgang De Meuter
    • 2
  • Roel Wuyts
    • 2
  1. 1.System and Software Engineering LaboratoryBrussels Free UniversityBrusselsBelgium
  2. 2.Programming Technology LaboratoryBrussels Free UniversityBrusselsBelgium

Personalised recommendations