951 resultados para thread programming


Relevância:

20.00% 20.00%

Publicador:

Resumo:

We address the design and implementation of visual paradigms for observing the execution of constraint logic programs, aiming at debugging, tuning and optimization, and teaching. We focus on the display of data in CLP executions, where representation for constrained variables and for the constrains themselves are seeked. Two tools, VIFID and TRIFID, exemplifying the devised depictions, have been implemented, and are used to showcase the usefulness of the visualizations developed.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

CIAO is an advanced programming environment supporting Logic and Constraint programming. It offers a simple concurrent kernel on top of which declarative and non-declarative extensions are added via librarles. Librarles are available for supporting the ISOProlog standard, several constraint domains, functional and higher order programming, concurrent and distributed programming, internet programming, and others. The source language allows declaring properties of predicates via assertions, including types and modes. Such properties are checked at compile-time or at run-time. The compiler and system architecture are designed to natively support modular global analysis, with the two objectives of proving properties in assertions and performing program optimizations, including transparently exploiting parallelism in programs. The purpose of this paper is to report on recent progress made in the context of the CIAO system, with special emphasis on the capabilities of the compiler, the techniques used for supporting such capabilities, and the results in the áreas of program analysis and transformation already obtained with the system.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

This paper presents some brief considerations on the role of Computational Logic in the construction of Artificial Intelligence systems and in programming in general. It does not address how the many problems in AI can be solved but, rather more modestly, tries to point out some advantages of Computational Logic as a tool for the AI scientist in his quest. It addresses the interaction between declarative and procedural views of programs (deduction and action), the impact of the intrinsic limitations of logic, the relationship with other apparently competing computational paradigms, and finally discusses implementation-related issues, such as the efficiency of current implementations and their capability for efficiently exploiting existing and future sequential and parallel hardware. The purpose of the discussion is in no way to present Computational Logic as the unique overall vehicle for the development of intelligent systems (in the firm belief that such a panacea is yet to be found) but rather to stress its strengths in providing reasonable solutions to several aspects of the task.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Most implementations of parallel logic programming rely on complex low-level machinery which is arguably difflcult to implement and modify. We explore an alternative approach aimed at taming that complexity by raising core parts of the implementation to the source language level for the particular case of and-parallelism. Therefore, we handle a signiflcant portion of the parallel implementation mechanism at the Prolog level with the help of a comparatively small number of concurrency-related primitives which take care of lower-level tasks such as locking, thread management, stack set management, etc. The approach does not eliminate altogether modiflcations to the abstract machine, but it does greatly simplify them and it also facilitates experimenting with different alternatives. We show how this approach allows implementing both restricted and unrestricted (i.e., non fork-join) parallelism. Preliminary experiments show that the amount of performance sacriflced is reasonable, although granularity control is required in some cases. Also, we observe that the availability of unrestricted parallelism contributes to better observed speedups.

Relevância:

20.00% 20.00%

Publicador:

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. The documentation can be generated in many formats including t e x i n f o, dvi, ps, pdf, inf o, html/css, Unix nrof f/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 inf o formats suitable for inclusión in on-line Índices of manuals, and even complete WWW and inf o sites containing on-line catalogs of documents and software distributions. 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. These assertions and comments are written using the Ciao system assertion language. A simple compatibility library allows conventional (C)LP systems to ignore these assertions and comments and treat normally programs documented in this way. The lpdoc manual, all other Ciao system manuals, and most of this paper, are generated by lpdoc.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

We discuss from a practical point of view a number of issues involved in writing Internet and WWW applications using LP/CLP systems. We describe Pd_l_oW, a public-domain Internet and WWW programming library for LP/CLP systems which we argüe significantly simplifies the process of writing such applications. Pd_l_oW provides facilities for generating HTML structured documents, producing HTML forms, writing form handlers, accessing and parsing WWW documents, and accessing code posted at HTTP addresses. We also describe the architecture of some application classes, using a high-level model of client-server interaction, active modules. We then propose an architecture for automatic LP/CLP code downloading for local execution, using generic browsers. Finally, we also provide an overview of related work on the topic. The PiLLoW library has been developed in the context of the &- Prolog and CIAO systems, but it has been adapted to a number of popular LP/CLP systems, supporting most of its functionality.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

We discuss from a practical point of view a number of issues involved in writing Internet and WWW applications using LP/CLP systems. We describe PiLLoW, an Internet and WWW programming library for LP/CLP systems which we argüe significantly simplifies the process of writing such applications. PiLLoW provides facilities for generating HTML structured documents, producing HTML forms, writing form handlers, accessing and parsing WWW documents, and accessing code posted at HTTP addresses. We also describe the architecture of some application classes, using a high-level model of client-server interaction, active modules. Finally we describe an architecture for automatic LP/CLP code downloading for local execution, using generic browsers. The PiLLoW library has been developed in the context of the &-Prolog and CIAO systems, but it has been adapted to a number of popular LP/CLP systems, supporting most of its functionality.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Incorporating the possibility of attaching attributes to variables in a logic programming system has been shown to allow the addition of general constraint solving capabilities to it. This approach is very attractive in that by adding a few primitives any logic programming system can be turned into a generic constraint logic programming system in which constraint solving can be user defined, and at source level - an extreme example of the "glass box" approach. In this paper we propose a different and novel use for the concept of attributed variables: developing a generic parallel/concurrent (constraint) logic programming system, using the same "glass box" flavor. We argüe that a system which implements attributed variables and a few additional primitives can be easily customized at source level to implement many of the languages and execution models of parallelism and concurrency currently proposed, in both shared memory and distributed systems. We illustrate this through examples.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

There have been several previous proposals for the integration of Object Oriented Programming features into Logic Programming, resulting in much support theory and several language proposals. However, none of these proposals seem to have made it into the mainstream. Perhaps one of the reasons for these is that the resulting languages depart too much from the standard logic programming languages to entice the average Prolog programmer. Another reason may be that most of what can be done with object-oriented programming can already be done in Prolog through the meta- and higher-order programming facilities that the language includes, albeit sometimes in a more cumbersome way. In light of this, in this paper we propose an alternative solution which is driven by two main objectives. The first one is to include only those characteristics of object-oriented programming which are cumbersome to implement in standard Prolog systems. The second one is to do this in such a way that there is minimum impact on the syntax and complexity of the language, i.e., to introduce the minimum number of new constructs, declarations, and concepts to be learned. Finally, we would like the implementation to be as straightforward as possible, ideally based on simple source to source expansions.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The purpose of this document is to serve as the printed material for the seminar "An Introductory Course on Constraint Logic Programming". The intended audience of this seminar are industrial programmers with a degree in Computer Science but little previous experience with constraint programming. The seminar itself has been field tested, prior to the writing of this document, with a group of the application programmers of Esprit project P23182, "VOCAL", aimed at developing an application in scheduling of field maintenance tasks in the context of an electric utility company. The contents of this paper follow essentially the flow of the seminar slides. However, there are some differences. These differences stem from our perception from the experience of teaching the seminar, that the technical aspects are the ones which need more attention and clearer explanations in the written version. Thus, this document includes more examples than those in the slides, more exercises (and the solutions to them), as well as four additional programming projects, with which we hope the reader will obtain a clearer view of the process of development and tuning of programs using CLP. On the other hand, several parts of the seminar have been taken out: those related with the account of fields and applications in which C(L)P is useful, and the enumerations of C(L)P tools available. We feel that the slides are clear enough, and that for more information on available tools, the interested reader will find more up-to-date information by browsing the Web or asking the vendors directly. More details in this direction will actually boil down to summarizing a user manual, which is not the aim of this document.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Abstract is not available

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Abstract is not available.

Relevância:

20.00% 20.00%

Publicador:

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La aplicación de criterios de sostenibilidad ha de entenderse como el procedimiento esencial para la necesaria reconversión del sector de la construcción, que movilizando el 10% de la economía mundial, representa más de la tercera parte del consumo mundial de recursos, en torno al 30-40% del consumo energético y emisiones de gases de efecto invernadero, 30-40% de la generación de residuos y el 12% de todo el gasto en agua dulce del planeta. La presente investigación se enmarca en una estrategia general de promover la evaluación de la sostenibilidad en la edificación en el contexto español, dando un primer paso centrado en la evaluación del comportamiento ambiental. El hilo conductor de la investigación parte de la necesidad de establecer un marco teórico de sostenibilidad, que permita clarificar conceptos y definir criterios de valoración adecuados. Como siguiente paso, la investigación se dirige a la revisión del panorama internacional de normativa e instrumentos voluntarios, con el objetivo de clarificar el difuso panorama que caracteriza a la sostenibilidad en el sector de la edificación en la actualidad y enmarcar la investigación en un contexto de políticas y programaciones ya existentes. El objetivo principal reside en el planteamiento de una metodología de evaluación de los aspectos o impactos ambientales asociados al ciclo de vida de la edificación, aplicable al contexto español, como una de las tres dimensiones que constituyen los pilares básicos de la sostenibilidad. Los ámbitos de evaluación de los aspectos sociales y económicos, para los que no existe actualmente un grado de definición metodológico suficientemente congruente, son adicionalmente examinados, de cara a ofrecer una visión holística de la evaluación. Previo al desarrollo de la propuesta, se aborda, en primer lugar, la descripción de las características básicas y limitaciones de la metodología de Análisis de Ciclo de Vida (ACV), para posteriormente proceder a profundizar en el estado del arte de aplicación de ACV a la edificación, realizando una revisión crítica de los trabajos de investigación que han sido desarrollados en los últimos años. Esta revisión permite extraer conclusiones sobre su grado de coherencia con el futuro entorno normativo e identificar dos necesidades prioritarias de actuación: -La necesidad de armonización, dadas las fuertes inconsistencias metodológicas detectadas, que imposibilitan la comparación de los resultados obtenidos en los trabajos de evaluación. -La necesidad de simplificación, dada la complejidad inherente a la evaluación, de modo que, manteniendo el máximo rigor, sea viable su aplicación práctica en el contexto español. A raíz de la participación en los trabajos de desarrollo normativo a nivel europeo, se ha adquirido una visión crítica sobre las implicaciones metodológicas de la normativa en definición, que permite identificar la hoja de ruta que marcará el escenario europeo en los próximos años. La definición de la propuesta metodológica integra los principios generales de aplicación de ACV con el protocolo metodológico establecido en la norma europea, considerando adicionalmente las referencias normativas de las prácticas constructivas en el contexto español. En el planteamiento de la propuesta se han analizado las posibles simplificaciones aplicables, con el objetivo de hacer viable su implementación, centrando los esfuerzos en la sistematización del concepto de equivalente funcional, el establecimiento de recomendaciones sobre el tipo de datos en función de su disponibilidad y la revisión crítica de los modelos de cálculo de los impactos ambientales. Las implicaciones metodológicas de la propuesta se describen a través de una serie de casos de estudio, que ilustran su viabilidad y las características básicas de aplicación. Finalmente, se realiza un recorrido por los aspectos que han sido identificados como prioritarios en la conformación del escenario de perspectivas futuras, líneas de investigación y líneas de acción. Abstract Sustainability criteria application must be understood as the essential procedure for the necessary restructuring of the construction sector, which mobilizes 10% of the world economy, accounting for more than one third of the consumption of the world's resources, around 30 - 40% of energy consumption and emissions of greenhouse gases, 30-40% of waste generation and 12% of all the fresh water use in the world. This research is in line with an overall strategy to promote the sustainability assessment of building in the Spanish context, taking a first step focused on the environmental performance assessment. The thread of the present research sets out from the need to establish a theoretical framework of sustainability which clarifies concepts and defines appropriate endpoints. As a next step, the research focuses on the review of the international panorama regulations and voluntary instruments, with the aim of clarifying the fuzzy picture that characterizes sustainability in the building sector at present while framing the research in the context of existing policies and programming. The main objective lies in the approach of a methodology for the assessment of the environmental impacts associated with the life cycle of building, applicable to the Spanish context, as one of the three dimensions that constitute the pillars of sustainability. The areas of assessment of social and economic issues, for which there is currently a degree of methodological definition consistent enough, are further examined, in order to provide a holistic view of the assessment. The description of the basic features and limitations of the methodology of Life Cycle Assessment (LCA) are previously addressed, later proceeding to deepen the state of the art of LCA applied to the building sector, conducting a critical review of the research works that have been developed in recent years. This review allows to establish conclusions about the degree of consistency with the future regulatory environment and to identify two priority needs for action: - The need for harmonization, given the strong methodological inconsistencies detected that prevent the comparison of results obtained in assessment works. - The need for simplification, given the inherent complexity of the assessment, so that, while maintaining the utmost rigor, make the practical application feasible in the Spanish context. The participation in the work of policy development at European level has helped to achieve a critical view of the methodological implications of the rules under debate, identifying the roadmap that will mark the European scene in the coming years. The definition of the proposed methodology integrates the general principles of LCA methodology with the protocol established in the European standard, also considering the regulatory standards to construction practices in the Spanish context. In the proposed approach, possible simplifications applicable have been analyzed, in order to make its implementation possible, focusing efforts in systematizing the functional equivalent concept, establishing recommendations on the type of data based on their availability and critical review of the calculation models of environmental impacts. The methodological implications of the proposal are described through a series of case studies, which illustrate the feasibility and the basic characteristics of its application. Finally, the main aspects related to future prospects, research lines and lines of action that have been identified as priorities are outlined.