Results 1  10
of
35
GOLOG: A Logic Programming Language for Dynamic Domains
, 1994
"... This paper proposes a new logic programming language called GOLOG whose interpreter automatically maintains an explicit representation of the dynamic world being modeled, on the basis of user supplied axioms about the preconditions and effects of actions and the initial state of the world. This allo ..."
Abstract

Cited by 507 (62 self)
 Add to MetaCart
This paper proposes a new logic programming language called GOLOG whose interpreter automatically maintains an explicit representation of the dynamic world being modeled, on the basis of user supplied axioms about the preconditions and effects of actions and the initial state of the world. This allows programs to reason about the state of the world and consider the effects of various possible courses of action before committing to a particular behavior. The net effect is that programs may be written at a much higher level of abstraction than is usually possible. The language appears well suited for applications in high level control of robots and industrial processes, intelligent software agents, discrete event simulation, etc. It is based on a formal theory of action specified in an extended version of the situation calculus. A prototype implementation in Prolog has been developed.
An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment
, 1997
"... Reactivity is one of the key features of hardware description languages. We present an efficient implementation of reactivity in the Scenic framework that allows the system designer to model hardware blocks. Scenic allows the designer to use C++ to model mixed hardwaresoftware systems with a C++ c ..."
Abstract

Cited by 71 (7 self)
 Add to MetaCart
Reactivity is one of the key features of hardware description languages. We present an efficient implementation of reactivity in the Scenic framework that allows the system designer to model hardware blocks. Scenic allows the designer to use C++ to model mixed hardwaresoftware systems with a C++ compiler and a small library and without the need of a complex eventdriven runtime kernel often found embedded in hardware description languages (HDL) such as VHDL and Verilog. Moreover, Scenic hardware descriptions can be easily mapped to HDL and synthesized into hardware implementations using commercially available tools. In this paper we present Scenic's implementation of concurrency (signals and processes) and reactivity (waiting and watching). When C++ is used as an HDL, contextswitching overhead can become a significant performance issue during simulation. We introduce the notion of delayed expression objects, or lambdas, to reduce contextswitching. Examples and experimental results ...
An Algorithm for TypeChecking Dependent Types
 Science of Computer Programming
, 1996
"... We present a simple typechecker for a language with dependent types and let expressions, with a simple proof of correctness. Introduction Type Theory provides an interesting approach to the problem of (interactive) proofchecking. Instead of introducing, like in LCF [10], an abstract data type of t ..."
Abstract

Cited by 45 (4 self)
 Add to MetaCart
We present a simple typechecker for a language with dependent types and let expressions, with a simple proof of correctness. Introduction Type Theory provides an interesting approach to the problem of (interactive) proofchecking. Instead of introducing, like in LCF [10], an abstract data type of theorems, it uses the proofsasprograms analogy and reduces the problem of proof checking to the problem of typechecking in a programming language with dependent types [5]. This approach presents several advantages, well described in [11,5], among those being the possibility of independent proof verification and of a uniform treatment for naming constants and theorems. It is crucial however for this approach to proofchecking to have a simple and reliable typechecking algorithm. Since the core part of such languages, like the ones described in [5,7], seems very simple, there may be some hope for such a short and simple typechecker for dependent types. Indeed, de Bruijn sketches such an al...
A Security Flow Control Algorithm and Its Denotational Semantics Correctness Proof
, 1992
"... We derive a security flow control algorithm for messagebased, modular systems and prove the algorithm correct. The development is noteworthy because it is completely rigorous: the flow control algorithm is derived as an abstract interpretation of the dentotational semantics of the programming langu ..."
Abstract

Cited by 27 (0 self)
 Add to MetaCart
We derive a security flow control algorithm for messagebased, modular systems and prove the algorithm correct. The development is noteworthy because it is completely rigorous: the flow control algorithm is derived as an abstract interpretation of the dentotational semantics of the programming language for the modular system, and the correctness proof is a proof by logical relations of the congruence between the denotational semantics and its abstract interpretation. Effectiveness is also addressed: we give conditions under which an abstract interpretation can be computed as a traditional iterative data flow analysis, and we prove that our security flow control algorithm satisfies the conditions. We also show that symbolic expressions (that is, data flow values that contain unknowns) can be used in a convergent, iterative analysis. An important consequence of the latter result is that the security flow control algorithm can analyze individual modules in a system for well formedness and...
Using a Process Algebra to control B OPERATIONS
, 1999
"... The BMethod is a statebased formal method that describes system behaviour in terms of MACHINES whose state changes under OPERATIONS. The process algebra CSP is an eventbased formalism that enables descriptions of patterns of system behaviour. This paper is concerned with the combination of these ..."
Abstract

Cited by 23 (4 self)
 Add to MetaCart
The BMethod is a statebased formal method that describes system behaviour in terms of MACHINES whose state changes under OPERATIONS. The process algebra CSP is an eventbased formalism that enables descriptions of patterns of system behaviour. This paper is concerned with the combination of these complementary views, in which CSP is used to describe the control executive for a B Abstract System. We discuss consistency between the two views and how it can be formally established. A typical avionics system motivates the work. Its specification and control executive are presented in the paper. The relationship with other approaches is also discussed. Keywords: BMethod, CSP, Embedded Systems, Programming Calculi, Combining Formalisms. CONTENTS 2 Contents 1 Introduction 3 2 Overview of the BMethod 3 3 Overview of the correspondence between Action Systems and CSP 4 4 A new coupling between B and CSP loops 6 4.1 Developing a Control Executive 7 4.2 Consistency of a CSP Control Executi...
Macro Tree Translations of Linear Size Increase are MSO Definable
 SIAM J. Comput
, 2001
"... Abstract. The first main result is that if a macro tree translation is of linear size increase, i.e., if the size of every output tree is linearly bounded by the size of the corresponding input tree, then the translation is MSO definable (i.e., definable in monadic secondorder logic). This gives a ..."
Abstract

Cited by 16 (6 self)
 Add to MetaCart
Abstract. The first main result is that if a macro tree translation is of linear size increase, i.e., if the size of every output tree is linearly bounded by the size of the corresponding input tree, then the translation is MSO definable (i.e., definable in monadic secondorder logic). This gives a new characterization of the MSO definable tree translations in terms of macro tree transducers: they are exactly the macro tree translations of linear size increase. The second main result is that given a macro tree transducer, it can be decided whether or not its translation is MSO definable, and if it is then an equivalent MSO transducer can be constructed. Similar results hold for attribute grammars, which define a subclass of the macro tree translations.
How to Drive a B Machine
 ZB 2000: Formal Specification and Development in Z and B, First International Conference of B and Z Users
, 2000
"... The BMethod is a statebased formal method that describes behaviour in terms of MACHINES whose states change under OPERATIONS. The process algebra CSP is an eventbased formalism that enables descriptions of patterns of system behaviour. We present a combination of the two views where a CSP process ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
The BMethod is a statebased formal method that describes behaviour in terms of MACHINES whose states change under OPERATIONS. The process algebra CSP is an eventbased formalism that enables descriptions of patterns of system behaviour. We present a combination of the two views where a CSP process acts as a control executive and its events simply drive corresponding OPERATIONS. We define consistency between the two views in terms of existing semantic models. We identify proof conditions which are strong enough to ensure consistency and thus guarantee safety and liveness properties. Keywords: BMethod, CSP, Embedded Systems, Programming Calculi, Combining Formalisms.
Programming Language Semantics
 In CRC Handbook of Computer Science
, 1995
"... interpretation provides the theory that allows a compiler writer to prove the correctness of compilers. Finally, axiomatic semantics is a longstanding fundamental technique for validating the correctness of computer code. Recent emphasis on largescale and safetycritical systems has again placed t ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
interpretation provides the theory that allows a compiler writer to prove the correctness of compilers. Finally, axiomatic semantics is a longstanding fundamental technique for validating the correctness of computer code. Recent emphasis on largescale and safetycritical systems has again placed the spotlight on this technique. Current research on data type theory [5] suggests that a marriage between the techniques of datatype checking and axiomatic semantics is not far in the future. 4 Research Issues in Semantics The techniques in this chapter have proved highly successful for defining, improving, and implementing traditional, sequential programming languages. But new language paradigms present new challenges to the semantics methods. In the functional programming paradigm, a higherorder functional language can use functions as arguments to other functions. This makes the language's domains more complex than those in Figure 2. Denotational semantics can be used to understand the...
Probabilistic Pattern Matching and the Evolution of Stochastic Regular Expressions
 International Journal of Applied Intelligence
, 1999
"... The use of genetic programming for probabilistic pattern matching is investigated. A stochastic regular expression language is used. The language features a statistically sound semantics, as well as a syntax that promotes efficient manipulation by genetic programming operators. An algorithm for effi ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
The use of genetic programming for probabilistic pattern matching is investigated. A stochastic regular expression language is used. The language features a statistically sound semantics, as well as a syntax that promotes efficient manipulation by genetic programming operators. An algorithm for efficient string recognition based on approaches in conventional regular language recognition is used. When attempting to recognize a particular test string, the recognition algorithm computes the probabilities of generating that string and all its prefixes with the given stochastic regular expression. To promote efficiency, intermediate computed probabilities that exceed a given cutoff value will preempt particular interpretation paths, and hence prune unconstructive interpretation. A few experiments in recognizing stochastic regular languages are discussed. Application of the technology in bioinformatics is in progress.