2,240 research outputs found

    The CIAO Multi-Dialect Compiler and System: An Experimentation Workbench for Future (C)LP Systems

    Full text link
    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

    Transport energy consumption in mountainous roads. A comparative case study for internal combustion engines and electric vehicles in Andorra

    Get PDF
    This paper analyses transport energy consumption of conventional and electric vehicles in mountainous roads. A standard round trip in Andorra has been modelled in order to characterise vehicle dynamics in hilly regions. Two conventional diesel vehicles and their electric-equivalent models have been simulated and their performances have been compared. Six scenarios have been simulated to study the effects of factors such as orography, traffic congestion and driving style. The European fuel consumption and emissions test and Artemis urban driving cycles, representative of European driving cycles, have also been included in the comparative analysis. The results show that road grade has a major impact on fuel economy, although it affects consumption in different levels depending on the technology analysed. Electric vehicles are less affected by this factor as opposed to conventional vehicles, increasing the potential energy savings in a hypothetical electrification of the car fleet. However, electric vehicle range in mountainous terrains is lower compared to that estimated by manufacturers, a fact that could adversely affect a massive adoption of electric cars in the short term.Peer ReviewedPostprint (author’s final draft

    An overview of the ciao multiparadigm language and program development environment and its design philosophy

    Full text link
    We describe some of the novel aspects and motivations behind the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a large number of useful features from different programming paradigms and styles, and that the use of each of these features can be turned on and off at will for each program module. Thus, a given module may be using e.g. higher order functions and constraints, while another module may be using objects, predicates, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of program optimizations. Such optimizations produce code that is highly competitive with other dynamic languages or, when the highest levéis of optimization are used, even that of static languages, all while retaining the interactive development environment of a dynamic language. The environment also includes a powerful auto-documenter. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in the format of a paper, pointing instead to the existing literature on the system

    Divided we stand: Parallel distributed stack memory management

    Get PDF
    We present an overview of the stack-based memory management techniques that we used in our non-deterministic and-parallel Prolog systems: &-Prolog and DASWAM. We believe that the problems associated with non-deterministic and-parallel systems are more general than those encountered in or-parallel and deterministic and-parallel systems, which can be seen as subsets of this more general case. We develop on the previously proposed "marker scheme", lifting some of the restrictions associated with the selection of goals while keeping (virtual) memory consumption down. We also review some of the other problems associated with the stack-based management scheme, such as handling of forward and backward execution, cut, and roll-backs

    Comparing rockfall scar volumes and kinematically detachable rock masses

    Get PDF
    Scenario-based risk assessment for rockfalls, requires assumptions for different scenarios of magnitude (volume). The magnitude of such instabilities is related to the properties of the jointed rock mass, with the characteristics of the existing unfavourably dipping joint sets playing a major role. The critical factors for the determination of the maximum credible rockfall volume in a study site, the Forat Negre in Andorra, are investigated. The results from two previous analyses for the rockfall size distribution at this site are discussed. The first analysis provides the observed size distribution of the rockfall scars, and it is an empirical evidence of past rockfalls. The second one, calculates the kinematically detachable rock masses, indicating hypothetical rockfalls that might occur in the future. The later gives a maximum rockfall volume, which is one order of magnitude higher, because the persistence of the basal planes is overestimated. The tension cracks and lateral planes interrupt systematically the basal planes, exerting a control over their persistence, and restricting the formation of extensive planes and large rockfall failures. Nonetheless, the formation of basal planes across more than one spacings of tension cracks is possible and small step-path failures have been observed too. Concluding, the key factor for the determination of the maximum credible volume at the study-site is the maximum realistic length of the basal planes, penetrating into the rock mass, their spacing, and, if applied, the contribution of the rock bridges to the overall rock mass resistance.Peer ReviewedPostprint (author's final draft

    Transformation�based implementation and optimization of programs exploiting the basic Andorra model.

    Get PDF
    The characteristics of CC and CLP systems are in principle very dierent However a recent trend towards convergence in the implementation techniques for these systems can be observed While CLP and Prolog systems have been incorporating capabilities to deal with userdened suspension and coroutining CC compilers have been trying to coalesce negrained tasks into coarsergrained sequential threads This convergence of techniques opens up the possibility of having a general purpose kernel language and abstract machine to serve as a compilation target for a variety of userlevel languages We propose a transformation technique directed towards such an objective In particular we report on techniques to support the Andorra computational model essentially emulating the AndorraI system via program transformation into a sequential language with delay primitives The system is automatic comprising an optional program analyzer and a basic transformer to the kernel language It turns out that a simple parallel CLP or Prolog system with dynamic scheduling is sucient as a kernel language for this purpose The preliminary results are quite encouraging performance of the resulting system is comparable to the current AndorraI implementation
    corecore