40 research outputs found

    Imperial College Computing Student Workshop

    Get PDF

    Prototyping Formal System Models with Active Objects

    Full text link
    We propose active object languages as a development tool for formal system models of distributed systems. Additionally to a formalization based on a term rewriting system, we use established Software Engineering concepts, including software product lines and object orientation that come with extensive tool support. We illustrate our modeling approach by prototyping a weak memory model. The resulting executable model is modular and has clear interfaces between communicating participants through object-oriented modeling. Relaxations of the basic memory model are expressed as self-contained variants of a software product line. As a modeling language we use the formal active object language ABS which comes with an extensive tool set. This permits rapid formalization of core ideas, early validity checks in terms of formal invariant proofs, and debugging support by executing test runs. Hence, our approach supports the prototyping of formal system models with early feedback.Comment: In Proceedings ICE 2018, arXiv:1810.0205

    ACUOS: A System for Order-Sorted Modular ACU Generalization

    Full text link
    [ES] La generalizaci贸n, tambi茅n denominada anti-unificaci贸n, es la operaci贸n dual de la unificaci贸n. Dados dos t茅rminos t y t' , un generalizador es un t茅rmino t'' del cual t y t' son instancias de sustituci贸n. El concepto dual del unificador m谩s general (mgu) es el de generalizador menos general (lgg). En esta tesina extendemos el conocido algoritmo de generalizaci贸n sin tipos a, primero, una configuraci贸n order-sorted con sorts, subsorts y polimorfismo de subtipado; en segundo lugar, la extendemos para soportar generalizaci贸n m贸dulo teor铆as ecuacionales, donde los s铆mbolos de funci贸n pueden obedecer cualquier combinaci贸n de axiomas de asociatividad, conmutatividad e identidad (incluyendo el conjunto vac铆o de dichos axiomas); y, en tercer lugar, a la combinaci贸n de ambos, que resulta en un algoritmo modular de generalizaci贸n order-sorted ecuacional. A diferencia de las configuraciones sin tipos, en nuestro marco te贸rico en general el lgg no es 煤nico, lo que se debe tanto al tipado como a los axiomas ecuacionales. En su lugar, existe un conjunto finito y m铆nimo de lggs, tales que cualquier otra generalizaci贸n tiene a alguno de ellos como instancia. Nuestros algoritmos de generalizaci贸n se expresan mediante reglas de inferencia para las cuales damos demostraciones de correcci贸n. Ello abre la puerta a nuevas aplicaciones en campos como la evaluaci贸n parcial, la s铆ntesis de programas, la miner铆a de datos y la demostraci贸n de teoremas para sistemas de razonamiento ecuacional y lenguajes tipados basados en reglas tales como ASD+SDF, Elan, OBJ, CafeOBJ y Maude. Esta tesis tambi茅n describe una herramienta para el c贸mputo automatizado de los generalizadores de un conjunto dado de estructuras en un lenguaje tipado m贸dulo un conjunto de axiomas dado. Al soportar la combinaci贸n modular de atributos ecuacionales de asociatividad, conmutatividad y existencia de elemento neutro (ACU) para s铆mbolos de funci贸n arbitrarios, la generalizaci贸n ACU modular aporta suficiente poder expresivo a la generalizaci贸n ordinaria para razonar sobre estructuras de datos tipadas tales como listas, conjuntos y multiconjuntos. La t茅cnica ha sido implementada con generalidad y eficiencia en el sistema ACUOS y puede ser f谩cilmente integrada con software de terceros.[EN] Generalization, also called anti-uni cation, is the dual of uni cation. Given terms t and t 0 , a generalization is a term t 00 of which t and t 0 are substitution instances. The dual of a most general uni er (mgu) is that of least general generalization (lgg). In this thesis, we extend the known untyped generalization algorithm to, rst, an order-sorted typed setting with sorts, subsorts, and subtype polymorphism; second, we extend it to work modulo equational theories, where function symbols can obey any combination of associativity, commutativity, and identity axioms (includ- ing the empty set of such axioms); and third, to the combination of both, which results in a modular, order-sorted equational generalization algo- rithm. Unlike the untyped case, there is in general no single lgg in our framework, due to order-sortedness or to the equational axioms. Instead, there is a nite, minimal set of lggs, so that any other generalization has at least one of them as an instance. Our generalization algorithms are expressed by means of inference systems for which we give proofs of cor- rectness. This opens up new applications to partial evaluation, program synthesis, data mining, and theorem proving for typed equational rea- soning systems and typed rule-based languages such as ASF+SDF, Elan, OBJ, Cafe-OBJ, and Maude. This thesis also describes a tool for automatically computing the gen- eralizers of a given set of structures in a typed language modulo a set of axioms. By supporting the modular combination of associative, com- mutative and unity (ACU) equational attributes for arbitrary function symbols, modular ACU generalization adds enough expressive power to ordinary generalization to reason about typed data structures such as lists, sets and multisets. The ACU generalization technique has been generally and e ciently implemented in the ACUOS system and can be easily integrated with third-party software.Espert Real, J. (2012). ACUOS: A System for Order-Sorted Modular ACU Generalization. http://hdl.handle.net/10251/1921

    Specification and Verification of Invariant Properties of Transition Systems

    Get PDF

    Service-oriented logic programming

    Get PDF
    We develop formal foundations for notions and mechanisms needed to support service-oriented computing. Our work builds on recent theoretical advancements in the algebraic structures that capture the way services are orchestrated and in the processes that formalize the discovery and binding of services to given client applications by means of logical representations of required and provided services. We show how the denotational and the operational semantics specific to conventional logic programming can be generalized using the theory of institutions to address both static and dynamic aspects of service-oriented computing. Our results rely upon a strong analogy between the discovery of a service that can be bound to an application and the search for a clause that can be used for computing an answer to a query; they explore the manner in which requests for external services can be described as service queries, and explain how the computation of their answers can be performed through service-oriented derivatives of unification and resolution, which characterize the binding of services and the reconfiguration of applications

    A Modular Order-sorted Equational Generalization Algorithm

    Full text link
    Generalization, also called anti-unification, is the dual of unification. Given terms t and t , a generalizer is a term t of which t and t are substitution instances. The dual of a most general unifier (mgu) is that of least general generalizer (lgg). In this work, we extend the known untyped generalization algorithm to, first, an order-sorted typed setting with sorts, subsorts, and subtype polymorphism; second, we extend it to work modulo equational theories, where function symbols can obey any combination of associativity, commutativity, and identity axioms (including the empty set of such axioms); and third, to the combination of both, which results in a modular, order-sorted equational generalization algorithm. Unlike the untyped case, there is in general no single lgg in our framework, due to order-sortedness or to the equational axioms. Instead, there is a finite, minimal and complete set of lggs, so that any other generalizer has at least one of them as an instance. Our generalization algorithms are expressed by means of inference systems for which we give proofs of correctness. This opens up new applications to partial evaluation, program synthesis, and theorem proving for typed equational reasoning systems and typed rulebased languages such as ASF+SDF, Elan, OBJ, Cafe-OBJ, and Maude. 漏 2014 Elsevier Inc. All rights reserved. 1.M. Alpuente, S. Escobar, and J. Espert have been partially supported by the EU (FEDER) and the Spanish MEC/MICINN under grant TIN 2010-21062-C02-02, and by Generalitat Valenciana PROMETEO2011/052. J. Meseguer has been supported by NSF Grants CNS 09-04749, and CCF 09-05584.Alpuente Frasnedo, M.; Escobar Rom谩n, S.; Espert Real, J.; Meseguer, J. (2014). A Modular Order-sorted Equational Generalization Algorithm. Information and Computation. 235:98-136. https://doi.org/10.1016/j.ic.2014.01.006S9813623

    Minimum-Cost Reachability for Priced Timed Automata

    Get PDF
    This paper introduces the model of linearly priced timed automata as an extension of timed automata, with prices on both transitions and locations. For this model we consider the minimum-cost reachability problem: i.e. given a linearly priced timed automaton and a targetstate, determine the minimum cost of executions from the initial state to the target state. This problem generalizes the minimum-time reachability problem for ordinary timed automata. We prove decidability of this problem by offering an algorithmic solution, which is based on a combination of branch-and-bound techniques and a new notion of priced regions. The latter allows symbolic representation and manipulation of reachable states together with the cost of reaching them.Keywords: Timed Automata, Verification, Data Structures, Algorithms,Optimization

    Symbolic Analysis of Maude Theories with Narval

    Get PDF
    [EN] Concurrent functional languages that are endowed with symbolic reasoning capabilities such as Maude offer a high-level, elegant, and efficient approach to programming and analyzing complex, highly nondeterministic software systems. Maude's symbolic capabilities are based on equational unification and narrowing in rewrite theories, and provide Maude with advanced logic programming capabilities such as unification modulo user-definable equational theories and symbolic reachability analysis in rewrite theories. Intricate computing problems may be effectively and naturally solved in Maude thanks to the synergy of these recently developed symbolic capabilities and classical Maude features, such as: (i) rich type structures with sorts (types), subsorts, and overloading; (ii) equational rewriting modulo various combinations of axioms such as associativity, commutativity, and identity; and (iii) classical reachability analysis in rewrite theories. However, the combination of all of these features may hinder the understanding of Maude symbolic computations for non-experienced developers. The purpose of this article is to describe how programming and analysis of Maude rewrite theories can be made easier by providing a sophisticated graphical tool called Narval that supports the fine-grained inspection of Maude symbolic computations.This work has been partially supported by the EU (FEDER) and the Spanish MCIU under grant RTI2018-094403-B-C32, by the Spanish Generalitat Valenciana under grants PROMETEO/2019/098 and APOSTD/2019/127, and by the US Air Force Office of Scientific Research under award number FA9550-17-1-0286.Alpuente Frasnedo, M.; Escobar Rom谩n, S.; Sapi帽a-Sanchis, J.; Ballis, D. (2019). Symbolic Analysis of Maude Theories with Narval. Theory and Practice of Logic Programming. 19(5-6):874-890. https://doi.org/10.1017/S1471068419000243S874890195-
    corecore