usenix conference policies
BDL: A Language to Control the Behavior of Concurrent Objects
Frédéric Bertrand and Michel Augeraud, Université de La Rochelle
Combining concurrency and object orientation is still difficult. In an approach where methods are concurrency units, one of the main difficulties is the control of the behavior of objects.
Our proposal is BDL a language allowing to express and to achieve this control. We propose a model where each object includes a so called "execution controller" programmed with BDL. This introduces a conceptually clean separation between processing (method execution) and control. The controller ensures the respect of scheduling constraints between the executions of methods. Similarly the behavior of aggregate objects can be controlled. This language has a convenient formal base. Thus, using the expression of control, behavioral properties of an object, or even of a group of interesting objects can be verified. Our approach allows, for example, deadlock detection or verification of safety properties while the compiled object controller keeps a reasonable size.
A compiler has been implemented allowing to automatically generate the controller code from a BDL program. This compilation is achieved by producing an Esterel (reactive programming language) code from a BDL program, the Esterel compiler giving the executable code. Inter-method concurrency is implemented using lightweight processes.
author = {Fr{\'e}d{\'e}ric Bertrand and Michel Augeraud},
title = {{BDL}: A Language to Control the Behavior of Concurrent Objects},
booktitle = {Conference on Domain-Specific Languages (DSL 97)},
year = {1997},
address = {Santa Barbara, CA },
url = {https://www.usenix.org/conference/dsl-97/bdl-language-control-behavior-concurrent-objects},
publisher = {USENIX Association},
month = oct
}
connect with us