Results 1 - 10
of
49
Modeling Dynamic Domains with ConGolog
- In Proceedings of the Eleventh Conference on Advanced Information Systems Engineering (CAiSE’99) (Lecture Notes in Computer Science
, 1999
"... In this paper, we describe the process specification language ConGolog and show how it can be used to model business processes for requirements analysis. In ConGolog, the effects of actions in a dynamic domain are specified in a logical framework. This supports modeling even in the absence of comple ..."
Abstract
-
Cited by 15 (4 self)
- Add to MetaCart
In this paper, we describe the process specification language ConGolog and show how it can be used to model business processes for requirements analysis. In ConGolog, the effects of actions in a dynamic domain are specified in a logical framework. This supports modeling even in the absence of complete information. The behavior of agents in the domain is specified in a concurrent process language, whose semantics is defined in the same logical framework. We then describe a simulation tool implemented in terms of logic programming technology. As well, we discuss a verification tool which is being developed based on theorem proving technology. 1
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 14 (2 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.
Understanding the differences between VDM and Z
, 1993
"... This paper attempts to provide an understanding of the interesting differences between two well-known specification languages. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright no ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
This paper attempts to provide an understanding of the interesting differences between two well-known specification languages. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Science, Manchester University, are available by anonymous ftp from ftp.cs.man.ac.uk in the directory /pub/TR. The files are stored as PostScript, in compressed form, with the report number as filename. Alternatively, reports are available by post from The Computer Library, Department of Computer Science, The University, Oxford Road, Manchester M13 9PL, U.K. The main ideas are presented in the form of a discussion. This was partly prompted by Lakatos' book `Proof and Refutations' but, since this paper is less profound, char...
On the Search for Tractable Ways of Reasoning about Programs
, 2001
"... 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 satifies its specific ..."
Abstract
-
Cited by 9 (1 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 satifies its specification (or that two programs were equivalent). Over time it has become 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 necesary to exploit a notion of composability.
Scientific decisions which characterize VDM
- In FM’99 – Formal Methods
, 1999
"... Dedicated to the memory of Heinz-Peter Chladek Abstract. The formal description and development method known as VDM has been used extensively, its specification language is now an ISO standard, and it has influenced other specification languages. The origins of VDM are normally placed in language de ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Dedicated to the memory of Heinz-Peter Chladek Abstract. The formal description and development method known as VDM has been used extensively, its specification language is now an ISO standard, and it has influenced other specification languages. The origins of VDM are normally placed in language description or semantics but it is probably best known in the wider arena of formal methods for (general) program specification and design. This paper sets out a personal view of some of the key technical decisions which characterize the Vienna Development Method. VDM is generally believed to stand for Vienna Development Method. The programming language description aspects of VDM were forged in the heat of a compiler development
Formal semantics of programming languages: VDL
- IBM Journal of Research and Development
, 1981
"... The history of ideas that led to the first formalization of the syntax and semantics of PLII is sketched. The definition method and notation are known as the Vienna Definition Language (VDL). The paper examines the relationship between VDL and both denotational semantics and the axiomatic approach t ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
The history of ideas that led to the first formalization of the syntax and semantics of PLII is sketched. The definition method and notation are known as the Vienna Definition Language (VDL). The paper examines the relationship between VDL and both denotational semantics and the axiomatic approach to programming language definition. 1.
Operational semantics: concepts and their expression
- Information Processing Letters
, 2003
"... One of the earliest approaches to giving formal semantics for programming languages was “operational semantics”. Enthusiasm for this approach has waxed and waned (not least in my own mind). The main objective of this paper is to tease apart some concepts involved in writing such operational descript ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
One of the earliest approaches to giving formal semantics for programming languages was “operational semantics”. Enthusiasm for this approach has waxed and waned (not least in my own mind). The main objective of this paper is to tease apart some concepts involved in writing such operational descriptions and
Domain Engineering
- In BCS FACS Seminars, Lecture Notes in Computer Science, the BCS FAC Series (eds. Paul Boca and Jonathan Bowen
, 2008
"... These lecture notes are primarily about domain modelling and only secondarily how to transform domain models into domain and interface requirements. The following facets of domain modelling will be covered: business processes, intrinsics, support technologies, management and organisation, rules and ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
These lecture notes are primarily about domain modelling and only secondarily how to transform domain models into domain and interface requirements. The following facets of domain modelling will be covered: business processes, intrinsics, support technologies, management and organisation, rules and regulations, scripts, and human behaviour. The lectures will exemplify excerpts of models of container shipping, financial services, etcetera. We shall relate two (of three) parts of requirements models to domain models: the domain requirements- which are the requirements that can be expressed solely in terms of the terms of the domain models, and the interface requirements- which are those requirements that can only be expressed using terms both of the domain and the machine: the hardware and software being required. For domain requirements we briefly sketch the domain-to-requirements “algebra ” of projection, instantiation, determination, extension and fitting. For interface requirements we briefly sketch the domain & machine issues of shared entities (bulk data input and refreshments), shared functions, shared events, and shared behaviours. 1
Language Definition and Implementation
- Australian Computer Science Communications
, 1989
"... Many languages have been designed to date, of which a large number have never been implemented and the majority are specified in a very imprecise manner. For a language to receive serious consideration among the computer science community, it generally must have been implemented after its design. Ho ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Many languages have been designed to date, of which a large number have never been implemented and the majority are specified in a very imprecise manner. For a language to receive serious consideration among the computer science community, it generally must have been implemented after its design. However, it is the matter of a precise definition which is often forgotten or ignored and yet it is one of the most important aspects of a language when considered in the context of the evolution of programming languages. The language definition is the vehicle by which the rules regarding syntax and semantics are clearly stated and conveyed. It allows for the comparison of languages independent of any implementation or machine architecture. Furthermore, by employing techniques with a formal basis, it is also possible to use the language definition as the source for the automatic generation of a language implementation. This strongly suggests that language designers should precisely define thei...
Constructing a theory of a data structure as an aid to program development
- Acta Informatica
, 1979
"... Summary. This paper illustrates an extension to the method of developing programs via abstract data types. In order to make the proofs shorter and more intuitive a collection of lemmas (theory) is constructed for the main data types (trees). The problem used as an example is the recording of equival ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Summary. This paper illustrates an extension to the method of developing programs via abstract data types. In order to make the proofs shorter and more intuitive a collection of lemmas (theory) is constructed for the main data types (trees). The problem used as an example is the recording of equivalence relations, one of the programs given is based on the Fischer-Galler algorithm.

