To see the other types of publications on this topic, follow the link: Programming language semantics.

Dissertations / Theses on the topic 'Programming language semantics'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Programming language semantics.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Berry, Dave. "Generating program animators from programming language semantics." Thesis, University of Edinburgh, 1990. http://hdl.handle.net/1842/10791.

Full text
Abstract:
I present a theory of program animation based on formal semantics. This theory shows how an animator for a language can be generated from a formal specification of that language. Such an animator presents a model of evaluation that is formally correct with respect to the semantics. The theory also provides a framework for comparing definitions of animation operations. The main part of the theory is the definition of an evaluation step. I compare two definitions. The first is based on the transitions used in the transitional style of structured operational semantics, and is motivated by the idea that these transitions represent an intuitive idea of a computation step. Unfortunately this definition produces unsatisfactory animations. However, it can be augmented to give one that better satisfies the needs of the user. Both of these definitions are given in the relational style of structured operational semantics. The first definition is based on an equivalence between the relational and transitional styles; I give a definition of this equivalence. I also discuss the relation between the definition of a step and the choice of semantic formalism. Views of a program in mid-evaluation can be defined by extending the specification of the programming language to include semantic display rules. Each semantic display rule specifies the display of one sub-phrase of the program inmid-evaluation. This approach is powerful enough to define a wide range of views. I also show how the definition of a step can be parameterised on a view. More advanced operations can also be defined in terms of this theory. These operations and the views mentioned in the previous paragraph cover most of the features found in existing animators. This indicates that the theory is powerful enough to specify useful systems. The main feature that is not yet provided is the ability to define views that are specific to a single program. These ideas have been implemented in a system called The Animator Generator. Animators produced by The Animator Generator support multiple views and the advanced operations mentioned here. I give a brief description of this system. I finish by discussing how this work could be developed further.
APA, Harvard, Vancouver, ISO, and other styles
2

Azevedo, Terceiro Antonio Soares de. "Semantics for an algebraic specification language." reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, 2006. http://hdl.handle.net/10183/8126.

Full text
Abstract:
Prosoft é um grupo de pesquisa do Instituto de Informática da UFRGS, desenvolvido pelo grupo de pesquisa homônimo e coordenado pelo Professor Daltro José Nunes. O objetivo do projeto é desenvolver um ambiente de desenvolvimento de software completo, o Ambiente Prosoft, que é baseado nos conceitos de Modelos, Cálculo Lambda, Tipos Abstratos de Dados e Orientação a Objetos. Um dos componentes do Ambiente Prosoft é sua linguagem de especificação algébrica: o Prosoft Algébrico. Apesar de ser base e tema de diversos trabalhos no grupo de pesquisa Prosoft, o Prosoft Algébrico não tem sua semântica devidamente definida. Os trabalhos desenvolvidos até agora foram baseados em noções operacionais, e apresentam diferentes interpretações do Prosoft Algébrico. Esta dissertação apresenta uma especificação de semântica denotacional para o Prosoft Algébrico, compreendendo, entre outras características, sua primitiva de comunicação entre tipos de dados, chamada ICS, e sua notação gráfica para representação de instanciação de tipos abstratos de dados. Essa dissertação apresenta também um estudo sobre prototipação semântica usando a linguagem de programação Haskell. O conceito de Literate Programming e a proximidade entre Cálculo Lambda e Haskell foram cruciais no rápido desenvolvimento de uma implementação protótipo do Prosoft Algébrico, baseada na sua semântica especificada. As principais contribuições dessa dissertação incluem: uma interpretação precisa e sem ambiguidades do Prosoft Algébrico, através da especificação da sua semântica; a definição de semântica para a ICS, um conceito único (até o limite do nosso conhecimento) que fornece um mecanismo de passagem de mensagens entre tipos de dados algébricos; uma implementação protótipo do Prosoft Algébrico, que pode realmente ser utilizada para experimentar e testar a definição da linguagem e a especificação da semântica do Prosoft Algébrico; resultados sobre prototipação semântica de especificações tanto de semântica denotacional quanto de semântica operacional usando a linguagem de programação Haskell para desenvolvimento rápido de protótipos de linguagens baseados na sua semântica. Como grande parte do desenvolvimento do Ambiente Prosoft é realizado através de projetos de cooperação internacional e essa dissertação irá influenciar fortemente o seu desenvolvimento futuro, o texto foi escrito em inglês para facilitar a troca de informação entre o grupo Prosoft e seus parceiros estrangeiros.
Prosoft is a research project at Instituto de Informática da UFRGS, developed by the research group with the same name and coordinated by Professor Daltro José Nunes. The project’s goal is to develop a full software development environment, the Prosoft Environment, based on the concepts of Models, Lambda Calculus, Abstract Data Types and Object orientation. One of the components of the Prosoft Environment is its algebraic specification language: Algebraic Prosoft. Although being the basis and theme of several works in the Prosoft research group, Algebraic Prosoft doesn’t have its semantics properly defined. Works done up to now were based on operational notions and presented different interpretations of Algebraic Prosoft. This thesis presents a denotational semantics specification for Algebraic Prosoft, comprising, among other features, its “inter-data type” communication primitive, called ICS, and its graphical notation for representing instantiations of abstract data types. This thesis also presents a study of semantic prototyping using the Haskell programming language. The concept of Literate Programing and the proximity between lambda calculus and Haskell were crucial to the rapid development of a prototype implementation of Algebraic Prosoft, based on its specified semantics. This thesis’ main contributions include: a precise and unambiguous interpretation of Algebraic Prosoft, through a semantics specification; the definition of semantics to the ICS, a unique (to the best of our knowledge) concept that provides a messagepassing mechanism between algebraic data types; a prototype implementation of Algebraic Prosoft, which can actually be used to experiment and test the Algebraic Prosoft language definition and semantics specification; results regarding semantics prototyping of both denotational and operational semantics specifications using the Haskell programming language for rapid development of semantics-based prototypes of languages. Since a large portion of Prosoft Environment’s development is done through international cooperation projects and this thesis will strongly influence its future development, the text was written in English in order to facilitate the information exchange between the Prosoft research group and its foreign partners.
APA, Harvard, Vancouver, ISO, and other styles
3

Szymczak, Marcin. "Programming language semantics as a foundation for Bayesian inference." Thesis, University of Edinburgh, 2018. http://hdl.handle.net/1842/28993.

Full text
Abstract:
Bayesian modelling, in which our prior belief about the distribution on model parameters is updated by observed data, is a popular approach to statistical data analysis. However, writing specific inference algorithms for Bayesian models by hand is time-consuming and requires significant machine learning expertise. Probabilistic programming promises to make Bayesian modelling easier and more accessible by letting the user express a generative model as a short computer program (with random variables), leaving inference to the generic algorithm provided by the compiler of the given language. However, it is not easy to design a probabilistic programming language correctly and define the meaning of programs expressible in it. Moreover, the inference algorithms used by probabilistic programming systems usually lack formal correctness proofs and bugs have been found in some of them, which limits the confidence one can have in the results they return. In this work, we apply ideas from the areas of programming language theory and statistics to show that probabilistic programming can be a reliable tool for Bayesian inference. The first part of this dissertation concerns the design, semantics and type system of a new, substantially enhanced version of the Tabular language. Tabular is a schema-based probabilistic language, which means that instead of writing a full program, the user only has to annotate the columns of a schema with expressions generating corresponding values. By adopting this paradigm, Tabular aims to be user-friendly, but this unusual design also makes it harder to define the syntax and semantics correctly and reason about the language. We define the syntax of a version of Tabular extended with user-defined functions and pseudo-deterministic queries, design a dependent type system for this language and endow it with a precise semantics. We also extend Tabular with a concise formula notation for hierarchical linear regressions, define the type system of this extended language and show how to reduce it to pure Tabular. In the second part of this dissertation, we present the first correctness proof for a Metropolis-Hastings sampling algorithm for a higher-order probabilistic language. We define a measure-theoretic semantics of the language by means of an operationally-defined density function on program traces (sequences of random variables) and a map from traces to program outputs. We then show that the distribution of samples returned by our algorithm (a variant of “Trace MCMC” used by the Church language) matches the program semantics in the limit.
APA, Harvard, Vancouver, ISO, and other styles
4

Botting, Richard. "Iterative construction of data modelling language semantics." Thesis, Coventry University, 1997. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.362076.

Full text
APA, Harvard, Vancouver, ISO, and other styles
5

Brown, Deryck Forsyth. "Sort inference in action semantics." Thesis, University of Glasgow, 1996. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.360173.

Full text
APA, Harvard, Vancouver, ISO, and other styles
6

Harrison, Dave. "Functional real-time programming : the language Ruth and its semantics." Thesis, University of Stirling, 1988. http://hdl.handle.net/1893/12116.

Full text
Abstract:
Real-time systems are amongst the most safety critical systems involving computer software and the incorrect functioning of this software can cause great damage, up to and including the loss of life. If seems sensible therefore to write real-time software in a way that gives us the best chance of correctly implementing specifications. Because of the high level of functional programming languages, their semantic simplicity and their amenability to formal reasoning and correctness preserving transformation it thus seems natural to use a functional language for this task. This thesis explores the problems of applying functional programming languages to real-time by defining the real-time functional programming language Ruth. The first part of the thesis concerns the identification of the particular problems associated with programming real-time systems. These can broadly be stated as a requirement that a real-time language must be able to express facts about time, a feature we have called time expressibility. The next stage is to provide time expressibility within a purely functional framework. This is accomplished by the use of timestamps on inputs and outputs and by providing a real-time clock as an input to Ruth programs. The final major part of the work is the construction of a formal definition of the semantics of Ruth to serve as a basis for formal reasoning and transformation. The framework within which the formal semantics of a real-time language are defined requires time expressibility in the same way as the real-time language itself. This is accomplished within the framework of domain theory by the use of specialised domains for timestamped objects, called herring-bone domains. These domains could be used as the basis for the definition of the semantics of any real-time language.
APA, Harvard, Vancouver, ISO, and other styles
7

Arenas-Sarmiento, Alvard Enrique. "Implementation of an asynchronous real-time programming language." Thesis, University of Oxford, 2000. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.365697.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Pareschi, Remo. "Type-driven natural language analysis." Thesis, University of Edinburgh, 1988. http://hdl.handle.net/1842/19215.

Full text
APA, Harvard, Vancouver, ISO, and other styles
9

Wu, Xiaoqing. "Component-based language implementation with object-oriented syntax and aspect-oriented semantics." Birmingham, Ala. : University of Alabama at Birmingham, 2007. http://www.mhsl.uab.edu/dt/2007p/wu.pdf.

Full text
Abstract:
Thesis (Ph. D.)--University of Alabama at Birmingham, 2007.
Additional advisors: Jeff Gray, Marjan Mernik, Alan Sprague, Murat Tanik. Description based on contents viewed June 25, 2007; title from title screen. Includes bibliographical references (p. 132-138).
APA, Harvard, Vancouver, ISO, and other styles
10

Gabbay, Murdoch James. "A theory of inductive definitions with α-equivalence : semantics, implementation, programming language." Thesis, University of Cambridge, 2001. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.620988.

Full text
APA, Harvard, Vancouver, ISO, and other styles
11

Stark, Jamie. "Proof planning for imperative program development." Thesis, Heriot-Watt University, 2000. http://hdl.handle.net/10399/589.

Full text
APA, Harvard, Vancouver, ISO, and other styles
12

Halmay, Edit. "Formal method for the retrospective specification of the functionality of existing software systems." Thesis, London South Bank University, 1988. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.329142.

Full text
APA, Harvard, Vancouver, ISO, and other styles
13

Owei, Vesper T. "Framework for a conceptual query language for capturing relationship semantics in databases." Diss., Georgia Institute of Technology, 1994. http://hdl.handle.net/1853/30684.

Full text
APA, Harvard, Vancouver, ISO, and other styles
14

Sanjabi, Sam Bakhtiar. "A semantics for aspects by compositional translation." Thesis, University of Oxford, 2008. http://ora.ox.ac.uk/objects/uuid:9cb4d365-afb9-4f9f-b18b-59857e2c85d6.

Full text
Abstract:
We analyse the semantics of aspect-oriented extensions to functional languages by presenting compositional translations of these primitives into languages with traditional notions of state and control. As a first step, we examine an existing semantic description of aspects which allows the labelling of program points. We show that a restriction of these semantics to aspects which do not preempt the execution of code can be fully abstractly translated into a functional calculus with higher order references, but that removing this restriction requires a notion of exception handling to be added to the target language in order to yield a sound semantics. Next, we proceed to show that abandoning the labelling technique, and consequently relaxing the so-called ``obliviousness'' property of aspectual languages, allows preemptive aspects to be included in the general references model without the need for exceptions. This means that the game model of general references is inherited by the aspect calculus. The net result is a clean semantic description of aspect-orientation, which mirrors recently published techniques for their implementation, and thereby provides theoretical justification for these systems. The practical validity of our semantics is demonstrated by implementing extensions to the basic calculus in Standard ML, and showing how a number of useful aspect-oriented features can be expressed using general references alone. Our theoretical methodology closely follows the proof structure that often appears in the game semantics literature, and therefore provides an operational perspective on notions such as ``bad variables'' and factorisation theorems.
APA, Harvard, Vancouver, ISO, and other styles
15

Monteiro, Borba Paulo Henrique. "Semantics and refinement for a concurrent object oriented language." Thesis, University of Oxford, 1995. http://ora.ox.ac.uk/objects/uuid:33161f48-b329-4553-aed9-70f48e3c57cb.

Full text
Abstract:
FOOPS is a concurrent object oriented specification language with an executable subset. In this thesis we propose an extension of FOOPS with features for specifying systems of distributed and autonomous objects. This extension supports most features of concurrent object oriented programming, including classes of objects with associated methods and attributes, object identity, dynamic object creation and deletion, overloading, polymorphism, inheritance with overriding, dynamic binding, concurrency, nondeterminism, atomic execution, evaluation of method expressions as background processes, and object protection. The main contribution of this thesis is to develop a framework for supporting formal development of software in the extension of FOOPS mentioned above. In particular, we introduce a structural operational semantics for FOOPS, a notion of refinement for concurrent object oriented programs, congruence properties of refinement of FOOPS programs, and tools for mechanising refinement proofs. The operational semantics is the core of the formal definition of FOOPS. It is used to define notions of refinement for FOOPS states, programs, and specifications. Those notions and associated proof techniques for proving refinement are used to illustrate stepwise formal development of programs in FOOPS. The congruence properties of refinement (with respect to some of FOOPS operators) justify compositional development of software in FOOPS. The tools help to validate the framework introduced in this thesis and motivate its use in practice.
APA, Harvard, Vancouver, ISO, and other styles
16

Mallon, Ryan Peter Kingsley. "The Semantics, Formal Correctness and Implementation of History Variables in an Imperative Programming Language." Thesis, University of Canterbury. Computer Science and Software Engineering, 2006. http://hdl.handle.net/10092/1173.

Full text
Abstract:
Storing the history of objects in a program is a common task. Web browsers remember which websites we have visited, drawing programs maintain a list of the images we have modified recently and the undo button in a wordprocessor allows us to go back to a previous state of a document. Maintaining the history of an object in a program has traditionally required programmers either to write specific code for handling the historical data, or to use a library which supports history logging. We propose that maintaining the history of objects in a program could be simplified by providing support at the language level for storing and manipulating the past versions of objects. History variables are variables in a programming language which store not only their current value, but also the values they have contained in the past. Some existing languages do provide support for history variables. However these languages typically have many limits and restrictions on use of history variables. In this thesis we discuss a complete implementation of history variables in an imperative programming language. We discuss the semantics of history variables for scalar types, arrays, pointers, strings, and user defined types. We also introduce an additional construct called an 'atomic block' which allows us to temporarily suspend the logging of a history variable. Using the mathematical system of Hoare logic we formally prove the correctness of our informal semantics for atomic blocks and each of the history variable types we introduce. Finally, we develop an experimental language and compiler with support for history variables. The language and compiler allow us to investigate the practical aspects of implementing history variables and to compare the performance of history variables with their non- history counterparts.
APA, Harvard, Vancouver, ISO, and other styles
17

Alghamdi, Aliaa. "Queued and Pooled Semantics for State Machines in the Umple Model-Oriented Programming Language." Thesis, Université d'Ottawa / University of Ottawa, 2015. http://hdl.handle.net/10393/31961.

Full text
Abstract:
This thesis describes extensions to state machines in the Umple model-oriented programming language to offer queued state machines (QSM), pooled state machines (PSM) and handing of the arrival of unexpected events. These features allow for modeling the behavior of a system or protocol in a more accurate way in Umple because they enable detecting and fixing common design errors such as unspecified receptions. In addition, they simplify the communication between communicating state machines by allowing for asynchronous calls of events and passing of messages between state machines. Also, a pooled state machine (PSM) has been developed to provide a different policy of handling events that avoid unspecified receptions. This mechanism has similar semantics as a queued state machine, but it differs in the way of detecting unspecified receptions because it helps handling these errors. Another mechanism has been designed to use the keyword ‘unspecified’ in whatever state of a state machine the user wants to detect these errors. In this thesis, the test-driven development (TDD) process has been followed to first modify the Umple syntax to add ‘queued,’ ‘pooled,’ and ‘unspecified’ keywords to Umple state machine’s grammar; and second, to make a change to the Umple semantics in order to implement these extensions in Umple. Then, additional modifications have been made to allow for Java code generation from those types of state machines. Finally, more test cases have been written to ensure that these models are syntactically and semantically correct. In order to show the usefulness and usability of these new features, an example is shown as a case study that is modeled using the queued state machine (QSM) besides other small tests cases.
APA, Harvard, Vancouver, ISO, and other styles
18

Jenkins, Stephen Graham. "An object oriented and visual data analysis environment : semantics and pragmatics of multi language programming." Thesis, University of the West of England, Bristol, 2003. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.274390.

Full text
APA, Harvard, Vancouver, ISO, and other styles
19

Wendelborn, Andrew Lawrence. "Data flow implementations of a lucid-like programming language." Title page, contents and summary only, 1985. http://web4.library.adelaide.edu.au/theses/09PH/09phw471.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
20

Kumar, Sanjeev. "A formal semantics of teamwork and multi-agent conversations as the basis of a language for programming teams of autonomous agents /." Full text open access at:, 2006. http://content.ohsu.edu/u?/etd,17.

Full text
APA, Harvard, Vancouver, ISO, and other styles
21

Shadrin, Andrey [Verfasser], and Wolfgang J. [Akademischer Betreuer] Paul. "Mixed low- and high level programming language semantics and automated verification of a small hypervisor / Andrey Shadrin. Betreuer: Wolfgang J. Paul." Saarbrücken : Saarländische Universitäts- und Landesbibliothek, 2012. http://d-nb.info/1052550223/34.

Full text
APA, Harvard, Vancouver, ISO, and other styles
22

Llopard, Ivan. "Programming embedded manycore : refinement and optimizing compilation of a parallel action language for hierarchical state machines." Thesis, Paris 6, 2016. http://www.theses.fr/2016PA066157/document.

Full text
Abstract:
Afin de gérer la complexité des systèmes embarqués modernes, les langages de modélisation proposent des abstractions et des transformations adaptées au domaine. Basées sur le formalisme de machines à états hiérarchiques, connu sous le nom de Statecharts, ils permettent la modélisation du contrôle parallèle hiérarchique. Cependant, ils doivent faire à deux défis majeures quant il s'agit de la modélisation des applications à calcul intensif: le besoin des méthodes unifiées supportant des actions avec parallélisme de donnée; flots d'optimisation et génération de code à partir des modèles trop généralistes. Dans cette thèse, nous proposons un langage de modélisation étendu avec une sémantique d'actions parallèles et machines à états hiérarchiques indexées, spécialement adapté pour les applications à calcul intensif. Avec sa sémantique formelle, nous présentons un flot de compilation optimisante pour le raffinement des modèles en vue d'une génération du code efficace avec parallèlisme de donnée
Modeling languages propose convenient abstractions and transformations to handle the complexity of today's embedded systems. Based on the formalism of \acrlong{hsm}, they enable the expression of hierarchical control parallelism. However, they face two importants challenges when it comes to model data-intensive applications: no unified approach that also accounts for data-parallel actions; and no effective code optimization and generation flows. In this thesis, we propose a modeling language extended with parallel action semantics and hierarchical indexed-state machines suitable for computationally intensive applications. Together with its formal semantics, we present an optimizing model compiler aiming for the generation of efficient data-parallel implementations
APA, Harvard, Vancouver, ISO, and other styles
23

Attar, Pejman. "Towards a safe and secure synchronous language." Phd thesis, Université Nice Sophia Antipolis, 2013. http://tel.archives-ouvertes.fr/tel-00920152.

Full text
Abstract:
Cette thèse propose une nouvelle approche du parallélisme et de la concurrence, posant les bases d'un langage de programmation à la fois sûr et "secure" (garantissant la sécurité des données), fondé sur une sémantique formelle claire et simple, tout en étant adapté aux architectures multi-cores. Nous avons adopté le paradigme synchrone, dans sa variante réactive, qui fournit une alternative simple à la programmation concurrente standard en limitant l'impact des erreurs dépendant du temps ("data-races"). Dans un premier temps, nous avons considéré un langage réactif d'orchestration, DSL, dans lequel on fait abstraction de la mémoire (Partie 1). Dans le but de pouvoir traiter la mémoire et la sécurité, nous avons ensuite étudié (Partie 2) un noyau réactif, CRL, qui utilise un opérateur de parallélisme déterministe. Nous avons prouvé la réactivité bornée des programmes de CRL. Nous avons ensuite équipé CRL de mécanismes pour contrôler le flux d'information (Partie 3). Pour cela, nous avons d'abord étendu CRL avec des niveaux de sécurité pour les variables et les évènement, puis nous avons défini dans le langage étendu, SSL, un système de types permettant d'éviter les fuites d'information. Parallèlement (Partie 4), nous avons ajouté la mémoire à CRL, en proposant le modèle DSLM. En utilisant une notion d'agent, nous avons structuré la mémoire de telle sorte qu'il ne puisse y avoir de "data-races". Nous avons également étudié l'implémentation de DSLM sur les architectures multi-cores, fondée sur la notion de site et de migration d'un agent entre les sites. L'unification de SSL et de DSLM est une piste pour un travail futur.
APA, Harvard, Vancouver, ISO, and other styles
24

Kammar, Ohad. "Algebraic theory of type-and-effect systems." Thesis, University of Edinburgh, 2014. http://hdl.handle.net/1842/8910.

Full text
Abstract:
We present a general semantic account of Gifford-style type-and-effect systems. These type systems provide lightweight static analyses annotating program phrases with the sets of possible computational effects they may cause, such as memory access and modification, exception raising, and non-deterministic choice. The analyses are used, for example, to justify the program transformations typically used in optimising compilers, such as code reordering and inlining. Despite their existence for over two decades, there is no prior comprehensive theory of type-and-effect systems accounting for their syntax and semantics, and justifying their use in effect-dependent program transformation. We achieve this generality by recourse to the theory of algebraic effects, a development of Moggi’s monadic theory of computational effects that emphasises the operations causing the effects at hand and their equational theory. The key observation is that annotation effects can be identified with the effect operations. Our first main contribution is the uniform construction of semantic models for typeand- effect analysis by a process we call conservative restriction. Our construction requires an algebraic model of the unannotated programming language and a relevant notion of predicate. It then generates a model for Gifford-style type-and-effect analysis. This uniform construction subsumes existing ad-hoc models for type-and-effect systems, and is applicable in all cases in which the semantics can be given via enriched Lawvere theories. Our second main contribution is a demonstration that our theory accounts for the various aspects of Gifford-style effect systems. We begin with a version of Levy’s Callby- push-value that includes algebraic effects. We add effect annotations, and design a general type-and-effect system for such call-by-push-value variants. The annotated language can be thought of as an intermediate representation used for program optimisation. We relate the unannotated semantics to the conservative restriction semantics, and establish the soundness of program transformations based on this effect analysis. We develop and classify a range of validated transformations, generalising many existing ones and adding some new ones. We also give modularly-checkable sufficient conditions for the validity of these optimisations. In the final part of this thesis, we demonstrate our theory by analysing a simple example language involving global state with multiple regions, exceptions, and nondeterminism. We give decision procedures for the applicability of the various effect-dependent transformations, and establish their soundness and completeness.
APA, Harvard, Vancouver, ISO, and other styles
25

Warren, Jared. "Using Haskell to Implement Syntactic Control of Interference." Thesis, Kingston, Ont. : [s.n.], 2008. http://hdl.handle.net/1974/1237.

Full text
APA, Harvard, Vancouver, ISO, and other styles
26

Lallouet, Arnaud. "Modularité, validation et parallélisme de données en programmation logique." Orléans, 1996. http://www.theses.fr/1996ORLE2012.

Full text
Abstract:
La contribution de cette thèse est double: d'une part, il s'agit d'étudier le problème de la validation de propriétés déclaratives de programmes logiques dans un contexte compositionnel, d'autre part de proposer une extension de la programmation logique au parallélisme de données. L'absence de compositionnalité des sémantiques utilisées en programmation logique a engendré des difficultés a concevoir un système de modules qui lui seraient adapté, et donc des méthodes de validation modulaires. Nous nous proposons de répondre à cette question en définissant d'une part des extensions compositionnelles pour deux sémantiques classiques : la sémantique bien-fondée et la sémantique de Fitting, et d'autre part des méthodes de validation modulaires concernant des propriétés déclaratives pour ces deux sémantiques. L'assurance de la correction d'un programme est obtenue simplement à partir de la correction des modules le composant. L'application de ce formalisme est faite dans le cadre du système de modules de Godel et dans celui de la programmation logique inductive. Le parallélisme de données consiste à appliquer la même opération simultanément sur des données différentes. Nous présentons une proposition de langage de programmation logique, appelée DP-LOG intégrant les concepts du modèle de programmation à parallélisme de données. Il permet la manipulation globale de vecteurs et dispose d'une primitive de communication générale permettant la délocalisation d'une partie de la preuve. Nous lui donnons une sémantique déclarative et une sémantique opérationnelle. Une application possible est le prototypage de programmes massivement parallèles
APA, Harvard, Vancouver, ISO, and other styles
27

Das, Barman Kuntal. "Type theoretic semantics for programming languages." Nice, 2004. http://www.theses.fr/2004NICE4029.

Full text
Abstract:
La sémantique des langages de programmation donne la signification des constructions de programme. Les sémantiques opérationnelle et dénotationelle sont les deux principales approches pour la sémantique de langage de programmation. La sémantique opérationnelle est habituellement donnée par des relations inductives. La sémantique dénotationelle est donnée par des fonctions partielles. Mettre en application la sémantique dénotationelle à l’intérieur de la théorie des types est difficile car cette théorie ne supporte que les fonctions totales. Dans cette thèse nous développons une sémantique fonctionnelle pour un petit langage impératif à l’intérieur de la théorie des types et montrons son équivalence avec la sémantique opérationnelle. Nous exploitons ensuite cette sémantique fonctionnelle pour obtenir un outil plus direct de recherche de preuve, tout en développant une manière de décrire et manipuler des expressions inconnues dans le calcul symbolique des programmes pour le développement formel de preuve. Dans une troisième partie, nous adressons le problème de coder des programmes complexes à l’intérieur de la théorie des types et nous montrons comment éviter les limitations des conditions de garde telle qu’elles sont employées dans le calcul des constructions inductives
Semantics of programming languages gives the meaning of program constructs. Operational and denotational semantics are two main approaches for programming languages semantics. Operational semantics is usually given by inductive relations. Denotational semantics is given by partial functions. Implementing the denotational semantics inside type theory is difficult as the type theory expects total functions. In this dissertation we develop a functional semantics for a small imperative language inside type theory and show its equivalence with operational semantics. We then exploit this functional semantics to obtain a more direct proof search tool, while developing a way to describer and manipulate unknown expressions, in the symbolic computation of programs for formal proof development. In a third part, we address the problem of encoding complex programs inside type theory and we show how to circumvent the limitations of guardedness conditions as the are used in the Calculus of Inductive Constructions
APA, Harvard, Vancouver, ISO, and other styles
28

Abou-Saleh, Faris. "A coalgebraic semantics for imperative programming languages." Thesis, Imperial College London, 2014. http://hdl.handle.net/10044/1/13693.

Full text
Abstract:
In the theory of programming languages, one often takes two complementary perspectives. In operational semantics, one defines and reasons about the behaviour of programs; and in denotational semantics, one abstracts away implementation details, and reasons about programs as mathematical objects or denotations. The denotational semantics should be compositional, meaning that denotations of programs are determined by the denotations of their parts. It should also be adequate with respect to operational equivalence: programs with the same denotation should be behaviourally indistinguishable. One often has to prove adequacy and compositionality independently for different languages, and the proofs are often laborious and repetitive. These proofs were provided systematically in the context of process algebras by the mathematical operational semantics framework of Turi and Plotkin – which represented transition systems as coalgebras, and program syntax by free algebras; operational specifications were given by distributive laws of syntax over behaviour. By framing the semantics on this abstract level, one derives denotational and operational semantics which are guaranteed to be adequate and compositional for a wide variety of examples. However, despite speculation on the possibility, it is hard to apply the framework to programming languages, because one obtains undesirably fine-grained behavioural equivalences, and unconventional notions of operational semantics. Moreover, the behaviour of these languages is often formalised in a different way – such as computational effects, which may be thought of as an interface between programs and external factors such as non-determinism or a variable store; and comodels, or transition systems which implement these effects. This thesis adapts the mathematical operational semantics framework to provide semantics for various classes of programming languages. After identifying the need for such an adaptation, we show how program behaviour may be characterised by final coalgebras in suitably order- enriched Kleisli categories. We define both operational and denotational semantics, first for languages with syntactic effects, and then for languages with effects and/or comodels given by a Lawvere theory. To ensure adequacy and compositionality, we define concrete and abstract operational rule-formats for these languages, based on the idea of evaluation-in-context; we give syntactic and then categorical proofs that those properties are guaranteed by operational specifications in these rule-formats.
APA, Harvard, Vancouver, ISO, and other styles
29

Plaice, John. "Sémantique et compilation de LUSTRE, un langage déclaratif synchrone." Grenoble INPG, 1988. http://www.theses.fr/1988INPG0032.

Full text
Abstract:
Le langage étudie est un langage de programmation des systèmes temps réel fonde sur une interprétation synchrone des réseaux a flux de données. Son compilateur a été conçu entièrement à partir de descriptions formelles de la sémantique du langage. L'originalité principale du compilateur est qu'il tient d'une part aux vérifications statiques de cohérence temporelle et d'autre part à la génération de code séquentiel, par synthèse du contrôle sous forme d'automate fini
APA, Harvard, Vancouver, ISO, and other styles
30

Wolczko, M. I. "Semantics of object-oriented languages." Thesis, University of Manchester, 1988. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.234230.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Clark, Anthony Neil. "Semantic primitives for object-oriented programming languages." Thesis, Queen Mary, University of London, 1996. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.363089.

Full text
APA, Harvard, Vancouver, ISO, and other styles
32

Eades, Harley D. III. "The semantic analysis of advanced programming languages." Diss., University of Iowa, 2014. https://ir.uiowa.edu/etd/1312.

Full text
Abstract:
We live in a time where computing devices power essential systems of our society: our automobiles, our airplanes and even our medical services. In these safety-critical systems, bugs do not just cost money to fix; they have a potential to cause harm, even death. Therefore, software correctness is of paramount importance. Existing mainstream programming languages do not support software verification as part of their design, but rely on testing, and thus cannot completely rule out the possibility of bugs during software development. To fix this problem we must reshape the very foundation on which programming languages are based. Programming languages must support the ability to verify the correctness of the software developed in them, and this software verification must be possible using the same language the software is developed in. In the first half of this dissertation we introduce three new programming languages: Freedom of Speech, Separation of Proof from Program, and Dualized Type Theory. The Freedom of Speech language separates a logical fragment from of a general recursive programming language, but still allowing for the types of the logical fragment to depend on general recursive programs while maintaining logical consistency. Thus, obtaining the ability to verify properties of general recursion programs. Separation of Proof from Program builds on the Freedom of Speech languageby relieving several restrictions, and adding a number of extensions. Finally, Dualized Type Theory is a terminating functional programming language rich in constructive duality, and shows promise of being a logical foundation of induction and coninduction. These languages have the ability to verify properties of software, but how can we trust this verification? To be able to put our trust in these languages requires that the language be rigorously and mathematically defined so that the programming language itself can be studied as a mathematical object. Then we must show one very important property, logical consistency of the fragment of the programming language used to verify mathematical properties of the software. In the second half of this dissertation we introduce a well-known proof technique for showing logical consistency called hereditary substitution. Hereditary substitution shows promise of being less complex than existing proof techniques like the Tait-Girard Reducibility method. However, we are unsure which programming languages can be proved terminating using hereditary substitution. Our contribution to this line of work is the application of the hereditary substitution technique to predicative polymorphic programming languages, and the first proof of termination using hereditary substitution for a classical type theory.
APA, Harvard, Vancouver, ISO, and other styles
33

Royer, Véronique. "Compilation dirigee par la semantique : une methode constructive." Toulouse 3, 1986. http://www.theses.fr/1986TOU30170.

Full text
Abstract:
Dans le cadre de la generation de compilateurs dirigee par la semantique, se pose le probleme de transformer une semantique source d'un langage de programmation en une semantique objet equivalente, plus proche d'une implementation. La plupart des travaux dans ce domaine resolvent ce probleme de facon non constructive: une semantique objet est d'abord exhibee, ensuite prouvee correcte vis-a-vis de la semantique source. Le but de cette these est de montrer qu'on peut deriver une semantique objet a partir d'une semantique source d'un langage, de maniere constructive, tout en preservant certains criteres de correction fixes au depart
APA, Harvard, Vancouver, ISO, and other styles
34

Caswell, Matthew J. A. "The action semantics of object-oriented languages." Thesis, Loughborough University, 1998. https://dspace.lboro.ac.uk/2134/28283.

Full text
Abstract:
Action Semantics is a framework for defining the semantics of languages. It is intended to be accessible to a wider audience of Computer Scientists than traditional semantics frameworks (such as Denotational Semantics). There has been little work carried out to date on the techniques required to define object-oriented languages with Action Semantics. The work presented in this thesis examines four potential approaches to defining the Action Semantics of object-oriented languages. In order to illustrate the four approaches a simple language EIL (Example Inheritance Language) is given, and described using these four approaches. The language Smalltalk-80 has been selected for a case study of a practical application of one of the techniques described above. It is important to be able to relate Action Semantics definitions of object-oriented languages to similar definitions given in other frameworks. It is described how this can be achieved. An example is given for the Action Semantics and Denotational Semantics of Smalltalk. This thesis concludes that it is feasible to produce Action Semantics definitions of object-oriented languages.
APA, Harvard, Vancouver, ISO, and other styles
35

Atzemoglou, George Philip. "Higher-order semantics for quantum programming languages with classical control." Thesis, University of Oxford, 2012. http://ora.ox.ac.uk/objects/uuid:9fdc4a26-cce3-48ed-bbab-d54c4917688f.

Full text
Abstract:
This thesis studies the categorical formalisation of quantum computing, through the prism of type theory, in a three-tier process. The first stage of our investigation involves the creation of the dagger lambda calculus, a lambda calculus for dagger compact categories. Our second contribution lifts the expressive power of the dagger lambda calculus, to that of a quantum programming language, by adding classical control in the form of complementary classical structures and dualisers. Finally, our third contribution demonstrates how our lambda calculus can be applied to various well known problems in quantum computation: Quantum Key Distribution, the quantum Fourier transform, and the teleportation protocol.
APA, Harvard, Vancouver, ISO, and other styles
36

King, Christopher T. "An axiomatic semantics for functional reactive programming." Worcester, Mass. : Worcester Polytechnic Institute, 2008. http://www.wpi.edu/Pubs/ETD/Available/etd-042908-133033/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
37

Tamarit, Muñoz Salvador. "Analysis Techniques for Concurrent Programming Languages." Doctoral thesis, Universitat Politècnica de València, 2013. http://hdl.handle.net/10251/31651.

Full text
Abstract:
Los lenguajes concurrentes est an cada d a m as presentes en nuestra sociedad, tanto en las nuevas tecnolog as como en los sistemas utilizados de manera cotidiana. M as a un, dada la actual distribuci on de los sistemas y su arquitectura interna, cabe esperar que este hecho siga siendo una realidad en los pr oximos a~nos. En este contexto, el desarrollo de herramientas de apoyo al desarrollo de programas concurrentes se vuelve esencial. Adem as, el comportamiento de los sistemas concurrentes es especialmente dif cil de analizar, por lo que cualquier herramienta que ayude en esta tarea, a un cuando sea limitada, ser a de gran utilidad. Por ejemplo, podemos encontrar herramientas para la depuraci on, an alisis, comprobaci on, optimizaci on, o simpli caci on de programas. Muchas de ellas son ampliamente utilizadas por los programadores hoy en d a. El prop osito de esta tesis es introducir, a trav es de diferentes lenguajes de programaci on concurrentes, t ecnicas de an alisis que puedan ayudar a mejorar la experiencia del desarrollo y publicaci on de software para modelos concurrentes. En esta tesis se introducen tanto an alisis est aticos (aproximando todas las posibles ejecuciones) como din amicos (considerando una ejecuci on en concreto). Los trabajos aqu propuestos di eren lo su ciente entre s para constituir ideas totalmente independientes, pero manteniendo un nexo com un: el hecho de ser un an alisis para un lenguaje concurrente. Todos los an alisis presentados han sido de nidos formalmente y se ha probado su correcci on, asegurando que los resultados obtenidos tendr an el grado de abilidad necesario en sistemas que lo requieran, como por ejemplo, en sistemas cr ticos. Adem as, se incluye la descripci on de las herramientas software que implementan las diferentes ideas propuestas. Esto le da al trabajo una utilidad m as all a del marco te orico, permitiendo poner en pr actica y probar con ejemplos reales los diferentes an alisis. Todas las ideas aqu presentadas constituyen, por s mismas, propuestas aplicables en multitud de contextos y problemas actuales. Adem as, individualmente sirven de punto de partida para otros an alisis derivados, as como para la adaptaci on a otros lenguajes de la misma familia. Esto le da un valor a~nadido a este trabajo, como bien atestiguan algunos trabajos posteriores que ya se est an bene ciando de los resultados obtenidos en esta tesis.
Concurrent languages are increasingly present in our society, both in new technologies and in the systems used on a daily basis. Moreover, given the current systems distribution and their internal architecture, one can expect that this remains so in the coming years. In this context, the development of tools to support the implementation of concurrent programs becomes essential. Futhermore, the behavior of concurrent systems is particularly difficult to analyse, so that any tool that helps in this task, even if in a limited way, will be very useful. For example, one can find tools for debugging, analysis, testing, optimisation, or simplification of programs, which are widely used by programmers nowadays. The purpose of this thesis is to introduce, through various concurrent programming languages, some analysis techniques that can help to improve the experience of the software development and release for concurrent models. This thesis introduces both static (approximating all possible executions) and dynamic (considering a specific execution) analysis. The topics considered here differ enough from each other to be fully independent. Nevertheless, they have a common link: they can be used to analyse properties of a concurrent programming language. All the analyses presented here have been formally defined and their correctness have been proved, ensuring that the results will have the reliability degree which is needed for some systems (for instance, for critical systems). It also includes a description of the software tools that implement the different ideas proposed. This gives the work a usefulness well beyond the theoretical aspect, allowing us to put it in practice and to test the different analyses with real-world examples All the ideas here presented are, by themselves, approaches that can be applied in many current contexts and problems. Moreover, individually they serve as a starting point for other derived analysis, as well as for the adaptation to other languages of the same family. This gives an added value to this work, a fact confirmed by some later works that are already benefiting from the results obtained in this thesis.
Tamarit Muñoz, S. (2013). Analysis Techniques for Concurrent Programming Languages [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/31651
TESIS
APA, Harvard, Vancouver, ISO, and other styles
38

Vittek, Marian. "Elan : un cadre logique pour le prototypage de langages de programmation avec contraintes." Nancy 1, 1994. http://www.theses.fr/1994NAN10372.

Full text
Abstract:
La thèse décrit l'étude et l'implantation du langage ELAN qui permet de spécifier, sur une base uniforme de systèmes de calcul, différents langages de programmation logique et différents résolveurs de contraintes. ELAN est basé sur l'idée que la sémantique opérationnelle de langages de programmation logique dans le sens général du terme et la résolution de contraintes peuvent être décrites d'une façon uniforme en donnant la syntaxe des formules, l'ensemble des axiomes et l'ensemble des règles de déduction. Les deux processus peuvent être vus comme l'instance du meme schéma d'application des règles de réécriture (de déduction) sur des formules, suivant une stratégie permettant l'obtention d'une forme spéciale. La logique de réécriture, introduite par Jose Meseguer, peut être ainsi utilisée pour coder différentes logiques intéressantes. Afin de pouvoir spécifier des procédures de résolution, la thèse présente une notion de stratégie, obtenant ainsi des systèmes de calcul. Un système de calcul est alors défini par une signature décrivant la syntaxe, un ensemble de règles de réécriture définissant le mécanisme de déduction et une stratégie qui guide l'application des règles. La thèse décrit également l'implantation d'ELAN et quelques exemples de procédures de résolution réalises avec cette implantation, en particulier la sld-resolution, la surréduction, la surréduction basique, la surréduction paresseuse et l'unification syntaxique et commutative
APA, Harvard, Vancouver, ISO, and other styles
39

Reid, N. K. "A formal semantics of parallel features of Fortran 95." Thesis, Queen's University Belfast, 2003. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.273424.

Full text
APA, Harvard, Vancouver, ISO, and other styles
40

McIver, Linda Kathryn 1971. "Syntactic and semantic issues in introductory programming education." Monash University, School of Computer Science and Software Engineering, 2001. http://arrow.monash.edu.au/hdl/1959.1/8800.

Full text
APA, Harvard, Vancouver, ISO, and other styles
41

White, Alexa. "Towards a Complete Formal Semantics of Rust." DigitalCommons@CalPoly, 2021. https://digitalcommons.calpoly.edu/theses/2262.

Full text
Abstract:
Rust is a relatively new programming language with a unique memory model designed to provide the ease of use of a high-level language as well as the power and control of a low-level language while preserving memory safety. In order to prove the safety and correctness of Rust and to provide analysis tools for its use cases, it is necessary to construct a formal semantics of the language. Existing efforts to construct such a semantic model are limited in their scope and none to date have successfully captured the complete functionality of the language. This thesis focuses on the K-Rust implementation, which is implemented in a rewrite-based semantic framework called K, and expands it to include a larger subset of the Rust language. The K framework allows Rust programs to be executed by the defined semantic model, and the implementation is tested with several Rust programs by comparing the results of execution to the Rust compiler itself.
APA, Harvard, Vancouver, ISO, and other styles
42

Ayers, Robert. "Enhancing the semantic power of functional database languages." Thesis, Birkbeck (University of London), 1995. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.307446.

Full text
APA, Harvard, Vancouver, ISO, and other styles
43

Lindhult, Johan. "Operational Semantics for PLEX : A Basis for Safe Parallelization." Licentiate thesis, Västerås : School of Innovation, Design and Engineering, Mälardalen University, 2008. http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-631.

Full text
APA, Harvard, Vancouver, ISO, and other styles
44

Gruer, Juan Pablo. "Eléments de synchronisation pour un langage temps-réel de commande de procédés." Mulhouse, 1989. http://www.theses.fr/1989MULH0105.

Full text
APA, Harvard, Vancouver, ISO, and other styles
45

Ferreira, William. "Semantic theories for concurrent ML." Thesis, University of Sussex, 1996. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.307726.

Full text
APA, Harvard, Vancouver, ISO, and other styles
46

Hünke, Yorck. "Semantics and type checking of dependently-typed lazy functional programs /." Oxford : Oxford University Computing Laboratory, 2004. http://web.comlab.ox.ac.uk/oucl/publications/tr/rr-04-15.html.

Full text
APA, Harvard, Vancouver, ISO, and other styles
47

Colledan, Andrea. "Abstract Machine Semantics for Quipper." Master's thesis, Alma Mater Studiorum - Università di Bologna, 2021. http://amslaurea.unibo.it/22835/.

Full text
Abstract:
Quipper is a domain-specific programming language for the description of quantum circuits. Because it is implemented as an embedded language in Haskell, Quipper is a very practical functional language. However, for the same reason, it lacks a formal semantics and it is limited by Haskell's type-system. In particular, because Haskell lacks linear types, it is easy to write Quipper programs that violate the non-cloning property of quantum states. In order to formalize relevant fragments of Quipper in a type-safe way, the Proto-Quipper family of research languages has been introduced over the last years. In this thesis we first introduce Quipper and Proto-Quipper-M. Proto-Quipper-M is an instance of the Proto-Quipper family based on a categorical model for quantum circuits, which features a linear type-system that guarantees that the non-cloning property holds at compile time. We then derive a tentative small-step operational semantics from the big-step semantics of Proto-Quipper-M and we prove that the two are equivalent. After proving subject reduction and progress results for the tentative semantics, we build upon it to obtain a truly small-step semantics in the style of an abstract machine, which we eventually prove to be equivalent to the original semantics.
APA, Harvard, Vancouver, ISO, and other styles
48

Xie, Linchi. "The design of semantic database model SDBM." Thesis, University of British Columbia, 1987. http://hdl.handle.net/2429/26113.

Full text
Abstract:
This thesis is mainly concerned with semantic data modelling related to database design. The domain of this research is restricted to general data modelling and the discussion is carried out at the conceptual level. The thesis assesses a number of serious modelling shortcomings of the conventional data models and reviews several basic principles and mechanisms developed in current semantic data modelling research. Based on these findings, the thesis identifies the inadequacy of the conceptualization of data modelling and develops the two-view conceptualization of data modelling. The basic idea behind the two-view conceptualization is that the conceptual structure of the applications being modelled should be separated from its external data representation. A new semantic database model, SDBM, is designed based on the conceptualization. The model makes a clear separation between the conceptual structure and its external data representation. It offers a data type mechanism to deal with the data representation, a window mechanism to model the conceptual structure, and a transaction mechanism to provide database operations. One of the major extensions of the current semantic data models is that with SDBM the specialization relationship is just a special case of constraints that can be specified among SDBM windows. A formal syntax and informal semantics of SDBM are given in the thesis along with comparisons between SDBM and a closely-related semantic data model, Taxis.
Business, Sauder School of
Graduate
APA, Harvard, Vancouver, ISO, and other styles
49

Al-Hafez, Muhammad Yassin. "A semantic knowledge-based computational dictionary for support of natural language processing systems." Thesis, Cranfield University, 1993. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.385765.

Full text
APA, Harvard, Vancouver, ISO, and other styles
50

Crous, Theodorus. "Semantos : a semantically smart information query language." Pretoria : [s.n.], 2008. http://upetd.up.ac.za/thesis/available/etd-11292009-190944/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography