17 resultados para Computer Programs
em Universidad Politécnica de Madrid
Resumo:
This paper is a preliminary version of Chapter 3 of a State-of-the-Art Report by the IASS Working Group 5: Concrete Shell Roofs. The intention of this chapter is to set forth for those who intend to design concrete shell roofs information and advice about the selection, verification and utilization of commercial computer tools for analysis and design tasks.The computer analysis and design steps for a concrete shell roof are described. Advice follows on the aspects to be considered in the application of commercial finite element (FE)computer programs to concrete shell analysis, starting with recommendations on how novices can gain confidence and competence in the use of software. To establish vocabulary and provide background references, brief surveys are presented of, first,element types and formulations for shells and, second, challenges presented by advanced analyses of shells. The final section of the chapter indicates what capabilities to seek in selecting commercial FE software for the analysis and design of concrete shell roofs. Brief concluding remarks summarize advice regarding judicious use of computer analysis in design practice.
Resumo:
Los terremotos constituyen una de las más importantes fuentes productoras de cargas dinámicas que actúan sobre las estructuras y sus cimentaciones. Cuando se produce un terremoto la energía liberada genera movimientos del terreno en forma de ondas sísmicas que pueden provocar asientos en las cimentaciones de los edificios, empujes sobre los muros de contención, vuelco de las estructuras y el suelo puede licuar perdiendo su capacidad de soporte. Los efectos de los terremotos en estructuras constituyen unos de los aspectos que involucran por su condición de interacción sueloestructura, disciplinas diversas como el Análisis Estructural, la Mecánica de Suelo y la Ingeniería Sísmica. Uno de los aspectos que han sido poco estudiados en el cálculo de estructuras sometidas a la acciones de los terremotos son los efectos del comportamiento no lineal del suelo y de los movimientos que pueden producirse bajo la acción de cargas sísmicas, tales como posibles despegues y deslizamientos. En esta Tesis se estudian primero los empujes sísmicos y posibles deslizamientos de muros de contención y se comparan las predicciones de distintos tipos de cálculos: métodos pseudo-estáticos como el de Mononobe-Okabe (1929) con la contribución de Whitman-Liao (1985), y formulaciones analíticas como la desarrollada por Veletsos y Younan (1994). En segundo lugar se estudia el efecto del comportamiento no lineal del terreno en las rigideces de una losa de cimentación superficial y circular, como la correspondiente a la chimenea de una Central Térmica o al edificio del reactor de una Central Nuclear, considerando su variación con frecuencia y con el nivel de cargas. Finalmente se estudian los posibles deslizamientos y separación de las losas de estas dos estructuras bajo la acción de terremotos, siguiendo la formulación propuesta por Wolf (1988). Para estos estudios se han desarrollado una serie de programas específicos (MUROSIS, VELETSOS, INTESES y SEPARSE) cuyos listados y detalles se incluyen en los Apéndices. En el capítulo 6 se incluyen las conclusiones resultantes de estos estudios y recomendaciones para futuras investigaciones. ABSTRACT Earthquakes constitute one of the most important sources of dynamic loads that acting on structures and foundations. When an earthquake occurs the liberated energy generates seismic waves that can give rise to structural vibrations, settlements of the foundations of buildings, pressures on retaining walls, and possible sliding, uplifting or even overturning of structures. The soil can also liquefy losing its capacity of support The study of the effects of earthquakes on structures involve the use of diverse disciplines such as Structural Analysis, Soil Mechanics and Earthquake Engineering. Some aspects that have been the subject of limited research in relation to the behavior of structures subjected to earthquakes are the effects of nonlinear soil behavior and geometric nonlinearities such as sliding and uplifting of foundations. This Thesis starts with the study of the seismic pressures and potential displacements of retaining walls comparing the predictions of two types of formulations and assessing their range of applicability and limitations: pseudo-static methods as proposed by Mononobe-Okabe (1929), with the contribution of Whitman-Liao (1985), and analytical formulations as the one developed by Veletsos and Younan (1994) for rigid walls. The Thesis deals next with the effects of nonlinear soil behavior on the dynamic stiffness of circular mat foundations like the chimney of a Thermal Power Station or the reactor building of a Nuclear Power Plant, as a function of frequency and level of forces. Finally the seismic response of these two structures accounting for the potential sliding and uplifting of the foundation under a given earthquake are studied, following an approach suggested by Wolf (1988). In order to carry out these studies a number of special purposes computer programs were developed (MUROSIS, VELETSOS, INTESES and SEPARSE). The listing and details of these programs are included in the appendices. The conclusions derived from these studies and recommendations for future work are presented in Chapter 6.
Resumo:
En el presente proyecto se realiza el diseño y cálculo de la instalación eléctrica y el cálculo de luminarias, de un edificio de oficinas y almacén de productos farmacéuticos. Este diseño se precisa para el correcto desarrollo de la actividad de la nave industrial objeto de la instalación. Mediante la utilización de programas informáticos se pretende diseñar una guía para agilizar los procesos de dimensionamiento y cálculo para este tipo de proyectos. Al contar estos programas con una normativa totalmente actualizada, también agilizan el proceso de adecuación a la norma. En el cálculo de luminarias se consigue un cálculo muy aproximado de la potencia requerida, además de asegurar las condiciones lumínicas necesarias. También se tiene un cálculo muy exacto del circuito eléctrico que es fácil modificar a futuras ampliaciones. ABSTRACT The project´s aim is to make the design and calculations of the electrical and lighting installations, for a pharmaceutical warehouse. This design is necessary to ensure proper operational activity of the industrial warehouse, subject to the installation. By means of computer programs, it is intended to design a guide in order to speed up the processes of calculations and sizing of the electric wiring for this type of project. These programs are also fully updated, and therefore, the processes of adaptation to the legislation and regulations are made easier. In the calculation of the lighting, the software achieves a close approximation of the required power as well as ensuring the necessary light conditions. With this software we also achieve a very accurate calculation of the electrical circuit that is easy to modify to future expansions.
Resumo:
El objetivo de este proyecto de investigación es comparar dos técnicas matemáticas de aproximación polinómica, las aproximaciones según el criterio de mínimos cuadrados y las aproximaciones uniformes (“minimax”). Se describen tanto el mercado actual del cobre, con sus fluctuaciones a lo largo del tiempo, como los distintos modelos matemáticos y programas informáticos disponibles. Como herramienta informática se ha seleccionado Matlab®, cuya biblioteca matemática es muy amplia y de uso muy extendido y cuyo lenguaje de programación es suficientemente potente para desarrollar los programas que se necesiten. Se han obtenido diferentes polinomios de aproximación sobre una muestra (serie histórica) que recoge la variación del precio del cobre en los últimos años. Se ha analizado la serie histórica completa y dos tramos significativos de ella. Los resultados obtenidos incluyen valores de interés para otros proyectos. Abstract The aim of this research project is to compare two mathematical models for estimating polynomial approximation, the approximations according to the criterion of least squares approximations uniform (“Minimax”). Describes both the copper current market, fluctuating over time as different computer programs and mathematical models available. As a modeling tool is selected main Matlab® which math library is the largest and most widely used programming language and which is powerful enough to allow you to develop programs that are needed. We have obtained different approximating polynomials, applying mathematical methods chosen, a sample (historical series) which indicates the fluctuation in copper prices in last years. We analyzed the complete historical series and two significant sections of it. The results include values that we consider relevant to other projects
Resumo:
El software es, cada vez más, una parte muy importante de cualquier circuito electrónico moderno, por ejemplo, un circuito realizado con algún tipo de microprocesador debe incorporar un programa de control por pequeño que sea. Al utilizarse programas informáticos en los circuitos electrónicos modernos, es muy aconsejable, por no decir imprescindible, realizar una serie de pruebas de calidad del diseño realizado. Estas pruebas son cada vez más complicadas de realizar debido al gran tamaño del software empleado en los sistemas actuales, por este motivo, es necesario estructurar una serie de pruebas con el fin de realizar un sistema de calidad, y en algunos casos, un sistema que no presente ningún peligro para el ser humano o el medio ambiente. Esta propuesta consta de la explicación de las técnicas de diseño de pruebas que existen actualmente (por lo menos las más básicas ya que es un tema muy extenso) para realizar el control de calidad del software que puede contener un sistema embebido. Además, muchos circuitos electrónicos, debido a su control o exigencia hardware, es imprescindible que sean manipulados por algún programa que requiera más que un simple microprocesador, me refiero a que se deban controlar por medio de un pequeño programa manipulado por un sistema operativo, ya sea Linux, AIX, Unix, Windows, etc., en este caso el control de calidad se debería llevar a cabo con otras técnicas de diseño. También se puede dar el caso que el circuito electrónico a controlar se deba hacer por medio de una página web. El objetivo es realizar un estudio de las actuales técnicas de diseño de pruebas que están orientadas al desarrollo de sistemas embebidos. ABSTRACT. Software is increasingly a very important part of any modern electronic circuit, for example, a circuit made with some type of microprocessor must incorporate a control program no matter the small it is. When computer programs are used in modern electronic circuits, it is quite advisable if not indispensable to perform a series of quality tests of the design. These tests are becoming more and more difficult to be performed due to the large size of the software used in current systems, which is why it is necessary to structure a series of tests in order to perform a quality system, and in some cases, a system with no danger to humans or to the environment. This proposal consists of an explanation of the techniques used in the tests (at least the most basic ones since it is a very large topic) for quality control of software which may contain an embedded system. In addition, a lot of electronic circuits, due to its control or required hardware, it is essential to be manipulated by a program that requires more than a simple microprocessor, I mean that they must be controlled by means of a small program handled by an operating system, being Linux, AIX, Unix, Windows, etc., in this case the quality control should be carried out with other design techniques. The objective is to study the current test design techniques that are geared to the development of embedded systems. It can also occur that the electronic circuit should be controlled by means of a web page.
Resumo:
Para el proyecto y cálculo de estructuras metálicas, fundamentalmente pórticos y celosías de cubierta, la herramienta más comúnmente utilizada son los programas informáticos de nudos y barras. En estos programas se define la geometría y sección de las barras, cuyas características mecánicas son perfectamente conocidas, y sobre las cuales obtenemos unos resultados de cálculo concretos en cuanto a estados tensionales y de deformación. Sin embargo el otro componente del modelo, los nudos, presenta mucha mayor complejidad a la hora de establecer sus propiedades mecánicas, fundamentalmente su rigidez al giro, así como de obtener unos resultados de estados tensionales y de deformación en los mismos. Esta “ignorancia” sobre el comportamiento real de los nudos, se salva generalmente asimilando a los nudos del modelo la condición de rígidos o articulados. Si bien los programas de cálculo ofrecen la posibilidad de introducir nudos con una rigidez intermedia (nudos semirrígidos), la rigidez de cada nudo dependerá de la geometría real de la unión, lo cual, dada la gran variedad de geometrías de uniones que en cualquier proyecto se nos presentan, hace prácticamente inviable introducir los coeficientes correspondientes a cada nudo en los modelos de nudos y barras. Tanto el Eurocódigo como el CTE, establecen que cada unión tendrá asociada una curva momento-rotación característica, que deberá ser determinada por los proyectistas mediante herramientas de cálculo o procedimientos experimentales. No obstante, este es un planteamiento difícil de llevar a cabo para cada proyecto. La consecuencia de esto es, que en la práctica, se realizan extensas comprobaciones y justificaciones de cálculo para las barras de las estructuras, dejando en manos de la práctica común la solución y puesta en obra de las uniones, quedando sin justificar ni comprobar la seguridad y el comportamiento real de estas. Otro aspecto que conlleva la falta de caracterización de las uniones, es que desconocemos como afecta el comportamiento real de éstas en los estados tensionales y de deformación de las barras que acometen a ellas, dudas que con frecuencia nos asaltan, no sólo en la fase de proyecto, sino también a la hora de resolver los problemas de ejecución que inevitablemente se nos presentan en el desarrollo de las obras. El cálculo mediante el método de los elementos finitos, es una herramienta que nos permite introducir la geometría real de perfiles y uniones, y nos permite por tanto abordar el comportamiento real de las uniones, y que está condicionado por su geometría. Por ejemplo, un caso típico es el de la unión de una viga a una placa o a un soporte soldando sólo el alma. Es habitual asimilar esta unión a una articulación. Sin embargo, el modelo por elementos finitos nos ofrece su comportamiento real, que es intermedio entre articulado y empotrado, ya que se transmite un momento y el giro es menor que el del apoyo simple. No obstante, la aplicación del modelo de elementos finitos, introduciendo la geometría de todos los elementos estructurales de un entramado metálico, tampoco resulta en general viable desde un punto de vista práctico, dado que requiere invertir mucho tiempo en comparación con el aumento de precisión que obtenemos respecto a los programas de nudos y barras, mucho más rápidos en la fase de modelización de la estructura. En esta tesis se ha abordado, mediante la modelización por elementos finitos, la resolución de una serie de casos tipo representativos de las uniones más comúnmente ejecutadas en obras de edificación, como son las uniones viga-pilar, estableciendo el comportamiento de estas uniones en función de las variables que comúnmente se presentan, y que son: •Ejecución de uniones viga-pilar soldando solo por el alma (unión por el alma), o bien soldando la viga al pilar por todo su perímetro (unión total). •Disposición o no de rigidizadores en los pilares •Uso de pilares de sección 2UPN en cajón o de tipo HEB, que son los tipos de soporte utilizados en casi el 100% de los casos en edificación. Para establecer la influencia de estas variables en el comportamiento de las uniones, y su repercusión en las vigas, se ha realizado un análisis comparativo entre las variables de resultado de los casos estudiados:•Estados tensionales en vigas y uniones. •Momentos en extremo de vigas •Giros totales y relativos en nudos. •Flechas. Otro de los aspectos que nos permite analizar la casuística planteada, es la valoración, desde un punto de vista de costos de ejecución, de la realización de uniones por todo el perímetro frente a las uniones por el alma, o de la disposición o no de rigidizadores en las uniones por todo el perímetro. Los resultados a este respecto, son estrictamente desde un punto de vista económico, sin perjuicio de que la seguridad o las preferencias de los proyectistas aconsejen una solución determinada. Finalmente, un tercer aspecto que nos ha permitido abordar el estudio planteado, es la comparación de resultados que se obtienen por el método de los elementos finitos, más próximos a la realidad, ya que se tiene en cuenta los giros relativos en las uniones, frente a los resultados obtenidos con programas de nudos y barras. De esta forma, podemos seguir usando el modelo de nudos y barras, más versátil y rápido, pero conociendo cuáles son sus limitaciones, y en qué aspectos y en qué medida, debemos ponderar sus resultados. En el último apartado de la tesis se apuntan una serie de temas sobre los que sería interesante profundizar en posteriores estudios, mediante modelos de elementos finitos, con el objeto de conocer mejor el comportamiento de las uniones estructurales metálicas, en aspectos que no se pueden abordar con los programas de nudos y barras. For the project and calculation of steel structures, mainly building frames and cover lattices, the tool more commonly used are the node and bars model computer programs. In these programs we define the geometry and section of the bars, whose mechanical characteristics are perfectly known, and from which we obtain the all calculation results of stresses and displacements. Nevertheless, the other component of the model, the nodes, are much more difficulty for establishing their mechanical properties, mainly the rotation fixity coefficients, as well as the stresses and displacements. This "ignorance" about the real performance of the nodes, is commonly saved by assimilating to them the condition of fixed or articulated. Though the calculation programs offer the possibility to introducing nodes with an intermediate fixity (half-fixed nodes), the fixity of every node will depend on the real connection’s geometry, which, given the great variety of connections geometries that in a project exist, makes practically unviable to introduce the coefficients corresponding to every node in the models of nodes and bars. Both Eurocode and the CTE, establish that every connection will have a typical moment-rotation associated curve, which will have to be determined for the designers by calculation tools or experimental procedures. Nevertheless, this one is an exposition difficult to carry out for each project. The consequence of this, is that in the practice, in projects are extensive checking and calculation reports about the bars of the structures, trusting in hands of the common practice the solution and execution of the connections, resulting without justification and verification their safety and their real behaviour. Another aspect that carries the lack of the connections characterization, is that we don´t know how affects the connections real behaviour in the stresses and displacements of the bars that attack them, doubts that often assault us, not only in the project phase, but also at the moment of solving the execution problems that inevitably happen in the development of the construction works. The calculation by finite element model is a tool that allows us to introduce the real profiles and connections geometry, and allows us to know about the real behaviour of the connections, which is determined by their geometry. Typical example is a beam-plate or beam-support connection welding only by the web. It is usual to assimilate this connection to an articulation or simple support. Nevertheless, the finite element model determines its real performance, which is between articulated and fixed, since a moment is transmitted and the relative rotation is less than the articulation’s rotation. Nevertheless, the application of the finite element model, introducing the geometry of all the structural elements of a metallic structure, does not also turn out to be viable from a practical point of view, provided that it needs to invest a lot of time in comparison with the precision increase that we obtain opposite the node and bars programs, which are much more faster in the structure modelling phase. In this thesis it has been approached, by finite element modelling, the resolution of a representative type cases of the connections commonly used in works of building, since are the beam-support connections, establishing the performance of these connections depending on the variables that commonly are present, which are: •Execution of beam-support connections welding only the web, or welding the beam to the support for the whole perimeter. •Disposition of stiffeners in the supports •Use 2UPN in box section or HEB section, which are the support types used in almost 100% building cases. To establish the influence of these variables in the connections performance, and the repercussion in the beams, a comparative analyse has been made with the resulting variables of the studied cases: •Stresses states in beams and connections. •Bending moments in beam ends. •Total and relative rotations in nodes. •Deflections in beams. Another aspect that the study allows us to analyze, is the valuation, from a costs point of view, of the execution of connections for the whole perimeter opposite to the web connections, or the execution of stiffeners. The results of this analyse, are strictly from an economic point of view, without prejudice that the safety or the preferences of the designers advise a certain solution. Finally, the third aspect that the study has allowed us to approach, is the comparison of the results that are obtained by the finite element model, nearer to the real behaviour, since the relative rotations in the connections are known, opposite to the results obtained with nodes and bars programs. So that, we can use the nodes and bars models, more versatile and quick, but knowing which are its limitations, and in which aspects and measures, we must weight the results. In the last part of the tesis, are relationated some of the topics on which it would be interesting to approach in later studies, with finite elements models, in order to know better the behaviour of the structural steel connections, in aspects that cannot be approached by the nodes and bars programs.
Resumo:
The book represents a very interesting example of the possibility to combine in a single publication basic theory of structures and quite advanced topics on the same subject. The author fulfills this objective in a reasonable size book, less than 400 pages divided into 15 chapters averaging 20 pages each plus 9 short appendices. A diskette is also included in the book. This diskette contains training as well practical executable programs on different aspects of structural analysis, such as cross-sections properties,general-purpose computer programs for the static, dynamic and stability analysis of simple bar structures, etc. The book figures are didactic and have been carefully drawn.
Resumo:
The use of the Information and Communication Technologies (ICT) in Learning Environment allows achieving the maximum interaction between Teachers and Students.The Virtual Learning Environments are computer programs that benefit the learning facilitating the communication between users. Open Source software allow to create the own online modular learning environment with a fast placed in service. In the present paper the use of a Learning Management Systems (LMS) as continuous education tool is proposed.
Resumo:
Early ancestors of crop simulation models (De Wit, 1965; Monteith, 1965; Duncan et al., 1967) were born before primitive personal computers were available (e.g. Apple II released in 1977, IBM PC released in 1981). Paleo-computer programs were run in mainframes with the support of punch cards. As computers became more available and powerful, crop models evolved into sophisticated tools summarizing our understanding of how crops operate. This evolution was triggered by the need to answer new scientific questions and improve the accuracy of model simulations, especially under limiting conditions.
Resumo:
The term "Logic Programming" refers to a variety of computer languages and execution models which are based on the traditional concept of Symbolic Logic. The expressive power of these languages offers promise to be of great assistance in facing the programming challenges of present and future symbolic processing applications in Artificial Intelligence, Knowledge-based systems, and many other areas of computing. The sequential execution speed of logic programs has been greatly improved since the advent of the first interpreters. However, higher inference speeds are still required in order to meet the demands of applications such as those contemplated for next generation computer systems. The execution of logic programs in parallel is currently considered a promising strategy for attaining such inference speeds. Logic Programming in turn appears as a suitable programming paradigm for parallel architectures because of the many opportunities for parallel execution present in the implementation of logic programs. This dissertation presents an efficient parallel execution model for logic programs. The model is described from the source language level down to an "Abstract Machine" level suitable for direct implementation on existing parallel systems or for the design of special purpose parallel architectures. Few assumptions are made at the source language level and therefore the techniques developed and the general Abstract Machine design are applicable to a variety of logic (and also functional) languages. These techniques offer efficient solutions to several areas of parallel Logic Programming implementation previously considered problematic or a source of considerable overhead, such as the detection and handling of variable binding conflicts in AND-Parallelism, the specification of control and management of the execution tree, the treatment of distributed backtracking, and goal scheduling and memory management issues, etc. A parallel Abstract Machine design is offered, specifying data areas, operation, and a suitable instruction set. This design is based on extending to a parallel environment the techniques introduced by the Warren Abstract Machine, which have already made very fast and space efficient sequential systems a reality. Therefore, the model herein presented is capable of retaining sequential execution speed similar to that of high performance sequential systems, while extracting additional gains in speed by efficiently implementing parallel execution. These claims are supported by simulations of the Abstract Machine on sample programs.
Resumo:
We present two concurrent semantics (i.e. semantics where concurrency is explicitely represented) for CC programs with atomic tells. One is based on simple partial orders of computation steps, while the other one is based on contextual nets and it is an extensión of a previous one for eventual CC programs. Both such semantics allow us to derive concurrency, dependency, and nondeterminism information for the considered languages. We prove some properties about the relation between the two semantics, and also about the relation between them and the operational semantics. Moreover, we discuss how to use the contextual net semantics in the context of CLP programs. More precisely, by interpreting concurrency as possible parallelism, our semantics can be useful for a safe parallelization of some CLP computation steps. Dually, the dependency information may also be interpreted as necessary sequentialization, thus possibly exploiting it for the task of scheduling CC programs. Moreover, our semantics is also suitable for CC programs with a new kind of atomic tell (called locally atomic tell), which checks for consistency only the constraints it depends on. Such a tell achieves a reasonable trade-off between efficiency and atomicity, since the checked constraints can be stored in a local memory and are thus easily accessible even in a distributed implementation.
Resumo:
Much work has been done in the áreas of and-parallelism and data parallelism in Logic Programs. Such work has proceeded to a certain extent in an independent fashion. Both types of parallelism offer advantages and disadvantages. Traditional (and-) parallel models offer generality, being able to exploit parallelism in a large class of programs (including that exploited by data parallelism techniques). Data parallelism techniques on the other hand offer increased performance for a restricted class of programs. The thesis of this paper is that these two forms of parallelism are not fundamentally different and that relating them opens the possibility of obtaining the advantages of both within the same system. Some relevant issues are discussed and solutions proposed. The discussion is illustrated through visualizations of actual parallel executions implementing the ideas proposed.
Resumo:
We propose a computational methodology -"B-LOG"-, which offers the potential for an effective implementation of Logic Programming in a parallel computer. We also propose a weighting scheme to guide the search process through the graph and we apply the concepts of parallel "branch and bound" algorithms in order to perform a "best-first" search using an information theoretic bound. The concept of "session" is used to speed up the search process in a succession of similar queries. Within a session, we strongly modify the bounds in a local database, while bounds kept in a global database are weakly modified to provide a better initial condition for other sessions. We also propose an implementation scheme based on a database machine using "semantic paging", and the "B-LOG processor" based on a scoreboard driven controller.
Resumo:
Separating programs into modules is a well-known technique which has proven very useful in program development and maintenance. Starting by introducing a number of possible scenarios, in this paper we study different issues which appear when developing analysis and specialization techniques for modular logic programming. We discuss a number of design alternatives and their consequences for the different scenarios considered and describe where applicable the decisions made in the Ciao system analyzer and specializer. In our discussion we use the module system of Ciao Prolog. This is both for concreteness and because Ciao Prolog is a second-generation Prolog system which has been designed with global analysis and specialization in mind, and which has a strict module system. The aim of this work is not to provide a theoretical basis on modular analysis and specialization, but rather to discuss some interesting practical issues.
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.