Profile
International Journal of Computer & Software Engineering Volume 2 (2017), Article ID 2:IJCSE-117, 11 pages
https://doi.org/10.15344/2456-4451/2017/117
Research Article
Special Issue: Software Architecture
Architecting Feasible Deployment Alternatives for Publish-Subscribe Systems

Bedir Tekinerdogan1*and Turgay Celik2

1Information Technology, Wageningen University, Wageningen, The Netherlands
2Department of Computer Engineering, HacettepeUniversity, Ankara, Turkey
Dr. Bedir Tekinerdogan, Information Technology, Wageningen University, Wageningen, The Netherlands; E-mail: bedir.tekinerdogan@wur.nl
28 March 2017; 14 August 2017; 16 August 2017
Tekinerdogan B, Celik T (2017) Architecting Feasible Deployment Alternatives for Publish-Subscribe Systems. Int J Comput Softw Eng 2: 117. doi: https://doi.org/10.15344/2456-4451/2017/117

Abstract

Publish-Subscribe is one of the important patterns for developing scalable distributed systems. Usually, the deployment of the publishers and subscribers to the nodes can be done in many different ways, whereby each deployment alternative will have a different impact on the performance. The many possible architecture design alternatives tend to trade-off with respect to execution cost and communication cost. Unfortunately, for the human engineer it is not tractable to define a feasible configuration in case of large number of nodes and participants. In this paper we propose a generic method to assist the architect by automatically deriving feasible deployment alternatives of Publish-Subscribe based distributed systems. The approach is based on the so-called capacitated task allocation problem (CTAP) in which constraints on memory capacity and processing power are applied to manage the trade-offs between the total execution cost and total communication cost to derive feasible design alternatives. The method is supported by our tool framework (Deploy-PS) that provides an integrated development environment for modeling the Publish-Subscribe deployment architecture, modeling the physical resources and the performance requirements, and the selection and generation of the feasible deployment architecture alternatives.