scholarly journals The Transactional Memory

Author(s):  
V. M. Dhivya Shri ◽  
K. Reshma

Transactional memory (TM) promises to simplify concurrent programming. Language-based constructs allow programmers to denote atomic regions declaratively. Its implementations operate by tracking loads and stores to memory and by detecting concurrent conflicts. TM allows programmers to write simpler programs that are composable and deadlock-freeThis essay presents remarkable similarities between transactional Memory and garbage collection. The connections are fascinating in their own right, and they let us better stand one technology by thinking about the corresponding issues for the other.

2021 ◽  
Vol 178 (3) ◽  
pp. 229-266
Author(s):  
Ivan Lanese ◽  
Adrián Palacios ◽  
Germán Vidal

Causal-consistent reversible debugging is an innovative technique for debugging concurrent systems. It allows one to go back in the execution focusing on the actions that most likely caused a visible misbehavior. When such an action is selected, the debugger undoes it, including all and only its consequences. This operation is called a causal-consistent rollback. In this way, the user can avoid being distracted by the actions of other, unrelated processes. In this work, we introduce its dual notion: causal-consistent replay. We allow the user to record an execution of a running program and, in contrast to traditional replay debuggers, to reproduce a visible misbehavior inside the debugger including all and only its causes. Furthermore, we present a unified framework that combines both causal-consistent replay and causal-consistent rollback. Although most of the ideas that we present are rather general, we focus on a popular functional and concurrent programming language based on message passing: Erlang.


Author(s):  
Pablo Nicolás Díaz Bilotto ◽  
Liliana Favre

Software developers face several challenges in deploying mobile applications. One of them is the high cost and technical complexity of targeting development to a wide spectrum of platforms. The chapter proposes to combine techniques based on MDA (Model Driven Architecture) with the HaXe language. The outstanding ideas behind MDA are separating the specification of the system functionality from its implementation on specific platforms, managing the software evolution, increasing the degree of automation of model transformations, and achieving interoperability with multiple platforms. On the other hand, HaXe is a very modern high level programming language that allows us to generate mobile applications that target all major mobile platforms. The main contributions of this chapter are the definition of a HaXe metamodel, the specification of a model-to-model transformation between Java and HaXe and, the definition of an MDA migration process from Java to mobile platforms.


2014 ◽  
Vol 24 (2-3) ◽  
pp. 218-283 ◽  
Author(s):  
J. IAN JOHNSON ◽  
ILYA SERGEY ◽  
CHRISTOPHER EARL ◽  
MATTHEW MIGHT ◽  
DAVID VAN HORN

AbstractIn the static analysis of functional programs, pushdown flow analysis and abstract garbage collection push the boundaries of what we can learn about programs statically. This work illuminates and poses solutions to theoretical and practical challenges that stand in the way of combining the power of these techniques. Pushdown flow analysis grants unbounded yet computable polyvariance to the analysis of return-flow in higher-order programs. Abstract garbage collection grants unbounded polyvariance to abstract addresses which become unreachable between invocations of the abstract contexts in which they were created. Pushdown analysis solves the problem of precisely analyzing recursion in higher-order languages; abstract garbage collection is essential in solving the “stickiness” problem. Alone, our benchmarks demonstrate that each method can reduce analysis times and boost precision by orders of magnitude. We combine these methods. The challenge in marrying these techniques is not subtle: computing the reachable control states of a pushdown system relies on limiting access during transition to the top of the stack; abstract garbage collection, on the other hand, needs full access to the entire stack to compute a root set, just as concrete collection does.Conditionalpushdown systems were developed for just such a conundrum, but existing methods are ill-suited for the dynamic nature of garbage collection. We show fully precise and approximate solutions to the feasible paths problem for pushdown garbage-collecting control-flow analysis. Experiments reveal synergistic interplay between garbage collection and pushdown techniques, and the fusion demonstrates “better-than-both-worlds” precision.


1996 ◽  
Vol 6 (2) ◽  
pp. 127-139 ◽  
Author(s):  
Nicoletta Sabadini ◽  
Sebastiano Vigna ◽  
Robert F. C. Walters

In this paper, we propose a new and elegant definition of the class of recursive functions, which is analogous to Kleene's definition but differs in the primitives taken, thus demonstrating the computational power of the concurrent programming language introduced in Walters (1991), Walters (1992) and Khalil and Walters (1993).The definition can be immediately rephrased for any distributive graph in a countably extensive category with products, thus allowing a wide, natural generalization of computable functions.


Compiler ◽  
2014 ◽  
Vol 3 (1) ◽  
Author(s):  
Pradana Nur Prasetya ◽  
Hero Wintolo ◽  
Nurcahyani Dewi Retnowati

One way of written communication is to send a message to the others. With the current technological developments, written communication can be supported by the computer and internet media so that messages sent can be delivered to target internet users in a short time and geographical distance is no longer a barrier of communication. In communicating between countries is often used in English, but that will be an obstacle when the language used to write the message was not understood by the other person and vice versa. Seeing this condition, then there needs to be an alternative media to overcome these obstacles. One of them is to design a bilingual (Indonesian-English) chat translator application. The system was created using Delphi 7 as a programming language and Oracle as Indonesian and English vocabulary storage database. Through this system, users can send messages using Indonesian or English and receive messages according to language used. The result from the design of this application indicates that the application is able to translate the text that is sent into the appropriate language which is controlled by interlocutors. So it can be a solution to communicate although with different language. However, the ability of the translator is very dependent on the current record in the dictionary table, so the translation can be developed in subsequent research to be more complete and better.


Sign in / Sign up

Export Citation Format

Share Document