Results 11 - 20
of
41
Semantic Verification of Web Sites Using Natural Semantics
- PROCEEDINGS OF THE 6TH RIAO CONFERENCE - CONTENT-BASED MULTIMEDIA INFORMATION ACCESS
, 2000
"... The huge amount of information and knowledge available on the Web leads to the fact that it is more and more difficult to manage this information. Two different ways are commonly explored: giving a syntactical structure to Web sites, and annotating their content to facilitate Web mining. In this pap ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
The huge amount of information and knowledge available on the Web leads to the fact that it is more and more difficult to manage this information. Two different ways are commonly explored: giving a syntactical structure to Web sites, and annotating their content to facilitate Web mining. In this paper we explore a different approach inherited from software engineering: specifying the semantics of Web sites, allowing semantic verifications that will help both the conception and the maintenance of Web sites. To achieve this goal, we have experimented with the application of Natural Semantics (traditionally used to specify the semantics of programming languages) to Web sites specification and verification.
Deriving Analysers By Folding/unfolding of Natural Semantics and a Case Study: Slicing
, 1998
"... : We consider specications of analysers expressed as compositions of two functions: a semantic function, which returns a natural semantics derivation tree, and a property dened by recurrence on derivation trees. A recursive denition of a dynamic analyser can be obtained by fold/unfold program transf ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
: We consider specications of analysers expressed as compositions of two functions: a semantic function, which returns a natural semantics derivation tree, and a property dened by recurrence on derivation trees. A recursive denition of a dynamic analyser can be obtained by fold/unfold program transformation combined with deforestation. We apply our framework to the derivation of a slicing analysis for a logic programming language. Key-words: systematic derivation, program transformation, natural semantics, proof tree, slicing analysis. (R#sum# : tsvp) Unite de recherche INRIA Rennes IRISA, Campus universitaire de Beaulieu, 35042 RENNES Cedex (France) Telephone : 02 99 84 71 00 - International : +33 2 99 84 71 00 Telecopie : 02 99 84 71 71 - International : +33 2 99 84 71 71 D#rivation d'analyseurs # partir d'une s#mantique naturelle par pliage/d#pliage, application # l'analyse d'#lagage R#sum# : Nous consid#rons la sp#cication d'un analyseur comme la composition de deux fonctio...
A Formal Definition of the Dynamic Semantics of the Eiffel Language
- SIXTEENTH AUSTRALIAN COMPUTER SCIENCE CONFERENCE (ACSC-16), BRIBASNE
, 1993
"... This paper formally defines the dynamic semantics of the Eiffel language in an operational style using Natural Semantics. We present a technique to describe object-oriented features such as message passing, multiple inheritance, polymorphism, redefinition and dynamic binding. ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
This paper formally defines the dynamic semantics of the Eiffel language in an operational style using Natural Semantics. We present a technique to describe object-oriented features such as message passing, multiple inheritance, polymorphism, redefinition and dynamic binding.
Implementation of an Interpreter for a Parallel Language in Centaur
- Proceedings of the European Symposium On Programming
, 1990
"... This paper presents the implementation of an interpreter for the parallel language ESTEREL in the CENTAUR system. The dynamic semantics of the language is described and completed with two modules providing a graphical visualization of the execution and a graphical execution controller. The problems ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
This paper presents the implementation of an interpreter for the parallel language ESTEREL in the CENTAUR system. The dynamic semantics of the language is described and completed with two modules providing a graphical visualization of the execution and a graphical execution controller. The problems of implementing a parallel language using natural semantics and of providing a visualization for a parallel language are especially addressed.
Integrating Natural Semantics and Attribute Grammars: the Minotaur System
- Tech. Rep. 2339, INRIA Sophia Antipolis
, 1994
"... : This paper describes the principles and the functionalities of the Minotaur system. Minotaur is a generic interactive environment based on the integration of the Centaur system and the FNC-2 system, two systems widely used to specify syntax and semantics of programming languages and generate effic ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
: This paper describes the principles and the functionalities of the Minotaur system. Minotaur is a generic interactive environment based on the integration of the Centaur system and the FNC-2 system, two systems widely used to specify syntax and semantics of programming languages and generate efficient semantic tools from these specifications. We show how Attribute Grammars techniques can be adequate for evaluation of a quite large subclass of Natural Semantics specifications, including specifications of an arithmetic calculator, a tree transformation, a type-checker for an Algol-like language, ... For this subclass of Natural Semantics specifications, the Minotaur system automatically generates an incremental and efficient (in time and memory) evaluator which gives to Natural Semantics an industrial strength implementation. Key-words: Specifications, Natural Semantics, Attribute Grammars, Programming Environments (R'esum'e : tsvp) Isabelle.Attali@sophia.inria.fr Didier.Parigot@in...
Encoding Natural Semantics in Coq
- In Proc. AMAST, LNCS 936
, 1995
"... . We address here the problem of automatically translating the Natural Semantics of programming languages to Coq, in order to prove formally general properties of languages. Natural Semantics [18] is a formalism for specifying semantics of programming languages inspired by Plotkin's Structural Opera ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
. We address here the problem of automatically translating the Natural Semantics of programming languages to Coq, in order to prove formally general properties of languages. Natural Semantics [18] is a formalism for specifying semantics of programming languages inspired by Plotkin's Structural Operational Semantics [22]. The Coq proof development system [12], based on the Calculus of Constructions extended with inductive types (CCind), provides mechanized support including tactics for building goal-directed proofs. Our representation of a language in Coq is inAEuenced by the encoding of logics used by Church [6] and in the Edinburgh Logical Framework (ELF) [15, 3]. 1 Introduction The motivation for our work is the need for an environment to help develop proofs in Natural Semantics. The interactive programming environment generator Centaur [17] allows us to compile a Natural Semantics speciøcation of a given language into executable code (type-checkers, evaluators, compilers, program t...
Incremental Evaluation of Natural Semantics Specifications
- PROC. 4 TH INT. SYMP. PLILP ’92, LEUVEN, BE, 26–28 AUG. 1992, LNCS 631
, 1992
"... Natural Semantics is a logical formalism used to specify semantic aspects of a language by sets of logical rules (called a Typol program) where a query is proved using Prolog. In a previous paper, we have shown how to replace, under certain hypotheses, the Prolog engine by a functional evaluator; ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Natural Semantics is a logical formalism used to specify semantic aspects of a language by sets of logical rules (called a Typol program) where a query is proved using Prolog. In a previous paper, we have shown how to replace, under certain hypotheses, the Prolog engine by a functional evaluator; this is possible because unification is no longer required and can be replaced by pattern matching. Starting from this previous work, we now add incremental facilities to our evaluator. That is to say, after some modification of a term whose semantic value has already been evaluated, we do not need to re-evaluate everything from scratch as it is the case with a Prolog engine.
Executing and Verifying CCS in Maude
- Dpto. Sistemas Informaticos y Programacion, Universidad Complutense de
, 2002
"... We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas, we have represented both the semantics of Milner's CCS and a modal logi ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
We explore the features of rewriting logic and, in particular, of the rewriting logic language Maude as a logical and semantic framework for representing and executing inference systems. In order to illustrate the general ideas, we have represented both the semantics of Milner's CCS and a modal logic for describing local capabilities of CCS processes. Although a rewriting logic representation of the CCS semantics was given previously, it cannot be directly executed in the current default interpreter of Maude. Moreover, it cannot be used to answer questions such as which are the successors of a process after performing an action, which is used to dene the semantics of Hennessy-Milner modal logic. Basically, the problems are the existence of new variables in the righthand side of the rewrite rules and the nondeterministic application of the semantic rules, inherent to CCS. We show how these problems can be solved in a general, not CCS dependent way by exploiting the reective properties of rewriting logic, which allow controlling the rewriting process. We also show how the semantics can be extended to traces of actions and to the CCS weak transition relation. This executable specication plus the reective control of the rewriting process can be used to analyze CCS processes.
Using Many-Sorted Natural Semantics to Specify and Generate Semantic Analysis
, 1998
"... We present an extension of natural semantics which can be used to describe the static semantics of imperative and object-oriented programming languages. Furthermore we show that the semantic analysis can be generated from these descriptions. As a side effect, we get a precise definition of which pro ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
We present an extension of natural semantics which can be used to describe the static semantics of imperative and object-oriented programming languages. Furthermore we show that the semantic analysis can be generated from these descriptions. As a side effect, we get a precise definition of which properties of a programming language are statically decidable and which properties can only be checked dynamically during run-time. As an example, we show how a subset of the Java programming language incorporating the full notion of inheritance can be specified within our mechanism. Keywords Natural Semantics, Semantic Analysis, Specification, Generator, Imperative and Object-Oriented Programming Languages 1 INTRODUCTION Natural semantics [Kah87] has been established as a declarative framework to specify the static and dynamic semantics of functional programming languages. Its applicability for imperative languages with simple block structure has been shown (e.g. the specifications of simple...
Evolution of Rule-Based Programs
, 2004
"... The term rule-based program is meant to include definite clause programs, SOS specifications, attribute grammars, and conditional rewrite systems. These setups are widely used for the executable specification or implementation of language-based tools, e.g., interpreters, translators, type checkers, ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
The term rule-based program is meant to include definite clause programs, SOS specifications, attribute grammars, and conditional rewrite systems. These setups are widely used for the executable specification or implementation of language-based tools, e.g., interpreters, translators, type checkers, program analysers, and program transformations. We provide a pragmatic, transformation-based approach for expressing and tracking changes in rule-based programs in the course of program evolution. To this end, we design an operator suite for the transformation of rule-based programs. The operators facilitate steps for clean-up, refactoring, and enhancement. We use SOS-based interpreter examples to illustrate evolution of rule-based programs. We use logic programming to execute the examples, while the relevant evolution operators are made available as logic meta-programs.

