Developing multi-agent system product lines: from requirements to code. (1st January 2011)