From concepts to applications: the Elektra meta-model and methodology for multi-agent systems