Archivo Digital UPM
(34.560 recursos)
This is an institutional repository providing access to the research output of the institution. Primarily contains thesis.
2.
The Ciao clp(FD) library. A modular CLP extension for Prolog - Gallego Arias, Emilio Jesús; Haemmerlé, R.; Hermenegildo Salinas, Manuel Vicente; Morales Caballero, José Francisco
We present a new free library for Constraint Logic Programming over Finite Domains, included with the Ciao Prolog system. The library is entirely written in Prolog, leveraging on Ciao's module system and code transformation capabilities in order to achieve a highly modular design without compromising performance. We describe the interface,
implementation, and design rationale of each modular component. The library meets several design goals: a high level of modularity, allowing the individual components to be replaced by different versions; highefficiency, being competitive with other TT> implementations; a glass-box
approach, so the user can specify new constraints at different levels; and a Prolog...
3.
Integrating software testing and run-time checking in an assertion verification framework. - Mera, E.; López García, Pedro; Hermenegildo Salinas, Manuel Vicente
We have designed and implemented a framework that unifies unit testing and run-time verification (as well as static verification and static debugging). A key contribution of our approach is that a unified assertion language is used for all of these tasks. We first propose methods for compiling runtime checks for (parts of) assertions which cannot be verified at compile-time via program transformation. This transformation allows checking preconditions and postconditions, including conditional postconditions, properties at arbitrary program points, and certain computational properties. The implemented transformation includes several optimizations to reduce run-time overhead. We also propose a minimal addition to the assertion...
4.
Experimenting with independent and-parallel prolog using standard prolog - Hermenegildo Salinas, Manuel Vicente; Carro Liñares, Manuel
This paper presents an approximation to the study of parallel systems using sequential tools. The Independent And-parallelism in Prolog is an example of parallel processing paradigm in the framework of logic programming, and implementations like
5.
Guía de Miriada X - Borrás Gené, Oriol
Guía sobre la plataforma de MOOCS Miriada X de Telefónica, Universia, CSEV y Santander.
Esta guia intenta dar una visión general de la plataforma y sus principales herramientas además de recopilar la información más relevante encontrada en los foros de la plataforma ("Comunidad de Profesores"), ofreciendo también la experiencia del autor.
6.
Applications of image-based, multi-view stereo reconstruction methods = (Aplicaciones de los métodos de reconstrucción estéreo multivista) - Gallego Bonet, Guillermo
These slides present several 3-D reconstruction methods to obtain the geometric structure of a scene that is viewed by multiple cameras. We focus on the combination of the geometric modeling in the image formation process with the use of standard optimization tools to estimate the characteristic parameters that describe the geometry of the 3-D scene. In particular, linear, non-linear and robust methods to estimate the monocular and epipolar geometry are introduced as cornerstones to generate 3-D reconstructions with multiple cameras.
Some examples of systems that use this constructive strategy are Bundler, PhotoSynth, VideoSurfing, etc., which are able to obtain 3-D reconstructions...
7.
Ontology-based access to sensor data streams - Calbimonte, Jean-Paul
Sensor networks are increasingly becoming one of the main sources of Big Data on the Web. However, the observations that they produce are made available with heterogeneous schemas, vocabularies and data formats, making it difficult to share and reuse these data for other purposes than those for which they were originally set up. In this thesis we address these challenges, considering how we can transform streaming raw data to rich ontology-based information that is accessible through continuous queries for streaming data.
Our main contribution is an ontology-based approach for providing data access and query capabilities to streaming data sources, allowing users...
8.
Deriving a fixpoint computation algorithm for top-down abstract interpretation of logic programs - Muthukumar, Kalyan; Hermenegildo Salinas, Manuel Vicente
Bruynooghe described a framework for the top-down abstract interpretation of logic programs. In this framework, abstract interpretation is carried out by constructing an abstract and-or tree in a top-down fashion for a given query and program. Such an abstract interpreter requires fixpoint computation for programs which contain recursive predicates. This paper presents in detail a fixpoint algorithm that has been developed for this purpose and the motivation behind it. We start off by describing a simple-minded algorithm. After pointing out its shortcomings, we present a series of refinements to this algorithm, until we reach the final version. The aim is...
9.
Experimenting with independent and-parallel prolog using standard prolog - Carro Liñares, Manuel; Hermenegildo Salinas, Manuel Vicente
This paper presents an approximation to the study of parallel systems using sequential tools. The Independent And-parallelism in Prolog is an example of parallel processing paradigm in the framework of logic programming, and implementations like
10.
Effectiveness of combined sharing and freeness analysis using abstract interpretation - García de la Banda, M.; Hermenegildo Salinas, Manuel Vicente
This paper presents improved unification algorithms, an implementation, and an analysis of the effectiveness of an abstract interpreter based on the sharing + freeness domain presented in a previous paper, which was designed to accurately and concisely represent combined freeness and
sharing information for program variables. We first briefly review this domain and the unification algorithms previously proposed. We then improve these algorithms and correct them to deal with some cases which were not well analyzed previously, illustrating the improvement with an example. We then present the implementation of the improved algorithm and evaluate its performance by comparing the effectiveness of...
11.
Dynamic term size computation in logic programs via program transformation - López García, Pedro; Hermenegildo Salinas, Manuel Vicente
Knowing the size of the terms to which program variables are bound at run-time in logic programs is required in a class of applications related to program optimization such as, for example, recursion elimination and granularity analysis. Such size is difficult to even approximate at compile time and is thus generally computed at run-time by using (possibly predefined) predicates which traverse the
terms involved. We propose a technique based on program transformation which has the potential of performing this computation much more efficiently. The technique is based on finding program procedures which are called before those in which knowledge regarding term...
12.
Contribution to multiuser videoconferencing systems based on cloud computing - Cerviño Arriba, Javier
Multi-user videoconferencing systems offer communication between more than two users, who are able to interact through their webcams, microphones and other components. The use of these systems has been increased recently due to, on the one hand, improvements in Internet access, networks of companies, universities and houses, whose available bandwidth has been increased whilst the delay in sending and receiving packets has decreased. On the other hand, the advent of Rich Internet Applications (RIA) means that a large part of web application logic and control has started to be implemented on the web browsers. This has allowed developers to create...
13.
OPPL-Galaxy, a Galaxy tool for enhancing ontology exploitation as part of bioinformatics workflows - Egaña Aranguren, Mikel; Fernández-Breis, J; Mungall, C; Antezana, E; Rodríguez González, A; Wilkinson, M
Biomedical ontologies are key elements for building up the Life Sciences Semantic Web. Reusing and building biomedical ontologies requires flexible and versatile tools to manipulate them efficiently, in particular for enriching their axiomatic content. The Ontology Pre Processor Language (OPPL) is an OWL-based language for automating the changes to be performed in an ontology. OPPL augments the ontologists’ toolbox by providing a more efficient, and less error-prone, mechanism for enriching a biomedical ontology than that obtained by a manual treatment.
Results
We present OPPL-Galaxy, a wrapper for using OPPL within Galaxy. The functionality delivered by OPPL (i.e. automated ontology manipulation) can be...
14.
The AND-Prolog compiler system — Automatic parallelization tools for LP - Bueno Carrillo, Francisco; Cabeza Gras, Daniel; García de la Banda, M.; Hermenegildo Salinas, Manuel Vicente
This report presents an overview of the current work performed by us in the context of the efficient parallel implementation of traditional logic programming systems. The
work is based on the &-Prolog System, a system for the automatic parallelization and execution of logic programming languages within the Independent And-parallelism
model, and the global analysis and parallelization tools which have been developed for this system. In order to make the report self-contained, we first describe the "classical" tools of the &-Prolog system. We then explain in detail the work performed in improving and generalizing the global analysis and parallelization tools. Also, we describe...
15.
Towards extracting non-strict independent and-parallelism using sharing and freeness information - Cabeza Gras, Daniel; Hermenegildo Salinas, Manuel Vicente
Logic programming systems which exploit and-parallelism among non-deterministic goals rely on notions of independence among those goals in order to ensure certain
efficiency properties. "Non-strict" independence (NSI) is a more relaxed notion than the traditional notion of "strict" independence (SI) which still ensures the relevant efficiency properties and can allow considerable more parallelism than SI. However, all compilation technology developed to date has been based on SI, presumably because of the intrinsic complexity of exploiting NSI. This is related to the fact that NSI cannot be determined "a priori" as SI. This paper fills this gap by developing a technique for...
16.
A technique for dynamic term size computation via program transformation - Hermenegildo Salinas, Manuel Vicente; López García, Pedro
Knowing the size of the terms to which program variables are bound at run-time in logic programs is required in a class of applications related to program optimization such as, for example, granularity analysis and selection among different algorithms or control rules whose performance
may be dependent on such size. Such size is difficult to even approximate at compile time and is thus generally computed at run-time by using (possibly predefined) predicates which traverse the terms involved. We propose a technique based on program transformation which has the potential of performing this computation much more efficiently. The technique is based on...
17.
A proposal for a flexible scheduling and memory management scheme for non-deterministic, andparallel execution of logic programs - Shen, Kish; Hermenegildo Salinas, Manuel Vicente
In this paper, we examine the issue of memory management in the parallel execution of logic programs. We concentrate on non-deterministic and-parallel schemes which we believe present a relatively general set of problems to be solved, including most of those encountered in the memory management of or-parallel systems. We present a distributed stack memory management model which allows flexible scheduling of goals. Previously proposed models (based on the "Marker model") are lacking in that they impose restrictions on the selection of goals to be executed or they may require consume a large amount of virtual memory. This paper first presents...
18.
Incremental analysis of logic programs - Hermenegildo Salinas, Manuel Vicente; Marriott, K.; Stuckey, P. J.
Global analyzers traditionally read and analyze the entire program at once, in a non-incremental way. However, there are many situations which are not well suited to this simple model and which instead require reanalysis of certain parts of a program which has already been analyzed. In these cases, it appears inefficient to perform the analysis of the program again from scratch, as needs to be done with current systems. We describe how the fixpoint algorithms in current generic analysis engines can be extended to support incremental analysis. The possible changes to a program are classified into three types: addition, deletion,...
19.
Independence and search space preservation in dynamically scheduled constraint logic languages - García de la Banda, M.; Hermenegildo Salinas, Manuel Vicente; Marriott, K.
This paper performs a further generalization of the notion of independence in constraint logic programs to the context of constraint logic programs with dynamic scheduling. The complexity of this new environment made necessary to first formally define the relationship between independence and search space preservation in the context of CLP languages. In particular, we show that search space preservation is, in the context of CLP languages, not only a sufficient but also a necessary condition for ensuring that both the intended solutions and the number of transitions performed do not change. These results are then extended to dynamically scheduled languages...
20.
Data-Flow analysis of prolog programs with extra-logical features - Bueno Carrillo, Francisco; Cabeza Gras, Daniel; Hermenegildo Salinas, Manuel Vicente; Puebla Sánchez, Alvaro Germán
Abstract interpretation-based data-flow analysis of logic programs is at this point relatively well understood from the point of view of general frameworks and abstract domains. On the other hand, comparatively little attention has been given to the problems which arise when analysis of a full, practical dialect of the Prolog language is attempted, and only few solutions to these problems have been proposed to date. Such problems relate to dealing correctly with all builtins, including meta-logical and extra-logical predicates, with dynamic predicates (where
the program is modified during execution), and with the absence of certain program text during compilation. Existing proposals...