Objetos Inteligentes Baseados em CLP para Aplicações Científicas - Braz, Christian Cleber Masdeval (2011)
Programação lógica com restrições (constraint logic programming, ou CLP) é uma classe de linguagens de programação baseada na programação lógica e programação com restrições. Descende de estudos em áreas diversas como inteligência artificial, linguagens de programação e otimização combinatorial e cada vez mais vem sendo utilizada para modelar e resolver muitos problemas reais complexos. O objetivo deste trabalho é propor, validae e implementar um conceito de objeto inteligente baseado em CLP. Um objeto inteligente engloba dados, métodos e também conhecimento declarativo e mecanismos de inferência, os quais permitem a este utilizar seu conhecimento a fim de produzir comportamentos inteligentes. Este conhecimento é formulado através de regras CLP que estão associados a um objeto na forma de pseudo-métodos declarados na classe do objeto. Esta integração respeita as características principais da orientação a objetos___encapsulamento, herança e polimorfismo __, resultando em aplicações nas quais a computação se dá em um universo constituído por objetos que trocam mensagens entre si. Dessa forma, o controle das ações não é exercido por um mecanismo de inferência central, mas sim pelo fluxo comum de mensagens em aplicações orientadas a objetos. Com isso, a modelagem e a implementação de sistemas complexos que necessitem fazer uso das técnicas introduzidas pela CLP podem continuar sendo baseadas no paradigma da orientação a objetos. Os benefícios são reusabilidade , manutenabilidade, legibilidade e eficiênica que podem ser alcançados em programas que utilizam este paradigma, além de tornar, para os engenheiros de sistemas, mais intuitiva e natural a absorção desta técnica de inteligëncia artificial.