28,047 research outputs found
Transformational derivation of programs using the Focus system
A program derivation support system called Focus is being constructed. It will formally derive programs using the paradigm of program transformation. The following issues are discussed: (1) the integration of validation and program derivation activities in the Focus system; (2) its tree-based user interface; (3) the control of search spaces in program derivation; and (4) the structure and organization of program derivation records. The inference procedures of the system are based on the integration of functional and logic programming principles. This brings about a synthesis of paradigms that were heretofore considered far apart, such as logical and executable specifications and constructive and transformational approaches to program derivation. A great emphasis has been placed, in the design of Focus, on achieving small search spaces during program derivation. The program manipulation operations such as expansion, simplification and rewriting were designed with this objective. The role of operations that are expensive in search spaces, such as folding, has been reduced. Program derivations are documented in Focus in a way that the high level descriptions of derivations are expressed only using program level information. All the meta-level information, together with dependencies between derivations of program components, is automatically recorded by the system at a lower level of description for its own use in replay
Derivation of sorting programs
Program synthesis for critical applications has become a viable alternative to program verification. Nested resolution and its extension are used to synthesize a set of sorting programs from their first order logic specifications. A set of sorting programs, such as, naive sort, merge sort, and insertion sort, were successfully synthesized starting from the same set of specifications
Acceptability with general orderings
We present a new approach to termination analysis of logic programs. The
essence of the approach is that we make use of general orderings (instead of
level mappings), like it is done in transformational approaches to logic
program termination analysis, but we apply these orderings directly to the
logic program and not to the term-rewrite system obtained through some
transformation. We define some variants of acceptability, based on general
orderings, and show how they are equivalent to LD-termination. We develop a
demand driven, constraint-based approach to verify these
acceptability-variants.
The advantage of the approach over standard acceptability is that in some
cases, where complex level mappings are needed, fairly simple orderings may be
easily generated. The advantage over transformational approaches is that it
avoids the transformation step all together.
{\bf Keywords:} termination analysis, acceptability, orderings.Comment: To appear in "Computational Logic: From Logic Programming into the
Future
Building an IDE for the Calculational Derivation of Imperative Programs
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 transformation for development, verification, and synthesis of programs
This paper briefly describes the use of the program transformation methodology for the development of correct and efficient programs. In particular, we will refer to the case of constraint logic programs and, through some examples, we will show how by program transformation, one can improve, synthesize, and verify programs
Mapping Applications to an FPFA Tile
This paper introduces a transformational design method which can be used to map code written in a high level source language, like C, to a coarse grain reconfigurable architecture. The source code is first translated into a control data flow graph (CDFG), which is minimized using a set of behaviour preserving transformations, such as dependency analysis, common subexpression elimination, etc. After applying graph clustering, scheduling and allocation transformations on this minimized graph, it can be mapped onto the target architecture
Program Transformation for Development, Verification, and Synthesis of Software
In this paper we briefly describe the use of the program transformation methodology for the development of correct
and efficient programs. We will consider, in particular,
the case of the transformation and the development of constraint logic programs
Transformational Relationships: Re-framing Impact in Faith-Based Social Service Organizations
Theories of change and logic models are the industry standard foundation for impact evaluation. However, half of all nonprofits do not use these models due to resource constraints or the perception that their work does not fit into a model. This is especially true in relationship-based programs, such as those in faith-based social services. This Capstone examines the influence of relationship theory on a faith-based organizationās impact. The research methodology included deductive, action-based research with a foundational literature review focused on nonprofit planning and evaluation theory and social science theory. Then a total of 6 expert interviews were conducted, 3 with faith-based program directors and 3 with evaluation professionals. Finally, a hermeneutic approach was used to cycle between synthesis and analysis, comparing data from literature and expert interviews, and conceptualizing new models. While the context of the research is faith-based, the models are general enough to be applied to a diverse number of organizations. The findings demonstrate that relationship theory does have implications for how their theory of change and logic models are formed and how impact is subsequently evaluated. Relational Cultural Theory is identified in the literature and supported in the expert interviews as the theoretical foundation for the Transformation Relationship theory of change. Traditional linear logic models are challenged with the presentation of a cyclical model that is more reflective of the iterative process of Transformational Relationships. The resulting levels of impact are described as a spiral of impact with implications for individual, group and societal impact. Evaluation is re-framed with suggestions that include blending qualitative and quantitative methodology, integrating the evaluation process into the relationship, and re-framing donor expectations around what relationship-based impact evaluation looks like. This Capstone lays the foundation for additional research in surveying a larger sample of faith-based social service organizations to inform the Transformational Relationship model, develop relationship-based evaluation tools (proxies, tests, surveys) for use in programs, and an examination of how Transformational Relationships contribute to collective impact
- ā¦