• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Semantics with applications: a formal introduction (1992)

by H R Nielson, F Nielson
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 85
Next 10 →

ConGolog, a concurrent programming language based on the situation calculus: language and implementation

by Yves Lesperance, Hector J. Levesque , 1998
"... As an alternative to planning, an approach to high-level agent control based on concurrent program execution is considered. The language includes facilities for prioritizing the concurrent execution, interrupting the execution when certain conditions become true, and dealing with exogenous actions. ..."
Abstract - Cited by 186 (33 self) - Add to MetaCart
As an alternative to planning, an approach to high-level agent control based on concurrent program execution is considered. The language includes facilities for prioritizing the concurrent execution, interrupting the execution when certain conditions become true, and dealing with exogenous actions. The language di ers from other procedural formalisms for concurrency in that the initial state can be incompletely speci ed and the primitive actions can be user-de ned by axioms in the situation calculus. In a companion paper, a formal de nition in the situation calculus of such a programming language is presented and illustrated with detailed examples. In this paper, the mathematical properties of the programming language are explored. 1

Rewriting Logic as a Logical and Semantic Framework

by Narciso Martí-Oliet, José Meseguer , 1993
"... Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are und ..."
Abstract - Cited by 145 (52 self) - Add to MetaCart
Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are understood as mappings L ! F that translate one logic into the other in a conservative way. The ease with which such maps can be defined for a number of quite different logics of interest, including equational logic, Horn logic with equality, linear logic, logics with quantifiers, and any sequent calculus presentation of a logic for a very general notion of "sequent," is discussed in detail. Using the fact that rewriting logic is reflective, it is often possible to reify inside rewriting logic itself a representation map L ! RWLogic for the finitely presentable theories of L. Such a reification takes the form of a map between the abstract data types representing the finitary theories of...

Programming Languages for Mobile Code

by Tommy Thorn - ACM COMPUTING SURVEYS , 1997
"... ..."
Abstract - Cited by 97 (1 self) - Add to MetaCart
Abstract not found

Probabilistic noninterference in a concurrent language

by Dennis Volpano, Geoffrey Smith , 1998
"... In [15], we give a type system that guarantees that well-typed multi-threaded programs are possibilistically noninterfering. If thread scheduling is probabilistic, however, then well-typed programs may have probabilistic timing channels. We describe how they can be eliminated without making the type ..."
Abstract - Cited by 82 (7 self) - Add to MetaCart
In [15], we give a type system that guarantees that well-typed multi-threaded programs are possibilistically noninterfering. If thread scheduling is probabilistic, however, then well-typed programs may have probabilistic timing channels. We describe how they can be eliminated without making the type system more restrictive. We show that well-typed concurrent programs are probabilistically noninterfering if every total command with a high guard executes atomically. The proof uses the concept of a probabilistic state of a computation, following the work of Kozen [10].

Modular structural operational semantics

by Peter D. Mosses , 2004
"... Modular SOS (MSOS) is a variant of conventional Structural Operational Semantics (SOS). Using MSOS, the transition rules for each construct of a programming language can be given incrementally, once and for all, and do not need reformulation when further constructs are added to the language. MSOS th ..."
Abstract - Cited by 46 (4 self) - Add to MetaCart
Modular SOS (MSOS) is a variant of conventional Structural Operational Semantics (SOS). Using MSOS, the transition rules for each construct of a programming language can be given incrementally, once and for all, and do not need reformulation when further constructs are added to the language. MSOS thus provides an exceptionally high degree of modularity in language descriptions, removing a shortcoming of the original SOS framework. After sketching the background and reviewing the main features of SOS, the paper explains the crucial differences between SOS and MSOS, and illustrates how MSOS descriptions are written. It also discusses standard notions of semantic equivalence based on MSOS. Appendix A shows how the illustrative MSOS rules given in the paper would be formulated in conventional SOS.

Enhanced Operational Semantics

by Pierpaolo Degano, Corrado Priami - ACM Computing Surveys , 1996
"... designers, implementors, users) must understand it. They can be roughly divided in two main groups. The first group is particularly interested in the behavioural aspects of systems, i.e. in what they do, regardless of how. The other group is concerned with the quantitative aspects of systems, i.e. ..."
Abstract - Cited by 37 (16 self) - Add to MetaCart
designers, implementors, users) must understand it. They can be roughly divided in two main groups. The first group is particularly interested in the behavioural aspects of systems, i.e. in what they do, regardless of how. The other group is concerned with the quantitative aspects of systems, i.e. how efficiently they perform. The considerations above call for a semantics as usable as possible, with an underlying theory accordingly simple. Operational semantics is such because it describes the essential features that any computing device has. Thus, also final users may grasp the meaning of a definition driven by their experience on their own machine. Moreover, it is sufficient to decorate transition systems with the relevant information to describe in detail complex systems. For example, one can enhance operational semantics to describe aspects of concurrent and distributed processes, that we discuss here more <F23.

Trace-based aspects

by Rémi Douence, Didier Le Botlan, Jacques Noyé, Mario Südholt - In Aspect-oriented Software Development , 2004
"... Aspect-Oriented Programming (AOP) promises the modularization of so-called crosscutting functionalities in large applications. Currently, almost all approaches to AOP provide means for the description of sequential aspects that are to be applied to a sequential base program. In particular, there is ..."
Abstract - Cited by 33 (5 self) - Add to MetaCart
Aspect-Oriented Programming (AOP) promises the modularization of so-called crosscutting functionalities in large applications. Currently, almost all approaches to AOP provide means for the description of sequential aspects that are to be applied to a sequential base program. In particular, there is no formally-defined concurrent approach to AOP, with the result that coordination issues between aspects and base programs as well as between aspects cannot precisely be investigated. This paper presents Concurrent Event-based AOP (CEAOP), which addresses this issue. Our contribution can be detailed as follows. First, we formally define a model for concurrent aspects which extends the sequential Event-based AOP approach. The definition is given as a translation into concurrent specifications using Finite Sequential Processes (FSP), thus enabling use of the Labelled Transition System Analyzer (LTSA) for formal property verification. Further, we show how to compose concurrent aspects using a set of general composition operators. Finally, we sketch a Java prototype implementation for concurrent aspects, which generates coordination specific code from the FSP model

Foundations of Modular SOS

by Peter D. Mosses , 1999
"... A novel form of labelled transition system is proposed, where the labels are the arrows of a category, and adjacent labels in computations are required to be composable. Such transition systems provide the foundations for modular SOS descriptions of programming languages. Three ..."
Abstract - Cited by 27 (6 self) - Add to MetaCart
A novel form of labelled transition system is proposed, where the labels are the arrows of a category, and adjacent labels in computations are required to be composable. Such transition systems provide the foundations for modular SOS descriptions of programming languages. Three

Handling Encryption in an Analysis for Secure Information Flow

by Peeter Laud - In Proc. European Symp. on Programming, volume 2618 of LNCS , 2003
"... This paper presents a program analysis for secure information flow. ..."
Abstract - Cited by 21 (0 self) - Add to MetaCart
This paper presents a program analysis for secure information flow.

Effective Specialization of Realistic Programs via Use Sensitivity

by Luke Hornof, Charles Consel, Jacques Noyé, Rue Alfred Kastler , 1997
"... In order to exploit specialization opportunities that exist in programs written by researchers outside of the programming language community, a partial evaluator needs to effectively treat existing realistic applications. Our empirical studies have demonstrated real-sized applications extensively us ..."
Abstract - Cited by 18 (6 self) - Add to MetaCart
In order to exploit specialization opportunities that exist in programs written by researchers outside of the programming language community, a partial evaluator needs to effectively treat existing realistic applications. Our empirical studies have demonstrated real-sized applications extensively use non-liftable values such as pointers and data structures. Therefore, it is essential that the binding-time analysis accurately treats nonliftable values. To achieve this accuracy, we introduce the notion of use sensitivity, and present a use-sensitive binding-time analysis for C programs which is obtained by a forward analysis followed by a backward analysis. This analysis has been implemented and integrated into our partial evaluator for C, called Tempo. To validate the effectiveness of our analysis and demonstrate that use sensitivity is critical to obtain highly-specialized programs, we have conducted experimental studies on various components of existing operating systems code. Our res...
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

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

© 2007-2010 The Pennsylvania State University