English
Related papers

Related papers: Concurrent Typestate-Oriented Programming in Java

200 papers

Arguments about correctness of a concurrent data structure are typically carried out by using the notion of linearizability and specifying the linearization points of the data structure's procedures. Such arguments are often cumbersome as…

Logic in Computer Science · Computer Science 2017-01-19 Germán Andrés Delbianco , Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

Generative Programming (GP) is a computing paradigm allowing automatic creation of entire software families utilizing the configuration of elementary and reusable components. GP can be projected on different technologies, e.g.…

Human-Computer Interaction · Computer Science 2007-05-23 Max Schlee , Jean Vanderdonckt

We present an overview of some recent efforts aimed at the development of Choreographic Programming, a programming paradigm for the production of concurrent software that is guaranteed to be correct by construction from global descriptions…

Programming Languages · Computer Science 2015-02-11 Fabrizio Montesi

This paper presents an approach to dynamic component composition that facilitates creating new composed components using existing ones at runtime and without any code generation. The dynamic abilities are supported by extended type notion…

Software Engineering · Computer Science 2014-09-03 Efim Grinkrug

Bugs that are detected earlier during the development lifecycle are easier and cheaper to fix, whereas bugs that are found during production are difficult and expensive to address, and may have dire consequences. Type systems are…

Programming Languages · Computer Science 2021-10-12 Catarina Gamboa , Paulo Alexandre Santos , Christopher S. Timperley , Alcides Fonseca

Advancements in mobile device computing power have made interactive web applications possible, allowing the web browser to render contents dynamically and support low-latency communication with the server. This comes at a cost to the…

Programming Languages · Computer Science 2020-04-06 Anson Miu , Francisco Ferreira , Nobuko Yoshida , Fangyi Zhou

The concept of functionality oriented programming is proposed, and some of its aspects are discussed, such as: (1) implementation independent basic types and generic collection types; (2) syntax requirements and recommendations for…

Programming Languages · Computer Science 2011-02-21 Chengpu Wang

We develop a formal perspective on how regular expression matching works in Java, a popular representative of the category of regex-directed matching engines. In particular, we define an automata model which captures all the aspects needed…

Formal Languages and Automata Theory · Computer Science 2014-05-23 Martin Berglund , Frank Drewes , Brink van der Merwe

We introduce process-oriented programming as a natural extension of object-oriented programming for parallel computing. It is based on the observation that every class of an object-oriented language can be instantiated as a process,…

Programming Languages · Computer Science 2014-07-22 Edward Givelberg

The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel…

Programming Languages · Computer Science 2023-02-10 Frank S. de Boer , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several…

Programming Languages · Computer Science 2012-04-02 Guido Salvaneschi , Carlo Ghezzi , Matteo Pradella

Concurrent data structures are the data sharing side of parallel programming. Data structures give the means to the program to store data, but also provide operations to the program to access and manipulate these data. These operations are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-13 Daniel Cederman , Anders Gidenstam , Phuong Ha , Håkan Sundell , Marina Papatriantafilou , Philippas Tsigas

Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding closures (a.k.a., lambdas) and when extending type inference in…

Programming Languages · Computer Science 2018-07-17 Moez A. AbdelGawad

Task oriented language understanding in dialog systems is often modeled using intents (task of a query) and slots (parameters for that task). Intent detection and slot tagging are, in turn, modeled using sentence classification and word…

Computation and Language · Computer Science 2019-11-14 Arash Einolghozati , Sonal Gupta , Mrinal Mohit , Rushin Shah

Multiparty session typing (MPST) is a method to make concurrent programming simpler. The idea is to use type checking to automatically detect safety and liveness violations of implementations relative to specifications. In practice, the…

Programming Languages · Computer Science 2025-01-30 Sung-Shik Jongmans

Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many…

Software Engineering · Computer Science 2017-10-19 Daniel de Carvalho , Manuel Mazzara , Bogdan Mingela , Larisa Safina , Alexander Tchitchigin , Nikolay Troshkov

This paper proposes a framework based completely on Java technology. The advantages brought about by the use of Java in network management answer some critical problems existing in current systems. With this work we address several factors…

Networking and Internet Architecture · Computer Science 2010-12-21 Damianos Gavalas , Dominic Greenwood , Mohammed Ghanbari , Mike O'Mahony

This paper describes a new modelling language for the effective design of Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown from a useful tool for the addition of meta-data to play a central role in…

Programming Languages · Computer Science 2019-10-02 Irene Córdoba , Juan de Lara

Parallel programming models exist as an abstraction of hardware and memory architectures. There are several parallel programming models in commonly use; they are shared memory model, thread model, message passing model, data parallel model,…

Software Engineering · Computer Science 2010-04-28 Bala Dhandayuthapani Veerasamy

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

Programming Languages · Computer Science 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick