991 resultados para Bi-level programming


Relevância:

30.00% 30.00%

Publicador:

Resumo:

A framework for the automatic parallelization of (constraint) logic programs is proposed and proved correct. Intuitively, the parallelization process replaces conjunctions of literals with parallel expressions. Such expressions trigger at run-time the exploitation of restricted, goal-level, independent and-parallelism. The parallelization process performs two steps. The first one builds a conditional dependency graph (which can be implified using compile-time analysis information), while the second transforms the resulting graph into linear conditional expressions, the parallel expressions of the &-Prolog language. Several heuristic algorithms for the latter ("annotation") process are proposed and proved correct. Algorithms are also given which determine if there is any loss of parallelism in the linearization process with respect to a proposed notion of maximal parallelism. Finally, a system is presented which implements the proposed approach. The performance of the different annotation algorithms is compared experimentally in this system by studying the time spent in parallelization and the effectiveness of the results in terms of speedups.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Although studies of a number of parallel implementations of logic programming languages are now available, their results are difficult to interpret due to the multiplicity of factors involved, the effect of each of which is difficult to sepárate. In this paper we present the results of a high-level simulation study of or- and independent and-parallelism with a wide selection of Prolog programs that aims to determine the intrinsic amount of parallelism, independently of implementation factors, thus facilitating this separation. We expect this study will be instrumental in better understanding and comparing results from actual implementations, as shown by some examples provided in the paper. In addition, the paper examines some of the issues and tradeoffs associated with the combination of and- and or-parallelism and proposes reasonable solutions based on the simulation data obtained.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A new formalism, called Hiord, for defining type-free higherorder logic programming languages with predicate abstraction is introduced. A model theory, based on partial combinatory algebras, is presented, with respect to which the formalism is shown sound. A programming language built on a subset of Hiord, and its implementation are discussed. A new proposal for defining modules in this framework is considered, along with several examples.

Relevância:

30.00% 30.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 deñned, 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 and report on an implementation of our ideas.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Global data-flow analysis of (constraint) logic programs, which is generally based on abstract interpretation [7], is reaching a comparatively high level of maturity. A natural question is whether it is time for its routine incorporation in standard compilers, something which, beyond a few experimental systems, has not happened to date. Such incorporation arguably makes good sense only if: • the range of applications of global analysis is large enough to justify the additional complication in the compiler, and • global analysis technology can deal with all the features of "practical" languages (e.g., the ISO-Prolog built-ins) and "scales up" for large programs. We present a tutorial overview of a number of concepts and techniques directly related to the issues above, with special emphasis on the first one. In particular, we concéntrate on novel uses of global analysis during program development and debugging, rather than on the more traditional application área of program optimization. The idea of using abstract interpretation for validation and diagnosis has been studied in the context of imperative programming [2] and also of logic programming. The latter work includes issues such as using approximations to reduce the burden posed on programmers by declarative debuggers [6, 3] and automatically generating and checking assertions [4, 5] (which includes the more traditional type checking of strongly typed languages, such as Gódel or Mercury [1, 8, 9]) We also review some solutions for scalability including modular analysis, incremental analysis, and widening. Finally, we discuss solutions for dealing with meta-predicates, side-effects, delay declarations, constraints, dynamic predicates, and other such features which may appear in practical languages. In the discussion we will draw both from the literature and from our experience and that of others in the development and use of the CIAO system analyzer. In order to emphasize the practical aspects of the solutions discussed, the presentation of several concepts will be illustrated by examples run on the CIAO system, which makes extensive use of global analysis and assertions.

Relevância:

30.00% 30.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:

30.00% 30.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:

30.00% 30.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:

30.00% 30.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:

30.00% 30.00%

Publicador:

Resumo:

Automatic grading of programming assignments is an important topic in academic research. It aims at improving the level of feedback given to students and optimizing the professor time. Several researches have reported the development of software tools to support this process. Then, it is helpfulto get a quickly and good sight about their key features. This paper reviews an ample set of tools forautomatic grading of programming assignments. They are divided in those most important mature tools, which have remarkable features; and those built recently, with new features. The review includes the definition and description of key features e.g. supported languages, used technology, infrastructure, etc. The two kinds of tools allow making a temporal comparative analysis. This analysis infrastructure, etc. The two kinds of tools allow making a temporal comparative analysis. This analysis shows good improvements in this research field, these include security, more language support, plagiarism detection, etc. On the other hand, the lack of a grading model for assignments is identified as an important gap in the reviewed tools. Thus, a characterization of evaluation metrics to grade programming assignments is provided as first step to get a model. Finally new paths in this research field are proposed.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Defect interaction can take place in CdTe under Te and Bi rich conditions. We demonstrate in this work through first principles calculations, that this phenomenon allows a Jahn Teller distortion to form an isolated half-filled intermediate band in the host semiconductor band-gap. This delocalized energy band supports the experimental deep level reported in the host band-gap of CdTe at a low bismuth concentration. Furthermore, the calculated optical absorption of CdTe:Bi in this work shows a significant subband-gap absorption that also supports the enhancement of the optical absorption found in the previous experimental results.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

In this paper, we present a mixed-integer linear programming model for determining salary-revision matrices for an organization based on that organization?s general strategies. The solution obtained from this model consists of salary increases for each employee; these increases consider the employee?s professional performance, salary level relative to peers within the organization, and professional group. In addition to budget constraints, we modeled other elements typical of compensation systems, such as equity and justice. Red Eléctrica de España (REE), the transmission agent and operator of the Spanish electricity system, used the model to revise its 2010 and 2011 salary policies, and achieved results that were aligned with the company strategy. REE incorporated the model into the salary management module within its information system, and plans to continue to use the model in revisions of the module.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Bismuth ultra-thin films grown on n-GaAs electrodes via electrodeposition are porous due to a blockade of the electrode surface caused by adsorbed hydrogen when using acidic electrolytes. In this study, we discuss the existence of two sources of hydrogen adsorption and we propose different routes to unblock the n-GaAs surface in order to improve Bi films compactness. Firstly, we demonstrate that increasing the electrolyte temperature provides compact yet polycrystalline Bi films. Cyclic voltammetry scans indicate that this low crystal quality might be a result of the incorporation of Bi hydroxides within the Bi film as a result of the temperature increase. Secondly, we have illuminated the semiconductor surface to take advantage of photogenerated holes. These photocarriers oxidize the adsorbed hydrogen unblocking the surface, but also create pits at the substrate surface that degrade the Bi/GaAs interface and prevent an epitaxial growth. Finally, we show that performing a cyclic voltammetry scan before electrodeposition enables the growth of compact Bi ultra-thin films of high crystallinity on semiconductor substrates with a doping level low enough to perform transport measurements.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

This conceptual study explores ethnic identity development theory in order to argue that ethnic identity development education is a means of developing broad senses of community in the African Diaspora that expand beyond a tribal, local, familial level. This study suggests that the broadening of community understanding would contribute to establishing social sustainability on regional, national and international levels within the Pan African community. Establishing such social sustainability would have direct effects on the areas of economic and environmental sustainability. One of the goals of this project is to offer suggestions for ethnically relevant education that can develop social sustainability in several places throughout the Diaspora, such as in Nigeria where ethnic conflicts are a contemporary concern.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

The development of new nano-biocomposites has been one of the main research areas of interest in polymer science in recent years, since they can combine the intrinsic biodegradable nature of matrices with the ability to modify their properties by the addition of selected nano-reinforcements. In this work, the addition of mineral nanoclays (montmorillonites and sepiolites) to a commercial starch-based matrix is proposed. A complete study on their processing by melt-intercalation techniques and further evaluation of the main properties of nano-biocomposites has been carried out. The results reported show an important influence of the nano-biocomposites morphology on their final properties. In particular, the rheological and viscoelastic characteristics of these systems are very sensitive to the dispersion level of the nanofiller, but it is possible to assess that the material processing behaviour is not compromised by the presence of these nano-reinforcements. In general, both nanofillers had a positive influence in the materials final properties. Mechanical performance shows improvements in terms of elastic modulus, without important limitations in terms of ductility. Thermal properties are improved in terms of residual mass after degradation and low improvements are also observed in terms of oxygen barrier properties.