34 research outputs found

    Efficient rewriting techniques

    Get PDF
    This thesis considers three aspects of the (efficient) implementation of term rewrite systems. For efficient matching of terms against rules we introduce a formal notion of match trees. These match trees can be used to simultaneously match a term against multiple rewrite rules. The second aspect is that of temporary-term construction. After each application of a rewrite rule, a new (often temporary) term is constructed. In order to make rewriting as efficient as possible, it is shown how to annotate these temporary terms such that the information about which (sub)terms are already rewritten to normal form is preserved. This allows strategies to be written such that these subterms, known to be in normal form, will not be considered a second time. To avoid needless construction of temporary terms, it is also shown how to determine what subterms will be rewritten later on for sure, allowing for immediate rewriting of such terms. Finally, the notion of strategy trees is introduced. These strategy trees allow for a flexible specification of lazy rewrite strategies. Conditions are given for strategy trees that guarantee that rewriting a term results in a normal form of that term. Also, a method is given to automatically generate strategy trees that satisfy these conditions

    Process algebra with local communication

    Get PDF

    GenSpect process algebra

    Get PDF

    Search algorithms for automated validation

    Get PDF

    An account of implementing applicative term rewriting

    No full text

    Automating soundness proofs

    No full text
    AbstractWhen developing a new language with semantics described by Structural Operational Semantics (SOS), one often wants an axiomatisation of this language (w.r.t. to some equivalence) as well. We describe a method for automating the straightforward soundness proofs for the axioms of such an axiomatisation

    Process algebra with local communication

    No full text

    Process algebra with local communication

    No full text
    In process algebras like µCRL and ACP communication is defined globally. In the context of component-based architectures one wishes to define subcomponents of a system separately, including communication within that subcomponent. We define a process algebra with an operator for local communication that facilitates component-based architectures. Besides being compositional, this language is aimed to be a more practical language (with respect to closely related languages) and also allows for straightforward modelling of synchronous as well as asynchronous behaviour

    Automating soundness proofs

    No full text

    From µCRL to mCRL2 : motivation and outline

    No full text
    We sketch the language mCRL2, the successor of µCRL, which is a process algebra with data, devised in 1990 to model and study the behaviour of interacting programs and systems. The language is improved in several respects guided by the experience obtained from numerous applications where realistic systems have been modelled and analysed. Just as with µCRL, the leading principle is to provide a minimal set of primitives that allow effective specifications, that conform to standard mathematics and that allow standard mathematical manipulations and proof methodologies. In the first place the equational abstract datatypes have been enhanced with higher-order constructs and standard data types, ranging from booleans, numbers and lists to sets, bags and higher-order function types. In the second place multi-actions have been introduced to allow a seamless integration with Petri nets. In the last place communication is made local to enable compositionality
    corecore