ANNUNCIO DI SEMINARIO Il giorno Venerdi' 21 Maggio 2004 alle ore 11:30 presso l'Aula C3.4 della Facolta' di Scienze Matematiche Fisiche e Naturali dell'Universita' degli Studi di L'Aquila (palazzina di Coppito II, Coppito, L'Aquila) il Prof. Robert Kowalski dell'Imperial College di Londra terra' un seminario dal titolo: "Computational Logic in an Object-Oriented World"
Chi è il Prof. Robert Kowalski Il Prof. Robert Kowalski ha coniato la famosa ed importante massima: "Algoritmo = Logica + Controllo" che costituisce la base dei linguaggi dichiarativi, dove la definizione della soluzione di un problema e' ampiamente indipendente dagli aspetti procedurali, dei quali si occupa un "motore inferenziale" sottostante. Insieme ad Alan Colmerauer ha definito il linguaggio Prolog, ed e' stato artefice del suo successo. Ha inventato la tecnica dei metainterpreti, e si e' approfonditamente occupato di meta-ragionamento. Ha studiato e perfezionato la programmazione logica abduttiva, che rende possibile ragionare non solo dalle cause agli effetti, ma anche dagli effetti alle possibili cause, integrando opportunamente il ragionamento con l'uso di vincoli di integrita'. Recentemente si occupa della definizione di agenti ed oggetti in logica computazionale. In questo seminario propone un nuovo scenario che integra in modo innovativo le caratteristiche della programmazione logica e della programmazione ad oggetti, o ad agenti.
ABSTRACT del Seminario Computational Logic (CL), as exemplified by logic programming (LP), has been overshadowed in recent years by other approaches to Computing, most notably by object-orientation (OO). In this talk I will propose a framework that attempts to combine the best features of CL and OO. In this framework, objects are individuals embedded in a dynamically changing environment, and logic is encapsulated inside objects to implement their behaviour. The framework treats objects as individuals, with properties and relationships to other individuals, as in the model theoretic semantics of classical logic. These individuals, with their destructively changing relationships, constitute the environment, which is visible to the objects embedded in it. Instead of interacting with one another only by sending and receiving messages, objects interact by observing changes and performing actions in this shared environment. These changes and actions affect only the local state of objects and take place concurrently. The framework uses logic encapsulated inside objects to implement the interactions of objects with the environment. It uses logic both in the form of LP to reduce goals to sub-goals and in the form of integrity constraints to react to observations by deriving goals and actions. By embedding logic inside objects, the framework extends conventional LP to concurrent systems, embedded in an environment that changes state destructively. It extends conventional OO to include a shared environment and to employ logical methods inside objects, so they can represent and reason about the environment. Computational Logic (CL), as exemplified by logic programming (LP), has been overshadowed in recent years by other approaches to Computing, most notably by object-orientation (OO). In this talk I will propose a framework that attempts to combine the best features of CL and OO. In this framework, objects are individuals embedded in a dynamically changing environment, and logic is encapsulated inside objects to implement their behaviour. The framework treats objects as individuals, with properties and relationships to other individuals, as in the model theoretic semantics of classical logic. These individuals, with their destructively changing relationships, constitute the environment, which is visible to the objects embedded in it. Instead of interacting with one another only by sending and receiving messages, objects interact by observing changes and performing actions in this shared environment. These changes and actions affect only the local state of objects and take place concurrently. The framework uses logic encapsulated inside objects to implement the interactions of objects with the environment. It uses logic both in the form of LP to reduce goals to sub-goals and in the form of integrity constraints to react to observations by deriving goals and actions. By embedding logic inside objects, the framework extends conventional LP to concurrent systems, embedded in an environment that changes state destructively. It extends conventional OO to include a shared environment and to employ logical methods inside objects, so they can represent and reason about the environment.