Salvador Abreu

Salvador Abreu
  • PhD
  • Professor (Full) at Universidade de Évora

About

121
Publications
11,816
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
750
Citations
Current institution
Universidade de Évora
Current position
  • Professor (Full)
Additional affiliations
May 1995 - present
Universidade de Évora
Position
  • Professor (Full)

Publications

Publications (121)
Preprint
Full-text available
Active Logic Documents (ALD) are web pages which incorporate embedded Prolog engines that run locally within the browser. ALD offers both a very easy way to add click-to-run capabilities to any kind of teaching materials, independently of the tool used to generate them, as well as a tool-set for generating web-based materials with embedded examples...
Chapter
Teaching materials for programming languages, and Prolog in particular, classically include textbooks, slides, notes, and exercise sheets, together with some Prolog programming environment. However, modern web technology offers many opportunities for embedding interactive components within such teaching materials. We report on our experiences in de...
Article
Full-text available
Both logic programming in general and Prolog in particular have a long and fascinating history, intermingled with that of many disciplines they inherited from or catalyzed. A large body of research has been gathered over the last 50 years, supported by many Prolog implementations. Many implementations are still actively developed, while new ones ke...
Preprint
Full-text available
(Under consideration for publication in Theory and Practice of Logic Programming) Both logic programming in general, and Prolog in particular, have a long and fascinating history, inter-mingled with that of many disciplines they inherited from or catalyzed. A large body of research has been gathered over the last 50 years, supported by many Prolog...
Chapter
Critical infrastructures must be able to mitigate, at runtime, suspected ongoing cyberattacks that have eluded preventive security measures. To tackle this issue, we first propose an autonomic computing architecture for a Cyber-Security Incident Response Team Intelligent Decision Support System (CSIRT-IDSS) with a precise set of technologies for ea...
Chapter
The Quadratic Assignment Problem (QAP) is one of the most challenging combinatorial optimization problems with many real-life applications. Currently, the best solvers are based on hybrid and parallel metaheuristics, which are actually highly complex and parametric methods. Finding the best set of tuning parameters for such methods is a tedious and...
Book
This book constitutes revised selected papers from the 22nd International Conference on Applications of Declarative Programming and Knowledge Management, INAP 2019, the 33rd Workshop on Logic Programming, WLP 2019, and the 27th Workshop on Functional and (Constraint) Logic Programming, WFLP 2019. The 15 full papers and 1 short paper presented in t...
Preprint
Full-text available
Local Search meta-heuristics have been proven a viable approach to solve difficult optimization problems. Their performance depends strongly on the search space landscape, as defined by a cost function and the selected neighborhood operators. In this paper we present a logic programming based framework, named Noodle, designed to generate bespoke Lo...
Article
Full-text available
Local Search meta-heuristics have been proven a viable approach to solve difficult optimization problems. Their performance depends strongly on the search space landscape, as defined by a cost function and the selected neighborhood operators. In this paper we present a logic programming based framework, named Noodle, designed to generate bespoke Lo...
Preprint
This volume constitutes the pre-proceedings of the DECLARE 2019 conference, held on September 9 to 13, 2019 at the University of Technology Cottbus - Senftenberg (Germany). Declarative programming is an advanced paradigm for the modeling and solving of complex problems. This method has attracted increased attention over the last decades, e.g., in t...
Chapter
Full-text available
We present a versatile architecture for AI-powered self-adaptive self-certifiable critical systems. It aims at supporting semi-automated low-cost re-certification for self-adaptive systems after each adaptation of their behavior to a persistent change in their operational environment throughout their lifecycle.
Conference Paper
Neighborhood operators play a crucial role in defining effective Local Search solvers, allowing one to limit the explored search space and prune the fitness landscape. Still, there is no accepted formal representation of such operators: they are usually modeled as algorithms in procedural language, lacking in compositionality and readability. In th...
Conference Paper
Definite Clause Grammars (DCGs) are a convenient way to specify possibly non-context-free grammars for natural and formal languages. They can be used to progressively build a parse tree as grammar rules are applied by providing an extra argument in the DCG rule’s head. In the simplest way, this is a structure that contains the name of the used nont...
Conference Paper
Full-text available
As with Amazon’s Echo and its conversational agent Alexa, smart voice-controlled devices become ever more present in daily life, and many different applications can be integrated into this platform. In this paper, we present a framework that eases the development of skills in Prolog. As Prolog has a long history in natural language processing, we m...
Conference Paper
Full-text available
Recently, we developed the Parallel Heterogeneous Architecture Constraint Toolkit (PHACT), which is a multi-threaded constraint solver capable of using all the available devices which are compatible with OpenCL, in order to speed up the constraint satisfaction process. In this article, we introduce an evolution of PHACT which includes the ability t...
Chapter
Full-text available
We propose PHYSH (Parallel HYbridization for Simple Heuristics), a framework to ease the design and implementation of hybrid metaheuristics via cooperative parallelism. With this framework, the user only needs encode each of the desired metaheuristics and may rely on PHYSH for parallelization, cooperation and hybridization. PHYSH supports the combi...
Conference Paper
Full-text available
Many real-life applications can be formulated as Combinatorial Optimization Problems, the solution of which is often challenging due to their intrinsic difficulty. At present, the most effective methods to address the hardest problems entail the hybridization of metaheuristics and cooperative parallelism. Recently, a framework called CPLS has been...
Chapter
Full-text available
Local search metaheuristics are a recognized means of solving hard combinatorial problems. Over the last couple of decades, significant advances have been made in terms of the formalization, applicability and performance of these methods. Key to the performance aspect is the increased availability of parallel hardware, which turns out to be largely...
Article
Declarative if–then rules have proven very useful in many applications of expert systems. They can be managed in deductive databases and evaluated using the well-known forward-chaining approach. For domain-experts, however, the syntax of rules becomes complicated quickly, and already many different knowledge representation formalisms exist. Expert...
Book
This book constitutes revised selected papers from the 21st International Conference on Applications of Declarative Programming and Knowledge Management, INAP 2017, the 31st Workshop on Logic Programming, WLP 2017, and the 25th Workshop on Functional and (Constraint) Logic Programming, WFLP 2017. The 12 full papers presented in this volume were car...
Conference Paper
Full-text available
For representing knowledge in intelligent systems in a declarative and natural way, two major approaches have been used in the past: (1) domain-specific languages (DSLs), and (2) controlled natural languages (CNLs). Early DSLs were defined by technical and abstract syntaxes, e.g., for EBNF and regular expressions. More recently, there is a trend in...
Conference Paper
Full-text available
The Quadratic Assignment Problem is at the core of several real-life applications. Finding an optimal assignment is computationally very difficult, for many useful instances. The best results are obtained with hybrid heuristics, which result in complex solvers. We propose an alternate solution where hybridization is obtain by means of parallelism a...
Conference Paper
Full-text available
In this paper, we use declarative and domain–specific languages for representing expert knowledge in the field of change management in organisational psychology. Expert rules obtained in practical case studies are represented as declarative rules in a deductive database. The expert rules are annotated by information describing their provenance and...
Conference Paper
Several real-life applications can be stated in terms of the Quadratic Assignment Problem. Finding an optimal assignment is computationally very difficult, for many useful instances. We address this problem using a local search technique, based on Extremal Optimization and present experimental evidence that this approach is competitive. Moreover, c...
Chapter
FM development requires a solid bioinformatics analysis pipeline in order to minimize the need for human curation of data, variant calling and for predicting candidate functional polymorphisms. Here we describe the development of novel tools which reduce the need for human curation of data and improve the accuracy of variant detection. There are se...
Conference Paper
Full-text available
Hospitals/Residents with Ties (HRT) forms a class of problems with many applications, some of which are of considerable size. Solving these problems has been shown to be NP-hard. In previous work, we developed a local search algorithm which displays very high performance in solving Stable Matching with Ties and Incomplete lists (SMTI) problems. In...
Conference Paper
Full-text available
In this work, we present a 3D web-based interactive tool for numerical modeling and simulation approach to breast reduction surgery simulation, to assist surgeons in planning all aspects related to breast reduction surgery before the actual procedure takes place, thereby avoiding unnecessary risks. In particular, it allows the mod-eling of the init...
Conference Paper
Full-text available
Stable matching problems have several practical applications. If preference lists are truncated and contain ties, finding a stable matching with maximal size is computationally difficult. We address this problem using a local search technique, based on Adaptive Search and present experimental evidence that this approach is much more efficient than...
Conference Paper
Full-text available
Constraint satisfaction and combinatorial optimization problems, even when modeled with efficient metaheurisics such as local search remain computationally very intensive. Solvers stand to benefit significantly from execution on parallel systems, which are increasingly available. The architectural diversity and complexity of the latter means that t...
Conference Paper
Full-text available
This paper describes three significant extensions for the Finite Domain solver of GNU Prolog. First, the solver now supports negative integers. Second, the solver detects and prevents integer overflows from occurring. Third, the internal representation of sparse domains has been redesigned to overcome its current limitations. The preliminary perfor...
Conference Paper
Full-text available
In this paper we address the problem of parallelizing local search. We propose a general framework where different local search en-gines cooperate (through communication) in the quest for a solution. Several parameters allow the user to instantiate and customize the frame-work, like the degree of intensification and diversification. We imple-mented...
Conference Paper
Full-text available
Constraint-Based Local Search (CBLS) consist in using Local Search methods [4] for solving Constraint Satisfaction Problems (CSP). In order to further improve the performance of Local Search, one possible option is to take advantage of the increasing availability of parallel computational resources. Parallel implementation of local search meta-heur...
Article
Full-text available
We present the parallel implementation of a constraint-based Local Search algorithm and investigate its performance on several hardware platforms with several hundreds or thousands of cores. We chose as the basis for these experiments the Adaptive Search method, an efficient sequential Local Search method for Constraint Satisfaction Problems (CSP)....
Conference Paper
Full-text available
Recent developments in computer architecture progress towards connected systems with a large core count, which expose more parallelism to applications, creating a hierarchical setup at the node and cluster levels. Declarative approaches such as those based on constraints are attractive to parallel programming because they concentrate on the logic o...
Conference Paper
Full-text available
In this study, we started to investigate how the Partitioned Global Address Space (PGAS) programming language X10 would suit the implementation of a Constraint-Based Local Search solver. We wanted to code in this language because we expect to gain from its ease of use and independence from specific parallel architectures. We present the im-plementa...
Conference Paper
Full-text available
In this study, we have investigated the adequacy of the PGAS parallel language X10 to implement a Constraint-Based Local Search solver. We decided to code in this language to benefit from the ease of use and architectural independence from parallel resources which it offers. We present the implementation strategy, in search of different sources of...
Article
Full-text available
Purpose—finding ways of improving learning in a formal higher education context. Design/methodology/approach—in the proposed model we will consider extending traditional content management systems, giving learners the possibility to add new materials and to rate them, and a hybrid strategy that combines technical recommendations with some profile-b...
Article
Full-text available
NeMODe is a declarative system for computer network intrusion detection, providing a declarative domain specific language for describing network intrusion signatures which can span several network packets, by stating constraints over network packets, describing relations between several packets in a declarative and expressive way. It provides sever...
Conference Paper
Full-text available
Declarative techniques such as Constraint Programming are very useful in modeling complex requirements. They have the added benefit of being executable specifications and, when properly tuned, high-performance ones. In this paper we argue that Information Systems ought to include constraint-based techniques in their design and implementation. We su...
Article
Full-text available
Local search is a successful approach for solving combinatorial optimization and constraint satisfaction problems. With the progressing move toward multi and many-core systems, GPUs and the quest for Exascale systems, parallelism has become mainstream as the number of cores continues to increase. New programming models are required and need to be b...
Conference Paper
Constraint Programming is one approach to declarative programming where a problem is modeled as a set of variables with a domain and a set of relations (constraints) between them. Constraint-based Local Search builds on the idea of using constraints to describe and control local search. Problems are modeled using constraints and heuristics for whic...
Book
This book constitutes revised selected papers of the 19th International Conference on Applications of Declarative Programming and Knowledge Management, INAP 2011, and the 25th Workshop on Logic Programming, WLP 2011, held in Vienna, Austria, in September 2011. The 19 papers presented in this volume were carefully reviewed and selected from 27 paper...
Conference Paper
Full-text available
We present a parallel implementation of a constraint-based local search algorithm and investigate its performance results for hard combinatorial optimization problems on two different platforms up to several hundreds of cores. On a variety of classical CSPs bench- marks, speedups are very good for a few tens of cores, and good up to a hundred cores...
Article
The Costas Array Problem is a highly combina- torial problem linked to radar applications. We present in this paper its detailed modeling and solving by Adaptive Search, a constraint-based local search method. Experiments have been done on both sequential and parallel hardware up to several hundreds of cores. Performance evaluation of the sequentia...
Article
We investigated the use of the Cell Broadband Engine (Cell/BE) for constraint-based local search and combinatorial optimization applications. We presented a parallel version of a constraint-based local search algorithm that was chosen because it fits very well the Cell/BE architecture because it requires neither shared memory nor communication amon...
Article
Full-text available
The Costas Array Problem is a highly combinatorial problem linked to radar applications. We present in this paper its detailed mod-eling and solving by Adaptive Search, a constraint-based local search method. Experiments have been done on both sequential and parallel hardware up to several hundreds of cores. Performance evaluation of the sequential...
Article
The boundary between the trusted inside and the untrusted outside blurs when a company adopts cloud computing. The organization's applications-and data-are no longer onsite, fundamentally changing the definition of a malicious insider.
Article
Full-text available
The recent developments in computer architectures progress towards systems with large core count (Manycore) which expose more parallelism to applications. Some applications named irregular and unbalanced applications demand a dynamic and asynchronous load balance implementation to utilize the full performance a Manycore system. For example, the rec...
Conference Paper
Full-text available
We present a parallel implementation of a constraint-based local search algorithm and investigate its performance results on hardware with several hundreds of processors. We choose as basic constraint solving algorithm for these experiments the ”adaptive search” method, an efficient sequential local search method for Constraint Satisfaction Problem...
Conference Paper
Full-text available
We present a parallel implementation of a constraint-based local search algorithm and investigate its performance results on hardware with several hundreds of processors.
Conference Paper
Full-text available
In this work we present NeMODe a declarative system for Computer Network Intrusion detection which provides a declarative Domain Specific Language for describing computer network intrusion signatures that could spread across several network packets, which allows to state constraints over network packets, describing relations between several packets...
Conference Paper
Full-text available
In this work we demonstrate how to model and perform the detection of Distributed Network attacks using NeMODe, a declarative system for Computer Network Intrusion Detection which provides a declarative Domain Specific Language for describing computer network intrusion signatures which span several network packets by stating constraints over networ...
Article
Full-text available
With the increased availability of affordable parallel and dis-tributed hardware, programming models for these architectures has be-come the focus of significant attention. Constraint programming, which can be seen as the encoding of processes as a Constraint Satisfaction Problem, because of its data-driven and control-insensitive approach is a pri...
Book
This book constitutes the thoroughly refereed post-conference proceedings of the 18th International Conference on Applications of Declarative Programming and Knowledge Management, INAP 2009, held in Évora, Portugal, in November 2009. The 12 revised full papers presented together with 2 invited talks were carefully reviewed and selected during two r...
Article
Full-text available
GNU Prolog is a general-purpose implementation of the Prolog language, which distinguishes itself from most other systems by being, above all else, a native-code compiler which produces standalone executables which don't rely on any byte-code emulator or meta-interpreter. Other aspects which stand out include the explicit organization of the Prolog...
Article
Full-text available
With the dissemination of affordable parallel and distributed hardware, parallel and distributed constraint solving has lately been the focus of some attention. To effectually apply the power of distributed computational systems, there must be an effective sharing of the work involved in the search for a solution to a Constraint Satisfaction Proble...
Article
Full-text available
Logic programming provides a very high-level view of programming, which comes at the cost of some execution efficiency. Improving performance of logic programs is thus one of the holy grails of Prolog system implementations and a wide range of approaches have historically been taken towards this goal. Designing computational models that both exploi...
Conference Paper
Full-text available
We investigate the use of the Cell Broadband Engine (Cell/BE) for Combinatorial Optimization applications. We present a parallel version of a constraint-based Local Search algorithm which was chosen because it fits very well the Cell/BE architecture since it requires neither shared memory nor communication between processors. The performance study...
Conference Paper
Full-text available
Intrusion Detection Systems (IDS) are increasingly important in computer networks, allowing the early diagnosis and detection of anomalous situations, which could otherwise put network performance at risk or even compromise the security or integrity of user data. In this work we present NeMODe, a domain specific language for network intrusion detec...
Conference Paper
Full-text available
In this paper we propose to extend the logical framework ISCO (Information System COnstruction language) with an expressive means of representing and implicitly using temporal information. Moreover, we also provide a compilation scheme that targets a logic language with modularity and temporal reasoning.
Conference Paper
Full-text available
Network Monitoring and Intrusion Detection Systems plays an important role in today’s computer networks health, allowing the diagnosis and detection of anomalous situations on the network that could damage the performance and put the security of users data in risk if not detected or diagnosed in time to take any necessary measures. In this paper w...
Article
Full-text available
We explore the use of the Cell Broadband Engine (Cell/BE for short) for combinatorial optimization applications: we present a parallel version of a constraint-based local search algorithm that has been implemented on a multiprocessor BladeCenter machine with twin Cell/BE processors (total of 16 SPUs per blade). This algorithm was chosen because it...
Conference Paper
Full-text available
We explore the use of the Cell Broadband Engine (Cell/BE for short) for combinatorial optimization applications: we present a parallel version of a constraint-based local search algorithm that has been implemented on a multiprocessor BladeCenter machine with twin Cell/BE processors (total of 16 SPUs per blade). This algorithm was chosen because it...
Article
Full-text available
Standardization for Prolog came during the 1990's, initially and deliberately leaving out one aspect which is essential for real world application development: the modularity mechanism. This situation has in the meantime been remedied in the current ISO proposal for modules in Prolog. In this article we build on our previous work on Contextual Logi...
Article
Full-text available
The system presented in this paper uses Contextual Logic Programming as a computational hub for representing and reasoning over knowledge modeled by web ontologies, integrating the approach with similar mechanisms which we already developed. As a result of its Logic Programming heritage, the system may also recursively interrogate other ontologies...
Conference Paper
Full-text available
Albeit temporal reasoning and modularity are very prolific fields of research in logic programming (LP), we find few examples of their integration. In this paper we propose the addition of temporal annotations to a modular extension of LP. Moreover, we also provide a sketch for a compiler, allowing this way for the development of applications based...
Conference Paper
Full-text available
The system presented in this paper aims at using Contextual Logic Programming as a computational hub for knowledge modeled by web ontologies and enable querying that representation. The components required to behave as a SPARQL query engine are explained and examples of semantic integration of different sources are shown.
Conference Paper
Full-text available
We describe a system in which Contextual Logic Program- ming is used as a mediator for knowledge modeled by ontologies. Our system provides the components required to behave as a SPARQL query engine and, as a result of its Logic Programming heritage, it may also recursively interrogate other ontologies or data repositories, providing a semantic int...
Conference Paper
Albeit temporal reasoning and modularity are very prolic elds of research in Logic Programming (LP) we nd few examples of their integration. Moreover, in those examples, time and modularity are considered orthogonal to each other. In this paper we propose the addi- tion of temporal annotations to a modular extension of LP such that the usage of a m...
Article
Full-text available
In this paper we propose the combination of modularity and temporal reasoning using logic programming as common ground. More- over, we consider that the usage of a given module is inuenced by tem- poral constraints, i.e. modularity and temporal reasoning are strongly connected. Besides illustrative examples, we also present the operational semantic...
Conference Paper
Contextual Logic Programming was proposed by Monteiro and Porto [4] as a means of bringing modularity to the Prolog language. It was improved upon as a practical extension in a high performance Prolog system by Abreu and Diaz [1], providing a program structuring mechanism as well as fulfilling some of Prolog’s shortcomings when used for programming...
Conference Paper
Full-text available
The importance of temporal representation and reasoning is well known not only in the database community but also in the artificial intelligence one. Contextual Logic Programming [António Porto and Luís Monteiro. Contextual logic programming. In Giorgio Levi and Maurizio Martelli, editors, Proceedings 6th Intl. Conference on Logic Programming, Lisb...
Conference Paper
Full-text available
This article merges two approaches: one dealing with persis- tence for logic programs, as provided by a relational database back-end and another which addresses the issues of logic program structuring, by way of the parametric context. We claim that these two can be eectively combined to obtain a language which oers significant gains in expres- siv...
Article
Full-text available
In this article we claim that Contextual Constraint Logic Pro-gramming (CCxLP for short) is a powerful paradigm in which to design and implement Organizational Information Systems, particularly when integrated with the ISCO/ISTO mediator framework. We briefly introduce the language and its under-lying paradigm, assessing it from the angle of its an...
Article
Full-text available
There has been an increased interest in temporal reasoning from areas such as database systems and AI. In this paper we propose a temporal reasoning framework that bridges the paradigms of Con- straint Logic Programming (CLP) and Contextual Logic Programming (CxLP). CLP is used to build a rather simple, yet powerful temporal algebra with points, in...
Conference Paper
Full-text available
The current proposals for the inclusion of modules in the ISO Prolog standard are not very consensual. Since a program-structuring feature is required for a production programming language, several alternatives have been explored over the years. In this article we recall and expand on the concepts of Contextual Logic Programming, a powerful and sim...
Article
Spurred by the development of Universidade de vora's Integrated Information System (SIIUE) and on the authors' present research interests came the idea of a Natural Language Analysis System, which would provide a simple interface for getting access to existent information.
Conference Paper
Full-text available
The importance of temporal representation and reasoning is well known to the database community. Examples of such significance are the languages TSQL2 and its follow up, SQL/Temporal. Contextual Logic Programming (CxLP) is a powerful and simple mecha- nism which addresses the general issue of modularity in Logic Program- ming. In this paper we prop...
Article
Full-text available
We present a logic programming based dialogue system that enables the access in natural language to the heterogeneous external relational databases of the Évora University. The proposed system has the capability of inferring user attitudes and uses ISCO in order to view the University relational databases as a part of a declarative/deductive object...
Conference Paper
Full-text available
A logic programming based dialogue system with the capability of inferring user attitudes and accessing heterogeneous external relational databases while doing syntactic and semantic sentence parsing is presented. The system was built using a logic programming language - Prolog -, a development tool - ISCO [2] - and a language for representing act...
Article
Full-text available
Evora's Integrated Information System (SIIUE) aims at representing the entire universe of concepts useful for the management and day-to-day operation of the Organization, as seen from the point of view of several di#erent classes of users. It relies on ISCO, a logic programming language geared towards the development and maintenance of organization...
Article
In this article we describe the mechanisms offered by the ISCO [2, 1] language for defining and implementing access control and homologation, within the scope of a large-scale information system. ISCO is a Logic-based system which integrates multiple heterogenous information sources such as classical relational databases or LDAP directories.
Conference Paper
Spurred by the development of Universidade de Évora's Integrated Information System (SIIUE) and on the authors' present research interests came the idea of a Natural Language Analysis System, which would provide a simple interface for getting access to existent information. This information is stored mainly in multiple object-relational databases....
Article
Full-text available
This article introduces AJACS (Another Java Constraint Programming System), a toolkit for Concurrent Constraint programming implemented in the Java language. It comes as a successor to our previous work in implementing Constraint Programming idioms in Java, GC [5], in that it represents an attempt to deal with some of GC's inadequacies in terms of...
Article
Full-text available
Universidade de Évora‘s Integrated Information System (SIIUE) aims at representing the entire universe of concepts useful for the man-agement and day-to-day operation of the Organization. It relies on a first-order logic Description Language to define the schema, represent data and computed relations. This representation is used to generate an obje...
Article
Full-text available
This paper discusses some basic ideas about the implementation of GC, a constraint propagation system, with three different implementations of finite variables domains. As it has been our wish to develop a system that uses the OO approach, it is implemented in Java, although other application frameworks are also available for C++.The constraint pro...

Network

Cited By