• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

A Structural Approach to Operational Semantics (1981)

by G. D. Plotkin
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 1,543
Next 10 →

A Syntactic Approach to Type Soundness

by Andrew K. Wright, Matthias Felleisen - INFORMATION AND COMPUTATION , 1992
"... We present a new approach to proving type soundness for Hindley/Milner-style polymorphic type systems. The keys to our approach are (1) an adaptation of subject reduction theorems from combinatory logic to programming languages, and (2) the use of rewriting techniques for the specification of the la ..."
Abstract - Cited by 629 (22 self) - Add to MetaCart
We present a new approach to proving type soundness for Hindley/Milner-style polymorphic type systems. The keys to our approach are (1) an adaptation of subject reduction theorems from combinatory logic to programming languages, and (2) the use of rewriting techniques for the specification of the language semantics. The approach easily extends from polymorphic functional languages to imperative languages that provide references, exceptions, continuations, and similar features. We illustrate the technique with a type soundness theorem for the core of Standard ML, which includes the first type soundness proof for polymorphic exceptions and continuations.
(Show Context)

Citation Context

...r the reader to their paper [8: page 169]. 2.2 Proofs based on Structural Operational Semantics Tofte [36, 37]: Tofte reformulated Milner's functional language with a structural operational semantics =-=[27]-=-. The semantics is specified as a deductive proof system; a conclusion E ` e ) v of a deduction states that expression e evaluates to v in value environment E. A value environment is a finite map from...

Program Analysis and Specialization for the C Programming Language

by Lars Ole Andersen , 1994
"... Software engineers are faced with a dilemma. They want to write general and wellstructured programs that are flexible and easy to maintain. On the other hand, generality has a price: efficiency. A specialized program solving a particular problem is often significantly faster than a general program. ..."
Abstract - Cited by 629 (0 self) - Add to MetaCart
Software engineers are faced with a dilemma. They want to write general and wellstructured programs that are flexible and easy to maintain. On the other hand, generality has a price: efficiency. A specialized program solving a particular problem is often significantly faster than a general program. However, the development of specialized software is time-consuming, and is likely to exceed the production of today’s programmers. New techniques are required to solve this so-called software crisis. Partial evaluation is a program specialization technique that reconciles the benefits of generality with efficiency. This thesis presents an automatic partial evaluator for the Ansi C programming language. The content of this thesis is analysis and transformation of C programs. We develop several analyses that support the transformation of a program into its generating extension. A generating extension is a program that produces specialized programs when executed on parts of the input. The thesis contains the following main results.

The Chemical Abstract Machine

by Gérard Berry, Gérard Boudol , 1998
"... ..."
Abstract - Cited by 543 (5 self) - Add to MetaCart
Abstract not found

Introduction to the ISO specification language Lotos

by Tommaso Bolognesi - Computer Networks , 1988
"... ..."
Abstract - Cited by 465 (10 self) - Add to MetaCart
Abstract not found
(Show Context)

Citation Context

...f action trees in asmore precise, formal way, which could be sys-stematically applied to any behaviour expression.s2.3. Operational Semantics: Growing Trees fromsExpressionssThe operational semantics =-=[38]-=- of LOTOS pro-svides a means to systematically derive the actionssthat a process (behaviour expression) may performsfrom the structure of the expression itself. Moresprecisely, given an expression B, ...

Universal coalgebra: a theory of systems

by J. J. M. M. Rutten , 2000
"... In the semantics of programming, nite data types such as finite lists, have traditionally been modelled by initial algebras. Later final coalgebras were used in order to deal with in finite data types. Coalgebras, which are the dual of algebras, turned out to be suited, moreover, as models for certa ..."
Abstract - Cited by 408 (42 self) - Add to MetaCart
In the semantics of programming, nite data types such as finite lists, have traditionally been modelled by initial algebras. Later final coalgebras were used in order to deal with in finite data types. Coalgebras, which are the dual of algebras, turned out to be suited, moreover, as models for certain types of automata and more generally, for (transition and dynamical) systems. An important property of initial algebras is that they satisfy the familiar principle of induction. Such a principle was missing for coalgebras until the work of Aczel (Non-Well-Founded sets, CSLI Leethre Notes, Vol. 14, center for the study of Languages and information, Stanford, 1988) on a theory of non-wellfounded sets, in which he introduced a proof principle nowadays called coinduction. It was formulated in terms of bisimulation, a notion originally stemming from the world of concurrent programming languages. Using the notion of coalgebra homomorphism, the definition of bisimulation on coalgebras can be shown to be formally dual to that of congruence on algebras. Thus, the three basic notions of universal algebra: algebra, homomorphism of algebras, and congruence, turn out to correspond to coalgebra, homomorphism of coalgebras, and bisimulation, respectively. In this paper, the latter are taken

Modeling and Verification of Randomized Distributed Real-Time Systems

by Roberto Segala , 1995
"... ..."
Abstract - Cited by 341 (15 self) - Add to MetaCart
Abstract not found

The Oz Programming Model

by Gert Smolka - COMPUTER SCIENCE TODAY, LECTURE NOTES IN COMPUTER SCIENCE , 1995
"... The Oz Programming Model (OPM) is a concurrent programming model subsuming higher-order functional and object-oriented programming as facets of a general model. This is particularly interesting for concurrent object-oriented programming, for which no comprehensive formal model existed until now. ..."
Abstract - Cited by 314 (11 self) - Add to MetaCart
The Oz Programming Model (OPM) is a concurrent programming model subsuming higher-order functional and object-oriented programming as facets of a general model. This is particularly interesting for concurrent object-oriented programming, for which no comprehensive formal model existed until now. The model

Relations in Concurrency

by Glynn Winskel
"... The theme of this paper is profunctors, and their centrality and ubiquity in understanding concurrent computation. Profunctors (a.k.a. distributors, or bimodules) are a generalisation of relations to categories. Here they are first presented and motivated via spans of event structures, and the seman ..."
Abstract - Cited by 305 (36 self) - Add to MetaCart
The theme of this paper is profunctors, and their centrality and ubiquity in understanding concurrent computation. Profunctors (a.k.a. distributors, or bimodules) are a generalisation of relations to categories. Here they are first presented and motivated via spans of event structures, and the semantics of nondeterministic dataflow. Profunctors are shown to play a key role in relating models for concurrency and to support an interpretation as higher-order processes (where input and output may be processes). Two recent directions of research are described. One is concerned with a language and computational interpretation for profunctors. This addresses the duality between input and output in profunctors. The other is to investigate general spans of event structures (the spans can be viewed as special profunctors) to give causal semantics to higher-order processes. For this it is useful to generalise event structures to allow events which “persist.”
(Show Context)

Citation Context

...itable models for concurrent and distributed processes, and to the formal understanding of their semantics. As a result, in addition to standard models like languages, automata and transition systems =-=[4, 9]-=-, models like Petri nets [8], process algebras [6, 2], Hoare traces [3], Mazurkiewicz traces [5], synchronization trees [15] and event structures [7, 16] have been introduced. The idea common to the m...

LUSTRE: A declarative language for programming synchronous systems

by P. Caspi, D. Pilaud, N. Halbwachs, J. A. Plaice - In 14th Symposium on Principles of Programming Languages (POPL’87). ACM , 1987
"... LUSTRE is a synchronous data-flow language for programming syetema which interact. with their environments in real-time. After an informal presentation of the language, we describe its semantics by means of structural inference rules. Moreover, we ehow how to use this semantics in order to generate ..."
Abstract - Cited by 284 (19 self) - Add to MetaCart
LUSTRE is a synchronous data-flow language for programming syetema which interact. with their environments in real-time. After an informal presentation of the language, we describe its semantics by means of structural inference rules. Moreover, we ehow how to use this semantics in order to generate efficient, sequential code, namely, a finite state automaton which represents the control of the program. Formal rules for program transformation are also presented.
(Show Context)

Citation Context

... LUSTRE [4] was denotational à la Kahn [16], we shall present the operational one which has been used as a basis for the construction of our compiler. We use structural inference rules à la Plotkin =-=[20]-=-. While this semantics is quite simple, it cannot be thoroughly presented in a single paper (a complete description may be found in [9]). We only present its most illustrative features: the clock cons...

The slam calculus: programming with secrecy and integrity

by Nevin Heintze, Jon G. Riecke - In POPL ’98: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages , 1998
"... The SLam calculus is a typed λ-calculus that maintains security information as well as type information. The type system propagates security information for each object in four forms: the object’s creators and readers, and the object’s indirect creators and readers (i.e., those agents who, through f ..."
Abstract - Cited by 274 (1 self) - Add to MetaCart
The SLam calculus is a typed λ-calculus that maintains security information as well as type information. The type system propagates security information for each object in four forms: the object’s creators and readers, and the object’s indirect creators and readers (i.e., those agents who, through flow-of-control or the actions of other agents, can influence or be influenced by the content of the object). We prove that the type system prevents security violations and give some examples of its power. 1
Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University