970,622 research outputs found

    Refining Nodes and Edges of State Machines

    No full text
    State machines are hierarchical automata that are widely used to structure complex behavioural specifications. We develop two notions of refinement of state machines, node refinement and edge refinement. We compare the two notions by means of examples and argue that, by adopting simple conventions, they can be combined into one method of refinement. In the combined method, node refinement can be used to develop architectural aspects of a model and edge refinement to develop algorithmic aspects. The two notions of refinement are grounded in previous work. Event-B is used as the foundation for our refinement theory and UML-B state machine refinement influences the style of node refinement. Hence we propose a method with direct proof of state machine refinement avoiding the detour via Event-B that is needed by UML-B

    Programming Language Features for Refinement

    Full text link
    Algorithmic and data refinement are well studied topics that provide a mathematically rigorous approach to gradually introducing details in the implementation of software. Program refinements are performed in the context of some programming language, but mainstream languages lack features for recording the sequence of refinement steps in the program text. To experiment with the combination of refinement, automated verification, and language design, refinement features have been added to the verification-aware programming language Dafny. This paper describes those features and reflects on some initial usage thereof.Comment: In Proceedings Refine'15, arXiv:1606.0134

    Proving Skipping Refinement with ACL2s

    Full text link
    We describe three case studies illustrating the use of ACL2s to prove the correctness of optimized reactive systems using skipping refinement. Reasoning about reactive systems using refinement involves defining an abstract, high-level specification system and a concrete, low-level system. Next, one shows that the behaviors of the implementation system are allowed by the specification system. Skipping refinement allows us to reason about implementation systems that can "skip" specification states due to optimizations that allow the implementation system to take several specification steps at once. Skipping refinement also allows implementation systems to, i.e., to take several steps before completing a specification step. We show how ACL2s can be used to prove skipping refinement theorems by modeling and proving the correctness of three systems: a JVM-inspired stack machine, a simple memory controller, and a scalar to vector compiler transformation.Comment: In Proceedings ACL2 2015, arXiv:1509.05526. arXiv admin note: text overlap with arXiv:1502.0294

    3D mesh refinement procedure using the bisection and rivara algorithms with mesh quality assessment

    Get PDF
    Mesh refinement procedures for the solution of three dimensional problems are described. The computational\ud domain is represented by an assembly of tetrahedral elements and the mesh refinement is acheived by the bisection\ud and Rivara methods using an explicit mesh density function coupled with an automatic 3D mesh generator.\ud A couple of benchmark examples is used to compare the performance of both refinement methods in terms of mesh\ud and size qualities, number of generated elements and CPU time consume

    An analysis of total correctness refinement models for partial relation semantics I

    Get PDF
    This is the first of a series of papers devoted to the thorough investigation of (total correctness) refinement based on an underlying partial relational model. In this paper we restrict attention to operation refinement. We explore four theories of refinement based on an underlying partial relation model for specifications, and we show that they are all equivalent. This, in particular, sheds some light on the relational completion operator (lifted-totalisation) due to Wookcock which underlines data refinement in, for example, the specification language Z. It further leads to two simple alternative models which are also equivalent to the others
    corecore