Bartosz Klin, Copyright C, Bartosz Klin et al. · 2004
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
Cited by 0
David Walker, Steve Zdancewic, Jay Ligatti · 2008
This paper define the semantics of MinAML, an idealized aspect-oriented programming language, by giving a typedirected translation from its user-friendly external language to its compact, well-defined core language. We argue that our framework is an effective way to give semantics to aspectoriented programming languages in general because the translation eliminates shallow syntactic differences between related constructs and permits definition of a clean, easy-tounderstand, and easy-to-reason-about core language. The core language extends the simply-typed lambda calculus with two central new abstractions: explicitly labeled program points and first-class advice. The labels serve both to trigger advice and to mark continuations that the advice may return to. These constructs are defined orthogonally to the other features of the language and we show that our abstractions can be used in both functional and object-oriented contexts. The labels are well-scoped and the language as a whole is well-typed. Consequently, programmers can use lexical scoping in the standard way to prevent aspects from interfering with local program invariants. Categories and Subject Descriptors D.3.1 [Formal Definitions and Theory]: Semantics; D.3.3
Cited by 0
Cas Cremers, Sjouke Mauw · Information security and cryptography · 2012
Cited by 11
Peter D. Mosses · 1992
The abstract syntax of a kernel action notation is the basis for its formal semantic description. The full action notation can be reduced to the kernel by using some of the algebraic properties specified in Appendix B.
Cited by 0
Undergraduate topics in computer science · 2007
Cited by 3
A. W. Roscoe · Texts in computer science · 2010
Cited by 0
Nada Amin, Adriaan Moors, Martin Odersky · 2013
We propose a new type-theoretic foundation of Scala and languages like it: the Dependent Object Types (DOT) calculus. DOT models Scala’s path-dependent types, abstract type members and its mixture of nominal and structural typing through the use of refinement types. The core formalism makes no attempt to model inheritance and mixin composition. DOT normalizes Scala’s type system by unifying the constructs for type members and by providing classical intersection and union types which simplify greatest lower bound and least upper bound computations. In this paper, we present the DOT calculus, both formally and informally. We also discuss our work-in-progress to prove typesafety of the calculus.
Cited by 0
Cliff B. Jones · 2020
Cited by 2
2012
The course expounds the basic motivations and philosophy underlying the applications of semantic techniques in programming language theory. It emphasizes the structures used in semantics and the techniques that have been developed for relating various approaches to the semantics of programming languages. The course not only provides students with hands-on-experience in different types of programming, it also exposes students to emerging language paradigms and the driving forces and design principles behind these paradigms.
Cited by 0
Cormac Flanagan · 2011
– relatively simple – many flavors – not compositional • Good for reasoning about – properties of the language • eg. determinism – correctness of tools that manipulate programs • eg. compilers, type checkers, etc • We would also like a semantics that is appropriate for reasoning about program correctness. CMPS203 Lecture 7 2 Axiomatic Semantics • An axiomatic semantics consists of: – A language for making assertions about programs. – Rules for establishing the assertions. • Some typical kinds of assertions: – This program terminates. – The variables x and y have the same value throughout the execution of the program whenever z is 0. – All array accesses are within array bounds. • Some typical languages of assertions: – First-order logic. – Other logics (e.g., temporal logic).
Cited by 0
2007
Cited by 0
Dale Miller · Cambridge University Press eBooks · 2025
Cited by 0
Arthur Charguéraud, Adam Chlipala, Andres Erbsen et al. · HAL (Le Centre pour la Communication Scientifique Directe) · 2021
Cited by 0Open access
Guilhem Jaber · Lecture notes in computer science · 2015
Cited by 17
Gwendal Jouneaux, Damian Frölich, Olivier Barais et al. · SPIRE - Sciences Po Institutional REpository · 2023
Software systems evolve more and more in complex and changing environments, often requiring runtime adaptation to best deliver their services. When self-adaptation is the main concern of the system, a manual implementation of the underlying feedback loop and trade-off analysis may be desirable. However, the required expertise and substantial development effort make such implementations prohibitively difficult when it is only a secondary concern for the given domain. In this paper, we present ASOS, a metalanguage abstracting the runtime adaptation concern of a given domain in the behavioral semantics of a domain-specific language (DSL), freeing the language user from implementing it from scratch for each system in the domain. We demonstrate our approach on RobLANG, a procedural DSL for robotics, where we abstract a recurrent energy-saving behavior depending on the context. We provide formal semantics for ASOS and pave the way for checking properties such as determinism, completeness, and termination of the resulting self-adaptable language. We provide first results on the performance of our approach compared to a manual implementation of this self-adaptable behavior. We demonstrate, for RobLANG, that our approach provides suitable abstractions for specifying sound adaptive operational semantics while being more efficient.
Cited by 0Open access
Andreas Prinz, Birger Møller-Pedersen, Joachim Fischer · Lecture notes in computer science · 2016
Cited by 8
Luca Aceto, Wan Fokkink · The Journal of Logic and Algebraic Programming · 2004
Cited by 2
Martin Slota, João Leite · 2007
Abstract. Over the years, Logic Programming has proved to be a good and natural tool for expressing, querying and manipulating explicit knowledge in many areas of computer science. However, it is not so easy to use in dynamic environments. Evolving Logic Programs (EVOLP) are an elegant and powerful extension of Logic Programming suitable for Multi-Agent Systems, planning and other uses where information tends to change dynamically. In this paper we characterize EVOLP by transforming it into an equivalent normal logic program written in an extended language, that serves as the basis of an existing implementation. Then we prove that the proposed transformation is sound and complete and examine its computational complexity. 1
Cited by 0
Bernard Sufrin Richard, Richard Bornat · 2007
In this note we give a brief introduction to the ideas of operational semantics and show how to use Jape to animate the operational semantics of a couple of simple programming languages. We give the syntax and inference rules for each language in Jape's metalanguage, then define tactics suitable for automating the choice of rules during the simulated execution of a program. We assume that the reader has used Jape to do formal proofs in a conventional logic, but we do not expect detailed knowledge or understanding of Jape's metalanguage or tactic language. 1 Introduction J ape was designed to make it easy to work with inference systems. Although our main aim was to help people to learn how to do fully formal proofs in more-or-less standard logics, an important subsidiary goal was to provide a means of bringing other kinds of formal system to life. Amongst other applications we had in mind were type-inference, Plotkin-style Structured Operational Semantics (small-step semantics), and Ka...
Cited by 0
Jan Frisco Groote, et al. · 1992
In this paper we are interested in general properties of classes of transition system specifications in Plotkin style. The discussion takes place in a setting of labelled transition systems. The states of the transition systems are terms generated by a single sorted signature and the transitions between states are defined by conditional rules over tne syntax. It is argued that in this setting it is natural to require that strong bisimulation equivalence be a congruence on the states of the transition systems. A general format, called the fyft/tyxt format, is presented for the rules in a transition system specification, such that bisimulation is always a congruence when all the rules fit this format. With a series of examples it is demonstrated that the f.vft/tyxf format cannot be generalized in any obvious way. Another series of examples illustrates the usefulness of our congruence theorem. BriefIy we touch upon the issue of modularity of transition system specifications. It is argued that certain pathological fyfi/ryxt rules (the ones which are not pure) can be disqualified because they behave badly with respect to modularization. Next we address the issue of full abstraction. We characterize the completed trace congruence induced by the operators in pure t~$/fyxf format as 2-nested simulation equivalence. The pure fyj”f/fysf format includes the format given by de Simone (Theoref. Compuf. Sci. 37, 2455267 (1985)) but is incomparable to the GSOS format of Bloom, Istrail, and
Cited by 0