PDP The Parallel and Distributed Processing Group of the CITI Centre and of the Computer Science Department of the New University of Lisbon

Home

Research Topics

Members

Projects

Publications


Distributed Languages and Execution Models

Tools for Parallel and Distributed Program Development

Cluster Computing Systems

Problem-Solving Environments and Grid Computing

Distributed Languages and Execution Models

Our research in this field covers the following topics:
Projects Publications


Concerning Parallel and Distributed Logic Programming


We are developing distributed computing models and architectures for logic programs, to support distributed intelligent agent systems. This will be a basis for supporting reasoning, planning, intelligent decision support, and intermediation between the user/application and the system levels, and will be applied to enrich the intelligence autonomic capabilities of large-scale distributed computing systems. The background of this work goes back to our developments on the Delta-Prolog distributed logic language (1984-1989), and our approach is to provide distributed extensions to logic languages, and to embed them into working prototypes. Two recent developments were  PVM-Prolog, and the work on a multithreaded version of the XSB-Prolog system. Both systems are supported by real working prototypes that have/are been used by others for research and development.

PVM-Prolog: defines an intermediate layer supporting the parallel and distributed execution of extended Prolog programs. This model also supports internal concurrency to each process, in the form of user-level threads. The model was used as a basis to implement the distributed constructs of the PROLOPPE language (a logic programming language) and it was also used to support the programming of distributed diagnosis applications in the PADIPRO project. In these projects, PVM-Prolog was also used to support heterogeneous distributed systems composed of distinct Prolog and C components which can communicate using PVM-related primitives. * PVM-Prolog is neutral concerning each core inference engine, so prototypes were implemented in several existing Prolog systems, such as NanoProlog (developed by Artur Miguel Dias from the CITI Centre), SICStusProlog (from the SICS Institute, Sweden), YAP (from the LIACC Laboratory of Universidade do Porto), and XSB-Prolog (from the State University of New York at Stony Brook). * Externally to our Faculty, PVM-Prolog was used by Michael Schroeder in the University of Hannover to implement an agent-based language (VividAgents).

Concurrent and distributed execution of tabled logic programs: our goal is to provide mechanisms and their support algorithms for concurrent and distributed execution of tabled logic programs, in a two-level approach: (i) by supporting concurrent threads of execution within a WAM engine; (ii) by coordinating multiple distributed WAM engines, to perform distributed evaluation and reasoning. Level (i) consisted of the design of a multithreaded XSB-Prolog abstract machine and its implementation on shared-memory multiprocessors. This work was done in the scope of the PhD dissertation by Rui Marques, completed Fall 2006, jointly supervised by Profs. Terrance Swift (SUNY at Stony Brook) and José C. Cunha.


Concerning Group-oriented Distributed Programming Abstractions


This work aims at exploiting group concepts as organization and cooperation paradigms for distributed applications and systems. A large scale and complex distributed application can benefit from a group-based and hierarchical organization. Interactions among group members are more easily managed due to the small scale of each group, thus enabling the efficient implementation of more appropriate coordination paradigms. This work exploits groups concepts, in order to address scalability, dynamism, and mobility issues. As basis of this work, we have proposed the GroupLog model, supporting group-based abstractions for the dynamic structuring of distributed agents. GroupLog integrates two distinct forms of communication within a group: direct point-to-point and multicast communication, and access to a logical shared memory, representing a form of group shared state. Developments of this work: - GroupLog: the specification of the model, as an extension of a logic programming language, and the implementation of a distributed prototype, on top of PVM-Prolog. This work was done in the context of a PhD dissertation by Fernanda Barbosa, under the supervision of Jose C. Cunha.

JGroupSpace: a Java-based version of GroupLog, and a more efficient implementation of the run-time support. This is ongoing work, in the scope of a M.Sc. dissertation by Jorge Custódio, under the supervision of Jose C. Cunha.

Group models for collaborative mobile applications: in this work we are adapting the GroupLog model in order to handle dynamic and mobile computations, in the context of collaborative mobile multimedia applications. An ongoing PhD dissertation by Carmen Morgado is being co-supervised by Prof. Jose Cunha and Prof. Nuno Correia, coordinator of the Media Processing group of the CITI centre.


Concerning Mobile Computations


This work concern developments of infrastructures for mobile computations over a process-calculi. It encompasses the design and implementation of a scripting language featuring agent mobility abstractions, and its encoding in a process-calculi. The goal is to be able to ensure correctness properties, as well as to provide an execution support environment for mobile computations. The work has been done in the scope of Hervé Paulino's PhD dissertation (completed Fall 2006), under the supervision of Profs. Luis Lopes and Fernando Silva, University of Porto. The work consists of the design and implementation of a mobile computing platform based on the DiTyCO model, a process-calculi, and was developed in the scope of the MIMO project (Models and Infrastructures for Mobile Computing), in cooperation with researchers from the University of Lisboa, and of the CITI Programming Languages and Model group.