Results 1 - 10
of
18
Relational Reasoning about Functions and Nondeterminism
, 1998
"... Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Dissertation Series publications. Copies may be obtained by contacting: BRICS ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Dissertation Series publications. Copies may be obtained by contacting: BRICS
Combining Dynamic Deontic Logic and Temporal Logic for the Specification of Deadlines
, 1997
"... Intelligent agents have an agenda that is monitored continuously to decide what action is to be performed. Formally, an agenda is a set of deontic temporal constraints. Deontic, since the agenda specifies what the agent should do. Temporal, since the obligation is usually to be performed before a ce ..."
Abstract
-
Cited by 22 (12 self)
- Add to MetaCart
Intelligent agents have an agenda that is monitored continuously to decide what action is to be performed. Formally, an agenda is a set of deontic temporal constraints. Deontic, since the agenda specifies what the agent should do. Temporal, since the obligation is usually to be performed before a certain deadline, or as soon as possible. In this paper, we investigate the concepts necessary to describe deadlines. We describe a temporal deontic logic that facilitates reasoning about obligations and deadlines. The logic is a combination of temporal logic and deontic dynamic logic. We describe extensively which choices have to be made in combining temporal and dynamic aspects into one system. In the new logic, we can uniformally specify that an obligation starts at a certain time or event, that it must be done immediately, as soon as possible, before a deadline, or periodically. 1 Introduction It is not very difficult to develop a program that checks whether deadlines are met. The main id...
Algebraic Approaches to Nondeterminism - an Overview
- ACM Computing Surveys
, 1997
"... this paper was published as Walicki, M.A. and Meldal, S., 1995, Nondeterministic Operators in Algebraic Frameworks, Tehnical Report No. CSL--TR--95--664, Stanford University ..."
Abstract
-
Cited by 22 (3 self)
- Add to MetaCart
this paper was published as Walicki, M.A. and Meldal, S., 1995, Nondeterministic Operators in Algebraic Frameworks, Tehnical Report No. CSL--TR--95--664, Stanford University
Computations, Residuals, and the Power of Indeterminacy
- In Proc. of the 15th ICALP
, 1988
"... We investigate the power of Kahn-style dataflow networks, with processes that may exhibit indeterminate behavior. Our main result is a theorem about networks of "monotone" processes, which shows: (1) that the input/output relation of such a network is a total and monotone relation; and (2) every rel ..."
Abstract
-
Cited by 20 (10 self)
- Add to MetaCart
We investigate the power of Kahn-style dataflow networks, with processes that may exhibit indeterminate behavior. Our main result is a theorem about networks of "monotone" processes, which shows: (1) that the input/output relation of such a network is a total and monotone relation; and (2) every relation that is total, monotone, and continuous in a certain sense, is the input/output relation of such a network. Now, the class of monotone networks includes networks that compute arbitrary continuous input/output functions, an "angelic merge" network, and an "infinity-fair merge" network that exhibits countably indeterminate branching. Since the "fair merge" relation is neither monotone nor continuous, a corollary of our main result is the impossibility of implementing fair merge in terms of continuous functions, angelic merge, and infinity-fair merge. Our results are established by applying the powerful technique of "residuals" to the computations of a network. Residuals, which have previ...
Erratic Fudgets: A Semantic Theory for an Embedded Coordination Language
- SCIENCE OF COMPUTER PROGRAMMING
, 2003
"... The powerful abstraction mechanisms of functional programming languages provide the means to develop domain-specific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higher-order reusable programs) for an application area, and by constr ..."
Abstract
-
Cited by 20 (3 self)
- Add to MetaCart
The powerful abstraction mechanisms of functional programming languages provide the means to develop domain-specific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higher-order reusable programs) for an application area, and by constructing individual applications by combining and coordinating individual combinators. This paper is concerned with a successful example of such an embedded programming language, namely Fudgets, a library of combinators for building graphical user interfaces in the lazy functional language Haskell. The Fudget library has been used to build a number of substantial applications, including a web browser and a proof editor interface to a proof checker for constructive type theory. This paper develops a semantic theory for the non-deterministic stream processors that are at the heart of the Fudget concept. The interaction of two features of stream processors makes the development of such a semantic theory problematic: (i) the sharing of computation provided by the lazy evaluation mechanism of the underlying host language, and (ii) the addition of non-deterministic choice needed to handle the natural concurrency that reactive applications entail We demonstrate that this combination of features in a higher-order functional language can be tamed to provide a tractable semantic theory and induction principles suitable for reasoning about contextual equivalence of Fudgets.
An Object-Oriented Refinement Calculus with Modular Reasoning
, 1992
"... In this thesis, the refinement calculus is extended to support a variety of object-oriented programming styles. The late binding of procedure calls in object-oriented languages is modelled by defining an object-oriented system to be a function from procedure names and argument values to the procedur ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
In this thesis, the refinement calculus is extended to support a variety of object-oriented programming styles. The late binding of procedure calls in object-oriented languages is modelled by defining an object-oriented system to be a function from procedure names and argument values to the procedures that are invoked by late binding. The first model allows multiple dispatch late binding, in the style of CLOS. This model is then specialised to the single dispatch case, giving a model that associates types with objects, which is similar to existing class based object-oriented languages. Both models are then restricted so that they support modular reasoning. The concept of modular reasoning has been defined informally in the literature, both for non-object-oriented systems and for object-oriented systems. This thesis gives the first formal definition of modular reasoning for object-oriented languages. Intuitively, the definition seems to capture the minimum possible requirements necessa...
Meeting the Deadline: On the Formal Specification of Temporal Deontic Constraints
, 1996
"... . In this paper, we describe a temporal deontic logic that facilitates reasoning about obligations and deadlines. The logic is an extension of deontic dynamic logic, in which only immediate obligations can be specified. In our extension, we can also specify that an obligation starts at a certain tim ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
. In this paper, we describe a temporal deontic logic that facilitates reasoning about obligations and deadlines. The logic is an extension of deontic dynamic logic, in which only immediate obligations can be specified. In our extension, we can also specify that an obligation starts at a certain time or event, that it must be done immediately, as soon as possible, before a deadline, or periodically. A practical application area are intelligent agents that must be able to reason about their agendas. 1 Introduction It is not very difficult to develop a program that checks whether deadlines are met. The main idea is to wait until the deadline has passed, which usely can be checked easily, and then check whether a certain action has taken place. However, many difficulties arise when one tries to transform this procedural account of deadlines into a formal one. In an intelligent system (or agent) one would like to be able to reason about this type of constraints in order to check whether t...
A Modal Approach to Intentions, Commitments and Obligations: Intention plus Commitment yields Obligation.
, 1996
"... In this paper we introduce some new operators into our framework that make it possible to reason about decisions and commitments to do actions. In our framework, a decision leads to an intention to do an action. The decision in itself does not change the state of the world, but only the relation ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
In this paper we introduce some new operators into our framework that make it possible to reason about decisions and commitments to do actions. In our framework, a decision leads to an intention to do an action. The decision in itself does not change the state of the world, but only the relation to possible future worls. A commitment to actually perform the intended action changes the deontic state of the world such that the intended action becomes obligated. Of course, the obligated action may never actually occur. In our semantic structure, we use static (ought-to-be) and dynamic (ought-to-do) obligation operators. The static operator resembles the classical conception of obligation as truth in ideal worlds, except that it takes the current state as well as the past history of the world into account. This is necessary because it allows us to compare the way a state is actually reached with the way we committed ourselves to reach it. We show that some situations that cou...
A Formally Founded Description Technique for Business Processes
, 1998
"... As a means of modeling typical system behavior, we present a description technique for business processes derived from data flow nets and provide it with a formal semantics based on functions and their composition. The formalism features black box and glass box view and a concept of refinement. As i ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
As a means of modeling typical system behavior, we present a description technique for business processes derived from data flow nets and provide it with a formal semantics based on functions and their composition. The formalism features black box and glass box view and a concept of refinement. As it is intuitively understandable and formally well founded, the notation is equally adequate for the needs of application domain experts and system engineers in requirements engineering.
FUNDIO: A Lambda-Calculus with a letrec, case, Constructors, and an IO-Interface: Approaching a Theory of unsafePerformIO
, 2003
"... This paper proposes a non-standard way to combine lazy functional languages with I/O. In order to demonstrate the usefulness of the approach, a tiny lazy functional core language “FUNDIO”, which is also a call-by-need lambda calculus, is investigated. The syntax of “FUNDIO ” has case, letrec, constr ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
This paper proposes a non-standard way to combine lazy functional languages with I/O. In order to demonstrate the usefulness of the approach, a tiny lazy functional core language “FUNDIO”, which is also a call-by-need lambda calculus, is investigated. The syntax of “FUNDIO ” has case, letrec, constructors and an IO-interface: its operational semantics is described by small-step reductions. A contextual approximation and equivalence depending on the input-output behavior of normal order reduction sequences is defined and a context lemma is proved. This enables to study a semantics of “FUNDIO ” and its semantic properties. The paper demonstrates that the technique of complete reduction diagrams enables to show a considerable set of program transformations to be correct. Several optimizations of evaluation are given, including strictness optimizations and an abstract machine, and shown to be correct w.r.t. contextual equivalence. Correctness of strictness optimizations also justifies correctness of parallel evaluation.
Thus this calculus has a potential to integrate non-strict functional programming with a non-deterministic approach to input-output and also to provide a useful semantics for this combination.
It is argued that monadic IO and unsafePerformIO can be combined in Haskell, and that the result is reliable, if all reductions and transformations are correct w.r.t. to the FUNDIO-semantics. Of course, we do not address the typing problems the are involved in the usage of Haskell’s
unsafePerformIO.
The semantics can also be used as a novel semantics for strict functional languages with IO, where the sequence of IOs is not fixed.

