51,251 research outputs found
Modelling Planning Problems with Rules & Strategies
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)
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
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
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
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
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
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
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
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
- …