bollino ceralaccato

Towards Adaptive-and-Dependable Systems: Resilient Computing Research at Universiteit Antwerpen

Often the systems our societies depend upon are built in such a way as to result too inflexible and intolerant to changes.

Introduction

Often the systems our societies depend upon are built in such a way as to result too inflexible and intolerant to changes. The deployment of such systems in environments where change is the rule rather than the exception leads to situations where quality-of-service and quality-of-experience are strongly and negatively affected. As a result, there is an urgent need to investigate structuring techniques, models, architectures, algorithms, tools, and paradigms for the expression and the management of self-adaptive and self-resilient systems, i.e., computer-based communicating individual and social entities that are able to sustain an agreed-upon quality-of-service and quality-of-experience despite the occurrence of potentially significant and sudden changes or failures in their infrastructure and surrounding environments.

This need is the core business of the research line Adaptive-and-dependable Systems – that is, one of the four research lines of the Performance Analysis and Telecommunication Systems research group of the University of Antwerp. This unit carries out research through the design, development, and evaluation of techniques and models to structure computer systems as entelechies, namely systems that are able to self-adapt in the face of changes without diverging from their intended functions as prescribed in their specifications. Such systems may range from individual and simple embedded “things” with limited perception and predefined specialized behaviours to complex hybrid social organizations such as cyber-physical societies or service-oriented communities, whose emerging behaviours are many and in some cases difficult to predict. Whatever the nature of the system at hand – be it an individual or a social entity, be it purely computer-based or comprising living entities – the main property we focus our attention on is resilience, namely that system’s ability to retain its fundamental traits whatever the environmental conditions it encounters. A major discussion about this property has been carried out in [1]. In what follows we briefly introduce the concept of resilience and then we briefly sketch a number of examples also referring the reader to deepenings.

Resilience

The term Resilience refers to a system’s ability to retain its intended function in spite of endogenous conditions, external actions, and environmental changes. The concept of resilience goes back to Aristotelian idea of entelechy, a central topic in Aristotle’s philosophy whose meaning and relationship with resilience is ingeniously captured by Sachs [2]: Entelechy is an entity’s ability of “being-at-work-staying-the-same”. This definition tells us that an entity — be it e.g. a physical person, an organization, or a cyber-physical system — is resilient when both the following two conditions hold:

The entity is able to exert purposeful active behaviour [3] to continuously adjust their functions in order to compensate for foreseen and/or unpredicted changes in its execution environment. This corresponds to the first part of Sachs’ definition: “Being at work.”

As a result of the above behavior, the entity is able to retain their “identity” —namely their peculiar and distinctive functional and non-functional features —in the face of the above mentioned conditions, actions, and changes, and despite the adjustments carried out by the entity so as to improve its system-environment fit. This refers to the second part of Sachs’ definition: “Staying the same”.

Resilient Computing at the University of Antwerp

As mentioned above, the core business of our unit is that of designing, studying properties, devising models, understanding the emergence of desirable behaviours, in systems and organizations subjected to turbulent environmental conditions. This is being pursued through several activities:

  1. Novel approaches for architectural meta-adaptation of component-based services have been devised. A first result in this context was the design of a framework and middleware for dynamic self-adaptation to changing environments, achieved through run-time re-composition of application components. ACCADA (“A Continuous Context-Aware Deployment and Adaptation”) [4] was then followed by Transformer [5], a framework and middleware for the dynamic composition of adaptation behaviours. This patent application provides additional information about the above two concepts.

  2. Innovative social organizations have been proposed to complement existing traditional services such as tele-care and ambient assistance. A first such concept is that of the Mutual Assistance Community (MAC) – a cyber-physical society for the assistance of the elderly and the impaired. The MAC principles are those of actor-network theory, in which actants (e.g. human beings or Internet “things”) publish their capabilities; assumable roles; relationships; and current location, and respond to servicing requests. This line of action was awarded the first price “FITCE.be Young ICT Personality 2008” competition, the first price “IBM Service Innovation Student Contest 2007”, and an IBM Ph.D. Fellowship (2009). Additional information on this activity may be found in [6] [7] [8].

  3. Building on top of the above Mutual Assistance Community we have proposed a novel social organization called Service-oriented Community (SoC) [9] [10]. The SoC is a digital ecosystem with a fractal social organization: A same building block is repeated at different scales and may assume domain-specific personae without imposing structural behavioural assumptions. In the domain of Ambient Assisted Living, the SoC building block may take the shape of mutual assistance communities, hospitals and other healthcare organizations, smart-houses, professional and informal caregivers, patients, etc.

  4. Entelechy design may also be achieved through algorithmic approaches. An example is described here ([11]): a robust mechanism to tune the production of requests for communication after the current operational conditions of the consumers of such requests. This can be used to achieve high performance and programmatic avoidance of undesirable events such as message collisions. More information may be found also in [12].

  5. The traditional approaches towards data integrity and software elasticity based on redundant data structures and design diversity are being augmented by defining web services architectures for self-adaptive multiple-version software fault-tolerance. Complex elasticity behaviours are obtained by self-selecting and self-tuning the employed redundancy after the threats and disturbances experienced. More information on this activity is available in [13] [14] [15].

  6. Tiny computation and communication devices may be turned in self-managing entelechies by embedding self-adaptive behaviours in traditional programming languages such as C or C++. Prototypic systems compliant to this model are described e.g. here [16] and here [17].

  7. Another stream of activities focuses on flexibility. A particular case of this is Flexible Manufacturing Systems (FMS), i.e., “manufacturing systems designed with some amount of flexibility that allows the systems to react in the case of changes, whether predicted or unpredicted.” On this front we designed a low-cost fast integrating platform with advanced middleware support to seamlessly integrate off-the-shelf or future robot sensors, robots, and actuators as well as industrial IT system. More information is in [18] [19].

  8. A recently started activity focuses on situation-aware user interfaces. Due to their privileged position halfway the physical and the cyber universe, user interfaces may play an important role in learning, preventing, and tolerating scenarios affecting mission safety and quality of experience. In the prototypic implementation in [20] we showed our vision on how this may be reached through a combination of dynamic profiling, context- and situation-awareness, and autonomic software adaptation.

  9. Last but not the least, resilient systems engineering is another of our lines of research. A major requirement towards guaranteeing persistence of identity in software is what we call software assumptions failure tolerance [21]: At our behest or otherwise, while our software is being executed, a huge variety of design assumptions is continuously matched with the truth of the current condition. Across the system layers, a complex and at times obscure web of assumptions determines the quality of the match of our software with its deployment platforms and run-time environments. Architectural and structuring techniques that allow software to be decomposed to reduce its complexity, but without hiding in the process vital hypotheses and assumptions, become an important prerequisite to resilience [22]. Other such prerequisites include perception and apperception; their role towards the emergence of resilience is discussed e.g. in [23].

---------------------------

References

[1] Vincenzo De Florio, “On the Constituent Attributes of Software and Organisational Resilience,” Interdisciplinary Science Reviews, Vol. 38, No. 2, June 2013. Maney Publishing.

[2] Sachs, J. (1995). Aristotle’s physics: A guided study. Masterworks of Discovery. Rutgers University Press.

[3] Rosenblueth, A., Wiener, N., and Bigelow, J. (1943). Behavior, Purpose and Teleology. Philosophy of Science, 10(1), 18–24.

[4] N. Gui, H. Sun, V. De Florio, & C. Blondia. ACCADA: A Framework for Continuous Context-Aware Deployment and Adaptation. In Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS 2009), Lecture Notes in Computer Science vol. 5873, Springer, 2009.

[5] Ning Gui , Vincenzo De Florio & Chris Blondia. Toward Architecture-based Context-Aware Deployment and Adaptation. Journal of Systems and Software, Vol. 84, Elsevier, 2011.

[6] Sun, Hong, De Florio, Vincenzo, Gui, Ning, & Blondia, Chris. The Missing Ones: Key Ingredients Towards Effective Ambient Assisted Living Systems. Journal of Ambient Intelligence and Smart Environments, 2 (2), April 2010, pp. 109–120.

[7] Sun, Hong, De Florio, Vincenzo, Gui, Ning, & Blondia, Chris. Service Matching in Online Community for Mutual Assisted Living. In: Proc. of the 3rd International Conference on Signal-Image Technology & Internet based Systems (SITIS' 2007), Shanghai, China, Dec. 2007.

[8] Sun, Hong, De Florio, Vincenzo, Gui, Ning, & Blondia, Chris. 2007. Participant: A new concept for optimally assisting the elder people. In: Proceedings of the 20th IEEE International Symposium on Computer-based Medical Systems (CBMS-2007). Maribor, Slovenia: IEEE Computer Society.

[9] De Florio, Vincenzo, & Blondia, Chris. 2010. Service-oriented communities: Visions and contributions towards social organisations. Pages 319-328 of: Meersman, Robert, Dillon, Tharam, & Herrero, Pilar (eds), On the move to meaningful internet systems: Otm 2010 workshops. Lecture Notes in Computer Science, vol. 6428. Springer Berlin / Heidelberg. 10.1007/978-3-642-16961-8_51.

[10] De Florio, V., Coronato, A., Bakhouya, M., and Di marzo, G. 2013. Fractal Social Organisations—Models and Concepts for Socio-technical Systems. Submitted to Systems Research and Behavioral Science, 2013.

[11] Vincenzo De Florio & Chris Blondia. Robust and Tuneable Family of Gossiping Algorithms. In Proceedings of the 20th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP 2012), Garching, Germany, pp. 154-161, IEEE Comp. Soc., 2012.

[12] V. De Florio & C. Blondia. The Algorithm of Pipelined Gossiping. Journal of Systems Architecture, Vol. 52, No. 4, pp. 235-256, Elsevier, 2006.

[13] Jonas Buys, Vincenzo De Florio & Chris Blondia. Towards Parsimonious Resource Allocation in Context-Aware n-Version Programming. In Proceedings of the 7th IET System Safety Conference, The Institute of Engineering and Technology, 2012.

[14] Roeland Dillen, Jonas Buys, Vincenzo De Florio & Chris Blondia. WSDM-enabled Autonomic Augmentation of Classical Multi-Version Software Fault-Tolerance Mechanisms. Proceedings of the SAFECOMP 2012 Workshops, Lecture Notes in Computer Science, Magdeburg, Germany, Lecture Notes in Computer Science (LNCS), Vol. 7613, pp. 294-306, Springer, F. Ortmeier and P. Daniel, 2012.

[15] Jonas Buys, Vincenzo De Florio & Chris Blondia. Towards Context-Aware Adaptive Fault Tolerance in SOA Applications. Proceedings of the 5th ACM International Conference on Distributed Event-Based Systems (DEBS), New York, USA, pp. 63-74, Association for Computing Machinery, Inc. (ACM), 2011.

[16] V. De Florio & C. Blondia. Reflective and Refractive Variables: A Model for Effective and Maintainable Adaptive-and-Dependable Software. In Proceedings of the 33rd Euromicro Conference on Software Engineering and Advanced Applications (SEEA 2007), Software Process and Product Improvement track (SPPI), Luebeck, Germany, IEEE Computer Society, 2007.

[17] Vincenzo De Florio & Chris Blondia. Trading off Complexity for Expressiveness in Programming Languages for Embedded Devices: Visions and Experiences. Proceedings of the 3rd International Conference on Advanced Communication and Networking (ACN 2011), Springer, 2011.

[18] N. Gui, V. De Florio, H. Sun & C. Blondia. A Hybrid realtime component model for reconfigurable embedded systems. In Proceedings of the 23rd Annual ACM Symposium on Applied Computing (SAC2008), ACM, 2008.

[19] N. Gui, V. De Florio, H. Sun & C. Blondia. A framework for adaptive real-time applications: the declarative real-time OSGi component model. In Proceedings of the 7th Workshop on Adaptive and Reflective Middleware (ARM 08), ACM/IFIP/USENIX, 2008.

[20] Vincenzo De Florio & Chris Blondia. Safety Enhancement Through Situation-aware User Interfaces. In Proceedings of the 7th International IET System Safety Conference, Edinburgh, UK, IET, 2012.

[21] Vincenzo De Florio. Software Assumptions Failure Tolerance: Role, Strategies, and Visions. Chapter in Architecting Dependable Systems, Vol. 7, (Antonio Casimiro, Rogério de Lemos, and Cristina Gacek, Eds.), Lecture Notes in Computer Science, Vol. 6420, Springer, 2011.

[22] Vincenzo De Florio & Chris Blondia. On the Requirements of New Software Development. International Journal of Business Intelligence and Data Mining, Vol. 3, No. 3, Inderscience, 2008.

[23] Vincenzo De Florio. On the Role of Perception and Apperception in Ubiquitous and Pervasive Environments. In Proceedings of the 3rd Workshop on Service Discovery and Composition in Ubiquitous and Pervasive Environments (SUPE 2012), Niagara Falls, Ontario, Canada, Elsevier, 2012.

×