Abstractions for distributed programming
Robert P. Cook · Computer Languages · 1981
Cited by 0
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 10,000 papers for “distributed programming”
Robert P. Cook · Computer Languages · 1981
Cited by 0
E. H. Bensley, Thomas J. Brando, J. C. Fohlin et al. · 1990
Abstract : This paper describes a concurrent model of execution for object oriented programming. In addition, it describes a computation manager that implements this model and a compiler that translates a subset of Common Lisp with Flavors object oriented extension to code executable by the computation manager. Finally, fault tolerant resources management algorithms and a simulation of a multiprocessor system that embodies these algorithms are described.
Cited by 1
John C. Mitchell · Cambridge University Press eBooks · 2002
A concurrent program defines two or more sequences of actions that may be executed simultaneously. Concurrent programs may be executed in two general ways:
Cited by 1
Florin, Gerard, Lavallee, Ivan, Institut National de Recherche en Informatique et en Automatique (INRIA), 78 - Rocquencourt (France). Unite de Recherche de Rocquencourt · OpenGrey (Institut de l'Information Scientifique et Technique) · 1991
Cited by 0Open access
Dean Richert, Jorge Cortés · IEEE Transactions on Automatic Control · 2015
This paper presents a robust, distributed algorithm to solve general linear programs. The algorithm design builds on the characterization of the solutions of the linear program as saddle points of a modified Lagrangian function. We show that the resulting continuous-time saddle-point algorithm is provably correct but, in general, not distributed because of a global parameter associated with the nonsmooth exact penalty function employed to encode the inequality constraints of the linear program. This motivates the design of a discontinuous saddle-point dynamics that, while enjoying the same convergence guarantees, is fully distributed and scalable with the dimension of the solution vector. We also characterize the robustness against disturbances and link failures of the proposed dynamics. Specifically, we show that it is integral-input-to-state stable but not input-to-state stable. The latter fact is a consequence of a more general result, that we also establish, which states that no algorithmic solution for linear programming is input-to-state stable when uncertainty in the problem data affects the dynamics as a disturbance. Our results allow us to establish the resilience of the proposed distributed dynamics to disturbances of finite variation and recurrently disconnected communication among the agents. Simulations in an optimal control application illustrate the results.
Cited by 2Open access
Sophia Antipolis Méditerranée, Software Product Lines · 2015
Cited by 0
T. Paul Mccartney, Kenneth J. Goldman, T. Paul Mccartney et al. · 1997
EUPHORIA is a user interface management system that enables end-users to create direct manipulation graphical user interfaces (GUIs) through interactive drawing. Used in conjunction with The Programmers ’ Playground, a distributed programming environment, end-users can dynamically create and associate GUI components with an underlying application without programming. This document describes EUPHORIA’s functionality. Table of Contents
Cited by 0
Patrick Diehl, Steven R. Brandt, Hartmut Kaiser · 2024
Cited by 0
Benoît Garbinato, Rachid Guerraoui, K. Mazouni · Lecture notes in computer science · 2005
Cited by 16Open access
Michi Henning, Mark Spruiell · Bulletin of Miscellaneous Information (Royal Gardens Kew)
Cited by 0
Patrick Diehl, Steven R. Brandt, Hartmut Kaiser · 2024
Cited by 0
Julia Schenk, Lutz Prechelt, Stephan Salinger · 2014
Background: Distributed Pair Programming can be performed via screensharing or via a distributed IDE. The latter offers the freedom of concurrent editing (which may be helpful or damaging) and has even more awareness deficits than screen sharing.
Cited by 18
Adam Karczmarz, Jakub Łącki, Adam Polak et al. · OLYMPIADS IN INFORMATICS · 2016
In this paper we present distributed tasks, a new task type that can be used at programming competitions. In such tasks, a contestant is supposed to write a program which is then simultaneously executed on multiple computing nodes (machines). The instances of the program may communicate and use the joint computing power to solve the task presented to the contestant. We show a framework for running a contest with distributed tasks, that we believe to be accessible to contestants with no previous experience in distributed computing. Moreover, we give examples of distributed tasks that have been used in the last two editions of a Polish programming contest, Algorithmic Engagements, together with their intended solutions. Finally, we discuss the challenges of grading and preparing distributed tasks.
Cited by 0Open access
Ludovic Henrio, Cristian Ruz, Hal Id Hal et al. · 2014
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et a ̀ la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Cited by 0
Keith Clark, Tzone I Wang, Dk Parlog · 1995
In this paper we introduce a programming language/system DK Parlog ++ which is an experimental testbed for distributed applications, particularly distributed AI and distributed knowledge base applications. The language is designed to have the concurrent computation ability of the Concurrent Logic Programming(CLP) languages, the knowledge representation and problem solving ability of Prolog, both enriched with the program and knowledge structuring capabilities of Object Oriented programming. The basic building blocks of an application are a collection of classes and servers which can be distributed over a network of machines. The location of a class or server is specified in its definition. Classes and servers have unique public names, such as student, department and db manager. Classes can be linked using single inheritance. Servers are like classes except they have no instances (which is why we do not call them classes) and no inheritance links. They are used to implement publicall...
Cited by 0
Gail E. Kaiser, Simon M. Kaplan, Josephine Micallef · Columbia Academic Commons (Columbia University) · 1986
This technical report consists of three related papers in the area of distributed programming environments. Incremental Attribute Evaluation in Distributed Language-Based Environments presents algorithms that extend existing technology for the generation of single-user language-based editors from attribute grammars to the cases of multiple-user concurrent and distributed environments. Multi-User Distributed Language-Based Environment, an extended abstract, provides additional information on how to apply the algorithms. Reliability in Distributed Programming Environments presents additional algorithms that extend our results to unreliable networks.
Cited by 0Open access
Fred B. Schneider · 1997
Cited by 0
Thomas J. LeBlanc, Robert H. Gerber, Robert P. Cook · Software Practice and Experience · 1984
Abstract This paper describes the design and implementation of a kernel for the distributed programming language StarMod. The distributed programming kernel was written in a subset of StarMod supported by a concurrent programming kernel. Kernel issues addressed include process representation, I/O device management, signal semantics, system utilities, network communication and the implementation of high‐level language communication primitives. We conclude with a summary of our experiences in the development of a ‘bare machine’ kernel for a network of microprocessors.
Cited by 6
Kevin Tyrone Lynch · 1997
Over the last ten years numerous logic languages have been proposed for use in programming distributed systems. However, these languages generally lack adequate features to describe the spatial properties of distributed programs--that is, the properties that describe how the components (i.e., pieces) of a distributed program are organized and distributed over the network of processors. As a consequence, these languages are unsuitable for describing many useful distributed applications. In this dissertation we describe a new distributed logic programming language called NETLOG (NETwork LOGic programming) that was designed as a tool for specifying and rapidly prototyping a broad range of distributed applications. NETLOG differs from existing logic languages for distributed programming in that it is based on a subset of Distributed Systems Logic (DSL). Moreover, the language is unique in that it supports a unified framework in which both the spatial and temporal properties of distributed computations can be expressed in a concise and elegant fashion. Thus, the language can be used to specify both where (i.e., on which processors) to locate the components of a distributed computation and when to execute them. Accordingly, NETLOG represents a new approach to specifying and reasoning about distributed logic programs. After giving an informal introduction to NETLOG, we present the syntax and semantics of first-order DSL. We then investigate the formal operational semantics of NETLOG and provide a Plotkin style semantics for the language using transition systems. An implementation scheme designed for implementing NETLOG on a distributed memory multiprocessor is described, and experimental results are provided based on the simulated performance of several NETLOG programs.
Cited by 0
Silvano Maffeis · 1993
Many of today's object-oriented distributed toolkits focus on transactions to synchronize distributed applications. Transaction mechanisms are well suited for synchronizing data-oriented applications. In contrast directly distributed systems, like various kinds of failure tolerant client-server applications, often require a much finer degree of synchronization. Such a fine degree of synchronization is realizable by means of reliable process-group multicast, causal communication, and message passing mechanisms. However, toolkits offering these capabilities, for example Isis or Horus, are often lowlevel and therefore difficult to program. Therefore, we propose three object-oriented abstraction mechanisms, namely object groups, Remote Method Calling, and Smart Proxies. We argue that the abstractions are powerful enough to encapsulate processgroups, reliable multicast, and asynchronous message passing. Examples of how the abstractions are being realized in a prototype toolkit called Elect...
Cited by 2