|| Many modern applications take a potentially infinite stream of events as input to interpret and process the data. The established approach to handle such tasks is called Event Stream Processing. The underlying technologies are designed to process this stream efficiently, but applications based on this approach can become hard to maintain, as the application grows. A model-driven approach can help to manage increasing complexity and changing requirements. This thesis examines how a combination of Event Stream Processing and Model-Driven Engineering can be used to handle an incoming stream of events. An architecture that combines these two technologies is proposed and two case studies have been performed. The DEBS grand challenges from 2015 and 2016 have been used to evaluate applications based on the proposed architecture towards their performance, scalability and maintainability. The result showed that they can be adapted to a variety of change scenarios with an acceptable cost, but that their processing speed is not competitive.