16 resultados para first-order logic
em Universidad Politécnica de Madrid
Resumo:
Let p: E —» JV be an arbitrary fibred manifold over a connected n-dimensional manifold N oriented by a volume form v = dx1^-...^dxn, and let pk: JkE → N be the bundle of K-jets of local sections of p, with projections Plk : JkE → JlE for every k ≥ 1
Resumo:
El cálculo de relaciones binarias fue creado por De Morgan en 1860 para ser posteriormente desarrollado en gran medida por Peirce y Schröder. Tarski, Givant, Freyd y Scedrov demostraron que las álgebras relacionales son capaces de formalizar la lógica de primer orden, la lógica de orden superior así como la teoría de conjuntos. A partir de los resultados matemáticos de Tarski y Freyd, esta tesis desarrolla semánticas denotacionales y operacionales para la programación lógica con restricciones usando el álgebra relacional como base. La idea principal es la utilización del concepto de semántica ejecutable, semánticas cuya característica principal es el que la ejecución es posible utilizando el razonamiento estándar del universo semántico, este caso, razonamiento ecuacional. En el caso de este trabajo, se muestra que las álgebras relacionales distributivas con un operador de punto fijo capturan toda la teoría y metateoría estándar de la programación lógica con restricciones incluyendo los árboles utilizados en la búsqueda de demostraciones. La mayor parte de técnicas de optimización de programas, evaluación parcial e interpretación abstracta pueden ser llevadas a cabo utilizando las semánticas aquí presentadas. La demostración de la corrección de la implementación resulta extremadamente sencilla. En la primera parte de la tesis, un programa lógico con restricciones es traducido a un conjunto de términos relacionales. La interpretación estándar en la teoría de conjuntos de dichas relaciones coincide con la semántica estándar para CLP. Las consultas contra el programa traducido son llevadas a cabo mediante la reescritura de relaciones. Para concluir la primera parte, se demuestra la corrección y equivalencia operacional de esta nueva semántica, así como se define un algoritmo de unificación mediante la reescritura de relaciones. La segunda parte de la tesis desarrolla una semántica para la programación lógica con restricciones usando la teoría de alegorías—versión categórica del álgebra de relaciones—de Freyd. Para ello, se definen dos nuevos conceptos de Categoría Regular de Lawvere y _-Alegoría, en las cuales es posible interpretar un programa lógico. La ventaja fundamental que el enfoque categórico aporta es la definición de una máquina categórica que mejora e sistema de reescritura presentado en la primera parte. Gracias al uso de relaciones tabulares, la máquina modela la ejecución eficiente sin salir de un marco estrictamente formal. Utilizando la reescritura de diagramas, se define un algoritmo para el cálculo de pullbacks en Categorías Regulares de Lawvere. Los dominios de las tabulaciones aportan información sobre la utilización de memoria y variable libres, mientras que el estado compartido queda capturado por los diagramas. La especificación de la máquina induce la derivación formal de un juego de instrucciones eficiente. El marco categórico aporta otras importantes ventajas, como la posibilidad de incorporar tipos de datos algebraicos, funciones y otras extensiones a Prolog, a la vez que se conserva el carácter 100% declarativo de nuestra semántica. ABSTRACT The calculus of binary relations was introduced by De Morgan in 1860, to be greatly developed by Peirce and Schröder, as well as many others in the twentieth century. Using different formulations of relational structures, Tarski, Givant, Freyd, and Scedrov have shown how relation algebras can provide a variable-free way of formalizing first order logic, higher order logic and set theory, among other formal systems. Building on those mathematical results, we develop denotational and operational semantics for Constraint Logic Programming using relation algebra. The idea of executable semantics plays a fundamental role in this work, both as a philosophical and technical foundation. We call a semantics executable when program execution can be carried out using the regular theory and tools that define the semantic universe. Throughout this work, the use of pure algebraic reasoning is the basis of denotational and operational results, eliminating all the classical non-equational meta-theory associated to traditional semantics for Logic Programming. All algebraic reasoning, including execution, is performed in an algebraic way, to the point we could state that the denotational semantics of a CLP program is directly executable. Techniques like optimization, partial evaluation and abstract interpretation find a natural place in our algebraic models. Other properties, like correctness of the implementation or program transformation are easy to check, as they are carried out using instances of the general equational theory. In the first part of the work, we translate Constraint Logic Programs to binary relations in a modified version of the distributive relation algebras used by Tarski. Execution is carried out by a rewriting system. We prove adequacy and operational equivalence of the semantics. In the second part of the work, the relation algebraic approach is improved by using allegory theory, a categorical version of the algebra of relations developed by Freyd and Scedrov. The use of allegories lifts the semantics to typed relations, which capture the number of logical variables used by a predicate or program state in a declarative way. A logic program is interpreted in a _-allegory, which is in turn generated from a new notion of Regular Lawvere Category. As in the untyped case, program translation coincides with program interpretation. Thus, we develop a categorical machine directly from the semantics. The machine is based on relation composition, with a pullback calculation algorithm at its core. The algorithm is defined with the help of a notion of diagram rewriting. In this operational interpretation, types represent information about memory allocation and the execution mechanism is more efficient, thanks to the faithful representation of shared state by categorical projections. We finish the work by illustrating how the categorical semantics allows the incorporation into Prolog of constructs typical of Functional Programming, like abstract data types, and strict and lazy functions.
Resumo:
A new formalism, called Hiord, for defining type-free higherorder logic programming languages with predicate abstraction is introduced. A model theory, based on partial combinatory algebras, is presented, with respect to which the formalism is shown sound. A programming language built on a subset of Hiord, and its implementation are discussed. A new proposal for defining modules in this framework is considered, along with several examples.
Resumo:
Involutivity of the Hamilton-Cartan equations of a second-order Lagrangian admitting a first-order Hamiltonian formalism
Resumo:
The movement of water through the landscape can be investigated at different scales. This study dealt with the interrelation between bedrock lithology and the geometry of the overlying drainage systems. Parameters of fractal analysis, such as fractal dimension and lacunarity, were used to measure and quantify this relationship. The interrelation between bedrock lithology and the geometry of the drainage systems has been widely studied in the last decades. The quantification of this linkage has not yet been clearly established. Several studies have selected river basins or regularly shaped areas as study units, assuming them to be lithologically homogeneous. This study considered irregular distributions of rock types, establishing areas of the soil map (1:25,000) with the same lithologic information as study units. The tectonic stability and the low climatic variability of the study region allowed effective investigation of the lithologic controls on the drainage networks developed on the plutonic rocks, the metamorphic rocks, and the sedimentary materials existing in the study area. To exclude the effect of multiple in- and outflows in the lithologically homogeneous units, we focused this study on the first-order streams of the drainage networks. The geometry of the hydrologic features was quantified through traditional metrics of fluvial geomorphology and scaling parameters of fractal analysis, such as the fractal dimension, the reference density, and the lacunarity. The results demonstrate the scale invariance of both the drainage networks and the set of first-order streams at the study scale and a relationship between scaling in the lithology and the drainage network.
Resumo:
This paper presents a theoretical framework intended to accommodate circuit devices described by characteristics involving more than two fundamental variables. This framework is motivated by the recent appearance of a variety of so-called mem-devices in circuit theory, and makes it possible to model the coexistence of memory effects of different nature in a single device. With a compact formalism, this setting accounts for classical devices and also for circuit elements which do not admit a two-variable description. Fully nonlinear characteristics are allowed for all devices, driving the analysis beyond the framework of Chua and Di Ventra We classify these fully nonlinear circuit elements in terms of the variables involved in their constitutive relations and the notions of the differential- and the state-order of a device. We extend the notion of a topologically degenerate configuration to this broader context, and characterize the differential-algebraic index of nodal models of such circuits. Additionally, we explore certain dynamical features of mem-circuits involving manifolds of non-isolated equilibria. Related bifurcation phenomena are explored for a family of nonlinear oscillators based on mem-devices.
Resumo:
A first-order Lagrangian L ∇ variationally equivalent to the second-order Einstein- Hilbert Lagrangian is introduced. Such a Lagrangian depends on a symmetric linear connection, but the dependence is covariant under diffeomorphisms. The variational problem defined by L ∇ is proved to be regular and its Hamiltonian formulation is studied, including its covariant Hamiltonian attached to ∇ .
Resumo:
Second-order Lagrangian densities admitting a first-order Hamiltonian formalism are studied; namely, i) necessary and sufficient conditions for the Poincaré–Cartan form of a second-order Lagrangian on an arbitrary fibred manifold p : E → N to be projectable onto J 1 E are explicitly determined; ii) for each of such Lagrangians, a first-order Hamiltonian formalism is developed and a new notion of regularity is introduced; iii) the variational problems of this class defined by regular Lagrangians areprovedtobeinvolutive
Resumo:
This PhD thesis contributes to the problem of resource and service discovery in the context of the composable web. In the current web, mashup technologies allow developers reusing services and contents to build new web applications. However, developers face a problem of information flood when searching for appropriate services or resources for their combination. To contribute to overcoming this problem, a framework is defined for the discovery of services and resources. In this framework, three levels are defined for performing discovery at content, discovery and agente levels. The content level involves the information available in web resources. The web follows the Representational Stateless Transfer (REST) architectural style, in which resources are returned as representations from servers to clients. These representations usually employ the HyperText Markup Language (HTML), which, along with Content Style Sheets (CSS), describes the markup employed to render representations in a web browser. Although the use of SemanticWeb standards such as Resource Description Framework (RDF) make this architecture suitable for automatic processes to use the information present in web resources, these standards are too often not employed, so automation must rely on processing HTML. This process, often referred as Screen Scraping in the literature, is the content discovery according to the proposed framework. At this level, discovery rules indicate how the different pieces of data in resources’ representations are mapped onto semantic entities. By processing discovery rules on web resources, semantically described contents can be obtained out of them. The service level involves the operations that can be performed on the web. The current web allows users to perform different tasks such as search, blogging, e-commerce, or social networking. To describe the possible services in RESTful architectures, a high-level feature-oriented service methodology is proposed at this level. This lightweight description framework allows defining service discovery rules to identify operations in interactions with REST resources. The discovery is thus performed by applying discovery rules to contents discovered in REST interactions, in a novel process called service probing. Also, service discovery can be performed by modelling services as contents, i.e., by retrieving Application Programming Interface (API) documentation and API listings in service registries such as ProgrammableWeb. For this, a unified model for composable components in Mashup-Driven Development (MDD) has been defined after the analysis of service repositories from the web. The agent level involves the orchestration of the discovery of services and contents. At this level, agent rules allow to specify behaviours for crawling and executing services, which results in the fulfilment of a high-level goal. Agent rules are plans that allow introspecting the discovered data and services from the web and the knowledge present in service and content discovery rules to anticipate the contents and services to be found on specific resources from the web. By the definition of plans, an agent can be configured to target specific resources. The discovery framework has been evaluated on different scenarios, each one covering different levels of the framework. Contenidos a la Carta project deals with the mashing-up of news from electronic newspapers, and the framework was used for the discovery and extraction of pieces of news from the web. Similarly, in Resulta and VulneraNET projects the discovery of ideas and security knowledge in the web is covered, respectively. The service level is covered in the OMELETTE project, where mashup components such as services and widgets are discovered from component repositories from the web. The agent level is applied to the crawling of services and news in these scenarios, highlighting how the semantic description of rules and extracted data can provide complex behaviours and orchestrations of tasks in the web. The main contributions of the thesis are the unified framework for discovery, which allows configuring agents to perform automated tasks. Also, a scraping ontology has been defined for the construction of mappings for scraping web resources. A novel first-order logic rule induction algorithm is defined for the automated construction and maintenance of these mappings out of the visual information in web resources. Additionally, a common unified model for the discovery of services is defined, which allows sharing service descriptions. Future work comprises the further extension of service probing, resource ranking, the extension of the Scraping Ontology, extensions of the agent model, and contructing a base of discovery rules. Resumen La presente tesis doctoral contribuye al problema de descubrimiento de servicios y recursos en el contexto de la web combinable. En la web actual, las tecnologías de combinación de aplicaciones permiten a los desarrolladores reutilizar servicios y contenidos para construir nuevas aplicaciones web. Pese a todo, los desarrolladores afrontan un problema de saturación de información a la hora de buscar servicios o recursos apropiados para su combinación. Para contribuir a la solución de este problema, se propone un marco de trabajo para el descubrimiento de servicios y recursos. En este marco, se definen tres capas sobre las que se realiza descubrimiento a nivel de contenido, servicio y agente. El nivel de contenido involucra a la información disponible en recursos web. La web sigue el estilo arquitectónico Representational Stateless Transfer (REST), en el que los recursos son devueltos como representaciones por parte de los servidores a los clientes. Estas representaciones normalmente emplean el lenguaje de marcado HyperText Markup Language (HTML), que, unido al estándar Content Style Sheets (CSS), describe el marcado empleado para mostrar representaciones en un navegador web. Aunque el uso de estándares de la web semántica como Resource Description Framework (RDF) hace apta esta arquitectura para su uso por procesos automatizados, estos estándares no son empleados en muchas ocasiones, por lo que cualquier automatización debe basarse en el procesado del marcado HTML. Este proceso, normalmente conocido como Screen Scraping en la literatura, es el descubrimiento de contenidos en el marco de trabajo propuesto. En este nivel, un conjunto de reglas de descubrimiento indican cómo los diferentes datos en las representaciones de recursos se corresponden con entidades semánticas. Al procesar estas reglas sobre recursos web, pueden obtenerse contenidos descritos semánticamente. El nivel de servicio involucra las operaciones que pueden ser llevadas a cabo en la web. Actualmente, los usuarios de la web pueden realizar diversas tareas como búsqueda, blogging, comercio electrónico o redes sociales. Para describir los posibles servicios en arquitecturas REST, se propone en este nivel una metodología de alto nivel para descubrimiento de servicios orientada a funcionalidades. Este marco de descubrimiento ligero permite definir reglas de descubrimiento de servicios para identificar operaciones en interacciones con recursos REST. Este descubrimiento es por tanto llevado a cabo al aplicar las reglas de descubrimiento sobre contenidos descubiertos en interacciones REST, en un nuevo procedimiento llamado sondeo de servicios. Además, el descubrimiento de servicios puede ser llevado a cabo mediante el modelado de servicios como contenidos. Es decir, mediante la recuperación de documentación de Application Programming Interfaces (APIs) y listas de APIs en registros de servicios como ProgrammableWeb. Para ello, se ha definido un modelo unificado de componentes combinables para Mashup-Driven Development (MDD) tras el análisis de repositorios de servicios de la web. El nivel de agente involucra la orquestación del descubrimiento de servicios y contenidos. En este nivel, las reglas de nivel de agente permiten especificar comportamientos para el rastreo y ejecución de servicios, lo que permite la consecución de metas de mayor nivel. Las reglas de los agentes son planes que permiten la introspección sobre los datos y servicios descubiertos, así como sobre el conocimiento presente en las reglas de descubrimiento de servicios y contenidos para anticipar contenidos y servicios por encontrar en recursos específicos de la web. Mediante la definición de planes, un agente puede ser configurado para descubrir recursos específicos. El marco de descubrimiento ha sido evaluado sobre diferentes escenarios, cada uno cubriendo distintos niveles del marco. El proyecto Contenidos a la Carta trata de la combinación de noticias de periódicos digitales, y en él el framework se ha empleado para el descubrimiento y extracción de noticias de la web. De manera análoga, en los proyectos Resulta y VulneraNET se ha llevado a cabo un descubrimiento de ideas y de conocimientos de seguridad, respectivamente. El nivel de servicio se cubre en el proyecto OMELETTE, en el que componentes combinables como servicios y widgets se descubren en repositorios de componentes de la web. El nivel de agente se aplica al rastreo de servicios y noticias en estos escenarios, mostrando cómo la descripción semántica de reglas y datos extraídos permiten proporcionar comportamientos complejos y orquestaciones de tareas en la web. Las principales contribuciones de la tesis son el marco de trabajo unificado para descubrimiento, que permite configurar agentes para realizar tareas automatizadas. Además, una ontología de extracción ha sido definida para la construcción de correspondencias y extraer información de recursos web. Asimismo, un algoritmo para la inducción de reglas de lógica de primer orden se ha definido para la construcción y el mantenimiento de estas correspondencias a partir de la información visual de recursos web. Adicionalmente, se ha definido un modelo común y unificado para el descubrimiento de servicios que permite la compartición de descripciones de servicios. Como trabajos futuros se considera la extensión del sondeo de servicios, clasificación de recursos, extensión de la ontología de extracción y la construcción de una base de reglas de descubrimiento.
Resumo:
La computación basada en servicios (Service-Oriented Computing, SOC) se estableció como un paradigma ampliamente aceptado para el desarollo de sistemas de software flexibles, distribuidos y adaptables, donde las composiciones de los servicios realizan las tareas más complejas o de nivel más alto, frecuentemente tareas inter-organizativas usando los servicios atómicos u otras composiciones de servicios. En tales sistemas, las propriedades de la calidad de servicio (Quality of Service, QoS), como la rapídez de procesamiento, coste, disponibilidad o seguridad, son críticas para la usabilidad de los servicios o sus composiciones en cualquier aplicación concreta. El análisis de estas propriedades se puede realizarse de una forma más precisa y rica en información si se utilizan las técnicas de análisis de programas, como el análisis de complejidad o de compartición de datos, que son capables de analizar simultáneamente tanto las estructuras de control como las de datos, dependencias y operaciones en una composición. El análisis de coste computacional para la composicion de servicios puede ayudar a una monitorización predictiva así como a una adaptación proactiva a través de una inferencia automática de coste computacional, usando los limites altos y bajos como funciones del valor o del tamaño de los mensajes de entrada. Tales funciones de coste se pueden usar para adaptación en la forma de selección de los candidatos entre los servicios que minimizan el coste total de la composición, basado en los datos reales que se pasan al servicio. Las funciones de coste también pueden ser combinadas con los parámetros extraídos empíricamente desde la infraestructura, para producir las funciones de los límites de QoS sobre los datos de entrada, cuales se pueden usar para previsar, en el momento de invocación, las violaciones de los compromisos al nivel de servicios (Service Level Agreements, SLA) potenciales or inminentes. En las composiciones críticas, una previsión continua de QoS bastante eficaz y precisa se puede basar en el modelado con restricciones de QoS desde la estructura de la composition, datos empiricos en tiempo de ejecución y (cuando estén disponibles) los resultados del análisis de complejidad. Este enfoque se puede aplicar a las orquestaciones de servicios con un control centralizado del flujo, así como a las coreografías con participantes multiples, siguiendo unas interacciones complejas que modifican su estado. El análisis del compartición de datos puede servir de apoyo para acciones de adaptación, como la paralelización, fragmentación y selección de los componentes, las cuales son basadas en dependencias funcionales y en el contenido de información en los mensajes, datos internos y las actividades de la composición, cuando se usan construcciones de control complejas, como bucles, bifurcaciones y flujos anidados. Tanto las dependencias funcionales como el contenido de información (descrito a través de algunos atributos definidos por el usuario) se pueden expresar usando una representación basada en la lógica de primer orden (claúsulas de Horn), y los resultados del análisis se pueden interpretar como modelos conceptuales basados en retículos. ABSTRACT Service-Oriented Computing (SOC) is a widely accepted paradigm for development of flexible, distributed and adaptable software systems, in which service compositions perform more complex, higher-level, often cross-organizational tasks using atomic services or other service compositions. In such systems, Quality of Service (QoS) properties, such as the performance, cost, availability or security, are critical for the usability of services and their compositions in concrete applications. Analysis of these properties can become more precise and richer in information, if it employs program analysis techniques, such as the complexity and sharing analyses, which are able to simultaneously take into account both the control and the data structures, dependencies, and operations in a composition. Computation cost analysis for service composition can support predictive monitoring and proactive adaptation by automatically inferring computation cost using the upper and lower bound functions of value or size of input messages. These cost functions can be used for adaptation by selecting service candidates that minimize total cost of the composition, based on the actual data that is passed to them. The cost functions can also be combined with the empirically collected infrastructural parameters to produce QoS bounds functions of input data that can be used to predict potential or imminent Service Level Agreement (SLA) violations at the moment of invocation. In mission-critical applications, an effective and accurate continuous QoS prediction, based on continuations, can be achieved by constraint modeling of composition QoS based on its structure, known data at runtime, and (when available) the results of complexity analysis. This approach can be applied to service orchestrations with centralized flow control, and choreographies with multiple participants with complex stateful interactions. Sharing analysis can support adaptation actions, such as parallelization, fragmentation, and component selection, which are based on functional dependencies and information content of the composition messages, internal data, and activities, in presence of complex control constructs, such as loops, branches, and sub-workflows. Both the functional dependencies and the information content (described using user-defined attributes) can be expressed using a first-order logic (Horn clause) representation, and the analysis results can be interpreted as a lattice-based conceptual models.
Resumo:
Proof carrying code (PCC) is a general is originally a roof in ñrst-order logic of certain vermethodology for certifying that the execution of an un- ification onditions and the checking process involves trusted mobile code is safe. The baste idea is that the ensuring that the certifícate is indeed a valid ñrst-order code supplier attaches a certifícate to the mobile code proof. which the consumer checks in order to ensure that the The main practical difñculty of PCC techniques is in code is indeed safe. The potential benefit is that the generating safety certiñeates which at the same time: i) consumer's task is reduced from the level of proving to allow expressing interesting safety properties, ii) can be the level of checking. Recently, the abstract interpre- generated automatically and, iii) are easy and efficient tation techniques developed, in logic programming have to check. In [1], the abstract interpretation techniques been proposed as a basis for PCC. This extended ab- [5] developed in logic programming1 are proposed as stract reports on experiments which illustrate several is- a basis for PCC. They offer a number of advantages sues involved in abstract interpretation-based certifica- for dealing with the aforementioned issues. In particution. First, we describe the implementation of our sys- lar, the xpressiveness of existing abstract domains will tem in the context of CiaoPP: the preprocessor of the be implicitly available in abstract interpretation-based Ciao multi-paradigm programming system. Then, by code certification to deñne a wide range of safety propermeans of some experiments, we show how code certifi- ties. Furthermore, the approach inherits the automation catión is aided in the implementation of the framework. and inference power of the abstract interpretation en- Finally, we discuss the application of our method within gines used in (Constraint) Logic Programming, (C)LP. the área, of pervasive systems
Resumo:
A number of data description languages initially designed as standards for trie WWW are currently being used to implement user interfaces to programs. This is done independently of whether such programs are executed in the same or a different host as trie one running the user interface itself. The advantage of this approach is that it provides a portable, standardized, and easy to use solution for the application programmer, and a familiar behavior for the user, typically well versed in the use of WWW browsers. Among the proposed standard description languages, VRML is a aimed at representing three dimensional scenes including hyperlink capabilities. VRML is already used as an import/export format in many 3-D packages and tools, and has been shown effective in displaying complex objects and scenarios. We propose and describe a Prolog library which allows parsing and checking VRML code, transforming it, and writing it out as VRML again. The library converts such code to an internal representation based on first order terms which can then be arbitrarily manipulated. We also present as an example application the use of this library to implement a novel 3-D visualization for examining and understanding certain aspects of the behavior of CLP(FD) programs.
Resumo:
SRAM-based FPGAs are in-field reconfigurable an unlimited number of times. This characteristic, together with their high performance and high logic density, proves to be very convenient for a number of ground and space level applications. One drawback of this technology is that it is susceptible to ionizing radiation, and this sensitivity increases with technology scaling. This is a first order concern for applications in harsh radiation environments, and starts to be a concern for high reliability ground applications. Several techniques exist for coping with radiation effects at user application. In order to be effective they need to be complemented with configuration memory scrubbing, which allows error mitigation and prevents failures due to error accumulation. Depending on the radiation environment and on the system dependability requirements, the configuration scrubber design can become more or less complex. This paper classifies and presents current and novel design methodologies and architectures for SRAM-based FPGAs, and in particular for Xilinx Virtex-4QV/5QV, configuration memory scrubbers.
Resumo:
Los lenguajes de programación son el idioma que los programadores usamos para comunicar a los computadores qué queremos que hagan. Desde el lenguaje ensamblador, que traduce una a una las instrucciones que interpreta un computador hasta lenguajes de alto nivel, se ha buscado desarrollar lenguajes más cercanos a la forma de pensar y expresarse de los humanos. Los lenguajes de programación lógicos como Prolog utilizan a su vez el lenguaje de la lógica de 1er orden de modo que el programador puede expresar las premisas del problema que se quiere resolver sin preocuparse del cómo se va a resolver dicho problema. La resolución del problema se equipara a encontrar una deducción del objetivo a alcanzar a partir de las premisas y equivale a lo que entendemos por la ejecución de un programa. Ciao es una implementación de Prolog (http://www.ciao-lang.org) y utiliza el método de resolución SLD, que realiza el recorrido de los árboles de decisión en profundidad(depth-first) lo que puede derivar en la ejecución de una rama de busqueda infinita (en un bucle infinito) sin llegar a dar respuestas. Ciao, al ser un sistema modular, permite la utilización de extensiones para implementar estrategias de resolución alternativas como la tabulación (OLDT). La tabulación es un método alternativo que se basa en memorizar las llamadas realizadas y sus respuestas para no repetir llamadas y poder usar las respuestas sin recomputar las llamadas. Algunos programas que con SLD entran en un bucle infinito, gracias a la tabulación dán todas las respuestas y termina. El modulo tabling es una implementación de tabulación mediante el algoritmo CHAT. Esta implementación es una versión beta que no tiene implementado un manejador de memoria. Entendemos que la gestión de memoria en el módulo de tabling tiene gran importancia, dado que la resolución con tabulación permite reducir el tiempo de computación (al no repetir llamadas), aumentando los requerimientos de memoria (para guardar las llamadas y las respuestas). Por lo tanto, el objetivo de este trabajo es implementar un mecanismo de gestión de la memoria en Ciao con el módulo tabling cargado. Para ello se ha realizado la implementación de: Un mecanismo de captura de errores que: detecta cuando el computador se queda sin memoria y activa la reinicialización del sitema. Un procedimiento que ajusta los punteros del modulo de tabling que apuntan a la WAM tras un proceso de realojo de algunas de las áreas de memoria de la WAM. Un gestor de memoria del modulo de tabling que detecta c realizar una ampliación de las áreas de memoria del modulo de tabling, realiza la solicitud de más memoria y realiza el ajuste de los punteros. Para ayudar al lector no familiarizado con este tema, describimos los datos que Ciao y el módulo de tabling alojan en las áreas de memoria dinámicas que queremos gestionar. Los casos de pruebas desarrollados para evaluar la implementación del gestor de memoria, ponen de manifiesto que: Disponer de un gestor de memoria dinámica permite la ejecución de programas en un mayor número de casos. La política de gestión de memoria incide en la velocidad de ejecución de los programas. ---ABSTRACT---Programming languages are the language that programmers use in order to communicate to computers what we want them to do. Starting from the assembly language, which translates one by one the instructions to the computer, and arriving to highly complex languages, programmers have tried to develop programming languages that resemble more closely the way of thinking and communicating of human beings. Logical programming languages, such as Prolog, use the language of logic of the first order so that programmers can express the premise of the problem that they want to solve without having to solve the problem itself. The solution to the problem is equal to finding a deduction of the objective to reach starting from the premises and corresponds to what is usually meant as the execution of a program. Ciao is an implementation of Prolog (http://www.ciao-lang.org) and uses the method of resolution SLD that carries out the path of the decision trees in depth (depth-frist). This can cause the execution of an infinite searching branch (an infinite loop) without getting to an answer. Since Ciao is a modular system, it allows the use of extensions to implement alternative resolution strategies, such as tabulation (OLDT). Tabulation is an alternative method that is based on the memorization of executions and their answers, in order to avoid the repetition of executions and to be able to use the answers without reexecutions. Some programs that get into an infinite loop with SLD are able to give all the answers and to finish thanks to tabulation. The tabling package is an implementation of tabulation through the algorithm CHAT. This implementation is a beta version which does not present a memory handler. The management of memory in the tabling package is highly important, since the solution with tabulation allows to reduce the system time (because it does not repeat executions) and increases the memory requirements (in order to save executions and answers). Therefore, the objective of this work is to implement a memory management mechanism in Ciao with the tabling package loaded. To achieve this goal, the following implementation were made: An error detection system that reveals when the computer is left without memory and activate the reinizialitation of the system. A procedure that adjusts the pointers of the tabling package which points to the WAM after a process of realloc of some of the WAM memory stacks. A memory manager of the tabling package that detects when it is necessary to expand the memory stacks of the tabling package, requests more memory, and adjusts the pointers. In order to help the readers who are not familiar with this topic, we described the data which Ciao and the tabling package host in the dynamic memory stacks that we want to manage. The test cases developed to evaluate the implementation of the memory manager show that: A manager for the dynamic memory allows the execution of programs in a larger number of cases. Memory management policy influences the program execution speed.
Resumo:
La Energía eléctrica producida mediante tecnología eólica flotante es uno de los recursos más prometedores para reducir la dependencia de energía proveniente de combustibles fósiles. Esta tecnología es de especial interés en países como España, donde la plataforma continental es estrecha y existen pocas áreas para el desarrollo de estructuras fijas. Entre los diferentes conceptos flotantes, esta tesis se ha ocupado de la tipología semisumergible. Estas plataformas pueden experimentar movimientos resonantes en largada y arfada. En largada, dado que el periodo de resonancia es largo estos puede ser inducidos por efectos de segundo orden de deriva lenta que pueden tener una influencia muy significativa en las cargas en los fondeos. En arfada las fuerzas de primer orden pueden inducir grandes movimientos y por tanto la correcta determinación del amortiguamiento es esencial para la analizar la operatividad de la plataforma. Esta tesis ha investigado estos dos efectos, para ello se ha usado como caso base el diseño de una plataforma desarrollada en el proyecto Europeo Hiprwind. La plataforma se compone de 3 columnas cilíndricas unidas mediante montantes estructurales horizontales y diagonales, Los cilindros proporcionan flotabilidad y momentos adrizante. A la base de cada columna se le ha añadido un gran “Heave Plate” o placa de cierre. El diseño es similar a otros diseños previos (Windfloat). Se ha fabricado un modelo a escala de una de las columnas para el estudio detallado del amortiguamiento mediante oscilaciones forzadas. Las dimensiones del modelo (1m diámetro en la placa de cierre) lo hacen, de los conocidos por el candidato, el mayor para el que se han publicado datos. El diseño del cilindro se ha realizado de tal manera que permite la fijación de placas de cierre planas o con refuerzo, ambos modelos se han fabricado y analizado. El modelo con refuerzos es una reproducción exacta del diseño a escala real incluyendo detalles distintivos del mismo, siendo el más importante la placa vertical perimetral. Los ensayos de oscilaciones forzadas se han realizado para un rango de frecuencias, tanto para el disco plano como el reforzado. Se han medido las fuerzas durante los ensayos y se han calculado los coeficientes de amortiguamiento y de masa añadida. Estos coeficientes son necesarios para el cálculo del fondeo mediante simulaciones en el dominio del tiempo. Los coeficientes calculados se han comparado con la literatura existente, con cálculos potenciales y por ultimo con cálculos CFD. Para disponer de información relevante para el diseño estructural de la plataforma se han medido y analizado experimentalmente las presiones en la parte superior e inferior de cada placa de cierre. Para la correcta estimación numérica de las fuerzas de deriva lenta en la plataforma se ha realizado una campaña experimental que incluye ensayos con modelo cautivo de la plataforma completa en olas bicromaticas. Pese a que estos experimentos no reproducen un escenario de oleaje realista, los mismos permiten una verificación del modelo numérico mediante la comparación de fuerzas medidas en el modelo físico y el numérico. Como resultados de esta tesis podemos enumerar las siguientes conclusiones. 1. El amortiguamiento y la masa añadida muestran una pequeña dependencia con la frecuencia pero una gran dependencia con la amplitud del movimiento. siendo coherente con investigaciones existentes. 2. Las medidas con la placa de cierre reforzada con cierre vertical en el borde, muestra un amortiguamiento significativamente menor comparada con la placa plana. Esto implica que para ensayos de canal es necesario incluir estos detalles en el modelo. 3. La masa añadida no muestra grandes variaciones comparando placa plana y placa con refuerzos. 4. Un coeficiente de amortiguamiento del 6% del crítico se puede considerar conservador para el cálculo en el dominio de la frecuencia. Este amortiguamiento es equivalente a un coeficiente de “drag” de 4 en elementos de Morison cuadráticos en las placas de cierre usadas en simulaciones en el dominio del tiempo. 5. Se han encontrado discrepancias en algunos valores de masa añadida y amortiguamiento de la placa plana al comparar con datos publicados. Se han propuesto algunas explicaciones basadas en las diferencias en la relación de espesores, en la distancia a la superficie libre y también relacionadas con efectos de escala. 6. La presión en la placa con refuerzos son similares a las de la placa plana, excepto en la zona del borde donde la placa con refuerzo vertical induce una gran diferencias de presiones entre la cara superior e inferior. 7. La máxima diferencia de presión escala coherentemente con la fuerza equivalente a la aceleración de la masa añadida distribuida sobre la placa. 8. Las masas añadidas calculadas con el código potencial (WADAM) no son suficientemente precisas, Este software no contempla el modelado de placas de pequeño espesor con dipolos, la poca precisión de los resultados aumenta la importancia de este tipo de elementos al realizar simulaciones con códigos potenciales para este tipo de plataformas que incluyen elementos de poco espesor. 9. Respecto al código CFD (Ansys CFX) la precisión de los cálculos es razonable para la placa plana, esta precisión disminuye para la placa con refuerzo vertical en el borde, como era de esperar dado la mayor complejidad del flujo. 10. Respecto al segundo orden, los resultados, en general, muestran que, aunque la tendencia en las fuerzas de segundo orden se captura bien con los códigos numéricos, se observan algunas reducciones en comparación con los datos experimentales. Las diferencias entre simulaciones y datos experimentales son mayores al usar la aproximación de Newman, que usa únicamente resultados de primer orden para el cálculo de las fuerzas de deriva media. 11. Es importante remarcar que las tendencias observadas en los resultados con modelo fijo cambiarn cuando el modelo este libre, el impacto que los errores en las estimaciones de fuerzas segundo orden tienen en el sistema de fondeo dependen de las condiciones ambientales que imponen las cargas ultimas en dichas líneas. En cualquier caso los resultados que se han obtenido en esta investigación confirman que es necesaria y deseable una detallada investigación de los métodos usados en la estimación de las fuerzas no lineales en las turbinas flotantes para que pueda servir de guía en futuros diseños de estos sistemas. Finalmente, el candidato espera que esta investigación pueda beneficiar a la industria eólica offshore en mejorar el diseño hidrodinámico del concepto semisumergible. ABSTRACT Electrical power obtained from floating offshore wind turbines is one of the promising resources which can reduce the fossil fuel energy consumption and cover worldwide energy demands. The concept is the most competitive in countries, such as Spain, where the continental shelf is narrow and does not provide space for fixed structures. Among the different floating structures concepts, this thesis has dealt with the semisubmersible one. Platforms of this kind may experience resonant motions both in surge and heave directions. In surge, since the platform natural period is long, such resonance can be excited with second order slow drift forces and may have substantial influence on mooring loads. In heave, first order forces can induce significant motion, whose damping is a crucial factor for the platform downtime. These two topics have been investigated in this thesis. To this aim, a design developed during HiPRWind EU project, has been selected as reference case study. The platform is composed of three cylindrical legs, linked together by a set of structural braces. The cylinders provide buoyancy and restoring forces and moments. Large circular heave plates have been attached to their bases. The design is similar to other documented in literature (e.g. Windfloat), which implies outcomes could have a general value. A large scale model of one of the legs has been built in order to study heave damping through forced oscillations. The final dimensions of the specimen (one meter diameter discs) make it, to the candidate’s knowledge, the largest for which data has been published. The model design allows for the fitting of either a plain solid heave plate or a flapped reinforced one; both have been built. The latter is a model scale reproduction of the prototype heave plate and includes some distinctive features, the most important being the inclusion of a vertical flap on its perimeter. The forced oscillation tests have been conducted for a range of frequencies and amplitudes, with both the solid plain model and the vertical flap one. Forces have been measured, from which added mass and damping coefficients have been obtained. These are necessary to accurately compute time-domain simulations of mooring design. The coefficients have been compared with literature, and potential flow and CFD predictions. In order to provide information for the structural design of the platform, pressure measurements on the top and bottom side of the heave discs have been recorded and pressure differences analyzed. In addition, in order to conduct a detailed investigation on the numerical estimations of the slow-drift forces of the HiPRWind platform, an experimental campaign involving captive (fixed) model tests of a model of the whole platform in bichromatic waves has been carried out. Although not reproducing the more realistic scenario, these tests allowed a preliminary verification of the numerical model based directly on the forces measured on the structure. The following outcomes can be enumerated: 1. Damping and added mass coefficients show, on one hand, a small dependence with frequency and, on the other hand, a large dependence with the motion amplitude, which is coherent with previously published research. 2. Measurements with the prototype plate, equipped with the vertical flap, show that damping drops significantly when comparing this to the plain one. This implies that, for tank tests of the whole floater and turbine, the prototype plate, equipped with the flap, should be incorporated to the model. 3. Added mass values do not suffer large alterations when comparing the plain plate and the one equipped with a vertical flap. 4. A conservative damping coefficient equal to 6% of the critical damping can be considered adequate for the prototype heave plate for frequency domain analysis. A corresponding drag coefficient equal to 4.0 can be used in time domain simulations to define Morison elements. 5. When comparing to published data, some discrepancies in added mass and damping coefficients for the solid plain plate have been found. Explanations have been suggested, focusing mainly on differences in thickness ratio and distance to the free surface, and eventual scale effects. 6. Pressures on the plate equipped with the vertical flap are similar in magnitude to those of the plain plate, even though substantial differences are present close to the edge, where the flap induces a larger pressure difference in the reinforced case. 7. The maximum pressure difference scales coherently with the force equivalent to the acceleration of the added mass, distributed over the disc surface. 8. Added mass coefficient values predicted with the potential solver (WADAM) are not accurate enough. The used solver does not contemplate modeling thin plates with doublets. The relatively low accuracy of the results highlights the importance of these elements when performing potential flow simulations of offshore platforms which include thin plates. 9. For the full CFD solver (Ansys CFX), the accuracy of the computations is found reasonable for the plain plate. Such accuracy diminishes for the disc equipped with a vertical flap, an expected result considering the greater complexity of the flow. 10. In regards to second order effects, in general, the results showed that, although the main trend in the behavior of the second-order forces is well captured by the numerical predictions, some under prediction of the experimental values is visible. The gap between experimental and numerical results is more pronounced when Newman’s approximation is considered, making use exclusively of the mean drift forces calculated in the first-order solution. 11. It should be observed that the trends observed in the fixed model test may change when the body is free to float, and the impact that eventual errors in the estimation of the second-order forces may have on the mooring system depends on the characteristics of the sea conditions that will ultimately impose the maximum loads on the mooring lines. Nevertheless, the preliminary results obtained in this research do confirm that a more detailed investigation of the methods adopted for the estimation of the nonlinear wave forces on the FOWT would be welcome and may provide some further guidance for the design of such systems. As a final remark, the candidate hopes this research can benefit the offshore wind industry in improving the hydrodynamic design of the semi-submersible concept.