LogicObjects: Enabling Logic Programming in Java Through Linguistic Symbiosis

Sergio Castro, Kim Mens and Paulo Moura

January 2013


Abstract

While object-oriented programming languages are good at modelling real-world concepts and benefit from rich libraries and developer tools, logic programming languages are well suited for declaratively solving computational problems that require knowledge reasoning. Non-trivial declarative applications could take advantage of the modelling features of object-oriented programming and of the rich software ecosystems surrounding them. Linguistic symbiosis is a common approach to enable complementary use of languages of different paradigms. However, the problem of concepts leaking from one paradigm to another often hinders the applicability of such approaches. This issue has mainly been reported for object-oriented languages participating in a symbiotic relation with a logic language. To address this issue, we present LogicObjects, a linguistic symbiosis framework for transparently and (semi-) automatically enabling logic programming in Java, that aims to solve most of the problems of paradigm leaking reported in other works.

Bibtex

@InProceedings{castro-padl13,
  author =    {S. Castro and K. Mens and P. Moura},
  title =     {{LogicObjects: Enabling Logic Programming in Java Through Linguistic Symbiosis}},
  booktitle = {Proceedings of the 15th International Symposium on Practical Aspects of Declarative 
               Languages (PADL 2013)},
  pages =     {26--42},
  number =    {7752},
  series =    {LNCS},
  publisher = {Springer},
  editor =    {K. Sagonas},
  month =     {January},
  year =      {2013},
  address =   {Rome, Italy},
}

Download Paper

PDF file
Springer