51,251 research outputs found

    Modelling Planning Problems with Rules & Strategies

    Get PDF
    Rapport interne.The ELAN system provides an environment for specifying and prototyping deduction systems in a language based on rewrite rules controlled by strategies. We design in ELAN a specific planning problem, namely a controller for printing tasks, by combining rules, strategies and constraint solving on finite domains

    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

    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

    Maude: specification and programming in rewriting logic

    Get PDF
    Maude is a high-level language and a high-performance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and theories. The underlying equational logic chosen for Maude is membership equational logic, that has sorts, subsorts, operator overloading, and partiality definable by membership and equality conditions. Rewriting logic is reflective, in the sense of being able to express its own metalevel at the object level. Reflection is systematically exploited in Maude endowing the language with powerful metaprogramming capabilities, including both user-definable module operations and declarative strategies to guide the deduction process. This paper explains and illustrates with examples the main concepts of Maude's language design, including its underlying logic, functional, system and object-oriented modules, as well as parameterized modules, theories, and views. We also explain how Maude supports reflection, metaprogramming and internal strategies. The paper outlines the principles underlying the Maude system implementation, including its semicompilation techniques. We conclude with some remarks about applications, work on a formal environment for Maude, and a mobile language extension of Maude

    A Symbolic Transformation Language and its Application to a Multiscale Method

    Get PDF
    The context of this work is the design of a software, called MEMSALab, dedicated to the automatic derivation of multiscale models of arrays of micro- and nanosystems. In this domain a model is a partial differential equation. Multiscale methods approximate it by another partial differential equation which can be numerically simulated in a reasonable time. The challenge consists in taking into account a wide range of geometries combining thin and periodic structures with the possibility of multiple nested scales. In this paper we present a transformation language that will make the development of MEMSALab more feasible. It is proposed as a Maple package for rule-based programming, rewriting strategies and their combination with standard Maple code. We illustrate the practical interest of this language by using it to encode two examples of multiscale derivations, namely the two-scale limit of the derivative operator and the two-scale model of the stationary heat equation.Comment: 36 page

    Implementation of a Port-graph Model for Finance

    Get PDF
    In this paper we examine the process involved in the design and implementation of a port-graph model to be used for the analysis of an agent-based rational negligence model. Rational negligence describes the phenomenon that occurred during the financial crisis of 2008 whereby investors chose to trade asset-backed securities without performing independent evaluations of the underlying assets. This has contributed to motivating the search for more effective and transparent tools in the modelling of the capital markets. This paper shall contain the details of a proposal for the use of a visual declarative language, based on strategic port-graph rewriting, as a visual modelling tool to analyse an asset-backed securitisation market.Comment: In Proceedings TERMGRAPH 2018, arXiv:1902.0151

    Rewriting Strategies in Java

    Get PDF
    International audienceIn any language designed to express transformations, the notion of rewrite rule is a key feature. Its conciseness as well as its strong theoretical foundations are essential. The notion of strategy is complementary: this describes how rules are applied. In this paper, we show how a high-level strategy language can be implemented in a Java setting. We present the integration of the visitor combinator design pattern into Tom. This corresponds to an interpreter for strategy expressions. To be more efficient, we present a compilation method based on bytecode specialization. This low-level transformation is expressed in Tom itself, using rules and strategies

    Graph Creation, Visualisation and Transformation

    Full text link
    We describe a tool to create, edit, visualise and compute with interaction nets - a form of graph rewriting systems. The editor, called GraphPaper, allows users to create and edit graphs and their transformation rules using an intuitive user interface. The editor uses the functionalities of the TULIP system, which gives us access to a wealth of visualisation algorithms. Interaction nets are not only a formalism for the specification of graphs, but also a rewrite-based computation model. We discuss graph rewriting strategies and a language to express them in order to perform strategic interaction net rewriting

    Canonical Abstract Syntax Trees

    Get PDF
    This paper presents Gom, a language for describing abstract syntax trees and generating a Java implementation for those trees. Gom includes features allowing the user to specify and modify the interface of the data structure. These features provide in particular the capability to maintain the internal representation of data in canonical form with respect to a rewrite system. This explicitly guarantees that the client program only manipulates normal forms for this rewrite system, a feature which is only implicitly used in many implementations
    • …
    corecore