Model-driven engineering (MDE) generally starts from system design model. In this paper, we show how MDE can be extended to the requirements level expressed in requirements models (in KAOS) and be linked with a formal design language (in Event-B). The central idea is to map Goal-Oriented agents to a hierarchy of Event-B machines. A design process is proposed to decompose a system level agent/machine into finer grained agent/machines based on their ability to control specific piece of information. The approach is semi-automated and tool supported by an Eclipse plug-in connecting the KAOS/Objectiver tool and the Event-B/Rodin tools. The benefits and limits of the approach on the resulting model quality are highlighted on a non-trivial example. Alternative approaches developed by others are also discussed.