146,000 research outputs found

    Программирование высокопроизводительных параллельных вычислений: формальные модели и графические ускорители

    No full text
    Запропоновано розвиток формальних методів проектування, заснований на концепціях алгебраїчного програмування і алгебро-динамічних моделей програм з використанням техніки пере писувальних правил, для автоматизованої розробки ефективних програм для графічних прискорю вачів. Розроблені формальні засоби проілюстровано на конкретних задачах, що демонструють ви соку ефективність перетворень.We present the development of formal design methods based on the concepts of algebraic programming and algebraic dynamic models of programs using rewriting rules technique for the automated development of efficient programs for graphical processing units. The developed formal methods are illustrated by specific problems that demonstrate high performance of transformations

    Realizing QVT with Graph Rewriting-Based Model Transformation

    Get PDF
    Model-based development is an increasingly applied method in producing software artifacts that is driven by model transformation. For instance, OMG's Model-Driven Architecture as a model-based approach to software development facilitates the synthesis of application programs from models created using customized, domain-specific model processors. Meta Object Facility 2.0 Query/ Views/ Transformation (QVT) is the OMG's standard for specifying model queries, views, and transformations. Extensive research of graph transformation provides a strong formal background for model transformation. The main contribution of this paper is to show how high-level constraint constructs facilitate to realize transformations specified in QVT with metamodel-based model transformation. As a result we can reuse the graph transformation constructs, and its formal background, which facilitates to make QVT transformations validated

    Automatic Transformation from SOFL Formal Specifications to Programs for Software Verification and Testing

    Get PDF
    Abstract— The Structured Object-oriented Formal Language (SOFL) method is developed to overcome the disadvantages of existing formal methods and provide effective techniques for writing formal specifications and carrying out verification and testing. Although it has been applied to system modeling and design in practical and research projects, SOFL has not been widely applied to the industrial software development systems because of the lack of efficient tool support. Aiming at improving the existing SOFL supporting tool and solving the problem that the formal specifications cannot be directly executed, this paper firstly analyzes the relationship between the structures of SOFL formal specifications and C# programs, and then designs and implements the transforming classes for module transformations and data type transformations. Finally, a test is performed to ensure the reliability and validity of the implemented software system. Keywords— SOFL; Formal specifications; Automatic transformations; Programs

    Well-formed Model Co-evolution with Customizable Model Migration

    Get PDF
    Model-driven engineering (MDE) is a software engineering discipline which focuses on models as the primary artifact of the software development process while programs are mainly generated by means of model-to-code transformations. In particular, modeling languages tailored to specific domains promise to increase the productivity and quality of software. Nevertheless due to e.g. evolving requirements, modeling languages evolve and existing models have to be migrated. Corresponding manual model migration is tedious and error-prone, therefore tools have been developed to (partly) automate this process. We follow the idea of considering such modeling language and model co-evolutions as related graph transformations ensuring a correct and unique typing of migrated models. In this paper, we present a general and formal construction of well-formed model migration schemes that are able to co-adapt any model of a given modeling language to a performed meta-model change. We show how appropriate model migration schemes can be constructed and discuss how they may be customized

    Building an IDE for the Calculational Derivation of Imperative Programs

    Full text link
    In this paper, we describe an IDE called CAPS (Calculational Assistant for Programming from Specifications) for the interactive, calculational derivation of imperative programs. In building CAPS, our aim has been to make the IDE accessible to non-experts while retaining the overall flavor of the pen-and-paper calculational style. We discuss the overall architecture of the CAPS system, the main features of the IDE, the GUI design, and the trade-offs involved.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338

    Program transformations using temporal logic side conditions

    Get PDF
    This paper describes an approach to program optimisation based on transformations, where temporal logic is used to specify side conditions, and strategies are created which expand the repertoire of transformations and provide a suitable level of abstraction. We demonstrate the power of this approach by developing a set of optimisations using our transformation language and showing how the transformations can be converted into a form which makes it easier to apply them, while maintaining trust in the resulting optimising steps. The approach is illustrated through a transformational case study where we apply several optimisations to a small program

    A Framework for Datatype Transformation

    Get PDF
    We study one dimension in program evolution, namely the evolution of the datatype declarations in a program. To this end, a suite of basic transformation operators is designed. We cover structure-preserving refactorings, but also structure-extending and -reducing adaptations. Both the object programs that are subject to datatype transformations, and the meta programs that encode datatype transformations are functional programs.Comment: Minor revision; now accepted at LDTA 200

    Reverse Engineering from Assembler to Formal Specifications via Program Transformations

    Full text link
    The FermaT transformation system, based on research carried out over the last sixteen years at Durham University, De Montfort University and Software Migrations Ltd., is an industrial-strength formal transformation engine with many applications in program comprehension and language migration. This paper is a case study which uses automated plus manually-directed transformations and abstractions to convert an IBM 370 Assembler code program into a very high-level abstract specification.Comment: 10 page

    Recursive Program Optimization Through Inductive Synthesis Proof Transformation

    Get PDF
    The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the target, which yields a computationally more efficient algorithm. We describe a working proof transformation system which, by exploiting the duality between mathematical induction and recursion, employs the novel strategy of optimizing recursive programs by transforming inductive proofs. We compare and contrast this approach with the more traditional approaches to program transformation, and highlight the benefits of proof transformation with regards to search, correctness, automatability and generality
    corecore