Towards Performance-Aware Engineering of Autonomic Component Ensembles

Ensembles of autonomic components are a novel software engineering paradigm for development of open-ended distributed highly dynamic software systems e.g. smart cyber-physical systems. Recent research centered around the concept of ensemble-based systems resulted in design and development models that aim to systematize and simplify the engineering process of autonomic components and their ensembles. These methods highlight the importance of covering both the functional concepts and the non-functional properties, specifically performance-related aspects of the future systems. In this paper we propose an integration of the emerging techniques for performance assessment and awareness into different stages of the development process. Our goal is to aid both designers and developers of autonomic component ensembles with methods providing performance awareness throughout the entire development life cycle including runtime.

[1]  Gregor Kiczales AspectJ(tm): Aspect-Oriented Programming in Java , 2002, NetObjectDays.

[2]  Ilias Gerostathopoulos,et al.  DEECO: an ensemble-based component system , 2013, CBSE '13.

[3]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[4]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[5]  Franco Zambonelli,et al.  A Life Cycle for the Development of Autonomic Systems: The E-mobility Showcase , 2013, 2013 IEEE 7th International Conference on Self-Adaptation and Self-Organizing Systems Workshops.

[6]  Petr Tuma,et al.  Performance Regression Unit Testing: A Case Study , 2013, EPEW.

[7]  Ilias Gerostathopoulos,et al.  Design of ensemble-based component systems by invariant refinement , 2013, CBSE '13.

[8]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[9]  Petr Tuma,et al.  Capturing performance assumptions using stochastic performance logic , 2012, ICPE '12.

[10]  Ondrej Krč-Jediný GIMPLE Model Checker , 2011 .

[11]  Christopher Stewart,et al.  Performance modeling and system management for multi-component online services , 2005, NSDI.

[12]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[13]  Allen D. Malony,et al.  A performance interface for component-based applications , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[14]  Michel Dagenais,et al.  Measuring and Characterizing System Behavior Using Kernel-Level Event Logging , 2000, USENIX Annual Technical Conference, General Track.

[15]  Gregg Rothermel,et al.  Sofya: Supporting Rapid Development of Dynamic Program Analyses for Java , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[16]  Allen D. Malony,et al.  Performance Analysis Integration in the Uintah Software Development Cycle , 2003, International Journal of Parallel Programming.

[17]  Allan Clark,et al.  State-Aware Performance Analysis with eXtended Stochastic Probes , 2008, EPEW.

[18]  Roy Friedman,et al.  Gossiping on MANETs: the beauty and the beast , 2007, OPSR.

[19]  Franco Zambonelli,et al.  SOTA: Towards a General Model for Self-Adaptive Systems , 2012, 2012 IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.