Exogenous coordination of concurrent software components with JavaBIP

  • Simon Bliudze
  • , Anastasia Mavridou
  • , Radoslaw Szymanek
  • , Alina Zolotukhina

Research output: Contribution to journalArticlepeer-review

Abstract

A strong separation of concerns is necessary in order to make the design of domain-specific functional components independent from cross-cutting concerns, such as concurrent access to the shared resources of the execution platform. Native coordination mechanisms, such as locks and monitors, allow developers to address these issues. However, such solutions are not modular; they are complex to design, debug, and maintain. We present the JavaBIP framework that allows developers to think on a higher level of abstraction and clearly separate the functional and coordination aspects of the system behavior. It implements the principles of the Behavior, Interaction, and Priority (BIP) component framework rooted in rigorous operational semantics. It allows the coordination of existing concurrent software components in an exogenous manner, relying exclusively on annotations, component APIs, and external specification files. We introduce the annotation and specification syntax of JavaBIP and illustrate its use on realistic examples, present the architecture of our implementation, which is modular and easily extensible, and provide and discuss performance evaluation results.

Original languageEnglish
Pages (from-to)1801-1836
Number of pages36
JournalSoftware - Practice and Experience
Volume47
Issue number11
DOIs
Publication statusPublished - 1 Nov 2017
Externally publishedYes

Keywords

  • BIP
  • JavaBIP
  • component coordination
  • concurrency
  • modularity

Fingerprint

Dive into the research topics of 'Exogenous coordination of concurrent software components with JavaBIP'. Together they form a unique fingerprint.

Cite this