151 research outputs found

    Controlling Rewriting: study and implementation of a strategy formalism (Abstract)

    Get PDF
    AbstractThis paper summarizes my PhD thesis devoted to an introduction of a new strategy formalism for the first-order rewrite system, called ELAN. Goals of my PhD thesis are proposing and studying different constructions expressing the control of rewriting at the level of rules and strategies, studying a strategy-directed cooperation of procedures (i.e. solvers), and finally, exploring certain reflexive aspects of computational systems to be able to express their transformations by computational systems. The principal goal is a design of a declarative, strictly typed and extensible strategy language based on rewriting logic within the existing framework ELAN. A programming style of the strategy language, different language constructions and extensions (e.g. high-level or polymorphic strategies) and several used implementation techniques (e.g. partial evaluation, or compilation) are also studied in this thesis. This paper outlines the principal problems attacked in this thesis, highlights several new ideas and proposed solutions

    Ground-level ozone - seasons, relationships, conjunctions

    Get PDF
    Ground-level ozone - seasons, relationships, conjunctions Jan Borovanský Abstract Episodes of increased ground-level ozone concentrations change with the environment. While in urban areas are the increased concentrations irregular and remain short in the ground-level of atmosphere, in the background environment and higher altitude areas they last longer with very low amplitude. From the urban areas to background areas increase annual mean concentration of ground-level ozone as well. Ground-level ozone is secondary pollutant - its concentration depends on amount of precursors in the atmosphere and on meteorological conditions. Dependence on ozone precursors is changing progressively with the type of environment while meterological conditions play relatively same role in all types of environment. In urban areas, relation to ozone precursors is quite strong, in contrast with background areas where no significant relation is registered (the same correlation can be observed with increasing altitude). Therefore a distant transmission is considered as the dominant source of ground-level ozone in the background areas. Relationships between ground-level ozone and its precursors within the scope of daily regime are further studied in this work. Resulting curve in a chart has octal shape and can be divided into 4 main...Přízemní ozon - sezóny, vztahy, souvislosti Jan Borovanský Abstrakt Sezóny zvýšených koncentrací přízemního ozonu se mění v závislosti na typu prostředí. Zatímco v městském prostředí mají krátké trvání a vyskytují se nepravidelně, rozšiřuje se směrem do pozaďových oblastí a vyšších nadmořských výšek délka jejich trvání a klesá ostrost (resp. výraznost) jejich hranic. Zároveň v uvedeném směru roste průměrná roční koncentrace přízemního ozonu. Přízemní ozon je sekundárním polutantem, který je závislý jednak na množství prekurzorů jeho tvorby v ovzduší a jednak na meteorologických podmínkách. Závislost na těchto faktorech se však v případě množství prekurzorů v ovzduší výrazně mění v souvislosti opět s různým typem prostředí, kdežto v případě meteorologických podmínek zůstává neměnná. Zatímco ve městech je vazba na obsah prekurzorů v ovzduší poměrně velká, v pozaďových oblastech je prakticky nulová (pokles závislosti se projevuje i s rostoucí nadmořskou výškou). Dálkový přenos je proto považován za dominantní zdroj přízemního ozonu v těchto oblastech. Objevují se však situace, během nichž může v pozaďových oblastech kromě dálkového přenosu hrát úlohu i jiný faktor. Kromě výše uvedených zjištěných skutečností jsou v práci dále zkoumány souvislosti mezi přízemním ozonem a jeho prekurzory v rámci společného...Department of Physical Geography and GeoecologyKatedra fyzické geografie a geoekologieFaculty of SciencePřírodovědecká fakult

    Lazy AC-Pattern Matching for Rewriting

    Full text link
    We define a lazy pattern-matching mechanism modulo associativity and commutativity. The solutions of a pattern-matching problem are stored in a lazy list composed of a first substitution at the head and a non-evaluated object that encodes the remaining computations. We integrate the lazy AC-matching in a strategy language: rewriting rule and strategy application produce a lazy list of terms.Comment: In Proceedings WRS 2011, arXiv:1204.531

    Singular and Plural Functions for Functional Logic Programming

    Full text link
    Functional logic programming (FLP) languages use non-terminating and non-confluent constructor systems (CS's) as programs in order to define non-strict non-determi-nistic functions. Two semantic alternatives have been usually considered for parameter passing with this kind of functions: call-time choice and run-time choice. While the former is the standard choice of modern FLP languages, the latter lacks some properties---mainly compositionality---that have prevented its use in practical FLP systems. Traditionally it has been considered that call-time choice induces a singular denotational semantics, while run-time choice induces a plural semantics. We have discovered that this latter identification is wrong when pattern matching is involved, and thus we propose two novel compositional plural semantics for CS's that are different from run-time choice. We study the basic properties of our plural semantics---compositionality, polarity, monotonicity for substitutions, and a restricted form of the bubbling property for constructor systems---and the relation between them and to previous proposals, concluding that these semantics form a hierarchy in the sense of set inclusion of the set of computed values. We have also identified a class of programs characterized by a syntactic criterion for which the proposed plural semantics behave the same, and a program transformation that can be used to simulate one of them by term rewriting. At the practical level, we study how to use the expressive capabilities of these semantics for improving the declarative flavour of programs. We also propose a language which combines call-time choice and our plural semantics, that we have implemented in Maude. The resulting interpreter is employed to test several significant examples showing the capabilities of the combined semantics. To appear in Theory and Practice of Logic Programming (TPLP)Comment: 53 pages, 5 figure

    Extensional and Intensional Strategies

    Full text link
    This paper is a contribution to the theoretical foundations of strategies. We first present a general definition of abstract strategies which is extensional in the sense that a strategy is defined explicitly as a set of derivations of an abstract reduction system. We then move to a more intensional definition supporting the abstract view but more operational in the sense that it describes a means for determining such a set. We characterize the class of extensional strategies that can be defined intensionally. We also give some hints towards a logical characterization of intensional strategies and propose a few challenging perspectives

    Strategic programming on graph rewriting systems

    Full text link
    We describe a strategy language to control the application of graph rewriting rules, and show how this language can be used to write high-level declarative programs in several application areas. This language is part of a graph-based programming tool built within the port-graph transformation and visualisation environment PORGY.Comment: In Proceedings IWS 2010, arXiv:1012.533

    A Port Graph Rewriting Approach to Relational Database Modelling

    Get PDF
    International audienceWe present new algorithms to compute the Syntactic Closure and the Minimal Cover of a set of functional dependencies, using strategic port graph rewriting. We specify a Visual Domain Specific Language to model relational database schemata as port graphs, and provide an extension to port graph rewriting rules. Using these rules we implement strategies to compute a syntactic closure, analyse it and find minimal covers, essential for schema normalisation. The graph program provides a visual description of the computation steps coupled with analysis features not available in other approaches. We prove soundness and completeness of the computed closure. This methodology is implemented in PORGY

    Basic completion strategies as another application of the Maude strategy language

    Full text link
    The two levels of data and actions on those data provided by the separation between equations and rules in rewriting logic are completed by a third level of strategies to control the application of those actions. This level is implemented on top of Maude as a strategy language, which has been successfully used in a wide range of applications. First we summarize the Maude strategy language design and review some of its applications; then, we describe a new case study, namely the description of completion procedures as transition rules + control, as proposed by Lescanne.Comment: In Proceedings WRS 2011, arXiv:1204.531

    Programming errors in traversal programs over structured data

    Get PDF
    Traversal strategies \'a la Stratego (also \'a la Strafunski and 'Scrap Your Boilerplate') provide an exceptionally versatile and uniform means of querying and transforming deeply nested and heterogeneously structured data including terms in functional programming and rewriting, objects in OO programming, and XML documents in XML programming. However, the resulting traversal programs are prone to programming errors. We are specifically concerned with errors that go beyond conservative type errors; examples we examine include divergent traversals, prematurely terminated traversals, and traversals with dead code. Based on an inventory of possible programming errors we explore options of static typing and static analysis so that some categories of errors can be avoided. This exploration generates suggestions for improvements to strategy libraries as well as their underlying programming languages. Haskell is used for illustrations and specifications with sufficient explanations to make the presentation comprehensible to the non-specialist. The overall ideas are language-agnostic and they are summarized accordingly
    • …
    corecore