From Resource Monitoring to Requirements-based Adaptation: An Integrated Approach

In large and complex systems there is a need to monitor resources as it is critical for system operation to ensure sufficient availability of resources and to adapt the system as needed. While there are various (resource)-monitoring solutions, these typically do not include an analysis part that takes care of analyzing violations and responding to them. In this paper we report on experiences, challenges and lessons learned in creating a solution for performing requirements-monitoring for resource constraints and using this as a basis for adaptation to optimize the resource behavior. Our approach rests on reusing two previous solutions (one for resource monitoring and one for requirements-based adaptation) that were built in our group.

[1]  Holger Eichelberger,et al.  A Matter of the Mix: Integration of Compile and Runtime Variability , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[2]  Schahram Dustdar,et al.  Esc: Towards an Elastic Stream Computing Platform for the Cloud , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[3]  Klaus Schmid,et al.  Using IVML to model the topology of big data processing pipelines , 2016, SPLC.

[4]  B. Demuth,et al.  Model and Object Verification by Using Dresden OCL , 2009 .

[5]  Patrick Meyer,et al.  Demo: measuring and estimating monetary cost for cloud-based data stream processing , 2013, DEBS '13.

[6]  Wilhelm Hasselbring,et al.  Kieker: a framework for application performance monitoring and dynamic software analysis , 2012, ICPE '12.

[7]  Klaus Schmid,et al.  Flexible resource monitoring of Java programs , 2014, J. Syst. Softw..

[8]  Dusan Okanovic,et al.  Kieker4DQL: Declarative Performance Measurement , 2016, Softwaretechnik-Trends.

[9]  André van Hoorn,et al.  Towards Performance Tooling Interoperability: An Open Format for Representing Execution Traces , 2016, EPEW.

[10]  Holger Eichelberger,et al.  EASy-producer: product line development for variant-rich ecosystems , 2014, SPLC '14.

[11]  Walter Binder,et al.  Portable resource control in Java , 2001, OOPSLA '01.

[12]  Hendra Gunadi,et al.  Efficient Runtime Monitoring with Metric Temporal Logic: A Case Study in the Android Operating System , 2014, FM.

[13]  Christian Schaefer,et al.  A Runtime Monitoring Environment for Mobile Java , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[14]  Paul Grünbacher,et al.  ReMinds : A flexible runtime monitoring framework for systems of systems , 2016, J. Syst. Softw..

[15]  Holger Eichelberger,et al.  Impact-minimizing Runtime Switching of Distributed Stream Processing Algorithms , 2016, EDBT/ICDT Workshops.

[16]  Luciano Baresi,et al.  A comparison framework for runtime monitoring approaches , 2017, J. Syst. Softw..

[17]  Wilhelm Hasselbring,et al.  A Self-adaptive Monitoring Framework for Component-Based Software Systems , 2011, ECSA.