Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ian A. Mason is active.

Publication


Featured researches published by Ian A. Mason.


Journal of Functional Programming | 1997

A foundation for actor computation

Gul Agha; Ian A. Mason; Scott F. Smith; Carolyn L. Talcott

We present an actor language which is an extension of a simple functional language, and provide an operational semantics for this extension. Actor configurations represent open distributed systems, by which we mean that the specification of an actor system explicitly takes into account the interface with external components. We study the composability of such systems. We define and study various notions of testing equivalence on actor expressions and configurations. The model we develop provides fairness. An important result is that the three forms of equivalence, namely, convex, must, and may equivalences, collapse to two in the presence of fairness. We further develop methods for proving laws of equivalence and provide example proofs to illustrate our methodology.


Journal of Functional Programming | 1991

Equivalence in functional languages with effects

Ian A. Mason; Carolyn L. Talcott

Traditionally the view has been that direct expression of control and store mechanisms and clear mathematical semantics are incompatible requirements. This paper shows that adding objects with memory to the call-by-value lambda calculus results in a language with a rich equational theory, satisfying many of the usual laws. Combined with other recent work this provides evidence that expressive, mathematically clean programming languages are indeed possible. 1. Overview Real programs have eeects|creating new structures, examining and modifying existing structures, altering ow of control, etc. Such facilities are important not only for optimization, but also for communication, clarity, and simplicity in programming. Thus it is important to be able to reason both informally and formally about programs with eeects, and not to sweep eeects either to the side or under the store parameter rug. Recent work of Talcott, Mason, Felleisen, and Moggi establishes a mathematical foundation for studying notions of program equivalence for programming languages with function and control abstractions operating on objects with memory. This work extends work of Landin, Reynolds, Morris and Plotkin. Landin 14] and Reynolds 35] describe high-level abstract machines for deening language semantics. Morris 29] deenes an extensional equivalence relation for the classical lambda calculus. Plotkin 33] extends these ideas to the call-by-value lambda calculus and deenes the operational equivalence relation. Operational approximation is the pre-ordering induced by an operational semantics. Operational equivalence is the equivalence naturally associated with this pre-ordering. One expression operationally approximates another if for all closing program contexts either the rst expression is undeened or both expressions are deened and their values are indistinguishable (with respect to some primitive means of testing equality). Operational approximation and equivalence are congruence relations on expressions and hence closed under substitution and abstraction. Mason and Talcott in 39, 17, 18, 40] study operational approximation and equivalence for subsets of a language with function and control abstractions and objects with memory. Felleisen 8] deenes reduction calculi extending the call-by-value lambda calculus to languages with control and assignment abstractions. These calculi are simpliied and extended by Felleisen and Hieb in 9]. Talcott, Mason, and Felleisen all apply their theories to expressing and proving properties of program constructs and of particular programs. Moggi 27, 28] introduces the notion of computational monad as a framework for axiomatizing features of programming languages. Computational monads are categories with certain additional structure that accommodate a wide variety of language features including assignment, exceptions, and …


Fundamenta Informaticae | 1995

Metamathematics Of Contexts

Sasa Buvac; Vanja Buvac; Ian A. Mason

In this paper we investigate the simple logical properties of contexts. We describe both the syntax and semantics of a general propositional language of context, and we give a Hilbert style proof system for this language. A propositional logic of context extends classical propositional logic in two ways. Firstly, a new modality, ist(κ,p), is introduced. It is used to express that the sentence,p, holds in the context, κ. Secondly, each context has its own vocabulary, i.e. a set of propositional atoms which are defined or meaningful in that context. The main results of this paper are the soundness and completeness of this Hilbert style proof system. We also provide soundness and completeness results (i.e., correspondence theory) for various extensions of the general system. Finally, we prove that our logic is decidable, and give a brief comparison of our semantics to Kripke semantics.


Journal of Automated Reasoning | 1992

Using typed lambda calculus to implement formal systems on a machine

Arnon Avron; Furio Honsell; Ian A. Mason; Robert Pollack

Much research has been devoted in building computer systems for checking proofs or for developing interactively correct proofs in specific logical systems. However, implementing a proof environment for a specific logical system is both complex and time-consuming, this-together with the proliferation of logics-suggests that a uniform and reliable alternative is desirable. One such alternative is the Edinburgh Logical Framework (LF), developed in the late eighties at the LFCS (Laboratory for Foundations of Computer Science). The LF is a logic-independent tool which, given a specification for a logical system, synthesizes a proof editor and checker for that system. Its specification language is based on a general theory of logics, which enables one to capture uniformities and idiosyncrasies of a large class of logics without sacrificing generality for tractability. Peculiarities (such as side conditions on rule application, variable occurrence or formula formation) are expressed at the level of the specification. In this paper we are going to provide a broad illustration of its applicability and discuss to what extent it is successful. The analysis (of the formal presentation) of a system carried out through encoding often illuminates the system itself. This paper will also deal with this phenomenon.


international conference on concurrency theory | 1992

Towards a Theory of Actor Computation

Gul Agha; Ian A. Mason; Scott F. Smith; Carolyn L. Talcott

In this paper we present preliminary results of a rigorous development of the actor model of computation. We present an actor language which is an extension of a simple functional language, and provide a precise operational semantics for this extension. Our actor systems are open distributed systems, meaning we explicitly take into account the interface with external components in the specification of an actor system. We define and study various notions of equivalence on actor expressions and systems. We show that the usual tripartite family of testing equivalence relations collapses to two in the presence of fairness. We define a notion of operational bisimulation as a tool for establishing equivalence under fairness assumptions, and illustrate its use.


Information & Computation | 1995

A variable typed logic of effects

Furio Honsell; Ian A. Mason; Scott F. Smith; Carolyn L. Talcott

In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the first-order theory of individuals built on assertions of equality (operational equivalence a la Plotkin), and contextual assertions. The second stage extends the logic to include classes and class membership. The logic we present provides an expressive language for defining and studying properties of programs including program equivalences, in a uniform framework. The logic combines the features and benefits of equational calculi as well as program and specification logics. In addition to the usual first-order formula constructions, we add contextual assertions. Contextual assertions generalize Hoare′s triples in that they can be nested, they can be used as assumptions, and their free variables can be quantified. They are similar in spirit to program modalities in dynamic logic. We use the logic to establish the validity of the Meyer Sieber examples in an operational setting. The theory allows for the construction of inductively defined sets and derivation of the corresponding induction principles. We hope that classes may serve as a starting point for studying semantic notions of type. Naive attempts to represent ML types as classes fail in the sense that ML inference rules are not valid.


Information & Computation | 1996

From Operational Semantics to Domain Theory

Ian A. Mason; Scott F. Smith; Carolyn L. Talcott

This paper builds domain theoretic concepts upon an operational foundation. The basic operational theory consists of a single step reduction system from which an operational ordering and equivalence on programs are defined. The theory is then extended to include concepts from domain theory, including the notions of directed set, least upper bound, complete partial order, monotonicity, continuity, finite element,?-algebraicity, full abstraction, and least fixed point properties. We conclude by using these concepts to construct a (strongly) fully abstract continuous model for our language. In addition we generalize a result of Milner and prove the uniqueness of such models.


logic in computer science | 1992

References, local variables and operational reasoning

Ian A. Mason; Carolyn L. Talcott

A.R. Meyer and K. Sieber (Proc. 15th ACM. Symp. on Principles of Programming Languages, 1988, p.191-208) gave a series of examples of programs that are operationally equivalent (according to the intended semantics of block-structured Algol-like programs) but are not given equivalent denotations in traditional denotational semantics. They propose various modifications to the denotational semantics that solve some of these discrepancies, but not all. The present authors approach the same problem, but from an operational rather than a denotational perspective. They present the first-order part of a new logic for reasoning about programs, and they use this logic to prove the equivalence of the Meyer-Sieber examples.<<ETX>>


international colloquium on automata languages and programming | 1989

Programming, Transforming, and Providing with Function Abstractions and Memories

Ian A. Mason; Carolyn L. Talcott

1. Overview Notions of program equivalence are fundamental to the process of program speci-cation and transformation. Recent work of Talcott, Mason, and Felleisen establishes a basis for studying notions of program equivalence for programming languages with function and control abstractions operating on objects with memory. This work extends work of Landin, Reynolds, Morris and Plotkin. Landin 1964] and Reynolds 1972] describe high level abstract machines for deening language semantics. Morris 1968] deenes an extensional equivalence relation for the classical lambda calculus. Plotkin 1975] extends these ideas to the call-by-value lambda calculus and deenes the operational equivalence relation. Operational equivalence is the equivalence naturally associated with the operational approximation pre-ordering. One expression operationally approximates another if for all closing program contexts either the rst expression is undeened or both expressions are deened and their values are indistinguishable (with respect to some primitive means of testing equality). Talcott 1985], Mason 1986], and Talcott 1987] study operational approximation and equivalence for subsets of a language with function and control abstractions and objects with memory. Felleisen 1987] deenes reduction calculi extending the call-by-value lambda calculus to languages with control and assignment abstractions. Talcott, Mason, and Felleisen all apply their theories to expressing and proving properties of program constructs and of particular programs. Reduction calculi and operational approximation both provide a sound basis for purely equational reasoning about programs. Calculi have the advantage that the reduction relations are inductively generated from primitive reductions (such as beta-conversion) by closure operations (such as transitive closure or congruence closure). Equations proved in a calculus continue to hold when the language is extended to treat additional language constructs. Operational approximation is, by deenition, sensitive to the set of language constructs and basic data available. Using operational approximation we can express and prove properties such as non-termination, computation induction and existence of least xed points which cannot even be expressed in reduction calculi. Studying the laws of operational approximation and discovering natural extensions to reduction calculi provide useful insight into the nature of program equivalence. This paper presents a study of operational approximation and equivalence in the presence of function abstractions and objects with memory. In the remainder of this section we give an informal summary of our results illustrating properties of operational ICALP 89


computing the australasian theory symposium | 1999

Actor languages. their syntax, semantics, translation, and equivalence

Ian A. Mason; Carolyn L. Talcott

Abstract In this paper we present two actor languages and a semantics preserving translation between them. The source of the translation is a high-level language that provides object-based programming abstractions. The target is a simple functional language extended with basic primitives for actor computation. The semantics preserved is the interaction semantics of actor systems — sets of possible interactions of a system with its environment. The proof itself is of interest since it demonstrates a methodology based on the actor theory framework for reasoning about correctness of transformations and translations of actor programs and languages and more generally of concurrent object languages.

Collaboration


Dive into the Ian A. Mason's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Scott F. Smith

Johns Hopkins University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge