Towards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language

Reflective systems have a causally connected (metalevel) representation of themselves. Most reflective systems use the same language to reason about their metalevel representation as the language that is used to reason about their domain. In symbiotic reflection a different language is used at the metalevel. The practical usability of this symbiotic reflection is enhanced if a linguistic symbiosis is accomplished that transparantly integrates both languages. Implementing such a linguistic symbiosis is relatively straightforward if the meta language and the base language share the same programming paradigm. The problem becomes far more complex when the paradigms differ. This paper describes the extension of the symbiotic reflective system SOUL with a linguistic symbiosis between a logic meta language and an object-oriented base language.