...
首页> 外文期刊>Science of Computer Programming >Towards behavioral programming in distributed architectures
【24h】

Towards behavioral programming in distributed architectures

机译:走向分布式架构中的行为编程

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

As part of expanding the implementation and use of the behavioral programming (BP) approach in a variety of languages and configurations, we tackle some of the challenges associated with applying the approach in a truly distributed, decentralized manner, where different modules run on separate machines. BP supports the development of reactive applications from modules that are aligned with the desired and undesired scenarios of system behaviors as described, say, in a requirements document, in an enhancement request, or a field problem report. A key advantage of this approach is that it facilitates incremental development where loosely coupled modules are added as requirements are introduced, and meaningful prototype execution can be carried out from early stages of development. In BP, each behavioral module (called a behavior thread) takes care of a separate facet of the requirements, thus control is conceptually decentralized. However, as the underlying principles of BP call for constant synchronization of, and "consultation" with, all behavior threads, efficient implementation in a physically distributed environment is a significant challenge on the road to broader acceptance of BP as a viable new way to develop systems. We begin by describing an implementation of BP in Erlang, where the coordination protocol is implemented via message passing. We demonstrate through examples how developing distributed systems in Erlang can benefit from BP advantages of incremental development and alignment of the code modules with the requirements. Next, we propose general BP design patterns (not limited to Erlang) for using BP in distributed applications, showing how to design applications using BP without forcing full synchronization among all threads at each step of the execution. This allows modules to run at different time scales and to wait for external input without stalling the entire system. Finally, we propose ways to alter the execution mechanism of BP so that execution can progress without necessarily waiting for the synchronization of all the threads. The enhanced execution algorithm has the potential of accelerating the distributed execution of behavioral programs.
机译:作为以多种语言和配置扩展行为编程(BP)方法的实现和使用的一部分,我们解决了与以真正的分布式,去中心化的方式应用该方法相关的一些挑战,其中不同的模块在单独的机器上运行。 BP支持从与期望和不期望的系统行为场景相匹配的模块开发反应性应用程序,例如在需求文档,增强请求或现场问题报告中所述。这种方法的主要优势在于,它可以促进增量式开发,其中在引入需求时添加松散耦合的模块,并且可以在开发的早期阶段执行有意义的原型执行。在BP中,每个行为模块(称为行为线程)负责需求的一个单独方面,因此控制在概念上是分散的。但是,由于BP的基本原理要求所有行为线程不断同步并“与之协商”,因此,在物理上分散的环境中有效实施对于将BP作为一种可行的新开发方法而言是一个重大挑战。系统。我们从在Erlang中描述BP的实现开始,其中协调协议是通过消息传递实现的。我们通过示例演示了如何在Erlang中开发分布式系统如何从BP的增量开发优势以及代码模块与需求的对齐中受益。接下来,我们提出了在分布式应用程序中使用BP的通用BP设计模式(不限于Erlang),展示了如何使用BP设计应用程序而又不要求在执行的每个步骤中所有线程之间都进行完全同步。这允许模块在不同的时间范围内运行,并等待外部输入而不会使整个系统停顿。最后,我们提出了一些方法来更改BP的执行机制,以使执行可以继续进行而不必等待所有线程的同步。增强的执行算法具有加速行为程序的分布式执行的潜力。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号