-
DNA sequence alignment: An assignment for OpenMP, MPI, and CUDA/OpenCL
Authors:
Arturo Gonzalez-Escribano,
Diego García-Álvarez,
Jesús Cámara
Abstract:
We present an assignment for a full Parallel Computing course. Since 2017/2018, we have proposed a different problem each academic year to illustrate various methodologies for approaching the same computational problem using different parallel programming models. They are designed to be parallelized using shared-memory programming with OpenMP, distributed-memory programming with MPI, and GPU progr…
▽ More
We present an assignment for a full Parallel Computing course. Since 2017/2018, we have proposed a different problem each academic year to illustrate various methodologies for approaching the same computational problem using different parallel programming models. They are designed to be parallelized using shared-memory programming with OpenMP, distributed-memory programming with MPI, and GPU programming with CUDA or OpenCL. The problem chosen for this year implements a brute-force solution for exact DNA sequence alignment of multiple patterns. The program searches for exact coincidences of multiple nucleotide strings in a long DNA sequence. The sequential implementation is designed to be clear and understandable to students while offering many opportunities for parallelization and optimization. This assignment addresses key concepts many students find difficult to apply in practical scenarios: race conditions, reductions, collective operations, and point-to-point communications. It also covers the problem of parallel generation of pseudo-random sequences and strategies to notify and stop speculative computations when matches are found. This assignment serves as an exercise that reinforces basic knowledge and prepares students for more complex parallel computing concepts and structures. It has been successfully implemented as a practical assignment in a Parallel Computing course in the third year of a Computer Engineering degree program. Supporting materials for this and previous assignments in this series are publicly available.
△ Less
Submitted 9 September, 2024;
originally announced September 2024.
-
CaRE: Finding Root Causes of Configuration Issues in Highly-Configurable Robots
Authors:
Md Abir Hossen,
Sonam Kharade,
Bradley Schmerl,
Javier Cámara,
Jason M. O'Kane,
Ellen C. Czaplinski,
Katherine A. Dzurilla,
David Garlan,
Pooyan Jamshidi
Abstract:
Robotic systems have subsystems with a combinatorially large configuration space and hundreds or thousands of possible software and hardware configuration options interacting non-trivially. The configurable parameters are set to target specific objectives, but they can cause functional faults when incorrectly configured. Finding the root cause of such faults is challenging due to the exponentially…
▽ More
Robotic systems have subsystems with a combinatorially large configuration space and hundreds or thousands of possible software and hardware configuration options interacting non-trivially. The configurable parameters are set to target specific objectives, but they can cause functional faults when incorrectly configured. Finding the root cause of such faults is challenging due to the exponentially large configuration space and the dependencies between the robot's configuration settings and performance. This paper proposes CaRE -- a method for diagnosing the root cause of functional faults through the lens of causality. CaRE abstracts the causal relationships between various configuration options and the robot's performance objectives by learning a causal structure and estimating the causal effects of options on robot performance indicators. We demonstrate CaRE's efficacy by finding the root cause of the observed functional faults and validating the diagnosed root cause by conducting experiments in both physical robots (Husky and Turtlebot 3) and in simulation (Gazebo). Furthermore, we demonstrate that the causal models learned from robots in simulation (e.g., Husky in Gazebo) are transferable to physical robots across different platforms (e.g., Husky and Turtlebot 3).
△ Less
Submitted 18 May, 2023; v1 submitted 18 January, 2023;
originally announced January 2023.
-
Towards Adaptive Planning of Assistive-care Robot Tasks
Authors:
Jordan Hamilton,
Ioannis Stefanakos,
Radu Calinescu,
Javier Cámara
Abstract:
This 'research preview' paper introduces an adaptive path planning framework for robotic mission execution in assistive-care applications. The framework provides a graph-based environment modelling approach, with dynamic path finding performed using Dijkstra's algorithm. A predictive module that uses probabilistic model checking is applied to estimate the human's movement through the environment…
▽ More
This 'research preview' paper introduces an adaptive path planning framework for robotic mission execution in assistive-care applications. The framework provides a graph-based environment modelling approach, with dynamic path finding performed using Dijkstra's algorithm. A predictive module that uses probabilistic model checking is applied to estimate the human's movement through the environment, allowing run-time re-planning of the robot's path. We illustrate the use of the framework for a simulated assistive-care case study in which a mobile robot navigates through the environment and monitors an end user with mild physical or cognitive impairments.
△ Less
Submitted 28 September, 2022;
originally announced September 2022.
-
Scheduling of Missions with Constrained Tasks for Heterogeneous Robot Systems
Authors:
Gricel Vázquez,
Radu Calinescu,
Javier Cámara
Abstract:
We present a formal tasK AllocatioN and scheduling apprOAch for multi-robot missions (KANOA). KANOA supports two important types of task constraints: task ordering, which requires the execution of several tasks in a specified order; and joint tasks, which indicates tasks that must be performed by more than one robot. To mitigate the complexity of robotic mission planning, KANOA handles the allocat…
▽ More
We present a formal tasK AllocatioN and scheduling apprOAch for multi-robot missions (KANOA). KANOA supports two important types of task constraints: task ordering, which requires the execution of several tasks in a specified order; and joint tasks, which indicates tasks that must be performed by more than one robot. To mitigate the complexity of robotic mission planning, KANOA handles the allocation of the mission tasks to robots, and the scheduling of the allocated tasks separately. To that end, the task allocation problem is formalised in first-order logic and resolved using the Alloy model analyzer, and the task scheduling problem is encoded as a Markov decision process and resolved using the PRISM probabilistic model checker. We illustrate the application of KANOA through a case study in which a heterogeneous robotic team is assigned a hospital maintenance mission.
△ Less
Submitted 28 September, 2022;
originally announced September 2022.
-
Towards Bridging the Gap between Control and Self-Adaptive System Properties
Authors:
Javier Cámara,
Alessandro V. Papadopoulos,
Thomas Vogel,
Danny Weyns,
David Garlan,
Shihong Huang,
Kenji Tei
Abstract:
Two of the main paradigms used to build adaptive software employ different types of properties to capture relevant aspects of the system's run-time behavior. On the one hand, control systems consider properties that concern static aspects like stability, as well as dynamic properties that capture the transient evolution of variables such as settling time. On the other hand, self-adaptive systems c…
▽ More
Two of the main paradigms used to build adaptive software employ different types of properties to capture relevant aspects of the system's run-time behavior. On the one hand, control systems consider properties that concern static aspects like stability, as well as dynamic properties that capture the transient evolution of variables such as settling time. On the other hand, self-adaptive systems consider mostly non-functional properties that capture concerns such as performance, reliability, and cost. In general, it is not easy to reconcile these two types of properties or identify under which conditions they constitute a good fit to provide run-time guarantees. There is a need of identifying the key properties in the areas of control and self-adaptation, as well as of characterizing and mapping them to better understand how they relate and possibly complement each other. In this paper, we take a first step to tackle this problem by: (1) identifying a set of key properties in control theory, (2) illustrating the formalization of some of these properties employing temporal logic languages commonly used to engineer self-adaptive software systems, and (3) illustrating how to map key properties that characterize self-adaptive software systems into control properties, leveraging their formalization in temporal logics. We illustrate the different steps of the mapping on an exemplar case in the cloud computing domain and conclude with identifying open challenges in the area.
△ Less
Submitted 24 April, 2020;
originally announced April 2020.
-
Perpetual Assurances for Self-Adaptive Systems
Authors:
Danny Weyns,
Nelly Bencomo,
Radu Calinescu,
Javier Cámara,
Carlo Ghezzi,
Vincenzo Grassi,
Lars Grunske,
Paola Inverardi,
Jean-Marc Jézéquel,
Sam Malek,
Raffaela Mirandola,
Marco Mori,
Giordano Tamburrelli
Abstract:
Providing assurances for self-adaptive systems is challenging. A primary underlying problem is uncertainty that may stem from a variety of different sources, ranging from incomplete knowledge to sensor noise and uncertain behavior of humans in the loop. Providing assurances that the self-adaptive system complies with its requirements calls for an enduring process spanning the whole lifetime of the…
▽ More
Providing assurances for self-adaptive systems is challenging. A primary underlying problem is uncertainty that may stem from a variety of different sources, ranging from incomplete knowledge to sensor noise and uncertain behavior of humans in the loop. Providing assurances that the self-adaptive system complies with its requirements calls for an enduring process spanning the whole lifetime of the system. In this process, humans and the system jointly derive and integrate new evidence and arguments, which we coined perpetual assurances for self-adaptive systems. In this paper, we provide a background framework and the foundation for perpetual assurances for self-adaptive systems. We elaborate on the concrete challenges of offering perpetual assurances, requirements for solutions, realization techniques and mechanisms to make solutions suitable. We also present benchmark criteria to compare solutions. We then present a concrete exemplar that researchers can use to assess and compare approaches for perpetual assurances for self-adaptation.
△ Less
Submitted 12 March, 2019;
originally announced March 2019.
-
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Autonomous Robots
Authors:
Pooyan Jamshidi,
Javier Cámara,
Bradley Schmerl,
Christian Kästner,
David Garlan
Abstract:
Modern cyber-physical systems (e.g., robotics systems) are typically composed of physical and software components, the characteristics of which are likely to change over time. Assumptions about parts of the system made at design time may not hold at run time, especially when a system is deployed for long periods (e.g., over decades). Self-adaptation is designed to find reconfigurations of systems…
▽ More
Modern cyber-physical systems (e.g., robotics systems) are typically composed of physical and software components, the characteristics of which are likely to change over time. Assumptions about parts of the system made at design time may not hold at run time, especially when a system is deployed for long periods (e.g., over decades). Self-adaptation is designed to find reconfigurations of systems to handle such run-time inconsistencies. Planners can be used to find and enact optimal reconfigurations in such an evolving context. However, for systems that are highly configurable, such planning becomes intractable due to the size of the adaptation space. To overcome this challenge, in this paper we explore an approach that (a) uses machine learning to find Pareto-optimal configurations without needing to explore every configuration and (b) restricts the search space to such configurations to make planning tractable. We explore this in the context of robot missions that need to consider task timeliness and energy consumption. An independent evaluation shows that our approach results in high-quality adaptation plans in uncertain and adversarial environments.
△ Less
Submitted 9 March, 2019;
originally announced March 2019.
-
Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems
Authors:
Javier Cámara,
José Proença
Abstract:
This volume contains the proceedings of FOCLASA 2014, the 13th International Workshop on the Foundations of Coordination Languages and Self-Adaptive Systems. FOCLASA 2014 was held in Rome, Italy, on September 9, 2014 as a satellite event of CONCUR 2014, the 25th International Conference on Concurrency Theory.
Modern software systems are distributed, concurrent, mobile, and often involve composit…
▽ More
This volume contains the proceedings of FOCLASA 2014, the 13th International Workshop on the Foundations of Coordination Languages and Self-Adaptive Systems. FOCLASA 2014 was held in Rome, Italy, on September 9, 2014 as a satellite event of CONCUR 2014, the 25th International Conference on Concurrency Theory.
Modern software systems are distributed, concurrent, mobile, and often involve composition of heterogeneous components and stand-alone services. Service coordination and self-adaptation constitute the core characteristics of distributed and service-oriented systems. Coordination languages and formal approaches to modelling and reasoning about self-adaptive behaviour help to simplify the development of complex distributed service-based systems, enable functional correctness proofs and improve reusability and maintainability of such systems. The goal of the FOCLASA workshop is to put together researchers and practitioners of the aforementioned fields, to share and identify common problems, and to devise general solutions in the context of coordination languages and self-adaptive systems.
△ Less
Submitted 10 February, 2015;
originally announced February 2015.
-
Proceedings International Workshop on Component and Service Interoperability
Authors:
Javier Cámara,
Carlos Canal,
Gwen Salaün
Abstract:
This volume contains the proceedings of WCSI 2010, the International Workshop on Component and Service Interoperability. WCSI 2010 was held in Malaga (Spain) on June 29th, 2010 as a satellite event of the TOOLS 2010 Federated Conferences. The papers published in this volume tackle different issues that are currently central to our community, namely definition of expressive interface languages, for…
▽ More
This volume contains the proceedings of WCSI 2010, the International Workshop on Component and Service Interoperability. WCSI 2010 was held in Malaga (Spain) on June 29th, 2010 as a satellite event of the TOOLS 2010 Federated Conferences. The papers published in this volume tackle different issues that are currently central to our community, namely definition of expressive interface languages, formal models and approaches to software composition and adaptation, interface-based compatibility and substitutability, and verification techniques for distributed software.
△ Less
Submitted 12 October, 2010;
originally announced October 2010.