12 research outputs found

    Constructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation

    Get PDF
    We construct a hierarchy of semantics by successive abstract interpretations. Starting from the maximal trace semantics of a transition system, we derive the big-step semantics, termination and nontermination semantics, Plotkin’s natural, Smyth’s demoniac and Hoare’s angelic relational semantics and equivalent nondeterministic denotational semantics (with alternative powerdomains to the Egli-Milner and Smyth constructions), D. Scott’s deterministic denotational semantics, the generalized and Dijkstra’s conservative/liberal predicate transformer semantics, the generalized/total and Hoare’s partial correctness axiomatic semantics and the corresponding proof methods. All the semantics are presented in a uniform fixpoint form and the correspondences between these semantics are established through composable Galois connections, each semantics being formally calculated by abstract interpretation of a more concrete one using Kleene and/or Tarsk

    A simple calculus for program transformation (inclusive of induction)

    Get PDF
    AbstractA basic purpose of transformation systems is the application of ‘correctness-preserving rules’ in order to derive from given programs new, ‘equivalent’ ones. An important aspect here is the usage of induction principles, without which transformation systems would have too limited power.The paper presents a formal system of ‘transformation rules’ that incorporates induction. This system is a kind of ‘Gentzen-style calculus’, impoverished, however, to a degree that just meets the needs of program transformation. Thus we achieve a basis for the design of transformation systems, which is both simple and sound

    Modeling Time in Computing: A Taxonomy and a Comparative Survey

    Full text link
    The increasing relevance of areas such as real-time and embedded systems, pervasive computing, hybrid systems control, and biological and social systems modeling is bringing a growing attention to the temporal aspects of computing, not only in the computer science domain, but also in more traditional fields of engineering. This article surveys various approaches to the formal modeling and analysis of the temporal features of computer-based systems, with a level of detail that is suitable also for non-specialists. In doing so, it provides a unifying framework, rather than just a comprehensive list of formalisms. The paper first lays out some key dimensions along which the various formalisms can be evaluated and compared. Then, a significant sample of formalisms for time modeling in computing are presented and discussed according to these dimensions. The adopted perspective is, to some extent, historical, going from "traditional" models and formalisms to more modern ones.Comment: More typos fixe

    The synchronous languages 12 years later

    Full text link

    木を用いた構造化並列プログラミング

    Get PDF
    High-level abstractions for parallel programming are still immature. Computations on complicated data structures such as pointer structures are considered as irregular algorithms. General graph structures, which irregular algorithms generally deal with, are difficult to divide and conquer. Because the divide-and-conquer paradigm is essential for load balancing in parallel algorithms and a key to parallel programming, general graphs are reasonably difficult. However, trees lead to divide-and-conquer computations by definition and are sufficiently general and powerful as a tool of programming. We therefore deal with abstractions of tree-based computations. Our study has started from Matsuzaki’s work on tree skeletons. We have improved the usability of tree skeletons by enriching their implementation aspect. Specifically, we have dealt with two issues. We first have implemented the loose coupling between skeletons and data structures and developed a flexible tree skeleton library. We secondly have implemented a parallelizer that transforms sequential recursive functions in C into parallel programs that use tree skeletons implicitly. This parallelizer hides the complicated API of tree skeletons and makes programmers to use tree skeletons with no burden. Unfortunately, the practicality of tree skeletons, however, has not been improved. On the basis of the observations from the practice of tree skeletons, we deal with two application domains: program analysis and neighborhood computation. In the domain of program analysis, compilers treat input programs as control-flow graphs (CFGs) and perform analysis on CFGs. Program analysis is therefore difficult to divide and conquer. To resolve this problem, we have developed divide-and-conquer methods for program analysis in a syntax-directed manner on the basis of Rosen’s high-level approach. Specifically, we have dealt with data-flow analysis based on Tarjan’s formalization and value-graph construction based on a functional formalization. In the domain of neighborhood computations, a primary issue is locality. A naive parallel neighborhood computation without locality enhancement causes a lot of cache misses. The divide-and-conquer paradigm is known to be useful also for locality enhancement. We therefore have applied algebraic formalizations and a tree-segmenting technique derived from tree skeletons to the locality enhancement of neighborhood computations.電気通信大学201

    Multi-Context Reasoning in Continuous Data-Flow Environments

    Get PDF
    The field of artificial intelligence, research on knowledge representation and reasoning has originated a large variety of formats, languages, and formalisms. Over the decades many different tools emerged to use these underlying concepts. Each one has been designed with some specific application in mind and are even used nowadays, where the internet is seen as a service to be sufficient for the age of Industry 4.0 and the Internet of Things. In that vision of a connected world, with these many different formalisms and systems, a formal way to uniformly exchange information, such as knowledge and belief is imperative. That alone is not enough, because even more systems get integrated into the online world and nowadays we are confronted with a huge amount of continuously flowing data. Therefore a solution is needed to both, allowing the integration of information and dynamic reaction to the data which is provided in such continuous data-flow environments. This work aims to present a unique and novel pair of formalisms to tackle these two important needs by proposing an abstract and general solution. We introduce and discuss reactive Multi-Context Systems (rMCS), which allow one to utilise different knowledge representation formalisms, so-called contexts which are represented as an abstract logic framework, and exchange their beliefs through bridge rules with other contexts. These multiple contexts need to mutually agree on a common set of beliefs, an equilibrium of belief sets. While different Multi-Context Systems already exist, they are only solving this agreement problem once and are neither considering external data streams, nor are they reasoning continuously over time. rMCS will do this by adding means of reacting to input streams and allowing the bridge rules to reason with this new information. In addition we propose two different kind of bridge rules, declarative ones to find a mutual agreement and operational ones for adapting the current knowledge for future computations. The second framework is more abstract and allows computations to happen in an asynchronous way. These asynchronous Multi-Context Systems are aimed at modelling and describing communication between contexts, with different levels of self-management and centralised management of communication and computation. In this thesis rMCS will be analysed with respect to usability, consistency management, and computational complexity, while we will show how asynchronous Multi-Context Systems can be used to capture the asynchronous ideas and how to model an rMCS with it. Finally we will show how rMCSs are positioned in the current world of stream reasoning and that it can capture currently used technologies and therefore allows one to seamlessly connect different systems of these kinds with each other. Further on this also shows that rMCSs are expressive enough to simulate the mechanics used by these systems to compute the corresponding results on its own as an alternative to already existing ones. For asynchronous Multi-Context Systems, we will discuss how to use them and that they are a very versatile tool to describe communication and asynchronous computation

    Proceedings of the Second NASA Formal Methods Symposium

    Get PDF
    This publication contains the proceedings of the Second NASA Formal Methods Symposium sponsored by the National Aeronautics and Space Administration and held in Washington D.C. April 13-15, 2010. Topics covered include: Decision Engines for Software Analysis using Satisfiability Modulo Theories Solvers; Verification and Validation of Flight-Critical Systems; Formal Methods at Intel -- An Overview; Automatic Review of Abstract State Machines by Meta Property Verification; Hardware-independent Proofs of Numerical Programs; Slice-based Formal Specification Measures -- Mapping Coupling and Cohesion Measures to Formal Z; How Formal Methods Impels Discovery: A Short History of an Air Traffic Management Project; A Machine-Checked Proof of A State-Space Construction Algorithm; Automated Assume-Guarantee Reasoning for Omega-Regular Systems and Specifications; Modeling Regular Replacement for String Constraint Solving; Using Integer Clocks to Verify the Timing-Sync Sensor Network Protocol; Can Regulatory Bodies Expect Efficient Help from Formal Methods?; Synthesis of Greedy Algorithms Using Dominance Relations; A New Method for Incremental Testing of Finite State Machines; Verification of Faulty Message Passing Systems with Continuous State Space in PVS; Phase Two Feasibility Study for Software Safety Requirements Analysis Using Model Checking; A Prototype Embedding of Bluespec System Verilog in the PVS Theorem Prover; SimCheck: An Expressive Type System for Simulink; Coverage Metrics for Requirements-Based Testing: Evaluation of Effectiveness; Software Model Checking of ARINC-653 Flight Code with MCP; Evaluation of a Guideline by Formal Modelling of Cruise Control System in Event-B; Formal Verification of Large Software Systems; Symbolic Computation of Strongly Connected Components Using Saturation; Towards the Formal Verification of a Distributed Real-Time Automotive System; Slicing AADL Specifications for Model Checking; Model Checking with Edge-valued Decision Diagrams; and Data-flow based Model Analysis
    corecore