AUTOMATIC RESULT VERIFICATION BY COMPLETE RUN-TIME CHECKING OF COMPUTATIONS

2001 ◽  
Vol 12 (01) ◽  
pp. 97-124 ◽  
Author(s):  
EDGAR F. A. LEDERER ◽  
ROMEO A. DUMITRESCU

Two-Stage Programming (2SP) is an experimental programming language, the first implementation of the Specification-Consistent Coordination Model (SCCM). The SCCM proposes a new, mixed-paradigm (functional/imperative) approach to developing reliable programs based on complete run-time checking of computations with respect to a given specification. A 2SP program consists of a functional specification and an imperative coordination tightly connected to the specification. The coordination maps the specification to an imperative and possibly parallel/distributed program. Normal termination of a 2SP program execution implies the correctness of the computed results with respect to the specification, for that execution. We present the basic feautures of the SCCM/2SP, a new message-spassing system of 2SP with integrated run-time checking, and a larger case study. We show that 2SP provides: functional specifications, specification-consistent imperative coordinations, automatic run-time result verification and error detection, enhanced debugging support, and good efficiency.

2017 ◽  
Vol 22 (1) ◽  
pp. 47-53
Author(s):  
Ruslan Batdalov ◽  
Oksana Ņikiforova

Abstract Implementation of an emulator of MIX, a mythical computer invented by Donald Knuth, is used as a case study of the features of the Scala programming language. The developed emulator provides rich opportunities for program debugging, such as tracking intermediate steps of program execution, an opportunity to run a program in the binary or the decimal mode of MIX, verification of correct synchronisation of input/output operations. Such Scala features as cross-compilation, family polymorphism and support for immutable data structures have proved to be useful for implementation of the emulator. The authors of the paper also propose some improvements to these features: flexible definition of family-polymorphic types, integration of family polymorphism with generics, establishing full equivalence between mutating operations on mutable data types and copy-and-modify operations on immutable data types. The emulator is free and open source software available at www.mix-emulator.org.


2009 ◽  
Vol 81 (1) ◽  
pp. 14-18
Author(s):  
Xing Gao ◽  
Ming‐Hong Liao ◽  
Xiang‐Hu Wu ◽  
Chao‐Yong Li

2013 ◽  
Vol 465-466 ◽  
pp. 387-394
Author(s):  
Muhammad Ashraf Fauri Fauzi ◽  
Daeng Ahmad Zuhri Zuhud ◽  
Hafiz Husin

Digital computers that automate manufacturing process are an important aspect for any manufacturing engineers in the modern world. Selection of the programming paradigm (PP), as well as the programming language (PL) that supports it, is crucial to ensure the correct ideas are being used to automate the solution of the problem. In current Malaysian Higher institution practices, various PPs and PLs courses are offered to current undergraduate manufacturing majors. An online survey was deployed to experienced manufacturing engineers from various manufacturing specializations in the industry. Graduates from one of Malaysias public universities, International Islamic University Malaysia (IIUM) have been chosen for this particular study. From the survey, it has been found that almost 80% of the participants agreed that PPs are important for manufacturing graduates. It was found out that 90% of the participants were from intermediate (scale of 3) until poor (scale of 1) to express their ability to explain PPs if asked. Only about 10% are able to explain on PPs (scale of 4 and 5). The study concluded that majority of the manufacturing graduates from IIUM agreed that PP is an important subject to be taught in university. However, it was found the majority of the manufacturing graduates lack the knowledge and understanding of PPs and general PLs.


2020 ◽  
Vol 159 ◽  
pp. 110428 ◽  
Author(s):  
Dalia Sobhy ◽  
Leandro Minku ◽  
Rami Bahsoon ◽  
Tao Chen ◽  
Rick Kazman
Keyword(s):  
Run Time ◽  

Author(s):  
Vincenzo De Florio

The programming language itself is the focus of this chapter: Fault-tolerance is not embedded in the program (as it is the case e.g. for single-version fault-tolerance), nor around the language (through compilers or translators); on the contrary, faulttolerance is provided through the syntactical structures and the run-time executives of fault-tolerance programming languages. Also in this case a significant part of the complexity of dependability enforcement is moved from each single code to the architecture, in this case the programming language. Many cases exist of fault-tolerance programming languages; this chapter proposes a few of them, considering three cases: Object-oriented languages, functional languages, and hybrid languages. In particular it is discussed the case of Oz, a multi-paradigm programming language that achieves both transparent distribution and translucent failure handling.


1998 ◽  
Vol 12 (3) ◽  
pp. 283-302 ◽  
Author(s):  
James Allen Fill

The elementary problem of exhaustively sampling a finite population without replacement is used as a nonreversible test case for comparing two recently proposed MCMC algorithms for perfect sampling, one based on backward coupling and the other on strong stationary duality. The backward coupling algorithm runs faster in this case, but the duality-based algorithm is unbiased for user impatience. An interesting by-product of the analysis is a new and simple stochastic interpretation of a mixing-time result for the move-to-front rule.


Sign in / Sign up

Export Citation Format

Share Document