26 research outputs found

    Formal Component-Based Semantics

    Get PDF
    One of the proposed solutions for improving the scalability of semantics of programming languages is Component-Based Semantics, introduced by Peter D. Mosses. It is expected that this framework can also be used effectively for modular meta theoretic reasoning. This paper presents a formalization of Component-Based Semantics in the theorem prover Coq. It is based on Modular SOS, a variant of SOS, and makes essential use of dependent types, while profiting from type classes. This formalization constitutes a contribution towards modular meta theoretic formalizations in theorem provers. As a small example, a modular proof of determinism of a mini-language is developed.Comment: In Proceedings SOS 2011, arXiv:1108.279

    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

    Relatório de estágio em farmácia comunitária

    Get PDF
    Relatório de estágio realizado no âmbito do Mestrado Integrado em Ciências Farmacêuticas, apresentado à Faculdade de Farmácia da Universidade de Coimbr

    A Modular Rewriting Semantics for CML

    No full text
    Abstract: This paper presents a modular rewriting semantics (MRS) specification for Reppy’s Concurrent ML (CML), based on Peter Mosses ’ modular structural operational semantics specification for CML. A modular rewriting semantics specification for a programming language is a rewrite theory in rewriting logic written using techniques that support the modular development of the specification in the precise sense that every module extension is conservative. We show that the MRS of CML can be used to interpret CML programs using the rewrite engine of the Maude system, a highperformance implementation of rewriting logic, and to verify CML programs using Maude’s built-in LTL model checker. It is assumed that the reader is familiar with basic concepts of structural operational semantics and algebraic specifications

    Uma implementação de semântica operacional estrutural modular em Maude

    No full text
    This dissertation presents a formal tool for Modular Structural Operational Semantics (MSOS), based on the conversion from MSOS to Rewriting Logic recently developed by Braga and Meseguer. The implementation, named Maude MSOS Tool (MMT), was written in Maude, a high-performance implementation of Rewriting Logic. The development of MMT attempts not only to provide an MSOS interpreter that uses a specification language that is closer to the domain of MSOS specifications than to Maude specifications, but also to demonstrate what can be accomplished when one develops a formal tool in the Maude environment, since it allows the use of other formal tools already available with MSDF specifications. We have demonstrated this by simulating and model checking concurrent programs and distributed algorithms. Another aim is to provide an example of a non-trivial extension of Full Maude and to create a tool that is itself extensible.Conselho Nacional de Desenvolvimento Cientifico e TecnológicoEsta dissertação apresenta uma ferramenta formal para Semântica Estrutural Operacional Modular (MSOS, na sigla em inglês), utilizando-se da conversão de MSOS para Lógica de Reescrita recentemente desenvolvida por Braga e Meseguer. A implementação, denominada Maude MSOS Tool (MMT), foi desenvolvida em Maude, uma implementação de Lógica de Reescrita de alta performance. O desenvolvimento de MMT objetiva não somente desenvolver uma ferramenta que utiliza uma linguagem de especificação que está mais próxima do domínio MSOS do que da Lógica de Reescrita, como também demonstrar o que ganhamos ao desenvolver um ambiente completamente formal em Maude, uma vez que isto possibilita o uso de outras ferramentas formais disponíveis para especificações MSDF. Demonstramos isto através de simulação e verificaçãoo de algoritmos distribuídos e programas concorrentes. Outro objetivo é exemplificar uma extensão não-trivial de Full Maude

    An implementation of modular sos in maude

    No full text
    Abstract. Modularity is a pragmatic property of specifications that is not easy to achieve. For instance, it has been left as an open problem by Plotkin in his 81 Aarhus lecture notes where Structural Operational Semantics (SOS) was defined. This open problem has been solved only recently by Mosses with Modular SOS (MSOS), a framework that extends labelled transitions systems with a label category where the semantic information is encapsulated inside its arrows. This extension gave rise to arrow-labelled transition systems that allow MSOS specifications to be made modular, that is, extended monotonically. The objective of this paper is to present the Maude MSOS Tool, a Maude implementation of MSOS. Maude is a fast implementation of rewriting logic, a reflective logic that has been shown as a generic framework which can represent many logics, specification languages and models of computation. It is precisely the reflective capabilities of rewriting logic implemented in the Maude system that allow us to create an executable environment for MSOS: Maude MSOS Tool.

    A Formal Semantics for a Quality of Service Contract Language

    Get PDF
    AbstractCurrent interests in the context of system development include non-functional aspects of an application and the quality of the service (QoS) it provides. In video on demand applications, for instance, properties such as delay, bandwidth and CPU utilization are monitored in order to identify if they are within acceptable limits. In our approach, non-functional requirements are described by contracts. A contract specifies acceptable variations on the availability of these properties and how service replacement can be negotiated to keep the QoS of the application within the acceptable limits. In this paper we give an operational semantics for QoS contracts and report its implementation in a prototype tool that allows us to execute and analyze QoS contracts. The QoS Tool, our prototype, transforms QoS contract descriptions into modular structural operational semantics (MSOS) specifications. MSOS specifications are executable and analyzable in the Maude MSOS Tool, which uses efficient rewriting to execute, search and model checking MSOS specifications. We exemplify how the QoS Tool can be used by analyzing a video on demand application against real data

    Universal Dependencies 2.0

    No full text
    Universal Dependencies is a project that seeks to develop cross-linguistically consistent treebank annotation for many languages, with the goal of facilitating multilingual parser development, cross-lingual learning, and parsing research from a language typology perspective. The annotation scheme is based on (universal) Stanford dependencies (de Marneffe et al., 2006, 2008, 2014), Google universal part-of-speech tags (Petrov et al., 2012), and the Interset interlingua for morphosyntactic tagsets (Zeman, 2008). This release is special in that the treebanks will be used as training/development data in the CoNLL 2017 shared task (http://universaldependencies.org/conll17/). Test data are not released, except for the few treebanks that do not take part in the shared task. 64 treebanks will be in the shared task, and they correspond to the following 45 languages: Ancient Greek, Arabic, Basque, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, German, Gothic, Greek, Hebrew, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Kazakh, Korean, Latin, Latvian, Norwegian, Old Church Slavonic, Persian, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish, Ukrainian, Urdu, Uyghur and Vietnamese. This release fixes a bug in http://hdl.handle.net/11234/1-1976. Changed files: ud-tools-v2.0.tgz (conllu_to_text.pl, conllu_to_conllx.pl; added text_without_spaces.pl), ud-treebanks-conll2017.tgz (fi_ftb-ud-train.txt, he-ud-train.txt, it-ud-train.txt, pt_br-ud-train.txt, es-ud-train.txt) and ud-treebanks-v2.0.tgz (fi_ftb-ud-train.txt, he-ud-train.txt, it-ud-train.txt, pt_br-ud-train.txt, es-ud-train.txt, ar_nyuad-ud-dev.txt, ar_nyuad-ud-test.txt, ar_nyuad-ud-train.txt, cop-ud-dev.txt, cop-ud-test.txt, cop-ud-train.txt, sa-ud-dev.txt, sa-ud-test.txt, sa-ud-train.txt)
    corecore