کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
4951494 1364358 2017 42 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Dynamic Rebinding for Concurrent Object Groups: Theory and practice
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Dynamic Rebinding for Concurrent Object Groups: Theory and practice
چکیده انگلیسی


- We propose a dynamic rebinding mechanism by introducing new programming primitives in the model of concurrent object groups.
- We provide operational semantics for the resulting language and we prove the mechanism to work correctly.
- We provide a type system that checks the good usage of the rebinding mechanism.
- We present an implementation of our mechanism in the toolchain of the ABS language.
- We use our primitives for server policy dynamic changes of an industrial case study from the eCommerce Fredhopper platform.

In this paper we propose a new mechanism for Dynamic Rebinding, a particular kind of Dynamic Software Updating that focuses on modifying the workflow of a program. This mechanism is built upon the concurrency model of Concurrent Object Groups that is adopted in programming languages like Coboxes, Creol or ABS. Using this model, which extends and solves some of the limitations of Active Objects, it becomes possible for an update to wait for the program to reach a local quiescent state and then perform the update without creating any inconsistency in the program's state. We validate our mechanism by formally proving that i) no updates are performed when the program has not reached a local quiescent state, ii) an update is guaranteed to be applied if we first wait for the program to reach a local quiescent state, and iii) it is possible to perform different updates atomically. We also provide a type system that checks the good usage of the rebinding operator. We implemented a prototype supporting our mechanism in the toolchain of the ABS language, and we tested the implementation by supporting dynamic changes in the server policy of an industrial case study from the eCommerce Fredhopper platform, offered by SDL. Without our rebinding mechanism, supporting such dynamic changes in a provably correct manner would not have been so simple. Finally, we developed an implementation of type checking for the ABS language extended with our rebinding primitives, and successfully tested it for the case study discussed in the paper.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Logical and Algebraic Methods in Programming - Volume 86, Issue 1, January 2017, Pages 349-390
نویسندگان
, , , ,