首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Many message passing languages and packages include some form of synchronous invocation. In a synchronous invocation, the invoker waits for the invocation's servicer to pass back results. A synchronous invocation can be viewed as a pair of asynchronous invocations: one—initiating the computation—with parameter values from the invoker to the servicer and the other—once the requested computation has completed—with the ‘go‐ahead’ and return value from the servicer to the invoker. The target of the latter invocation is known as the reply operation, and a reference to it is known as a reply capability. This paper addresses the issues of making such reply capabilities directly accessible to user code. It presents the design and prototype implementation of a new version of the JR concurrent programming language, called xJR, in which the reply capability can be explicit. This paper gives xJR examples, including realistic ones, to highlight the additional flexibility the new features offer (such as a non‐lexical reply). These additional features do not impact the run‐time performance of existing JR features and can even lead to more efficient code in some programming scenarios. Our experience with the prototype implementation indicates that an actual implementation would be fruitful and would preserve the prototype's performance advantages. Copyright © 2015 John Wiley & Sons, Ltd.  相似文献   

2.
Reproducing the execution of a concurrent program is important in debugging and testing. It requires that, regardless of the actual order in which processes may execute, the reproduced execution is identical, with respect to the order in which certain activities occur, to a previously recorded execution. This paper presents a solution to the reproducibility problem for programs written in the SR concurrent programming language. Our solution transforms an arbitrary SR program into one for recording an event sequence and one for replaying from an event sequence. SR provides a rich collection of synchronization mechanisms, including rendezvous, asynchronous message passing, remote procedure call, and dynamic process creation. SR language features allow: flexible invocation servicing (e.g. use of invocation parameters in selecting an invocation to service in message passing or rendezvous); dynamically created processes and resource (module) instances; dynamic communication paths between processes; and dynamic distribution of programs across multiple machines. Because of these features, adaptations of previous solutions to the reproducibility problem for other languages and notations do not work for SR. Our solution handles all the above features. It results in a naturally distributed control algorithm for programs that are distributed. This paper also describes the implementations of our transformation tools. Copyright © 1999 John Wiley & Sons, Ltd.  相似文献   

3.
SOAP与消息队列中间件绑定的设计与实践   总被引:2,自引:1,他引:2  
提出了消息队列中间件ISMQ与SOAP绑定的设计方案,实践了该绑定下的同步SOAP调用方法,并讨论了异步SOAP调用的方案。  相似文献   

4.
This paper presents source-level transformations that improve the performance of programs using synchronous and asynchronous message passing primitives, including remote call to an active process (rendezvous). It also discusses the applicability of these transformations to shared memory and distributed environments. The transformations presented reduce the need for context switching, simplify the specific form of communication, and/or reduce the complexity of the given form of communication. One additional transformation actually increases the number of processes as well as the number of context switches to improve program performance. These transformations are shown to be generalizable. Results of hand-applying the transformations to SR programs indicate reductions in execution time exceeding 90% in many cases. The transformations also apply to many commonly occurring synchronization patterns and to other concurrent programming languages such as Ada and Concurrent C. The long term goal of this effort is to include such transformations as an otpimization step, performed automatically by a compiler.This work was supported by NSF under Grant Number CCR88-10617.  相似文献   

5.
分布对象中间件中的异步机制代码生成研究   总被引:5,自引:0,他引:5  
随着分布对象中间件CORBA应用领域的扩展,许多应用需要在CORBA中提供异步机制。传统的CORBA不提供异步激活机制。笔者在对象中间件CORBA领域率先实现了异步Polling机制。论文研究与在分布对象中间件CORBA中实现异步Polling机制相关的代码生成机制。提出了基于修改抽象语法树的异步代码生成算法,实现结果表明该算法可以满足模型的要求。  相似文献   

6.
Web服务组合执行引擎中服务异步调用机制研究*   总被引:1,自引:0,他引:1  
研究了BPEL4WS执行引擎WebJetFlow对Web服务的异步调用机制,在引擎的服务调用代理中对Web服务统一采用非阻塞双传输异步调用,提高了调用线程的利用率。同时引入了cache机制并设计了相应的cache替换算法,保证了引擎对异步调用结果消息的匹配效率以及数据安全性, 通过实验验证引擎的性能有了明显的提高。  相似文献   

7.
支持时间无关激活的分布对象中间件异步模型   总被引:1,自引:0,他引:1  
时间无关的异步激活方式对于大规模分布式应用、移动应用和企业应用集成都具有重要意义.目前的分布对象中间件虽然支持回调和轮询两种异步机制,但是都不支持时间无关的异步激活方式.针对这一问题,本文基于国防科学技术大学计算机学院在分布对象中间件Starbus平台异步模型方面的研究成果,提出了一种新的异步模型RAAM(Router Agent based Asynchronous Model),该模型能够支持消息的异步传递和时间无关的激活方式,同时对消息的服务质量提供了很好的支持.在自主研发的分布计算平台Starbus异步子系统中实现了RAAM模型,并与相关工作进行了比较.  相似文献   

8.
分布对象中间件异步消息的研究与实现   总被引:9,自引:0,他引:9  
随着Internet和大规模Intranet的出现和飞速发展,软件系统之间逐渐构成一个开放协同的软件环境.异步通信机制是支撑开放协同环境的重要机制,CORBA是一种在开放协同环境中得到广泛应用的主流分布对象中间件,它没有很好地解决异步通信问题.在CORBA中提供异步通信机制成为研究的热点.该文基于CORBA异步消息标准提出了一种包含回调、轮询和T11(Time Independent Invocation)三种机制的异步模型,并在StarBus中进行了实现.实现结果和初步应用表明,该文提出的异步模型方案对于将CORBA应用于大规模分布式开放协同环境具有重要意义。  相似文献   

9.
基于MOM的异步可靠Web服务模型的设计与实现   总被引:1,自引:0,他引:1  
提出了一个基于消息中间件(MOM)的异步可靠Web服务模型,该模型分为服务器端和客户端两大部分,支持同步和异步调用,解决了Web服务调用中可能会出现的异常问题,如服务短暂停止和网络出现故障等.对该模型进行了分析,然后对该模型的客户端和服务器端进行了设计实现.最后该模型通过消息持久化、消息队列和消息状态以及优先级管理和消息保证迭达等机制保证了消息传输的可靠性,提高了Web服务的服务质量.  相似文献   

10.
Music, engineering, mathematics, and many other disciplines have established notations for writing their documents. Adjusting these notations can contribute to universal access by helping to address access difficulties, such as disabilities, cultural backgrounds, or restrictive hardware. Tools that support the programming of such transformations can also assist by allowing the creation of new notations on demand, which is an under-explored option in the relief of educational difficulties. This paper reviews some programming tools that can be used to effect such transformations. It also introduces a tool, called “4DML,” which allows the programmer to create a “model” of the desired result, from which the transformation is derived.  相似文献   

11.
The JR concurrent programming language extends Java with a richer concurrency model, by adding several new types and statements. JR provides dynamic remote virtual machine creation, dynamic remote object creation, remote method invocation, dynamic process creation, rendezvous, asynchronous message passing, semaphores, concurrent invocation, and shared variables. This paper presents RJ, a package for Java that provides JR‐like features. The paper gives an overview of RJ and its key features; describes the implications of RJ's design, including how RJ provides additional, useful flexibility; discusses the implementation of RJ; and gives qualitative and quantitative evaluations of our work with respect to feasibility and usability, experimentation, migration, and performance. RJ has been successful in meeting these goals and in providing insight into the trade‐offs between using a concurrent programming language versus using the equivalent concurrent package. Our work has yielded a few surprises in dealing with some concurrent programming language features, in understanding the run‐time performances of JR versus RJ programs, and in obtaining some additional, useful flexibility for concurrent programming applications. Copyright © 2015 John Wiley & Sons, Ltd.  相似文献   

12.
This paper presents a general model for dealing with abnormal events during program execution and describes how this model is implemented in the μSystem. (The μSystem is a library of C definitions that provide light-weight concurrency on uniprocessor and multiprocessor computers running the UNIX operating system.) Two different techniques can be used to deal with an abnormal event: an exception, which results in an exceptional change in control flow from the point of the abnormal event; and an intervention, which is a routine call from the point of the abnormal event that performs some corrective action. Users can define named exceptions and interventions in conjunction with ones defined by the μSystem. Exception handlers and intervention routines for dealing with abnormal events can be defined/installed at any point in a program. An exception or intervention can then be raised or called, passing data about the abnormal event and returning results for interventions. Interventions can also be activated in other tasks, like a UNIX signal. Such asynchronous interventions may interrupt a task's execution and invoke the specified intervention routine. Asynchronous interventions are found to be useful to get another task's attention when it is not listening through the synchronous communication mechanism.  相似文献   

13.
Studying the collaborative behavior of online learning teams and how this behavior is related to communication mode and task type is a complex process. Research about small group learning suggests that a higher percentage of social interactions occur in synchronous rather than asynchronous mode, and that students spend more time in task-oriented interaction in asynchronous discussions than in synchronous mode. This study analyzed the collaborative interaction patterns of global software development learning teams composed of students from Turkey, US, and Panama. Data collected from students’ chat histories and forum discussions from three global software development projects were collected and compared. Both qualitative and quantitative analysis methods were used to determine the differences between a group’s communication patterns in asynchronous versus synchronous communication mode. K-means clustering with the Ward method was used to investigate the patterns of behaviors in distributed teams. The results show that communication patterns are related to communication mode, the nature of the task, and the experience level of the leader. The paper also includes recommendations for building effective online collaborative teams and describes future research possibilities.  相似文献   

14.
With the increased affordances of synchronous communication tools, more opportunities for online learning to resemble face‐to‐face settings have recently become available. However, synchronous communication does not afford as much time for reflection as asynchronous communication. Therefore, a combination of synchronous and asynchronous communication in e‐learning would seem desirable to optimally support learner engagement and the quality of student learning. It is still an open question though, how to best design online learning with a blend of synchronous and asynchronous communication opportunities over time. Few studies have investigated the relationship between learners' actual use of synchronous and asynchronous communication over time. Therefore, this study addressed that relationship in an online course (N = 110), taking into account student motivation, and employing a dynamic inter‐temporal perspective. In line with our assumptions, we found some support for the expected association between autonomous motivation and engagement in asynchronous and synchronous communication, be it restricted primarily to the first course period. Also, positive relations between engagement in synchronous and asynchronous communication were found, with the strongest influence from using asynchronous to synchronous communication. This study adds to the knowledge base needed to develop guidelines on how synchronous communication can be combined with asynchronous learning.  相似文献   

15.
In this paper we present the syntax, semantics, and compilation of a new system-level programming language called SystemJ. SystemJ is a multiclock language supporting the Globally Asynchronous Locally Synchronous (GALS) model of computation. The synchronous reactive (SR) model is used for synchronous parts of the modelled system, and those parts, which represent individual clock-domains, are coupled asynchronously each to the other on the top-level of system design. SystemJ is based on Java language, which is used to describe “instantaneous” data transformations. Hence, SystemJ is well suited for both software-based embedded and distributed systems. SystemJ offers effective modelling of (1) data transformations through the power of Java, (2) control and synchronous concurrency through the SR paradigm and (3) asynchronous concurrency through clock domains and rendezvous. The language is based on semantics that is amenable to efficient code generation and partial automatic verification. The SystemJ micro-step semantics provide asynchronous and synchronous extensions over the semantics of other SR languages such as Esterel and provide an ideal platform for efficient software implementation.  相似文献   

16.
Quantified Discrete-time Duration Calculus, (QDDC), is a form of interval temporal logic [14]. It is well suited to specify quantitative timing properties of synchronous systems. An automata theoretic decision procedure for QDDC allows converting a QDDC formula into a finite state automaton recognising precisely the models of the formula. The automaton can be used as a synchronous observer for model checking the property of a synchronous program. This theory has been implemented into a tool called DCVALID which permits model checking QDDC properties of synchronous programs written in Esterel, Verilog and SMV notations.In this paper, we consider two well-known synchronous bus arbiter circuits (programs) from the literature. We specify some complex quantitative properties of these arbiters, including their response time and loss time, using QDDC. We show how the tool DCVALID can be used to effectively model check these properties (with some surprising results).  相似文献   

17.
胡定谋  黄莉章 《机器人》1991,13(5):51-54
本文针对提高点焊工业机器人的加工和回答信号的传递速度进行分析。主要介绍回答信号形成的方法以及如何检测,排除焊头与工件的粘结问题。并在提高点焊工业机器人回答信号的抗干扰能力方面进行了研讨。  相似文献   

18.
Response Time Analysis of Asynchronous Real-Time Systems   总被引:1,自引:0,他引:1  
In asynchronous real-time systems the time when all events occur can not be predicted beforehand. Systems with sporadic tasks, or that operate a protocol for sharing resources like the priority ceiling protocol, for example, are asynchronous real-time systems. In this paper, we present a sufficient and efficient response time based analysis technique for computing R i(k), the worst case response time at each invocation k of the periodic tasks of real-time asynchronous systems. In addition, efficient idle time computation for asynchronous systems is presented. This analysis technique can be applied to the analysis of several process models including weakly hard real-time systems, and slack management techniques like aperiodic servers and slack stealing algorithms. It is also shown that the pattern of response times of tasks in a hyperperiod is pseudoperiodic and that the maximum response time instants tend to occur evenly separated within the hyperperiod.  相似文献   

19.
Textual as well as visual and diagrammatic notations are essential in software engineering, and are used in many different contexts. Chomsky grammars are the key tool to handle textual notations, and find many applications for textual languages. Visual and diagrammatic languages add spatial dimensions that reduce the applicability of textual grammars and call for new tools.Graph transformation systems have been studied for over 40 years and are a powerful tool to deal with syntax, semantics and transformation of diagrammatic notations. The enormous importance of visual and diagrammatic languages and the strong support that graph transformation provide to the manipulation of diagrammatic notations would suggest a big success of graph transformation in software engineering.Graph transformation systems find their application both as language generating devices and specification means for system evolution, and thus can have many applications in software engineering. In this paper we discuss the main features of graph transformation and how they can help software engineers. We look back to the many attempts to use graph transformations in software engineering in the last 15 years, identify some success stories, and discuss to what extent graph transformation succeeded, when they have not succeeded yet, what are the main causes of failures, and how they can help software engineering in the next 15 years.  相似文献   

20.
A single-stage non-blocking N × N packet switch with combined input and output queueing is considere. The limited queueing at the output ports partially resolves output port contention. Overflow at the output queues is prevented by employment of a backpressure mechanism and additional queueing at the input ports. This paper investigates the performance of the switch under two different modes of operation: asynchronous and synchronous or slotted. For the purpose of comparison a switch model is developed. Assuming Poisson packet arrivals, several performance measures are obtained analytically. These include the distribution of the delay through the switch, the input queue length distribution, packet losses at the inputs in the case of finite input queues, and the maximum switch throughput. The results obtained demonstrate a slight performance advantage of asynchronous over synchronous operation. However, the maximum switch throughput is the same for both modes of operation.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号