Results 1  10
of
10
Systematic formal verification for faulttolerant timetriggered algorithms
 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 1999
"... Many critical realtime applications are implemented as timetriggered systems. We present a systematic way to derive such timetriggered implementations from algorithms specified as functional programs (in which form their correctness and faulttolerance properties can be formally and mechanically ..."
Abstract

Cited by 51 (2 self)
 Add to MetaCart
Many critical realtime applications are implemented as timetriggered systems. We present a systematic way to derive such timetriggered implementations from algorithms specified as functional programs (in which form their correctness and faulttolerance properties can be formally and mechanically verified with relative ease). The functional program is first transformed into an untimed synchronous system, and then to its timetriggered implementation. The first step is specific to the algorithm concerned, but the second is generic and we prove its correctness. This proof has been formalized and mechanically checked with the PVS verification system. The approach provides a methodology that can ease the formal specification and assurance of critical faulttolerant systems.
Why use evolving algebras for hardware and software engineering?
, 1995
"... In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming lan ..."
Abstract

Cited by 39 (4 self)
 Add to MetaCart
In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming languages, compilers, protocols and architectures. The definition of a mathematical model for Hennessy and Patterson's RISC architecture DLX serves as a running example; this model is used in [24] to prove the correctness of instruction pipelining. I will point out the yet unexplored potential of the evolving algebra method for largescale industrial applications.
Modelling and Analysis of Distributed and Reactive Systems using Evolving Algebras
 University of Aarhus
, 1995
"... This is a tutorial introduction into the evolving algebra approach to design and verification of complex computing systems. It is written to be used by the working computer scientist. We explain the salient features of the methodology by showing how one can develop from scratch an easily understanda ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
(Show Context)
This is a tutorial introduction into the evolving algebra approach to design and verification of complex computing systems. It is written to be used by the working computer scientist. We explain the salient features of the methodology by showing how one can develop from scratch an easily understandable and transparent evolving algebra model for PVM, the widespread virtual architecture for heterogeneous distributed computing. Introduction In 1988 Yuri Gurevich has discovered the notion of evolving algebra in an attempt to sharpen Turing's thesis by complexity theoretic considerations (see [22]). Through numerous case studies (see [4] for an annotated list which is complete up to 1994) it has become clear since then that using the notion of evolving algebras one can develop a powerful and elegant specification methodology which has a huge yet unexplored potential for industrial applications. In this report we are going to explain the basic concepts of this approach to the design and ana...
leanEA: A Lean Evolving Algebra Compiler
 Proceedings of the Annual Conference of the European Association for Computer Science Logic (CSL’95), volume 1092 of LNCS
, 1996
"... . The Prolog program "termexpansion((define C as A with B), (C=?A:B,!)). termexpansion((transition E if C then D), ((transition E):C,!,B,A,(transition ))) : serialize(D,B,A). serialize((E,F),(C,D),(A,B)) : serialize(E,C,B), serialize(F,D,A). serialize(F:=G, ([G]=?*[E],F=..[CD],D=?*B,A=. ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
. The Prolog program "termexpansion((define C as A with B), (C=?A:B,!)). termexpansion((transition E if C then D), ((transition E):C,!,B,A,(transition ))) : serialize(D,B,A). serialize((E,F),(C,D),(A,B)) : serialize(E,C,B), serialize(F,D,A). serialize(F:=G, ([G]=?*[E],F=..[CD],D=?*B,A=..[CB]), asserta(A=?E)). [GH]=?*[EF] : (G="E; G=..[CD],D=?*B,A=..[CB],A=?E), !,H=?*F. []=?*[]. A=?B : [A,B]=?*[D,C], D==C." implements a virtual machine for evolving algebras. It offers an efficient and very flexible framework for their simulation. 1 Introduction Evolving algebras (EAs) (Gurevich, 1991; Gurevich, 1994) are abstract machines used mainly for formal specification of algorithms. The main advantage of EAs over classical formalisms for specifying operational semantics, like Turing machines for instance, is that they have been designed to be usable by human beings: whilst the concrete appearance of a Turing machine has a solely mathematical motivation, EAs try to provi...
leanEA: A Poor Man's Evolving Algebra Compiler
, 1995
"... The Prolog program "termexpansion((define C as A with B), (C=?A:B,!)). termexpansion((transition E if C then D), ((transition E):C,!,B,A,(transition ))) : serialize(D,B,A). serialize((E,F),(C,D),(A,B)) : serialize(E,C,B), serialize(F,D,A). serialize(F:=G, ([G]=?*[E],F=..[CD],D=?*B, ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The Prolog program "termexpansion((define C as A with B), (C=?A:B,!)). termexpansion((transition E if C then D), ((transition E):C,!,B,A,(transition ))) : serialize(D,B,A). serialize((E,F),(C,D),(A,B)) : serialize(E,C,B), serialize(F,D,A). serialize(F:=G, ([G]=?*[E],F=..[CD],D=?*B,A=..[CB]), asserta(A=?E)). [GH]=?*[EF] : (G="E; G=..[CD],D=?*B,A=..[CB],A=?E), !,H=?*F. []=?*[]. A=?B : [A,B]=?*[D,C], D==C." implements a virtual machine for evolving algebras. It offers an efficient and very flexible framework for their simulation.
Integrating State Charts in Specware and Aspects of Correct Oberon Code Generation
, 1996
"... State charts are finite state machines with hierarchical structuring and several models of communication. They are widely used in hardware, software, and communication industries to specify reactive and concurrent systems. In absence of a common semantics for state charts, we use Evolving Algebras, ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
State charts are finite state machines with hierarchical structuring and several models of communication. They are widely used in hardware, software, and communication industries to specify reactive and concurrent systems. In absence of a common semantics for state charts, we use Evolving Algebras, that showed to be powerful enough to model all types of sequential, parallel, distributed and realtime applications of dynamic systems. The generality of evolving algebras allows to mimic all state chart dialects. We use a manysorted higherorder logic algebraic specification language with loose semantics to describe the states of evolving algebras. We have found that the hierarchical structuring operations of state charts coincide with the basic composition operations of the used specification language SLANG. We do not have to provide the complicated communication mechanisms existing in many state chart dialects, since SLANG is powerful enough to specify them upon need. SLANG supports con...
A Formal Behavioral Semantics for TestML
 IN: PROC. OF IEEE ISOLA 06, PAPHOS
, 2006
"... TestML is an XMLbased language for the exchange of test descriptions in automotive systems design and mainly introduced through the structural definition of an XML schema as an independent exchange format for existing tools and methods covering a wide range of different test technologies. In this ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
TestML is an XMLbased language for the exchange of test descriptions in automotive systems design and mainly introduced through the structural definition of an XML schema as an independent exchange format for existing tools and methods covering a wide range of different test technologies. In this paper, we present a rigorous formal behavioral semantics for TestML by means of Abstract State Machines (ASMs). Our semantics is a concise, unambiguous, highlevel specification for TestMLbased implementations and serves as a basis to define exact and welldefined mappings between existing test languages and TestML.
Secure High Performance Group Communication
, 1997
"... 1 Introduction The growth in collaborative applications has mirrored the expansion of distributed networks. Group based applications provide users more flexibility in the form and content of computer based interactions. Advances in email, groupware, audio and video conferencing, and electronic comm ..."
Abstract
 Add to MetaCart
(Show Context)
1 Introduction The growth in collaborative applications has mirrored the expansion of distributed networks. Group based applications provide users more flexibility in the form and content of computer based interactions. Advances in email, groupware, audio and video conferencing, and electronic commerce applications have lead to new paradigms in which users operate. Unfortunately, these applications have greater computational and network bandwidth needs than traditional software. One solution to address the network bandwidth requirement is the use of multicast messaging. Multicast messages are used to communicate with a (possibly large) number of hosts with one physical network transmission. The most widely supported transport mechanism for multicast communication is defined for the Internet Protocols (IP) in [1]. This specification defines the semantics for unreliable delivery of messages sent to a specific range of IP group addresses. Many solutions for augmenting this protocol to pr...
An Approach to Simplifying Formal Verifications of Protocols through Identification of Modular Blocks in Redundancy Management Protocols
"... Dependable system designs typically use redundant resources and redundancy management protocols to deliver reliable and timely services. For such systems, a considerable effort gets expended in ascertaining the correctness of the system operations. In recent years, formal methods have been extensive ..."
Abstract
 Add to MetaCart
(Show Context)
Dependable system designs typically use redundant resources and redundancy management protocols to deliver reliable and timely services. For such systems, a considerable effort gets expended in ascertaining the correctness of the system operations. In recent years, formal methods have been extensively used for proving the correctness of faulttolerant system design and implementation [5]. We have also utilized formal methods for V&V of dependable protocols [34, 35, 37], and have observed that a number of protocols providing for distributed and dependable services can often be formulated using the same and, very few, basic functional primitives or their variations. Thus, our perspective from the formal viewpoint is to investigate techniques that could effectively define and reuse basic formal modules in order to simplify the V&V for a spectrum of protocols. To support this outlook, our objectives in this paper are to: (a) identify functional building blocks that can be reused in formula...