Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Ricardo Rocha

2013

2nd Symposium on Languages, Applications and Technologies, SLATE 2013, June 20-21, 2013 - Porto, Portugal

Authors
Leal, JP; Rocha, R; Simões, A;

Publication
SLATE

Abstract

2014

Declarative Programming and Knowledge Management - Declarative Programming Days, KDPD 2013, Unifying INAP, WFLP, and WLP, Kiel, Germany, September 11-13, 2013, Revised Selected Papers

Authors
Hanus, M; Rocha, R;

Publication
KDPD

Abstract

2014

A parallel virtual machine for executing forward-chaining linear logic programs

Authors
Cruz, F; Rocha, R; Goldstein, SC;

Publication
Proceedings of the International Joint Workshop on Implementation of Constraint and Logic Programming Systems and Logic-Based Methods in Programming Environments 2014, CICLOPS-WLPE 2014

Abstract
Linear Meld is a concurrent forward-chaining linear logic programming language where logical facts can be asserted and retracted in a structured way. The database of facts is partitioned by the nodes of a graph structure which leads to parallelism if nodes are executed simultaneously. Communication arises whenever nodes send facts to other nodes by fact derivation. We present an overview of the virtual machine that we implemented to run Linear Meld on multicores, including code organization, thread management, rule execution and database organization for efficient fact insertion, lookup and deletion. Although our virtual machine is a work-in-progress, our results already show that Linear Meld is not only capable of scaling graph and machine learning programs but it also exhibits some interesting performance results when compared against other programming languages.

2017

Introduction to the 33rd international conference on logic programming special issue

Authors
Rocha, R; Son, TC;

Publication
THEORY AND PRACTICE OF LOGIC PROGRAMMING

Abstract
This special issue of Theory and Practice of Logic Programming (TPLP) contains the regular papers accepted for presentation at the 33rd International Conference on Logic Programming (ICLP 2017), held in Melbourne, Australia from the 28th of August to the 1st of September, 2017. ICLP 2017 was colocated with the 23rd International Conference on Principles and Practice of Constraint Programming (CP 2017) and the 20th International Conference on Theory and Applications of Satisfiability Testing (SAT 2017). Since the first conference held in Marseille in 1982, ICLP has been the premier international event for presenting research in logic programming.

2015

On Compiling Linear Logic Programs with Comprehensions, Aggregates and Rule Priorities

Authors
Cruz, F; Rocha, R;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PADL 2015

Abstract
Linear logic programs are challenging to implement efficiently because facts are asserted and retracted frequently. Implementation is made more difficult with the introduction of useful features such as rule priorities, which are used to specify the order of rule inference, and comprehensions or aggregates, which are mechanisms that make data iteration and gathering more intuitive. In this paper, we describe a compilation scheme for transforming linear logic programs enhanced with those features into efficient C++ code. Our experimental results show that compiled logic programs are less than one order of magnitude slower than hand-written C programs and much faster than interpreted languages such as Python.

2014

Design and Implementation of a Multithreaded Virtual Machine for Executing Linear Logic Programs

Authors
Cruz, F; Rocha, R; Goldstein, SC;

Publication
PPDP

Abstract
Linear Meld is a concurrent forward-chaining linear logic programming language where logical facts can be asserted and retracted in a structured way. In Linear Meld, a program is seen as a database of logical facts and a set of derivation rules. The database of facts is partitioned by the nodes of a graph structure which leads to parallelism when nodes are executed simultaneously. Due to the foundations on linear logic, rules can retract facts in a declarative and structured fashion, leading to more expressive programs. We present the design and implementation of the virtual machine that we implemented to run Linear Meld on multicores, with particular focus on thread management, code organization, fact indexing, rule execution, and database organization for efficient fact insertion, lookup and deletion. Our results show that the virtual machine is capable of scaling programs with up to 16 threads and also exhibits interesting scalar performance results due to our indexing optimizations.

  • 5
  • 19