Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
Information and Control
AI
The paper presents a mathematical framework for understanding the semantics of concurrency in programming languages, focusing on parallel composition, synchronization, and communication. It employs denotational semantics to define these concepts systematically, extending traditional notions of state-transforming functions to encompass processes, which are constructed from sequences. The work aims to rigorously treat operational definitions and provide a mathematical backbone for reasoning about concurrent processes, laying the groundwork for further advancements in the field.
Theoretical Computer Science, 1989
The assignment statement is a ubiquitous building block of programming languages. In functionally oriented programming languages, the assignment is the facility for modeling and expressing state changes. Given that functional languages are directly associated with the equatiorial A-calculus-theory, it is naturai to wonder whstiier this syntactic proof s~sttm is extensible to imperative variants of functional languages including state variables and side-effects. In this paper, we show that such an extension exists, and that it satisfies variants of the conventional consistency and standardization theorems. With a series of examples, we also demonstrate the system's capabilities for reasoning about imperative-functional programs and illustrate some of its advantages over alternative models.
Theoretical Computer Science, 1994
Science 135 (I 994) 267-288 Elsevier 267
Mathematical Foundations of Programming Semantics, 1992
Mathematical Foundations of Programming Semantics, 1994
ACM SIGSOFT Software Engineering Notes, 2000
Formal Aspects of Computing, 1994
We illustrate the difference between sequential composition in process algebra axiomatisations like ACP and action prefixing in process calculi like CCS. We define both early and late input in a general framework extending ACP, and consider various subalgebras, some very close to value passing CCS, another one close to CSP.
Notre Dame Journal of Formal Logic, 1975
Electronic Notes in Theoretical Computer Science, 2011
In this paper, we study extensions of mathematical operational semantics with algebraic effects. Our starting point is an effect-free coalgebraic operational semantics, given by a natural transformation of syntax over behaviour. The operational semantics of the extended language arises by distributing program syntax over effects, again inducing a coalgebraic operational semantics, but this time in the Kleisli category for the monad derived from the algebraic effects. The final coalgebra in this Kleisli category then serves as the denotational model. For it to exist, we ensure that the the Kleisli category is enriched over CPOs by considering the monad of possibly infinite terms, extended with a bottom element. Unlike the effectless setting, not all operational specifications give rise to adequate and compositional semantics. We give a proof of adequacy and compositionality provided the specifications can be described by evaluation-in-context. We illustrate our techniques with a simple extension of (stateless) while programs with global store, i.e. variable lookup.
Lecture Notes in Computer Science, 1994
New Generation Computing, 1990
We describe a new scheme for the abstract interpretation of logic programs. The scheme was developed to identify and integrate different forms of inherent parallelism in logic programs at compile time. The scheme has four components: generalization, abstract unification, summarization and concretization, algorithms for which are discussed. The abstract domain for interpretation consists of type expressions which are used as program modes. The generated mode information has been applied to identify different classes of procedures exhibiting different forms of inherent parallelism. The mode information has also been applied for detection of guards and producer-consumer relationship. The advantages and limitations of our resulting scheme are discussed. An Abstract Interpretation .Scheme for Identifying Inherent Parallelism in Logic Programs 275 suspended processes. We use mode information, expressed in terms of type expressions, to identify producer-consumer relationship and provide synchronization at compile time. We also use modes to identify guards. Development of transformation schemes: We use different source-tosource transformation scheme for simulation of OR-parallelism to stream parallelism and AND-parallelism under the framework of committedchoice AND-parallelism 1~ extended to generate multiple solutions. 2' 3~ This transformation integrates OR-parallelism, AND-parallelism, and stream parallelism. Logic Program Abstract Interpretation with abstract domain as polymorphic type expression Logic program with modes expressed as polymorphic type expressions Procedure Classification based on integration of type expression, modes, disjointness, and determinacy Logic program with procedure classification based upon inherent parallelism Transformation scheme to transform logic program to extended committed-choice AND-parallelism Transformed committed-choice logic program A.K. Bansal and L. S. Sterling
Notre Dame Journal of Formal Logic, 1975
Daimi Report Series, 1984
The purpose of this article is to describe a high-level conceptual framework-a taxonomy-for programming languages with language constructs for specification of cosequential and concurrent processes. We identify the major differences and similarities between cosequential and concurrent processes, and we discuss the essential aspects of cosequential processes, concerning different patterns in which control can be transferred between the processes. Moreover, we discuss the important common properties of cosequential and concurrent processes: synchronization and communication. Figure 1. A taxonomy for cosequential processes.
Acta Polytechnica Hungarica, 2021
A distinctive feature of concatenative languages is that a concatenation of their programs corresponds to a composition of meaning functions of these programs. At first programming in such languages may resemble assembly language programming. In spite of this, they also exhibit many similarities to high-level functional programming languages. We start our presentation with the definition of the language syntax. The main part of the paper consists of the definition of a meaning of programs in the language. To do this we employ a well-known method based on denotational semantics. We also informally introduce the language and its meaning as well as present its background and provide motivation for the work. Our exposition is accompanied by many examples and in the last part of the paper, we also discuss various language extensions and identify several proposals for further research.
1998
The π-calculus [MPW92] is a name-passing calculus that allows the description of distributed systems with a dynamically changing interconnection topology. Name communication, together with the possibility of declaring and exporting local names, gives the calculus a great expressive power. For instance, it was shown that process-passing calculi, which express mobility at higher order, can be encoded naturally in π-calculus [San93a]. Since its inception, the π-calculus has proliferated into a family of calculi differing slightly from one another either in the communication paradigm (polyadic vs monadic, asynchronous vs synchronous) or in the bisimulation semantics (labelled vs unlabelled, late vs early vs open vs barbed vs ...). These short notes present a collection of the labelled strong semantics 3 of the (synchronous monadic) π-calculus. The notes could not possibly replace any of the standard references listed in the Bibliography. They are an attempt to group together, using a uniform notation and the terminology that got assessed over the last years, a few definitions and concepts otherwise scattered throughout the π-calculus literature. I would like to thank James J. Leifer for his careful reading of the manuscript, and the helpful suggestions he provided. 3 The definition of weak late semantics requires some ingenuity. But for this case, the weak corresponding of each of the semantics we present can be easily defined by mimicking the standard CCS-like pattern.
Lecture Notes in Computer Science, 2013
In the mid-nineties, Turi and Plotkin gave an elegant categorical treatment of denotational and operational semantics for process algebra-like languages, proving compositionality and adequacy by defining operational semantics as a distributive law of syntax over behaviour. However, its applications to stateful or effectful languages, incorporating (co)models of a countable Lawvere theory, have been elusive so far. We make some progress towards a coalgebraic treatment of such languages, proposing a congruence format related to the evaluation-in-context paradigm. We formalise the denotational semantics in suitable Kleisli categories, and prove adequacy and compositionality of the semantic theory under this congruence format.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.