کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
434988 1441657 2015 35 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Towards behavioral programming in distributed architectures
ترجمه فارسی عنوان
در برنامه های رفتاری در معماری های توزیع شده
کلمات کلیدی
برنامه ریزی رفتاری، نمودار پیوسته زنده، زمان اجرای منطقی، مقیاس های زمان، هماهنگ سازی
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• We present a design pattern for programming behaviorally in Erlang.
• We present a proof-of-concept for a BP execution infrastructure in Erlang.
• We present BP design patterns for interfacing with unsynchronized environments.
• We present BP design patterns for coordinating behaviors at different time scales.
• We present mechanisms for eager execution in BP.

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.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 98, Part 2, 1 February 2015, Pages 233–267
نویسندگان
, , , , , ,