Results 1  10
of
15
A Logic for the Java Modeling Language JML
 Fundamental Approaches to Software Engineering (FASE), volume 2029 of LNCS
, 2001
"... This paper describes a specialised logic for proving specifications in the Java Modeling Language (JML). JML is an interface specification language for Java. It allows assertions like invariants, constraints, pre and postconditions, and modi able clauses as annotations to Java classes, in a design ..."
Abstract

Cited by 54 (16 self)
 Add to MetaCart
This paper describes a specialised logic for proving specifications in the Java Modeling Language (JML). JML is an interface specification language for Java. It allows assertions like invariants, constraints, pre and postconditions, and modi able clauses as annotations to Java classes, in a designbycontract style. Within the LOOP project at the University of Nijmegen JML is used for specification and verification of Java programs. A special compiler has been developed which translates Java classes together with their JML annotations into logical theories for a theorem prover (PVS or Isabelle). The logic for JML that will be described here consists of tailormade proof rules in the higher order logic of the backend theorem prover for verifying translated JML specifications. The rules efficiently combine partial and total correctness (like in Hoare logic) for all possible termination modes in Java, in a single correctness formula.
Reasoning about Classes in ObjectOriented Languages: Logical Models and Tools
, 1998
"... A formal language ccsl is introduced for describing specifications of classes in objectoriented languages. We show how class specifications in ccsl can be translated into higher order logic. This allows us to reason about these specifications. In particular, it allows us (1) to describe (various) i ..."
Abstract

Cited by 34 (15 self)
 Add to MetaCart
A formal language ccsl is introduced for describing specifications of classes in objectoriented languages. We show how class specifications in ccsl can be translated into higher order logic. This allows us to reason about these specifications. In particular, it allows us (1) to describe (various) implementations of a particular class specification, (2) to develop the logical theory of a specific class specification, and (3) to establish refinements between two class specifications. We use the (dependently typed) higher order logic of the proofassistant pvs, so that we have extensive tool support for reasoning about class specifications. Moreover, we describe our own frontend tool to pvs, which generates from ccsl class specifications appropriate pvs theories and proofs of some elementary results.
Coalgebraic Theories of Sequences in PVS
, 1998
"... This paper explains the setting of an extensive formalisation of the theory of sequences (finite and infinite lists of elements of some data type) in the Prototype Verification System pvs. This formalisation is based on the characterisation of sequences as a final coalgebra, which is used as an axi ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
This paper explains the setting of an extensive formalisation of the theory of sequences (finite and infinite lists of elements of some data type) in the Prototype Verification System pvs. This formalisation is based on the characterisation of sequences as a final coalgebra, which is used as an axiom. The resulting theories comprise standard operations on sequences like composition (or concatenation), filtering, flattening, and their properties. They also involve the prefix ordering and proofs that sequences form an algebraic complete partial order. The finality axiom gives rise to various reasoning principles, like bisimulation, simulation, invariance, and induction for admissible predicates. Most of the proofs of equality statements are based on bisimulations, and most of the proofs of prefix order statements use simulations. Some significant aspects of these theories are described in detail. This coalgebraic formalisation of sequences is presented as a concrete example that shows t...
Implementing Extensible Theorem Provers
 In International Conference on Theorem Proving in HigherOrder Logic: Emerging Trends, Research Report, INRIA Sophia Antipolis
, 1999
"... . The growing application of theorem proving techniques has increased the need for customized theorem provers. Powerful provers contain numerous interacting subsystems, each of which requires substantial time and expertise to build; constructing new provers from scratch is virtually prohibitive. Plu ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
. The growing application of theorem proving techniques has increased the need for customized theorem provers. Powerful provers contain numerous interacting subsystems, each of which requires substantial time and expertise to build; constructing new provers from scratch is virtually prohibitive. Plugandplay prover frameworks promise an alternative in which developers can construct provers by selecting logics, reasoning techniques, and interfaces. Realizing such frameworks cleanly requires specialized software architectures and particular language abstractions, even for frameworks supporting only simple interactions between logics. This paper explores architectural and linguistic issues in plugandplay theorem prover development. It reflects our experience creating and using such a framework to develop several versions of a research prototype theorem prover. Keywords: extensible theorem provers, plugandplay theorem provers, software architectures, software components, programming ...
Towards an Integrated CASE and Theorem Proving Tool for VDMSL
 In FME'97, SpringerVerlag LNCS
, 1997
"... . While CASE tools for formal methods have been relatively successful in industry, the uptake of the theorem proving technology has been quite slow. This suggests that more focus should be put on specification notations and pragmatic features of existing CASE tools in building proof support tools. ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
. While CASE tools for formal methods have been relatively successful in industry, the uptake of the theorem proving technology has been quite slow. This suggests that more focus should be put on specification notations and pragmatic features of existing CASE tools in building proof support tools. This paper presents a prototype integrated CASE/TP tool which combines the benefits of a generalpurpose theorem prover called Isabelle with those of a commercial CASE tool for the VDMSL formal specification languagethe IFAD VDMSL Toolbox. The integrated tool supports pragmatic test and rigorous proof at the same time. Moreover, the tool supports proofs in the notation of the CASE tool by handling "difficult" constructs such as patterns and cases expressions in an untraditional way using reversible transformations. 1 Introduction CASE tools for formal software development support the validation of specifications through static checks and animation. Proofs can add rigor to the software ...
Theorem proving for protocol languages
 In Proceedings of the European Union Multiagent Systems Workshop
, 2004
"... Abstract. We make a case for more rigour in the development of agent protocol languages, by examining the implementation of the logicbased protocol language ANML in the theorem prover Isabelle. However, the problems encountered in the formalization process were found to be insurmountable. As an alt ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract. We make a case for more rigour in the development of agent protocol languages, by examining the implementation of the logicbased protocol language ANML in the theorem prover Isabelle. However, the problems encountered in the formalization process were found to be insurmountable. As an alternative, we develop ANML2 as a rigourously formalized protocol language based on the same principles as ANML. We show how to formulate termination and consistency properties for specific protocols within the ANML2 framework and prove them in Isabelle. 1
Tool Integration in the UniForMWorkbench
 Tools for System Development and Verification. Workshop
, 1998
"... This paper will give an introduction to the UniForMWorkbench. We will first take the reader on a guided tour of the Workbench, giving an impression how a user would work and interact with the system. We will then turn to more technical matters, and discuss the semantical and technical aspects of to ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
This paper will give an introduction to the UniForMWorkbench. We will first take the reader on a guided tour of the Workbench, giving an impression how a user would work and interact with the system. We will then turn to more technical matters, and discuss the semantical and technical aspects of tool integration (Sect. 3 and 4, respectively), and the generic data model underlying the Workbench (Sect. 5).
Coding binding and substitution explicitly in isabelle
 University of Cambridge Computer Laboratory
, 1995
"... Logical frameworks provide powerful methods of encoding objectlogical binding and substitution using metalogical λabstraction and application. However, there are some cases in which these methods are not general enough: in such cases objectlogical binding and substitution must be explicitly code ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Logical frameworks provide powerful methods of encoding objectlogical binding and substitution using metalogical λabstraction and application. However, there are some cases in which these methods are not general enough: in such cases objectlogical binding and substitution must be explicitly coded. McKinna and Pollack [MP93] give a novel formalization of binding, where they use it principally to prove metatheorems of Type Theory. We analyse the practical use of McKinnaPollack binding in Isabelle objectlogics, and illustrate its use with a simple example logic. 1
Generating Graphical User Interfaces in a Functional Setting
, 1996
"... We present a new approach to implementing graphical user interfaces (GUIs) for theorem provers and applications using theorem provers. A typed interface to Standard ML from Tcl/Tk provides the foundations upon which a generic user interface is built. Besides the advantage of type safeness, this tech ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present a new approach to implementing graphical user interfaces (GUIs) for theorem provers and applications using theorem provers. A typed interface to Standard ML from Tcl/Tk provides the foundations upon which a generic user interface is built. Besides the advantage of type safeness, this technique yields access to the full power of the modularization concepts of Standard ML. It leads to a generic GUI, which instantiated with a particular application yields a GUI for this application. We present a prototypical implementation with two instantiations: an interface to Isabelle itself and a system for transformational program development based on Isabelle. 1 Introduction Graphical user interfaces have been identified as a major potential to increase the usability and productivity of interactive theorem provers (like HOL [GM93] and Isabelle [Pau94]) and formal program development tools [HK93, Smi91]. The question of how to hide the theorem prover's internals in an easytouse interf...