14:00h: Decentralized Service Selection and Composition14:45h: Software Architecture for Safe and Autonomous Drones

Resumo - Decentralized Service Selection and Composition:Services computing facilitates the creation of large scale applications. Services are relatively small and manageable software units with clearly defined interfaces. Applications then consist of orchestrated invocations of services, the so-called composite services. The services on which a composite service relies - called component services - have various quality of service (QoS) characteristics, such as performance, reliability, availability, accuracy. Such quality parameters can be used by a composite service to select component services when called for. Service selection and composition is particularly challenging when the system is large-scale - consisting of thousands of nodes, components and composite services - and dynamic - where QoS varies.

Particularly challenging is the situation where potentially large failures can occur. This thesis ambition is to create a highly resilient system for dynamic service compositions. While traditionally, a resilient system is able to deal with failures, our aim is to conceive a system that considers failures as ‘business as usual’, to which it gracefully adapts itself.

The large or potentially huge scale of such systems (involving tens of thousands of nodes and services) makes a central selection and composition authority infeasible. In our research, we investigate a decentralized self-adaptive and self- organizing approach to dynamic service composition. In particular, we study delegateMAS, a coordination mechanism originally targeted for large-scale coordination and control applications, such as traffic and logistics management, where entities need to coordinate over resources. Such coordination and control systems are intrinsically dynamic due to changes in operational (uncertainty of service time, orders, travel demand) or exceptional conditions (vehicle failures, infrastructure problems).

In this presentation we, first, define a decentralized solution for dynamic service composition using delegate MAS. We define TaskAgents that are responsible for enacting composite service instances, and ResourceAgents that manage the usage of component services. Two delegate MASs are defined, for exploring compositions and for propagating information about intended compositions.

Second, we thoroughly investigate the scaling of the system. We ran experiments that were large and huge in scale (up to tens of thousands of nodes and services). Third, we assess the behavior of the system under failing conditions, including drastic failure scenarios. These experiments show that the approach is effective, efficient, scales linearly, and can cope even with severe failures.

We validate our approach by applying it to different domains and by performing a thorough evaluation of it. We conclude this thesis showing that it is possible to create service compositions which can cope with failures, without relying on centralized solutions.

Resumo - Software Architecture for Safe and Autonomous Drones:The proliferation of UAVs (unmanned aerial vehicles, or drones) appears to be unstoppable. UAVs are expected to autonomously provide services for their users. In fact, very simple levels of autonomy are already in place, e.g. for position-based navigation and for basic safety measures. But there is a potential – and in fact a demand – to endow UAVs with additional autonomy, allowing them to operate in a more efficient and less error-prone manner, and to incorporate more advanced safety measures in their behavior. Unexpected circumstances require the UAV to autonomously handle anomalous situations, adjusting its planning and pursuing its tasks in other ways. Furthermore communication may be adjusted autonomously in order to meet control and application requirements.

Safety in UAV operations is somewhat underestimated, or at best dealt with in an ad hoc manner. Yet, safety is a fundamentally crucial consideration when moving towards widespread adoption with economic and societal impact. Similarly, autonomous operation must be a well-engineered concern to ensure consistent, reliable behavior.

Currently, there is no way to detect/avoid conflicting goals in the UAV software in a consistent and predictable manner. Suppose a UAV has two failsafe components, one component meant to avoid landing over water and another component that triggers a vertical landing behaviour when the battery goes below a certain threshold, it is not clear which behaviour would be activated, and the consequences of activating each failsafe component.

In this presentation we show our current approach in the design of UAV software, its benefits and drawbacks.

Sobre o palestrante:Dr. Mário Henrique Cruz Torres obtained his PhD in 2015. His research involved the creation of coordination mechanisms for service oriented systems, in order to improve the system resilience to failures and to optimize resources usage. Currently, he is a postdoctoral researcher, at KU Leuven - Belgium, working with software architectures for autonomous and safe software for UAVs. He is applying his knowledge of software architecture, autonomous systems, resilient systems, and distributed systems to the UAV research.

Dr. Torres is also involved on a recently started project ‘SafeDroneWare’ which aims to address autonomy as well as application-specific safety considerations in an architecture-based software development apporach for UAV software. He is using his expertise to help create an architecture that can be used to create safe applications for UAVs.