Skip to Main Content
Summary form only given. We present an executable model for a family of algorithms dealing with leader election in a ring topology. We follow the traditional approach of system family engineering. That is, we develop a feature model that captures variability across these algorithms. We then proceed to produce a generator. This generator receives as inputs specific values for each of the variation points (i.e., features) we identify. And it produces the behavior corresponding to the specific configuration of features at hand. Contrary to existing generative programming literature, we do not resort to C++ meta-programming but instead develop an executable model using Rational Rose RT. More precisely, we have designed a single state chart that can model all the algorithms of the family we studied. We focus here on how to obtain such a state chart, rather than on the identification of the features we used, or on ROSE-RT semantics. We do believe however that our approach can be reused to provide a semantically unified and executable modelling approach for other families of algorithms.