I. Introduction
Modelling the diversity and complexity of behaviours of a social robot is a challenging task. In the past, most robots were one-task-specific, but as problem complexity increases, it is necessary for their internal software architecture to be able to easily extend, adapt to changes, and for that, modularity is key.