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 CRACS

2006

The power of linear functions

Authors
Alves, S; Fernandez, M; Florido, M; Mackie, I;

Publication
COMPUTER SCIENCE LOGIC, PROCEEDINGS

Abstract
The linear lambda calculus is very weak in terms of expressive power: in particular, all functions terminate in linear time. In this paper we consider a simple extension with Booleans, natural numbers and a linear iterator. We show properties of this linear version of Godels's System T and study the class of functions that can be represented. Surprisingly, this linear calculus is extremely expressive: it is as powerful as System T.

2006

The use of real-time publish-subscribe middleware in networked vehicle systems

Authors
Marques, ERB; Goncalves, GM; Sousa, JB;

Publication
IFAC Proceedings Volumes (IFAC-PapersOnline)

Abstract
Seaware is a publish-subscribe middleware used in multi-vehicle networked systems composed of autonomous and semi-autonomous vehicles and systems. Seaware provides a high level interface to network communications and may be deployed with a combination of heterogeneous components within a dynamic network. Seaware supports the RTPS (Real Time Publish Subscribe) protocol, underwater acoustic modems and other forms of network transport. This paper gives an overview of Seaware's implementation and its application to multi-vehicle networked systems.

2005

Topic 9 - Parallel Programming: Models, Methods and Languages

Authors
Danelutto, M; Caromel, D; Szafron, D; Silva, FMA;

Publication
Euro-Par 2005, Parallel Processing, 11th International Euro-Par Conference, Lisbon, Portugal, August 30 - September 2, 2005, Proceedings

Abstract

2005

On applying or-parallelism and tabling to logic programs

Authors
Rocha, R; Silva, F; Costa, VS;

Publication
THEORY AND PRACTICE OF LOGIC PROGRAMMING

Abstract
Logic programming languages, such as Prolog, provide a high-level, declarative approach to programming. Logic Programming offers great potential for implicit parallelism, thus allowing parallel systems to often reduce a program's execution time without programmer intervention. We believe that for complex applications that take several hours, if not days, to return an answer, even limited speedups from parallel execution can directly translate to very significant productivity gains. It has been argued that Prolog's evaluation strategy - SLD resolution often limits the potential of the logic programming paradigm. The past years have therefore seen widening efforts at increasing Prolog's declarativeness and expressiveness. Tabling has proved to be a viable technique to efficiently overcome SLD's susceptibility to infinite loops and redundant subcomputations. Our research demonstrates that implicit or-parallelism is a natural fit for logic programs with tabling. To substantiate this belief, we have designed and implemented an or-parallel tabling engine - OPTYap - and we used a shared-memory parallel machine to evaluate its performance. To the best of our knowledge, OPTYap is the first implementation of a parallel tabling engine for logic programming systems. OPTYap builds on Yap's efficient sequential Prolog engine. Its execution model is based on the SLG-WAM for tabling, and on the environment copying for or-parallelism. Preliminary results indicate that the mechanisms proposed to parallelize search in the context of SLD resolution can indeed be effectively and naturally generalized to parallelize tabled computations, and that the resulting systems can achieve good performance on shared-memory parallel machines. More importantly, it emphasizes our belief that through applying or-parallelism and tabling to logic programs the range of applications for Logic Programming can be increased.

2005

IMPACT: Innovative models for prolog with advanced control and tabling

Authors
Rocha, R; Lopes, R; Silva, F; Costa, VS;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract

2005

Dynamic mixed-strategy evaluation of tabled logic programs

Authors
Rocha, R; Silva, F; Costa, VS;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract
Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing answers to subgoals. During tabled execution, several decisions have to be made. These are determined by the scheduling strategy. Whereas a strategy can achieve very good performance for certain applications, for others it might add overheads and even lead to unacceptable inefficiency. The ability of using multiple strategies within the same evaluation can be a means of achieving the best possible performance. In this work, we present how the YapTab system was designed to support dynamic mixed-strategy evaluation of the two most successful tabling scheduling strategies: batched scheduling and local scheduling.

  • 180
  • 201