BDL: a language to control the behavior of concurrent objects

  • Authors:
  • Frédéric Bertrand;Michel Augeraud

  • Affiliations:
  • Laboratoire d'Informatique et d'Imagerie Industrielle, Université de La Rochelle, La Rochelle, Cedex, France;Laboratoire d'Informatique et d'Imagerie Industrielle, Université de La Rochelle, La Rochelle, Cedex, France

  • Venue:
  • DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.