Formal verification (FV) techniques are of special interest for Safety-Critical Systems, because they provide means to increase the correctness of software and hardware implementations. The present work focuses on Runtime Verification (RV), an FV technique that receives data traces from a running application as input and confronts them with logical formulations representing the system properties that must be satisfied. We apply the RV framework named R2U2 to verify the low-level control system of an Unmanned Aerial Vehicle (UAV) that is currently under development. Besides discussing the temporal logic formulations and the verification results, the paper also evaluates the computational costs of executing the RV online, concurrently with the UAV embedded control system. The obtained results show an acceptable overhead for a small requirement set, but also reveal high costs when verifying all the requirements proposed for the UAV control system.
Multiagent Systems have characteristics suitable to be used in the control of Multi-Robot Systems (MRS), but due to the different missions that can be performed in an application, and the complex interactions among them, some difficulties are observed in their implementation. Therefore, we propose a Mission Management Module (MMM), to be used in Embedded Agent Systems, that is capable of switching between missions as required, while keeping track of mission progress, preventing task repetition when returning to a previously interrupted mission. To design this proposal, we define key concepts and requirements to assist and delimit the scope of this module. In addition, we propose a general architecture of a system, within which the MMM is encapsulated, to be used in MRS applications. An initial implementation of the MMM in Jason Language is presented. Finally, we assess this initial implementation and suggest further improvements in order to comply with the proposed requirements.
The employment of Belief-Desire-Intention (BDI) agents offers a range of appealing features in the design of autonomous systems, including autonomy, adaptability, reactivity, and cooperation. However, when considering using BDI agents for controlling teams of multiple robots, few works explore the full potential of this approach. In this paper, we aim to integrate various BDI agent features to control a cooperative team of autonomous firefighting Unmanned Aerial Vehicles (UAVs), utilizing a layered architecture that combines the Jason BDI language with the Robot Operating System (ROS). In addition, we also present a new Mission-Management (MM) library, whose internal mechanisms enable the declarative definition of various missions, such as search-fire, extinguish-fire; assist other UAV, and refill. Missions can be temporarily suspended, resumed, or even interrupted. The underlying mechanism orchestrates the missions’ execution, making it simple to navigate between them. Our contention is that this library helps the developer to further exploit an important feature of BDI agents: the balance between reactiveness and proactiveness. An evaluation scenario was developed extending our previous firefighting-UAV application with significantly more functionality, incorporating wind direction and the finite nature of both battery-power and fire-retardant. Our new agent also includes a more sophisticated agent-collaboration algorithm based on the well-established Contract Net Protocol (CNP). Despite these significant extensions, the MM library ensured that the extended agent did not dramatically increase (around 17%) the code size of the original agent. Our experiments also show that the proposed solution does not present performance issues when scaling the application to more agents.
[Context and motivation] Software requirements are commonly expressed in natural-language, which must be formalised if they are to be used by formal methods such as Runtime Verification (RV), where we verify that an implementation obeys its requirements during execution. [Question/problem] This paper reports on our experience of using the Formal Requirements Elicitation Tool (FRET) to formalise requirements for an autonomous tilt-rotor drone in the ProVANT Emergentia research project. Structured, formalised requirements help to refine the meaning of, and discover ambiguities in, a requirements set, which is beneficial for safety-critical systems. FRET generates a temporal logic semantics for each requirement, providing formulas that can be used for RV. [Principal ideas/results] We describe the process of formalising the natural-language requirements using FRET. We present the progress made in each of the four versions of the requirements set as new information was elicited and incorporated. Our two concrete outputs are the formalised requirement set, which we will use in our ongoing development and verification of ProVANT; and metrics about the requirements. [Contribution] From our experience, we present guidance for requirements elicitation and formalisation with FRET. We highlight situations where it was difficult to formalise these requirements and describe potential improvements to FRET to address these difficulties.
This work presents improvements on BDI agent architectures towards expedited behaviour. Standard and even real-time BDI architectures, due the characteristics of their deliberative processes, can take considerable time deciding what to do, and this can present a significant delay when a prompt reaction is required in a critical situation. To address this issue without simply adding a pure reaction layer, we introduce a novel, expedited, BDI architecture capable of maintaining effective reasoning while providing adequate and fast reaction to perceptions that occur in a critical situation (E2BA). By ‘adequate’ we mean that a proper action is promptly decided and that the agent temporarily enters into an exceptional operation mode. In this paper we present a concrete implementation for our proposal as a variation of Jason, the leading BDI programming framework. Considering that our main target applications lay in the domain of robotics, we also make our implementation suitable to be used in conjunction with the Robot Operating System (ROS). We evaluate the proposed mechanism through two experiments. The first experiment shows significant (at least 2.7x) reaction-time improvements obtained from using our expedited Jason in comparison with ‘standard’ Jason. Moreover, the results show that expedited Jason reaction-times are not significantly affected as the agent gets busier (it is constant), in contrast to the exponentially increasing response-time of standard Jason. The second experiment addresses the usage of the proposed architecture within a realistic software-in-the-loop (SIL) application scenario: controlling an uncrewed aerial vehicle (UAV) on a fire-fighting mission. This second experiment is not only important for its realistic nature and for reinforcing the reaction-time improvements, but also because it illustrates the importance of changing the agent’s operation mode when performing a failsafe procedure. The permanent overhead introduced by EB2A is very small, not more than 0.5% of the standard BDI reasoning cycle time.
Este trabalho apresenta a aplicação de verificação formal em sistemas embarcados críticos, com foco na análise estática do código-fonte utilizando a ferramenta ESBMC. Com foco na detecção de vulnerabilidades em tempo de desenvolvimento, foram analisados 27 arquivos do código-fonte, totalizando mais de 10 mil linhas. Para contornar limitações da ferramenta, foram criados arquivos auxiliares contendo funções de entrada específicas, além da utilização de stubs para simular bibliotecas externas como lwIP e FreeRTOS. A análise permitiu identificar falhas relevantes, como acessos fora dos limites de arrays, uso indevido de ponteiros e vazamentos de memória. Os resultados demonstram o potencial da verificação formal para aumentar a robustez e a confiabilidade do sistema, ao mesmo tempo em que evidenciam os desafios relacionados à verificação modular e ao esforço manual necessário para estruturar os testes.
PurposeManaging components' resources plays a critical role in the success of systems' architectures designed for cyber–physical systems (CPS). Performing the selection of candidate components to pursue a specific application's needs also involves identifying the relationships among architectural components, the network and the physical process, as the system characteristics and properties are related.Design/methodology/approachUsing a Model-Driven Engineering (MDE) approach is a valuable asset therefore. Within this context, the authors present the so-called Systems Architecture Ontology (SAO), which allows the representation of a system architecture (SA), as well as the relationships, characteristics and properties of a CPS application.FindingsSAO uses a common vocabulary inspired by the Architecture Analysis and Design Language (AADL) standard. To demonstrate SAO's applicability, this paper presents its use as an MDE approach combined with ontology-based modeling through the Ontology Web Language (OWL). From OWL models based on SAO, the authors propose a model transformation tool to extract data related to architectural modeling in AADL code, allowing the creation of a components' library and a property set model. Besides saving design time by automatically generating many lines of code, such code is less error-prone, that is, without inconsistencies.Originality/valueTo illustrate the proposal, the authors present a case study in the aerospace domain with the application of SAO and its transformation tool. As result, a library containing 74 components and a related set of properties are automatically generated to support architectural design and evaluation.
Automation is essential for productivity and safety in the oil industry, but designing control systems often requires multiple software tools, leading to redundant plant modeling (costing time and money) and creating possible inconsistencies. The Model-Driven Engineering for Petrochemical Industry Automation (M4PIA) approach streamlines automation design by enabling the interoperability of models between different tools. Currently, M4PIA integrates EMSO for process simulations and MPA for deploying real plant applications. Besides, it supports high-level, graphical automation models design, also providing a component library. This paper aims to detail M4PIA, positioning it within the state-of-the-art, and illustrate its application through the deployment of an oil and gas automation system. This case study highlights M4PIA’s ability to handle complex, real-world systems, demonstrating the platform’s capability to optimize modeling stages through domain-specific languages (DSLs) and automated transformations. The results show that M4PIA not only reduces development time but also enhances system reliability and maintainability. By bridging simulation and deployment tools, M4PIA establishes a solid foundation for efficient and robust application development in the oil and gas sector. This platform represents a significant step forward in advancing model-driven engineering for industrial automation.
ARIAC is a robotic simulation competition promoted by NIST annually since 2017, aiming to present competitors’ with contemporary industry problems to be solved using agile robotics. For the 2023 competition, ARIAC competitors must perform assembly and kitting tasks by controlling four autonomous ground vehicles (AGVs), one floor-based robot, and one ceiling-based (Gantry) robot in an attempt to overcome a range of agility challenges in the supplied simulated environment, itself based on the Robot Operating System (ROS 2) and Gazebo. The 2023 competition also included a “human” agility challenge, comprising a (simulated) human operator working among robots on the factory floor. This development was motivated by the fact that, while robots and automation play an increasingly significant role in modern manufacturing, there still remains a close relationship between machines and humans. They should complement each other’s strengths and cover each other’s limitations while also observing any required safety rules. For example, the ISO standard “Robots and Robotic Devices – Collaborative robots” (ISO 15066:2016) prescribes the distances required between humans and robots. Within the ARIAC simulation environment, each human operator is controlled using autonomous Belief-Desire-Intention (BDI) agents. At the same time, competitors can monitor the position of each human operator at any time by subscribing to the relevant ROS topic. In this article, we analyse the effects of this (simulated) human presence in the 2023 ARIAC competition and perform a detailed analysis of how the three different human personalities that were implemented affect the assembly tasks undertaken at the four different locations of the assembly stations. Given how the system is currently implemented, it appears that the influence of each encoded personality on the competitors is not as predictable as anticipated. We expand on why this may be a problem when addressing real collaborative spaces involving humans and industrial robots and the improvements that can be undertaken to mitigate the ensuing problems.
Software design for the petrochemical automation industry should follow the best available practices, so that a high-level of quality is achieved, together with modern practices that cope with reusability and automatic models transformation. In a previous work, it was developed the M4PIA infrastructure, which allows using Model-Driven Engineering (MDE) to support the pre-configuration of petrochemical industrial plants. Initially, the adopted models were represented only in an EMF hierarchical tree. However, an evaluative study showed that understanding such models is very hard from the perspective of the stakeholders, resulting in significant losses in the process. With this motivation, a graphical Domain Specific Language (DSL) was developed aiming to increase M4PIA's models readability. It was also developed a diagram modeling tool and a component library in the Eclipse platform. To evaluate the semantic transparency of the elements proposed in our DSL, a quasi-experiment with domain experts was conducted. Precision between 75%-100%, F-measure between 86%-100% and recall between 88%-100% were obtained for each element.
Automation is a fundamental part of the oil industry, responsible for ensuring productivity and process safety. The application of control systems is carried out through different software applications, which are often unable to exchange data (models) within each other. This is a significant limitation for the overall design process. To address this issue, the use of the Model-Driven Engineering for Petrochemical Industry Automation (M4PIA) platform is proposed. M4PIA is capable of accommodating the software applications Automated Procedures Module (MPA) and Environment for Modeling, Simulation, and Operation (EMSO), both of which are used by the Brazilian state-owned company Petrobras.
Cyber-Physical Systems (CPS) are systems composed of computational and physical processes where constant interaction with the surrounding environment exists. Unmanned Aerial Vehicles (UAVs) can be highlighted as a typical example of CPS. It contains devices that sense the surrounding environment (e.g., IMU, GPS) and provide data for the embedded continuous-control software to compute the CPS reactions. Such reactions are, in fact, actions in the physical (electro-mechanical) process, which occur using actuators (e.g., motors' speed controllers). Such a CPS is typically classified as safety-critical because a failure might have severe implications. Therefore, providing safety guarantees is of utmost importance when designing this application. This paper presents a solution for offering safety guarantees during the design of the continuous-control architecture, which is one of the most critical parts of the CPS. The present proposal applies formal verification (FV) techniques to detect software errors and verify if the architecture is suitable to cope with the real-time requirements coming from the system specification. The first verification round targets individual elements of the architecture, especially the continuous-control algorithm. Therefore, the ESBMC model checker is used; it receives the element's source code as input and can check for a set of language-specific properties, such as memory safety and concurrency vulnerabilities. After making all the individual analyses and performing subsequent corrections, another verification process is started using the UPPAAL model checker, aiming to make the schedulability analysis of the proposed architecture. Finally, we conduct a runtime monitoring analysis using our recently developed RMLib tool. This proposal was successfully used within the design process of a UAV, where different classes of design and implementation problems were detected and further corrected, as detailed in the paper.
This paper describes and evaluates the use of Jason BDI agents to make the high-level control and the coordination of a swarm of autonomous unmanned aerial vehicles (UAVs). The UAVs in the swarm work together searching and extinguishing fire spots in a simulated forest firefighting scenario. This problem was presented by the 2022 SARC–BARINET aerospace competition, which makes use of the ROS/Gazebo simulation environment. ROS is also used here to perform the low-level UAV’s control. Our solution requires a minimum of 2 UAVs and can be easily scaled. We were able to successfully complete the given mission using up to 8 UAVs. Additional experiments devoted for performance-data collection were conducted using swarms with 4, 6, and 8 UAVs. Obtained results are presented and discussed along the paper.
The "Agile Robotics for Industrial Automation Competition" (ARIAC) is an international robotic competition carried out in a simulated factory floor using ROS 2 (Robot Operating System)/Gazebo. Competitors control one gantry robot, four AGVs, and many other elements/devices, overcoming a range of agility challenges in this simulated environment, and are provided with a scoring system to evaluate their performance during the tasks. This paper describes one of the agility challenges in ARIAC 2023, which pertains to a simulated human operator on the factory floor. In undertaking manufacturing tasks, competitors must avoid close proximity between the gantry robot and the human not to get penalized. The human operator is implemented as a Belief-Desire-Intention (BDI) agent in Jason. It is provided with a range of different potential types of behaviour in what concerns with how such human reacts when in proximity to the gantry robot. Three different personalities are presented, ranging from a minimally intrusive up to a very intrusive one. A preliminary analysis was conducted to evaluate the impact of using the developed Jason agent in the ARIAC 2023 competition.
Runtime Verification (RV) is a lightweight and dynamic technique that checks the current execution of the system through structures called monitors and produces a verdict on whether or not this execution satisfies a certain property of the system correction. Pedro et.al. developed a framework for performing RV of bare-metal real-time embedded systems (RTS). It consists of a tool for automatic synthesizing C++11 targeted monitors and a runtime library to support docking monitors on bare metal boards. The framework is capable of handling explicit time and durations, two of the essential concepts for anomaly detection of hard real-time systems. A limitation of this tool is that it only follows the POSIX standard. However, many real-time bare-metal embedded system applications do not support this architecture, such as those using FreeRTOS. This work aims to complement such work. Its goal is to update the RV process, making an adaptation for using it in non-POSIX RTOS, such as the FreeRTOS. The paper details the proposed system, also presenting a study to analize the scheduling feasibility of a real-time task set.
This work presents the development of an advanced control strategy using Model Predictive Control (MPC) for controlling the gas compression system of an offshore platform. It includes details about the complete phenomenological model of the system and of the software infrastructure developed to support the system implementation in real conditions. The proposed control structure has two main goals: (i) avoid unwanted regions of operation; and (ii) increase stability margins and availability. These goals are achieved by using a zone-control MPC and by adequately interacting with the regulatory control level. Although the proposed structure is general, this work exemplifies its application in a particular compression unit of a real offshore platform. Simulation results are presented in two different scenarios, one to test how the controller rejects a gas-load varying disturbance and another to analyze how the controller copes with an abnormal situation, losing real-time data of process variables or manipulated variables during operation. The good performance obtained in these two cases confirm the benefits provided by the proposed MPC strategy to the operation of the gas compression unit.
This work proposes a methodology to estimate the electric power generation by a photovoltaic array of an autonomous convertible Unmanned Aerial Vehicle (UAV), along a known flight path. The methodology evaluates the integral of a vector field through the UAV surface to estimate the power generated by the cells of the photovoltaic array, in each instant of the fight. The models and calculations were performed in the software MATLAB, where were performed simulations of the photovoltaic power generation in the UAV. From an analysis of the power generation by the photovoltaic array and the energy consumption of the other power systems of the aircraft, results were obtained about the increase of the UAV’s energy autonomy due to the absorption of solar energy during the flight.
This work evaluates uplink scalability of industrial wireless networks regarding central- ity concepts. It applies simulations of centralized mesh-topology networks, taking WirelessHART networks as case study, in scenarios of high node density and varied quantities and distribution of access points. Performance criteria such as refresh rates, node buffer size and reliability are evaluated as varied project specifications. The study infers that the lowest end-to-end communication success rates are concentrated on chains which top nodes present higher degree and betweeness centrality, and the most faulty packages tend to be those generated on devices with lower proximity centrality.
Mario Alves合作论文数Department of Electrical Engineering, Polytechnic Institute of Porto6