A component-oriented model for the design of safe multi-threaded applications

  • Authors:
  • Reimer Behrends;R. E. Kurt Stirewalt;Laura K. Dillon

  • Affiliations:
  • Dept. of Computer Science and Engineering, Michigan State University;Dept. of Computer Science and Engineering, Michigan State University;Dept. of Computer Science and Engineering, Michigan State University

  • Venue:
  • CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We previously developed a component-oriented model that combines ideas from self-organizing architectures and from design by contract to address the complexity of design in multi-threaded systems. Components in our model are cohesive collections of objects that publish contracts declaring the conditions under which they access other components. These contracts localize a component's contextual synchronization dependencies in its interface. Moreover, the resulting systems permit strong guarantees of safety. This paper reports a case study to validate the efficacy of our model on a realistic design problem: the component-based design of a multi-threaded web server. We first developed a bare-bones web server based on the Apache architecture and then subjected this design to three extension tasks. The study corroborates that our model enables a fine-grain component-based design of multi-threaded applications of realistic complexity, while guaranteeing freedom from certain synchronization errors.