“…Examples include requirements monitoring ( Maiden, 2013;Robinson, 2006 ), monitoring of architectural properties ( Muccini et al, 2007 ), complex event processing ( Völz et al, 2011 ), and runtime verification ( Calinescu et al, 2012;, to name but a few. The desired runtime behavior is often formally expressed using temporal logic ( Viswanathan and Kim, 2005;Gunadi and Tiu, 2014;Bauer et al, 2006 ), or through the use of domain-specific (constraint) languages ( Robinson, 2006;Baresi and Guinea, 2013;Phan et al, 2008;Vierhauser et al, 2015 ). Defined constraints are checked based on events and data collected from systems at runtime, e.g., through instrumentation ( Mansouri-Samani and Sloman, 1993 ).…”