26 resultados para Language of Transformations.
em Universidad Politécnica de Madrid
Resumo:
Preface
Resumo:
The convergence process among European academic degrees pursues the exchange of graduate students and the adaptation of university programs to social demand. Within the framework of the European Higher Education, European universities will need to be more competitive not only by increasing or maintaining the student enrolment, but also in their academic performance. Thus, the reinforcing of English language education within the University Programs might play an important role to reach these objectives. In this sense, a complete survey was accomplished at the Agricultural Egineering School of Madrid (ETSIA ) addressing issues such as: identification the needs for bilingual instruction at ETSIA, identification resources needed and interest and background in English language of students and professors (San José et al., 2013). The conclusions and recommendations to promote the bilingual instruction in the ETSIA, taking into account the approaches followed by other Spanish universities, are presented in this work.
Resumo:
We describe the current status of and provide performance results for a prototype compiler of Prolog to C, ciaocc. ciaocc is novel in that it is designed to accept different kinds of high-level information, typically obtained via an automatic analysis of the initial Prolog program and expressed in a standardized language of assertions. This information is used to optimize the resulting C code, which is then processed by an off-the-shelf C compiler. The basic translation process essentially mimics the unfolding of a bytecode emulator with respect to the particular bytecode corresponding to the Prolog program. This is facilitated by a flexible design of the instructions and their lower-level components. This approach allows reusing a sizable amount of the machinery of the bytecode emulator: predicates already written in C, data definitions, memory management routines and áreas, etc., as well as mixing emulated bytecode with native code in a relatively straightforward way. We report on the performance of programs compiled by the current versión of the system, both with and without analysis information.
Resumo:
In an advanced program development environment, such as that discussed in the introduction of this book, several tools may coexist which handle both the program and information on the program in different ways. Also, these tools may interact among themselves and with the user. Thus, the different tools and the user need some way to communicate. It is our design principie that such communication be performed in terms of assertions. Assertions are syntactic objects which allow expressing properties of programs. Several assertion languages have been used in the past in different contexts, mainly related to program debugging. In this chapter we propose a general language of assertions which is used in different tools for validation and debugging of constraint logic programs in the context of the DiSCiPl project. The assertion language proposed is parametric w.r.t. the particular constraint domain and properties of interest being used in each different tool. The language proposed is quite general in that it poses few restrictions on the kind of properties which may be expressed. We believe the assertion language we propose is of practical relevance and appropriate for the different uses required in the tools considered.
Resumo:
We present a method for the static resource usage analysis of MiniZinc models. The analysis can infer upper bounds on the usage that a MiniZinc model will make of some resources such as the number of constraints of a given type (equality, disequality, global constraints, etc.), the number of variables (search variables or temporary variables), or the size of the expressions before calling the solver. These bounds are obtained from the models independently of the concrete input data (the instance data) and are in general functions of sizes of such data. In our approach, MiniZinc models are translated into Ciao programs which are then analysed by the CiaoPP system. CiaoPP includes a parametric analysis framework for resource usage in which the user can define resources and express the resource usage of library procedures (and certain program construets) by means of a language of assertions. We present the approach and report on a preliminary implementation, which shows the feasibility of the approach, and provides encouraging results.
Improving the compilation of prolog to C using type and determinism information: Preliminary results
Resumo:
We describe the current status of and provide preliminary performance results for a compiler of Prolog to C. The compiler is novel in that it is designed to accept different kinds of high-level information (typically obtained via an analysis of the initial Prolog program and expressed in a standardized language of assertions) and use this information to optimize the resulting C code, which is then further processed by an off-the-shelf C compiler. The basic translation process used essentially mimics an unfolding of a C-coded bytecode emúlator with respect to the particular bytecode corresponding to the Prolog program. Optimizations are then applied to this unfolded program. This is facilitated by a more flexible design of the bytecode instructions and their lower-level components. This approach allows reusing a sizable amount of the machinery of the bytecode emulator: ancillary pieces of C code, data definitions, memory management routines and áreas, etc., as well as mixing bytecode emulated code with natively compiled code in a relatively straightforward way We report on the performance of programs compiled by the current versión of the system, both with and without analysis information.
Resumo:
Dynamic scheduling increases the expressive power of logic programming languages, but also introduces some overhead. In this paper we present two classes of program transformations designed to reduce this additional overhead, while preserving the operational semantics of the original programs, modulo ordering of literals woken at the same time. The first class of transformations simplifies the delay conditions while the second class moves delayed literals later in the rule body. Application of the program transformations can be automated using information provided by compile-time analysis. We provide experimental results obtained from an implementation of the proposed techniques using the CIAO prototype compiler. Our results show that the techniques can lead to substantial performance improvement.
Resumo:
Las reformas de agua en países en desarrollo suelen llevarse a cabo junto con cambios institucionales más profundos o, incluso, acompañadas de cambios constitucionales o de régimen político. Por lo tanto, los marcos institucionales adaptados a países gobernados sujetos al estado de derecho pueden no ser apropiados para contextos gobernados fundamentalmente, al menos en sus inicios, por instituciones informales o poco maduras. Esta tesis toma las reformas de agua como punto de partida y pretende contribuir a la literatura mediante una serie de análisis empíricos tanto del ámbito general como del plano individual o sujeto personal de la política del agua. En el ámbito general, el foco se pone en los factores que explican el fallo de la acción colectiva en dos contextos diferentes: 1) en la implementación de la nueva Ley de Aguas de Nicaragua y 2) en el mantenimiento y revitalización de las instituciones de riego en Surinam. En el plano del individuo, la investigación se centra en las decisiones de los usuarios de los recursos y analiza el papel crítico de las variables sociales para la gestión de los recursos comunes. Para ello, el método de investigación utilizado es mixto, combinando el análisis de entrevistas, encuestas y experimentos. En el ámbito general, los resultados muestran que las principales barreras para la implementación de la nueva Ley de Aguas de Nicaragua podrían tener su reflejo en el lenguaje de la Ley y, por tanto, en la forma en la que se definen y configuran las instituciones incluidas en dicha Ley. Así, la investigación demuestra que la implementación de políticas no puede ser estudiada o entendida sin tener en cuenta tanto el diseño de la propia política como el marco socio-ecológico en el que se enmarca. El contexto específico de Nicaragua remarca la importancia de considerar tanto las instituciones formales como informales en los procesos de transición política. A pesar de que las reformas de agua requieren plazos largos para su implementación, el hecho de que exista una diferencia entre las reglas tal cual se definen formalmente y las reglas que operan en la realidad merece una mayor consideración en el diseño de políticas basadas fundamentalmente en instituciones formales. En el ámbito de la conducta individual, el análisis de la acción colectiva ofrece una serie de observaciones empíricas interesantes. En el caso de Nicaragua, los resultados indican que la intensidad de las relaciones sociales, el tipo de agentes dispuestos a proporcionar apoyo social y el nivel de confianza en la comunidad son factores que explican de manera significativa la participación en la comunidad. Sin embargo, el hecho de que la gestión colectiva de riego se produzca, en la mayoría de casos, en torno a lazos familiares sugiere que las variables de capital social críticas se definen en gran medida en la esfera familiar, siendo difícil que se extiendan fuera de estos nexos. El análisis experimental de los resultados de un juego de uso de recurso común y contribución al bien público muestra que las preferencias pro-sociales de los individuos y la heterogeneidad del grupo en términos de composición por sexo son factores que explican significativamente los resultados y las decisiones de apropiación a lo largo del juego. En términos del diseño de las políticas, es fundamental tener en cuenta las dinámicas de participación y uso de los recursos comunes de manera que los niveles de cooperación puedan mantenerse en el largo plazo, lo cual, como se observa en el caso de Surinam, no es siempre posible. Finalmente, el caso de Surinam es un ejemplo ilustrativo de los procesos de acción colectiva en economías en transición. El análisis del fallo de la acción colectiva en Surinam muestra que los procesos políticos vinculados al período colonial y de independencia explican en gran medida la falta de claridad en las reglas operacionales y colectivas que gobiernan la gestión de los sistemas de riego y drenaje. Los resultados empíricos sugieren que a pesar de que la acción colectiva para la provisión de los servicios de riego y drenaje estaba bien establecida bajo el régimen colonial, la auto-organización no prosperó en un contexto dependiente del apoyo externo y regido fundamentalmente por reglas diseñadas al nivel competencial del gobierno central. El sistema socio-ecológico que se desarrolló durante la transición post-colonial favoreció, así, la emergencia de comportamientos oportunistas, y posteriormente la inoperancia de los Water Boards (WBs) creados en la época colonial. En este sentido, cualquier intento por revitalizar los WBs y fomentar el desarrollo de la auto-organización de los usuarios necesitará abordar los problemas relacionados con los patrones demográficos, incluyendo la distribución de la tierra, el diseño de instituciones y la falta de confianza en el gobierno, además de las inversiones típicas en infraestructura y sistemas de información hidrológicos. El liderazgo del gobierno, aportando empuje de arriba-abajo, es, además, otro elemento imprescindible en Surinam. ABSTRACT Water reforms in developing countries take place along deeper institutional and even constitutional. Therefore, institutional frameworks that might result in positive outcomes in countries governed by the rule of law might not fit in contexts governed mainly by informal or immature institutions. This thesis takes water reforms as the starting point and aims to contribute to the literature by presenting several conceptual and empirical analyses at both general and individual levels. At the general national level, the focus is on the factors explaining failure of collective action in two different settings: 1) in the implementation of the new Nicaraguan Water Law and 2) in sustaining and revitalizing irrigation institutions in Suriname. At the individual level, the research focuses on the actions of resource users and analyzes the critical role of social variables for common pool resources management. For this purpose, the research presented in this thesis makes use of a mixed-method approach, combining interviews, surveys and experimental methods. Overall, the results show that major barriers for the implementation of the new Nicaraguan Water Law have its reflection on the language of the Law and, therefore, on the way institutions are defined and configured. In this sense, our study shows that implementation cannot fruitfully be studied and understood without taking into account both the policy design and the social-ecological context in which it is framed. The specific setting of Nicaragua highlights the relevance of considering both formal and informal institutions when promoting policy transitions. Despite the unquestionable fact that water reforms implementation needs long periods of time, there is still a gap between the rules on paper and the rules on the ground that deserves further attention when proposing policy changes on the basis of formal institutions. At the level of the individual agent, the analysis of collective action provides a number of interesting empirical insights. In the case of Nicaragua, I found that the intensity of social networks, the type of agents willing to provide social support and the level of trust in the community are all significant factors in explaining collective action at community level. However, the fact that most collective irrigation relies on family ties suggests that critical social capital variables might be defined within the family sphere and making it difficult to go beyond it. Experimental research combining a common pool resource and a public good game in Nicaragua shows that individuals’ pro-social traits and group heterogeneity in terms of sex composition are significant variables in explaining efficiency outcomes and effort decisions along the game. Thus, with regard to policy design, it is fundamental to consider carefully the dynamics of agents' participation and use of common pool resources, for sustaining cooperation in the long term, which, as seen in the case and Surinam, is not always possible. The case of Suriname provides a rich setting for the analysis of collective action in transition economies. The analysis of decay of collective irrigation in Suriname shows that the lack of clear operational and collective choice rules appear to be rooted in deeper political processes that date back to the colonial period. The empirical findings suggest that despite collective action for the provision of irrigation and drainage services was well established during the colonial period, self-organization did not flourish in a context governed by colonial state-crafted rules and mostly dependent on external support. The social-ecological system developed during the post-colonial transition process favored the emergence of opportunistic behavior. In this respect, any attempt to revitalize WBs and support self-organization will need to tackle the problems derived from demographic patterns, including land allocation, institutions design and government distrust, in addition to the typical investments in both physical infrastructure and hydrological information systems. The leadership role of the government, acting as a top-down trigger, is another essential element in Suriname.
Resumo:
In this study we are proposing a Bayesian model selection methodology, where the best model from the list of candidate structural explanatory models is selected. The model structure is based on the Zellner's (1971)explanatory model with autoregressive errors. For the selection technique we are using a parsimonious model, where the model variables are transformed using Box and Cox (1964) class of transformations.
Resumo:
Cognitive linguistics is considered as one of the most appropriate approaches to the study of scientific and technical language formation and development, where metaphor is accepted to play an essential role. This paper, based on the Cognitive Theory of Metaphor, takes as the starting point the terminological metaphors established in the research project METACITEC(Note 1), which was developed with the purpose of unfolding constitutive metaphors and their function in the language of science and technology. After the analysis of metaphorical terms and using a mixed corpus from the fields of Agriculture, Geology, Mining, Metallurgy, and other related technical fields, this study presents a proposal for a hierarchy of the selected metaphors underlying the scientific conceptual system, based on the semantic distance found in the projection from the source domain to the target domain. We argue that this semantic distance can be considered as an important parameter to take into account in order to establish the metaphoricity of science and technology metaphorical terms. The findings contribute to expand on the CTM stance that metaphor is a matter of cognition by reviewing the abstract-concrete conceptual relationship between the target and source domains, and to determine the role of human creativity and imagination in the language of science and technology configuration
Resumo:
This paper describes the participation of DAEDALUS at the LogCLEF lab in CLEF 2011. This year, the objectives of our participation are twofold. The first topic is to analyze if there is any measurable effect on the success of the search queries if the native language and the interface language chosen by the user are different. The idea is to determine if this difference may condition the way in which the user interacts with the search application. The second topic is to analyze the user context and his/her interaction with the system in the case of successful queries, to discover out any relation among the user native language, the language of the resource involved and the interaction strategy adopted by the user to find out such resource. Only 6.89% of queries are successful out of the 628,607 queries in the 320,001 sessions with at least one search query in the log. The main conclusion that can be drawn is that, in general for all languages, whether the native language matches the interface language or not does not seem to affect the success rate of the search queries. On the other hand, the analysis of the strategy adopted by users when looking for a particular resource shows that people tend to use the simple search tool, frequently first running short queries build up of just one specific term and then browsing through the results to locate the expected resource
Resumo:
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in Ciao, ISO-Prolog, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely to what versión of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc. ...) for the predicates in the program, and machine-readable comments. One of the main novelties of lpdoc is that these assertions and comments are written using the Ciao system asseriion language, which is also the language of communication between the compiler and the user and between the components of the compiler. This allows a significant synergy among specification, debugging, documentation, optimization, etc. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The documentation can be generated interactively from emacs or from the command line, in many formats including texinfo, dvi, ps, pdf, info, ascii, html/css, Unix nroff/man, Windows help, etc., and can include bibliographic citations and images, lpdoc can also genérate "man" pages (Unix man page format), nicely formatted plain ASCII "readme" files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or info formats suitable for inclusión in on-line Índices of manuals, and even complete WWW and info sites containing on-line catalogs of documents and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.
Resumo:
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in ISO-Prolog, Ciao, and other (C)LP languages. It is particularly useful for documenting library modules, for which it automatically generates a rich description of the module interface. However, it can also be used quite successfully to document full applications. A fundamental advantage of using lpdoc is that it helps maintaining a true correspondence between the program and its documentation, and also identifying precisely to what version of the program a given printed manual corresponds. The quality of the documentation generated can be greatly enhanced by including within the program text assertions (declarations with types, modes, etc.) for the predicates in the program, and machine-readable comments. One of the main novelties of lpdoc is that these assertions and comments are written using the Ciao system assertion language, which is also the language of communication between the compiler and the user and between the components of the compiler. This allows a significant synergy among specification, documentation, optimization, etc. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The documentation can be generated in many formats including texinfo, dvi, ps, pdf, info, html/css, Unix nroff/man, Windows help, etc., and can include bibliographic citations and images. lpdoc can also generate “man” pages (Unix man page format), nicely formatted plain ascii “readme” files, installation scripts useful when the manuals are included in software distributions, brief descriptions in html/css or info formats suitable for inclusion in on-line indices of manuals, and even complete WWW and info sites containing on-line catalogs of documents and software distributions. The lpdoc manual, all other Ciao system manuals, and parts of this paper are generated by lpdoc.
Resumo:
Cognitive linguistics have conscientiously pointed out the pervasiveness of conceptual mappings, particularly as conceptual blending and integration, that underlie language and that are unconsciously used in everyday speech (Fauconnier 1997, Fauconnier & Turner 2002; Rohrer 2007; Grady, Oakley & Coulson 1999). Moreover, as a further development of this work, there is a growing interest in research devoted to the conceptual mappings that make up specialized technical disciplines. Lakoff & Núñez 2000, for example, have produced a major breakthrough on the understanding of concepts in mathematics, through conceptual metaphor and as a result not of purely abstract concepts but rather of embodiment. On the engineering and architecture front, analyses on the use of metaphor, blending and categorization in English and Spanish have likewise appeared in recent times (Úbeda 2001, Roldán 1999, Caballero 2003a, 2003b, Roldán & Ubeda 2006, Roldán & Protasenia 2007). The present paper seeks to show a number of significant conceptual mappings underlying the language of architecture and civil engineering that seem to shape the way engineers and architects communicate. In order to work with a significant segment of linguistic expressions in this field, a corpus taken from a widely used technical Spanish engineering journal article was collected and analysed. The examination of the data obtained indicates that many tokens make a direct reference to therapeutic conceptual mappings, highlighting medical domains such as diagnosing,treating and curing. Hence, the paper illustrates how this notion is instantiated by the corresponding bodily conceptual integration. In addition, we wish to underline the function of visual metaphors in the world of modern architecture by evoking parts of human or animal anatomy, and how this is visibly noticeable in contemporary buildings and public works structures.
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.