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

2003

A CLP-based tool for computer aided generation and solving of maths exercises

Authors
Tomas, AP; Leal, JP;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS

Abstract
We propose an interesting application of Constraint Logic Programming to automatic generation and explanation of mathematics exercises. A particular topic in mathematics is considered to investigate and illustrate the advantages of using the CLP paradigm. The goal is to develop software components that make the formulation and explanation of exercise's easier. We describe exercises by grammars which enables us to get specialized forms almost for free, by imposing further conditions through constraints. To define the grammars we concentrate on the solving procedures that are taught instead of trying to abstract an exercise template from a sample of similar exercises. Prototype programs indicate that Constraint Logic Programming frameworks may be adequate to implement such a tool. These languages have the right expressiveness to encode control on the system in an elegant and declarative way.

2003

Lexically scoped distribution: What you see is what you get

Authors
Ravara, A; Matos, AG; Vasconcelos, VT; Lopes, L;

Publication
Electronic Notes in Theoretical Computer Science

Abstract
We define a lexically scoped, asynchronous and distributed p-calculus, with local communication and process migration. This calculus adopts the network-awareness principle for distributed programming and follows a simple model of distribution for mobile calculi: a lexical scope discipline combines static scoping with dynamic linking, associating channels to a fixed site throughout computation. This discipline provides for both remote invocation and process migration. A simple type system is a straightforward extension of that of the p-calculus, adapted to take into account the lexical scope of channels. An equivalence law captures the essence of this model: a process behavior depends on the channels it uses, not on where it runs. This work was partially supported by the Portuguese Fundação para a Ciencia e a Tecnologia (via CLC, the project MIMO, POSI/CHS/39789/2001, and scholarships POCTI/SFRH/BPD/6782/2001 and POSI/SFRH/BD/7100/20- 01), by the EU FEDER (via CLC) and the EU IST proactive initiative FET- Global Computing (projects Mikado, IST-2001-32222, and Profundis, IST- 2001-33100). We thank Gérard Boudol, Ilaria Castellani, Matthew Hennessy and Francisco Martins, as well as the anonymous referees, for their comments. © 2003 Published by Elsevier Science B.V.

2003

The impact of linearity information on the performance of TyCO

Authors
Martins, F; Lopes, L; Vasconcelos, VT;

Publication
Electronic Notes in Theoretical Computer Science

Abstract
We describe a linear channel inference system for the TyCO programming language, where channel usage is tracked through method invocations as well as definition instantiations. We then apply linear channel information to optimize code generation for a multithreaded runtime system. The impact in terms of speed and space is analyzed. © 2003 Published by Elsevier Science B.V.

2003

From simulation to practice: Cache performance study of a prolog system

Authors
Lopes, R; Castro, LF; Costa, VS;

Publication
ACM SIGPLAN NOTICES

Abstract
Progress in Prolog applications requires ever better performance and scalability from Prolog implementation technology. Most modern Prolog systems are emulator-based. Best performance thus requires both good emulator design and good memory performance. Indeed, Prolog applications can often spend hundreds of megabytes of data, but there is little work on understanding and quantifying the interactions between Prolog programs and the memory architecture of modern computers. In a previous study of Prolog systems we have shown through simulation that Prolog applications usually, but not always, have good locality, both for deterministic and non-deterministic applications. We also showed that performance may strongly depend on garbage collection and on database operations. Our analysis left two questions unanswered: how well do our simulated results holds on actual hardware, and how much did our results depend on a specific configuration? In this work we use several simulation parameters and profiling counters to improve understanding of Prolog applications. We believe that our analysis is of interest to any system implementor who wants to understand his or her own system's memory performance.

2003

CLP(BN): Constraint Logic Programming for Probabilistic Knowledge

Authors
Costa, VS; Page, D; Qazi, M; Cussens, J;

Publication
UAI '03, Proceedings of the 19th Conference in Uncertainty in Artificial Intelligence, Acapulco, Mexico, August 7-10 2003

Abstract

2003

Performance Issues in Prolog Applications

Authors
Costa, VS;

Publication
LECTURE NOTES IN COMPUTER SCIENCE

Abstract

  • 194
  • 208