Results 1  10
of
18
Extensible Denotational Language Specifications
 SYMPOSIUM ON THEORETICAL ASPECTS OF COMPUTER SOFTWARE, NUMBER 789 IN LNCS
, 1994
"... Traditional denotational semantics assigns radically different meanings to one and the same phrase depending on the rest of the programming language. If the language is purely functional, the denotation of a numeral is a function from environments to integers. But, in a functional language with impe ..."
Abstract

Cited by 37 (5 self)
 Add to MetaCart
Traditional denotational semantics assigns radically different meanings to one and the same phrase depending on the rest of the programming language. If the language is purely functional, the denotation of a numeral is a function from environments to integers. But, in a functional language with imperative control operators, a numeral denotes a function from environments and continuations to integers. This paper introduces a new format for denotational language specifications, extended direct semantics, that accommodates orthogonal extensions of a language without changing the denotations of existing phrases. An extended direct semantics always maps a numeral to the same denotation: the injection of the corresponding number into the domain of values. In general, the denotation of a phrase in a functional language is always a projection of the denotation of the same phrase in the semantics of an extended languageno matter what the extension is. Based on extended direct semantics, i...
Proving properties of realtime systems through logical specifications and Petri Net models
 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 1994
"... The problem of formally analyzing properties of realtime systems is addressed. A method is proposed that allows specifying system properties in the TRIO language (an extension of temporal logic suitable to deal explicitly with the “time ” variable and to measure it) and modeling the system as a tim ..."
Abstract

Cited by 33 (12 self)
 Add to MetaCart
The problem of formally analyzing properties of realtime systems is addressed. A method is proposed that allows specifying system properties in the TRIO language (an extension of temporal logic suitable to deal explicitly with the “time ” variable and to measure it) and modeling the system as a timed Petri net. It is argued that such an approach is more general than analyzing program properties. The proof method is based on an axiomatization of timed Petri nets in terms of TRIO so that their properties can be derived as suitable theorems in much the same spirit as classical Hoare’s method allows proving properties of programs coded in a Pascallike language. The method is then exemplified through two classical “benchmarks ” of the literature on concurrent and realtime systems, namely an elevator system and the dining philosophers problem. A thorough review of the related literature and a comparison thereof with the new method is also provided. Possible alternative methods, theoretical extensions, and practical applications are briefly discussed.
The Early Search for Tractable Ways of Reasoning About Programs
 IEEE Annals of the History of Computing
, 2003
"... This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specifi ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
This paper traces the important steps in the history up to around 1990 of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specification (or that two programs were equivalent). Over time it became clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necessary to exploit a notation of compositionality. Coping with concurrent algorithms is much more challenging  this and other extensions are considered briefly. The main thesis of this paper is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.
Functionbased shape modeling: mathematical framework and specialized language
 Automated Deduction in Geometry, Lecture Notes in Artificial Intelligence 2930
, 2004
"... In this survey, we describe the following different aspects of modeling multidimensional point sets (shapes) using realvalued functions of several variables: algebraic system as a formal framework; representation of shapes, operations, and relations using realvalued functions, internal representa ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
In this survey, we describe the following different aspects of modeling multidimensional point sets (shapes) using realvalued functions of several variables: algebraic system as a formal framework; representation of shapes, operations, and relations using realvalued functions, internal representation of the modeling system; specialized language for functionbased modeling, and model extension to point sets with attributes (hypervolumes).
Closing the gap between specification and programming: VDM++ and scala
 In HigherOrder Workshop on Automated Runtime Verification and Debugging
, 2011
"... We argue that a modern programming language such as Scala offers a level of succinctness, which makes it suitable for program and systems specification as well as for highlevel programming. We illustrate this by comparing the language with the Vdm ++ specification language. The comparison also iden ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
We argue that a modern programming language such as Scala offers a level of succinctness, which makes it suitable for program and systems specification as well as for highlevel programming. We illustrate this by comparing the language with the Vdm ++ specification language. The comparison also identifies areas where Scala perhaps could be improved, inspired by Vdm ++. We furthermore illustrate Scala’s potential as a specification language by augmenting it with a combination of parameterized state machines and temporal logic, defined as a library, thereby forming an expressive but simple runtime verification framework. 1
Modeling Facilities for the Componentbased Software Development Method
 In Proceedings of the Third International Workshop ADBIS'96
, 1996
"... Componentbased software development (CBSD) technology uses components as firstclass objects and therefore requires a good understanding of the nature of components. Industrial approaches to CBSD based on interoperability standards (such as OMG CORBA) lack of component semantics in their descriptio ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Componentbased software development (CBSD) technology uses components as firstclass objects and therefore requires a good understanding of the nature of components. Industrial approaches to CBSD based on interoperability standards (such as OMG CORBA) lack of component semantics in their descriptional models. In this paper we present an overview of the SYNTHESIS method emerging the CBSD approach by introduction of semantic information to enrich and complement the industrial modeling facilities. The paper contributes to the development of modeling facilities for CBSD focusing on the interoperable systems design. Proper balance of formal and semiformal modeling facilities is demonstrated to cope with the CBSD requirements 1 . 1 Introduction Componentbased software development (CBSD) has become one of the hottest topics in the area of software engineering. CBSD is a promising solution intended to break up large monolithic software systems into interoperable components and thus to m...
Towards the semantics of the definitional language of MetaSoft
"... this paper to the legal symbolic types only we obtain the following theorem. ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
this paper to the legal symbolic types only we obtain the following theorem.
Cpo's Do Not Form a Cpo, and Yet Recursion Works
 In VDM ’91, volume 551 of LNCS
, 1991
"... We consider type universes as examples of regular algebras in the area of denotational semantics. The paper concentrates on our method which was used implicitly to prove that the interesting domain equations have solutions in the domain universes underlying MetaSoft, cf. [BBP90], and BSI/VDM, cf ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We consider type universes as examples of regular algebras in the area of denotational semantics. The paper concentrates on our method which was used implicitly to prove that the interesting domain equations have solutions in the domain universes underlying MetaSoft, cf. [BBP90], and BSI/VDM, cf. [TW90]. Technically speaking the method allows to prove regularity of a universe. It is demonstrated by means of an example that the method applies even to universes which are essentially regular, i.e., which are neither cpo's, nor the images of the initial regular algebra. 1 Introduction 1.1 The Problem It is a usual practice in the area of programming languages to assign types to the manipulated objects. The typing procedure yields the first, naive, explanation of the notion of type: each type stands for the set of objects that have the type assigned to them. Consequently, one demands that the type forming operators should also be interpreted as operations on sets. It was discovere...
Planning Proofs of Correctness of CCS Systems
, 1997
"... The specification and verification of communicating systems has captured increasing interest in the last decades. CCS, a Calculus of Communicating Systems [Milner 89a], was especially designed to help this enterprise; it is widely used in both industry and academia. Most efforts ..."
Abstract
 Add to MetaCart
The specification and verification of communicating systems has captured increasing interest in the last decades. CCS, a Calculus of Communicating Systems [Milner 89a], was especially designed to help this enterprise; it is widely used in both industry and academia. Most efforts
Mastering Change @ Runtime?
"... This brief paper is a response to a call [7] for opinion statements from members of the editorial board of the upcoming journal: LNCS Transactions on Foundations for Mastering Change (FoMaC). In the call it says: FoMaC intends to establish a forum for formal methodsbased research that fosters a di ..."
Abstract
 Add to MetaCart
(Show Context)
This brief paper is a response to a call [7] for opinion statements from members of the editorial board of the upcoming journal: LNCS Transactions on Foundations for Mastering Change (FoMaC). In the call it says: FoMaC intends to establish a forum for formal methodsbased research that fosters a discipline for rigorously dealing with the nature of today’s agile system development, which is characterized by unclear premises, unforeseen change, and the need for fast reaction, in a context of hard to control frame conditions, like third party components, networkproblem, and attacks. The phases covered span from meta modeling to modeling and design, implementation, runtime and finally evolution/migration. In the extreme, all software correctness issues can be considered as purely change issues, where the fundamental question is the following: given a program P, potentially empty, will the addition of the program fragment ∆ make P + ∆ satisfy a property ψ? Program fragments ∆ can here be understood liberally, as for example edit commands (replace these lines of code with these lines of code), refinements as in stepwise