711 research outputs found
Programming Languages for Distributed Computing Systems
When distributed systems first appeared, they were programmed in traditional sequential languages, usually with the addition of a few library procedures for sending and receiving messages. As distributed applications became more commonplace and more sophisticated, this ad hoc approach became less satisfactory. Researchers all over the world began designing new programming languages specifically for implementing distributed applications. These languages and their history, their underlying principles, their design, and their use are the subject of this paper. We begin by giving our view of what a distributed system is, illustrating with examples to avoid confusion on this important and controversial point. We then describe the three main characteristics that distinguish distributed programming languages from traditional sequential languages, namely, how they deal with parallelism, communication, and partial failures. Finally, we discuss 15 representative distributed languages to give the flavor of each. These examples include languages based on message passing, rendezvous, remote procedure call, objects, and atomic transactions, as well as functional languages, logic languages, and distributed data structure languages. The paper concludes with a comprehensive bibliography listing over 200 papers on nearly 100 distributed programming languages
Independence and concurrent separation logic
A compositional Petri net-based semantics is given to a simple language
allowing pointer manipulation and parallelism. The model is then applied to
give a notion of validity to the judgements made by concurrent separation logic
that emphasizes the process-environment duality inherent in such rely-guarantee
reasoning. Soundness of the rules of concurrent separation logic with respect
to this definition of validity is shown. The independence information retained
by the Petri net model is then exploited to characterize the independence of
parallel processes enforced by the logic. This is shown to permit a refinement
operation capable of changing the granularity of atomic actions
A Distributed Solution to Synchronous Multiparty Interaction
Multiparty interactions are the key to describe problems where three or more processes need to collaborate simultaneously in order to solve a problem, and this paper aims to show the way we have implemented this mechanism in a network computer. The main feature of our solution is that it is not bound up with the underlying network, so it is highly portable. We also report some experimental results that showthat our prototype
performs quite well on low cost computers
An Estelle compiler
The increasing development and use of computer networks has necessitated international standards to be defined. Central to the standardization efforts is the concept of a Formal Description Technique (FDT) which is used to provide a definition medium for communication protocols and services. This document describes the design and implementation of one of the few existing compilers for the one such FDT, the language "Estelle" ([ISO85], [ISO86], [ISO87])
GCSR: A Graphical Language With Algebraic Semantics for the Specification of Real-Time Systems
Graphical Communicating Shared Resources, GCSR, is a formal language for specifying real-time systems including their functional and resource requirements. A GCSR specification consists of a set of nodes that are connected with directed, labeled edges, which describe possible execution flows. Nodes represent instantaneous selection among execution flows, or time and resource consuming system activities. In addition, a node can represent a system subcomponent, which allows modular, hierarchical, thus scalable system specifications. Edges are labeled with instantaneous communication actions or time to describe the duration of activities in the source node. GCSR supports the explicit representation of resources and priorities to resolve resource contention. The semantics of GCSR is the Algebra of Communicating Shared Resources, a timed process algebra with operational semantics that makes GCSR specifications executable. Furthermore, the process algebra provides behavioral equivalence relations between GCSR specifications. These equivalence relations can be used to replace a GCSR specification with an equivalent specification inside another, and to minimize a GCSR specification in terms of the number of nodes and edges. The paper defines the GCSR language, describes GCSR specification reductions that preserve the specification behaviors, and illustrates GCSR with example design specifications
IMPROVED ROBOTIC DEVICE DRIVE SYSTEM- FLEXIBLE MANUFACTURING SYSTEM (FMS)
With today's industry and new technology development, there are more demands on
efficient and flexible system in the manufacturing system in order to have a productive and
qualitative production. Plus, robotic and automation is the main element in the industry
especially for the manufacturing factories. The innovation of flexible manufacturing
system has been developed rapidly in the industry as the market become more intense and
competitive. This report presents the improved robotic device drive system-flexible
manufacturing system (FMS). Fundamentally, this project is an improvement of the
previous project. The existing system is an integrated system of KUKA KR3 Robotic,
OMRON C200HE PLC, sensors, and conveyors. The improvement is focused on the two
main parts which are PLC programming and human machine interface of the system. The
system developed is an application of robotic and PLC in the real manufacturing industry
which is a pick-and-place system. It is a small scale FMS where the robotic arm will
respond to the PLC command which has been programmed. By using the application of
HMI, the user could control and monitor the pick-and-place system from PC. In order to
understand and develop this project a thorough study of the robotic, PLC, FMS, and HMI
as well as the hardware and software has been done. Then, the development of
programming for PLC and HMI had been developed by using CX-programmer and Visual
Basic 6.0 software
- …