2,076 research outputs found

    A UML/OCL framework for the analysis of fraph transformation rules

    Get PDF
    In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (i) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (ii) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (iii) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a backannotation mechanism that presents the analysis results in terms of the original language notation

    Affine Sessions

    Full text link
    Session types describe the structure of communications implemented by channels. In particular, they prescribe the sequence of communications, whether they are input or output actions, and the type of value exchanged. Crucial to any language with session types is the notion of linearity, which is essential to ensure that channels exhibit the behaviour prescribed by their type without interference in the presence of concurrency. In this work we relax the condition of linearity to that of affinity, by which channels exhibit at most the behaviour prescribed by their types. This more liberal setting allows us to incorporate an elegant error handling mechanism which simplifies and improves related works on exceptions. Moreover, our treatment does not affect the progress properties of the language: sessions never get stuck

    A constraint-based approach to structuring language and music:Towards a roadmap for comparing language and music cross-culturally

    Get PDF
    We pursue the hypothesis that musical differences between cultures are based on linguistic, especially phonological, properties of the culture's spoken language. To study this hypothesis, we present a general constraint-based framework for describing the structural similarities between music and language. Music and language are structured by the fact that some sounds are more important than others, based on cognitive strategies which we present here as universal well-formedness conditions. However, which sounds are considered to be most salient differs across cultures, as evidenced by the world's many linguistic and musical typologies. The first goal of our research approach is to identify these universal well-formedness conditions (e.g. prominence of strong elements based on the syllable/chord structure and domain marking based on intonation/ melody patterns, pauses) for speech and music. The second goal is to assess how cultures differ from each other in terms of the relative salience assigned to these conditions (i.e. how these conditions are "ranked"). The current paper is meant to be an introduction to a new approach with focus on the identification of general well-formedness conditions. We introduce similar conditions for the description of language and music in order to make comparison of the two disciplines more fruitful. The goal of our research approach is to create a theoretical and methodological map to aid more detailed culture-specific comparisons. The ultimate aim is to provide a comprehensive typological overview for which we will start with a selection of culture families following the World Atlas of Language Structures online (Dryer &amp; Haspelmath, 2013) for language and the Global Jukebox (Wood &amp; Arèvalo, 2018) for music.</p

    Partial Aborts for Transactions via First Class Continuations

    Get PDF
    Software transactional memory (STM) has proven to be a useful abstraction for developing concurrent applications where programmers denote transactions with an atomic construct that delimits a collection of reads and writes to shared mutable references. The runtime system then guarantees that all transactions are observed to execute atomically with respect to each other. Traditionally, when the runtime system detects that one transaction conflicts with another, it aborts one of the transactions and restarts its execution from the beginning. This can lead to problems with both execution time and throughput. This thesis presents a novel approach that uses first-class continuations to restart a conflicting transaction at the point of a conflict, avoiding the re-execution of any work from the beginning of the transaction that has not been compromised. In practice, this allows transactions to complete more quickly, decreasing execution time and increasing throughput. The ideas presented in this thesis have been implemented in the context of the Manticore project, an ML-family language with support for parallelism and concurrency. Crucially, this work relies on constant-time continuation capturing via a continuation-passing-style (CPS) transformation and heap-allocated continuations. The partial abort scheme has been implemented as a part of three modern STM implementations: TL2, TinySTM, and NOrec. Experimental results show that, while no base STM implementation is universally best, each partial-abort implementation compares favorably to its full-abort counterpart. In addition to an implementation, this thesis presents a formal semantics for partial aborts. A proof of correctness is given by relating the partial-abort semantics to an analogous full-abort semantics via a simulation. All proofs have been formally verified using the Coq Theorem Prover
    • …
    corecore