Results 1  10
of
13
Towards an Evolutionary Formal Software Development
 Proceedings Workshop on Algebraic Development Techniques, WADT99. Springer, LNCS 1827
, 1999
"... Although formal methods have been successfully applied in various industrial applications, their use in software development is still restricted to individual case studies. To overcome this situation we aim at a methodology for an evolutionary formal software development which allows for a stepwise ..."
Abstract

Cited by 37 (8 self)
 Add to MetaCart
Although formal methods have been successfully applied in various industrial applications, their use in software development is still restricted to individual case studies. To overcome this situation we aim at a methodology for an evolutionary formal software development which allows for a stepwise and incremental development process along the line of rapid prototyping. The approach is based on work on a formal management of change for formal developments which is able to maintain proofs when changing specifications.
Comorphismbased Grothendieck logics
, 2002
"... In order to obtain a semantic foundation for heterogeneous specification, we extend Diaconescu's morphismbased Grothendieck institutions to the case of comorphisms. This is not just a dualization, because we obtain more general results, especially concerning amalgamation properties. We also introdu ..."
Abstract

Cited by 20 (11 self)
 Add to MetaCart
In order to obtain a semantic foundation for heterogeneous specification, we extend Diaconescu's morphismbased Grothendieck institutions to the case of comorphisms. This is not just a dualization, because we obtain more general results, especially concerning amalgamation properties. We also introduce a proof calculus for structured heterogeneous speci cations and study its soundness and completeness (where amalgamation properties play a r^ole for obtaining the latter).
Integrating HolCasl into the Development Graph Manager
 In A. Armando (Ed.) Frontiers of Combining Systems (FroCoS '02), Santa Margherita Ligure, Italy, Springer LNAI
"... For the recently developed specification language Casl, there exist two different kinds of proof support: while HOLCasl has its strength in proofs about specifications inthesmall, Maya has been designed for management of proofs in (Casl) specifications inthelarge, within an evolutionary formal ..."
Abstract

Cited by 18 (13 self)
 Add to MetaCart
For the recently developed specification language Casl, there exist two different kinds of proof support: while HOLCasl has its strength in proofs about specifications inthesmall, Maya has been designed for management of proofs in (Casl) specifications inthelarge, within an evolutionary formal software development process involving changes of specifications. In this work, we discuss our integration of HOLCasl and Maya into a powerful system providing tool support for Casl, which will also serve as a basis for the integration of further proof tools.
The Development Graph Manager MAYA
, 2002
"... on inthelarge to exploit the structure of the speci cation, and maintains the veri cation work already done when changing the speci cation. Maya relies on development graphs as a uniform representation of structured speci cations, which enables the use of various (structured) speci cation lan ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
on inthelarge to exploit the structure of the speci cation, and maintains the veri cation work already done when changing the speci cation. Maya relies on development graphs as a uniform representation of structured speci cations, which enables the use of various (structured) speci cation languages like Casl [3] and VseSl [10] to formalise the software development. To this end Maya provides a generic interface to plug in additional parsers for the support of other speci cation languages. Moreover, Maya allows the integration of dierent theorem provers to deal with the actual proof obligations arising from the speci cation, i.e. to perform veri cation inthesmall. Textual speci cations are translated into a structured logical representation called a development graph [1, 4], which is based on the notions of consequence relations and morphisms and makes arising proof obligations explicit. The user can tackle these proof obligations with the help of theorem provers connecte
Heterogeneous development graphs and heterogeneous borrowing
 In M. Nielsen (Ed.) Foundations of Software Science and Computation Structures (FOSSACS02
, 2002
"... Abstract. Development graphs are a tool for dealing with structured specifications in a formal program development in order to ease the management of change and reusing proofs. Often, different aspects of a software system have to be specified in different logics, since the construction of a huge lo ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
Abstract. Development graphs are a tool for dealing with structured specifications in a formal program development in order to ease the management of change and reusing proofs. Often, different aspects of a software system have to be specified in different logics, since the construction of a huge logic covering all needed features would be too complex to be feasible. Therefore, we introduce heterogeneous development graphs as a means to cope with heterogeneous specifications. We cover both the semantics and the proof theory of heterogeneous development graphs. A proof calculus can be obtained either by combining proof calculi for the individual logics, or by representing these in some “universal ” logic like higherorder logic in a coherent way and then “borrowing” its calculus for the heterogeneous language. 1
Foundations of Heterogeneous Specification
"... We provide a semantic basis for heterogeneous specifications that not only involve different logics, but also different kinds of translations between these. We show that Grothendieck institutions based on spans of (co)morphisms can serve as a unifying framework providing a simple but powerful semant ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
We provide a semantic basis for heterogeneous specifications that not only involve different logics, but also different kinds of translations between these. We show that Grothendieck institutions based on spans of (co)morphisms can serve as a unifying framework providing a simple but powerful semantics for heterogeneous specification.
Maintenance of Formal Software Developments by Stratified Verification
 In Proceedings 9th International Conference on Logic for Programming Artificial Intelligence and Reasoning, LNAI
, 2002
"... The development of industrialsize software is an evolutionary process based on structured specifications. In a formal setting, specification and verification are intertwined. Specifications are amended either to add new functionality or to fix bugs detected during the verification process. In this ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
The development of industrialsize software is an evolutionary process based on structured specifications. In a formal setting, specification and verification are intertwined. Specifications are amended either to add new functionality or to fix bugs detected during the verification process. In this paper we propose a system to maintain the verification of formal developments. It exploits the structure of the specification to reveal and eliminate redundant proof obligations and therefore constitutes itself a verification system inthelarge. Proofs in this system are represented as explicit proof objects allowing the system to adjust or reuse them in case the specification is changed.
Towards Trustworthy Specifications I: Consistency Checks
"... As the first of two methodological devices aimed at increasing the trust in the `correctness' of a specification, we develop a calculus for proving consistency of Casl specifications. It turns out to be possible to delegate large parts of the proof load to syntactical criteria by structuring consist ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
As the first of two methodological devices aimed at increasing the trust in the `correctness' of a specification, we develop a calculus for proving consistency of Casl specifications. It turns out to be possible to delegate large parts of the proof load to syntactical criteria by structuring consistency proofs along the given specification structure, so that only in rather few remaining focus points, actual theorem proving is required. The practical usability of the resulting calculus is demonstrated by extensive examples taken from the Casl library of basic data types.
ΩMEGA: Computer supported mathematics
 IN: PROCEEDINGS OF THE 27TH GERMAN CONFERENCE ON ARTIFICIAL INTELLIGENCE (KI 2004)
, 2004
"... The year 2004 marks the fiftieth birthday of the first computer generated proof of a mathematical theorem: “the sum of two even numbers is again an even number” (with Martin Davis’ implementation of Presburger Arithmetic in 1954). While Martin Davis and later the research community of automated dedu ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
The year 2004 marks the fiftieth birthday of the first computer generated proof of a mathematical theorem: “the sum of two even numbers is again an even number” (with Martin Davis’ implementation of Presburger Arithmetic in 1954). While Martin Davis and later the research community of automated deduction used machine oriented calculi to find the proof for a theorem by automatic means, the Automath project of N.G. de Bruijn – more modest in its aims with respect to automation – showed in the late 1960s and early 70s that a complete mathematical textbook could be coded and proofchecked by a computer. Classical theorem proving procedures of today are based on ingenious search techniques to find a proof for a given theorem in very large search spaces – often in the range of several billion clauses. But in spite of many successful attempts to prove even open mathematical problems automatically, their use in everyday mathematical practice is still limited. The shift