27 resultados para New Mexico
Resumo:
It is now widely accepted that separating programs into modules has proven very useful in program development and maintenance. While many Prolog implementations include useful module systems, we feel that these systems can be improved in a number of ways, such as, for example, being more amenable to effective global analysis and allowing sepárate compilation or sensible creation of standalone executables. We discuss a number of issues related to the design of such an improved module system for Prolog. Based on this, we present the choices made in the Ciao module system, which has been designed to meet a number of objectives: allowing sepárate compilation, extensibility in features and in syntax, amenability to modular global analysis, etc.
Resumo:
Concurrency in Logic Programming has received much attention in the past. One problem with many proposals, when applied to Prolog, is that they involve large modifications to the standard implementations, and/or the communication and synchronization facilities provided do not fit as naturally within the language model as we feel is possible. In this paper we propose a new mechanism for implementing synchronization and communication for concurrency, based on atomic accesses to designated facts in the (shared) datábase. We argüe that this model is comparatively easy to implement and harmonizes better than previous proposals within the Prolog control model and standard set of built-ins. We show how in the proposed model it is easy to express classical concurrency algorithms and to subsume other mechanisms such as Linda, variable-based communication, or classical parallelism-oriented primitives. We also report on an implementation of the model and provide performance and resource consumption data.
Resumo:
We present a tutorial overview of Ciaopp, the Ciao system preprocessor. Ciao is a public-domain, next-generation logic programming system, which subsumes ISO-Prolog and is specifically designed to a) be highly extensible via librarles and b) support modular program analysis, debugging, and optimization. The latter tasks are performed in an integrated fashion by Ciaopp. Ciaopp uses modular, incremental abstract interpretation to infer properties of program predicates and literals, including types, variable instantiation properties (including modes), non-failure, determinacy, bounds on computational cost, bounds on sizes of terms in the program, etc. Using such analysis information, Ciaopp can find errors at compile-time in programs and/or perform partial verification. Ciaopp checks how programs cali system librarles and also any assertions present in the program or in other modules used by the program. These assertions are also used to genérate documentation automatically. Ciaopp also uses analysis information to perform program transformations and optimizations such as múltiple abstract specialization, parallelization (including granularity control), and optimization of run-time tests for properties which cannot be checked completely at compile-time. We illustrate "hands-on" the use of Ciaopp in all these tasks. By design, Ciaopp is a generic tool, which can be easily tailored to perform these and other tasks for different LP and CLP dialects.
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:
Ciao Prolog incorporates a module system which allows sepárate compilation and sensible creation of standalone executables. We describe some of the main aspects of the Ciao modular compiler, ciaoc, which takes advantage of the characteristics of the Ciao Prolog module system to automatically perform sepárate and incremental compilation and efficiently build small, standalone executables with competitive run-time performance, ciaoc can also detect statically a larger number of programming errors. We also present a generic code processing library for handling modular programs, which provides an important part of the functionality of ciaoc. This library allows the development of program analysis and transformation tools in a way that is to some extent orthogonal to the details of module system design, and has been used in the implementation of ciaoc and other Ciao system tools. We also describe the different types of executables which can be generated by the Ciao compiler, which offer different tradeoffs between executable size, startup time, and portability, depending, among other factors, on the linking regime used (static, dynamic, lazy, etc.). Finally, we provide experimental data which illustrate these tradeoffs.
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:
Ionoluminescence of α - quartz exhibits two dominant emission bands peaking at 1.9 eV. (NBOHCs) and 2.7 eV (STEs. The evolution of the red emission yield does not show a correlation with the concentrations of neither the NBOHC nor with that of other color centers. The blue emission yield closely follows the amorphization kinetics independently measured by RBS/C spectrometry. A simple theoretical model has been proposed; it assumes that the formation and recombination of STEs are the primary event and both, the light emissions and the lattice structural damage are a consequence this phenomenon. The model leads to several simple mathematical equations that can be used to simulate the IL yields and provide a reasonable fit to experimental kinetic data.
Resumo:
En este proyecto se hace un análisis en profundidad de las técnicas de ataque a las redes de ordenadores conocidas como APTs (Advanced Persistent Threats), viendo cuál es el impacto que pueden llegar a tener en los equipos de una empresa y el posible robo de información y pérdida monetaria que puede llevar asociada. Para hacer esta introspección veremos qué técnicas utilizan los atacantes para introducir el malware en la red y también cómo dicho malware escala privilegios, obtiene información privilegiada y se mantiene oculto. Además, y cómo parte experimental de este proyecto se ha desarrollado una plataforma para la detección de malware de una red en base a las webs, URLs e IPs que visitan los nodos que la componen. Obtendremos esta visión gracias a la extracción de los logs y registros de DNS de consulta de la compañía, sobre los que realizaremos un análisis exhaustivo. Para poder inferir correctamente qué equipos están infectados o no se ha utilizado un algoritmo de desarrollo propio inspirado en la técnica Belief Propagation (“Propagación basada en creencia”) que ya ha sido usada antes por desarrolladores cómo los de los Álamos en Nuevo México (Estados Unidos) para fines similares a los que aquí se muestran. Además, para mejorar la velocidad de inferencia y el rendimiento del sistema se propone un algoritmo adaptado a la plataforma Hadoop de Apache, por lo que se modifica el paradigma de programación habitual y se busca un nuevo paradigma conocido como MapReduce que consiste en la división de la información en conceptos clave-valor. Por una parte, los algoritmos que existen basados en Belief Propagation para el descubrimiento de malware son propietarios y no han sido publicados completamente hasta la fecha, por otra parte, estos algoritmos aún no han sido adaptados a Hadoop ni a ningún modelo de programación distribuida aspecto que se abordará en este proyecto. No es propósito de este proyecto desarrollar una plataforma comercial o funcionalmente completa, sino estudiar el problema de las APTs y una implementación que demuestre que la plataforma mencionada es factible de implementar. Este proyecto abre, a su vez, un horizonte nuevo de investigación en el campo de la adaptación al modelo MapReduce de algoritmos del tipo Belief Propagation basados en la detección del malware mediante registros DNS. ABSTRACT. This project makes an in-depth investigation about problems related to APT in computer networks nowadays, seeing how much damage could they inflict on the hosts of a Company and how much monetary and information loss may they cause. In our investigation we will find what techniques are generally applied by attackers to inject malware into networks and how this malware escalates its privileges, extracts privileged information and stays hidden. As the main part of this Project, this paper shows how to develop and configure a platform that could detect malware from URLs and IPs visited by the hosts of the network. This information can be extracted from the logs and DNS query records of the Company, on which we will make an analysis in depth. A self-developed algorithm inspired on Belief Propagation technique has been used to infer which hosts are infected and which are not. This technique has been used before by developers of Los Alamos Lab (New Mexico, USA) for similar purposes. Moreover, this project proposes an algorithm adapted to Apache Hadoop Platform in order to improve the inference speed and system performance. This platform replaces the traditional coding paradigm by a new paradigm called MapReduce which splits and shares information among hosts and uses key-value tokens. On the one hand, existing algorithms based on Belief Propagation are part of owner software and they have not been published yet because they have been patented due to the huge economic benefits they could give. On the other hand these algorithms have neither been adapted to Hadoop nor to other distributed coding paradigms. This situation turn the challenge into a complicated problem and could lead to a dramatic increase of its installation difficulty on a client corporation. The purpose of this Project is to develop a complete and 100% functional brand platform. Herein, show a short summary of the APT problem will be presented and make an effort will be made to demonstrate the viability of an APT discovering platform. At the same time, this project opens up new horizons of investigation about adapting Belief Propagation algorithms to the MapReduce model and about malware detection with DNS records.
Resumo:
AlGaAs/GaAs-based laser power PV converters intended for operation with high-power (up to 100 W/cm(2)) radiation were fabricated by LPE and MOCVD techniques. Monochromatic (lambda = 809 nm) conversion efficiency up to 60% was measured at cells with back surface field and low (x = 0.2) Al concentration 'window'. Modules with a voltage of 4 V and the efficiency of 56% were designed and fabricated.
Resumo:
In the work, the results of an investigation of GaInP/GaInAs/Ge MJ SCs intended for converting concentrated solar radiation, when operating at low temperatures (down to -190 degrees C) are presented. A kink of the cell I-V characteristic has been observed in the region close to V-oc starting from -20 degrees C at operation under concentrated sunlight. The causes for its occurrence have been analyzed and the reasons for formation of a built-in potential barrier for majority charge carriers at the n-GaInP/n-Ge isotype hetero-interface are discussed. The effect of charge carrier transport in n-GaInP/n-p Ge heterostructures on MJ SC output characteristics at low temperatures has been studied including EL technique.
Resumo:
Placing a plane mirror between the primary lens and the receiver in a Fresnel Köhler (FK) concentrator gives birth to a quite different CPV system where all the high-tech components sit on a common plane, that of the primary lens panels. The idea enables not only a thinner device (a half of the original) but also a low cost 1-step manufacturing process for the optics, automatic alignment of primary and secondary lenses, and cell/wiring protection. The concept is also compatible with two different techniques to increase the module efficiency: spectrum splitting between a 3J and a BPC Silicon cell for better usage of Direct Normal Irradiance DNI, and sky splitting to harvest the energy of the diffuse radiation and higher energy production throughout the year. Simple calculations forecast the module would convert 45% of the DNI into electricity.
Resumo:
EDROMO is a special perturbation method for the propagation of elliptical orbits in the perturbed two-body problem. The state vector consists of a time-element and seven spatial elements, and the independent variable is a generalized eccentric anomaly introduced through a Sundman time transformation. The key role in the derivation of the method is played by an intermediate reference frame which enjoys the property of remaining fixed in space as long as perturbations are absent. Three elements of EDROMO characterize the dynamics in the orbital frame and its orientation with respect to the intermediate frame, and the Euler parameters associated to the intermediate frame represent the other four spatial elements. The performance of EDromo has been analyzed by considering some typical problems in astrodynamics. In almost all our tests the method is the best among other popular formulations based on elements.
Resumo:
The paper presents a high accuracy fully analytical formulation to compute the miss distance and collision probability of two approaching objects following an impulsive collision avoidance maneuver. The formulation hinges on a linear relation between the applied impulse and the objects relative motion in the b-plane, which allows to formulate the maneuver optimization problem as an eigenvalue problem. The optimization criterion consists of minimizing the maneuver cost in terms of delta-V magnitude in order to either maximize collision miss distance or to minimize Gaussian collision probability. The algorithm, whose accuracy is verified in representative mission scenarios, can be employed for collision avoidance maneuver planning with reduced computational cost when compared to fully numerical algorithms.
Resumo:
We develop general closed-form expressions for the mutual gravitational potential, resultant and torque acting upon a rigid tethered system moving in a non-uniform gravity field produced by an attracting body with revolution symmetry, such that an arbitrary number of zonal harmonics is considered. The final expressions are series expansion in two small parameters related to the reference radius of the primary and the length of the tether, respectively, each of which are scaled by the mutual distance between their centers of mass. A few numerical experiments are performed to study the convergence behavior of the final expressions, and conclude that for high precision applications it might be necessary to take into account additional perturbation terms, which come from the mutual Two-Body interaction.
Resumo:
We derive a semi-analytic formulation that enables the study of the long-term dynamics of fast-rotating inert tethers around planetary satellites. These equations take into account the coupling between the translational and rotational motion, which has a non-negligible impact on the dynamics, as the orbital motion of the tether center of mass strongly depends on the tether plane of rotation and its spin rate, and vice-versa. We use these governing equations to explore the effects of this coupling on the dynamics, the lifetime of frozen orbits and the precession of the plane of rotation of the tether.