Patrizio Pelliccione

Associate Professor

Blocco Zero, Room
patrizio.pelliccione@univaq.it

Patrizio Pelliccione is an Associate Professor, Chalmers University of Technology and University of Gothenburg, and Associate Professor at the University of L’Aquila, Computer Science Department (double affiliation).

 

The three main research areas in which I am working and in which I want to work in the future are (i)  autonomous and smart systems, (ii) engineering the software for robotic systems, (iii) architecting complex systems.

  • Autonomous and smart systems: the near future will be pervaded by smart systems that will simplify everyday tasks and will open a myriad of new opportunities. Examples of smart systems are robotic systems, autonomous cars, and they will be increasingly required to work in uncontrollable and potential unknown environments.

Machine learning is an increasingly adopted technique to let systems learn from data and use this knowledge to make predictions or decide on actions. The use of machine learning is especially promising for self-adaptive systems since such systems need to make decisions on how to adapt themselves to even unpredictable environments that they encounter at runtime. However, the adoption of machine learning at run-time for safety-critical systems is particularly challenging since these systems require guarantees and compliance with their requirements that are usually identified at design-time.

Our ambition is to conceive a method that combines machine learning for decision-making with assurance techniques to guarantee the preservation of safety-critical system’s invariants. We plan to use predictive monitoring to prevent dangerous actions from being executed and to train the decision-making component so that it can improve continuously. 

  • Robotic systems and software engineering: Imagine a social or an industrial facility of the future (e.g., a hotel, an office, a hospital, or a warehouse) where a team of robots has been deployed in order to provide services and accomplish everyday tasks such as object handling/transportation, or pickup and delivery operations. In such a context, different robots (e.g., mobile platforms, static manipulators, or mobile manipulators) with different actuation, manipulation and perception capabilities must be coordinated in order to achieve various complex tasks that require collaborative actions with each other and with human operators.

Over the last decades, research in robotics has made huge progress, e.g., in the fields of image recognition and processing, planning, control, and collaboration. Software engineering is called to play a key role in securing this new technology’s affirmation by making it pervasive and ubiquitous. It emerges the need of rethinking the design processes by properly managing the integration of the system, and by raising the level of abstraction; this will enable to properly manage qualities like evolvability, changeability and configurability, modifiability, scalability, power consumption, dependability, and resilience.

We envision the use of Model-driven Engineering (MDE) techniques to solve the challenges highlighted above. MDE has been identified by the Robotics 2020 Multi-Annual Roadmap document (MAR)[1] as key and core technology that has reached a mature level in other domains, but not yet in robotics. In fact, the use of models represents an important step towards easy portability and re-deployability. Nowadays, heterogeneity has become a common trait that characterizes robotic software systems, especially when it comes to the hardware composition on which the software system is meant to run. In fact, specific configurations starring any combination of CPUs, GPUs and FPGAs have been proposed to serve the individual system’s distinctive purpose, e.g., processing huge amount of data, at high-rate, and in real-time. This heterogeneity, together with the lack of standardized platform-agnostic robotic software solutions, makes cross-platform development intractable. This calls for platform neutrality. The ideal way to reach this goal is the standardization of basic systems functions, scalability to different robots and platform variants, transferability throughout the network, integration from multiple suppliers, maintainability throughout the robot life-cycle and software updates and upgrades over the robot’s lifetime. This topic builds on expertise constructed in the last year in the robotic domain and published in various articles published in top venues, including ICSE, FM, ICSA, ASE, Models, IEEESoftware, JSS. I am one of the organizers of the first workshop in robotics at ICSE and now head of the steering committee, RoSE (International Workshop on Robotics Software Engineering) - http://tinyurl.com/RoSE2018.

Moreover, another challenge is to conceive new and user-friendly notations that will facilitate the non-trivial and error-prone task of specifying temporal properties correctly and without mathematical expertise. In fact, temporal logic is a common specification input for robotic planners, which generally assume to have a mission specified in temporal logic, like LTL. The conceived language will be tailored to the robotic domain and will be intuitive but rigorous: the language will be conceived for users that have little expertise in ICT and, yet, want to specify temporal properties in an intuitive way. The specification language will be defined through the identification of the right tradeoff between expressive power and simplicity. We have a consolidated expertise in defining user-friendly ways to express temporal properties, published in ASE journal and TSE. The first results in the direction of using logic fpr experessing missions for a team of robots have been published to ICSE 2019 as a demo paper.

The overall research of “Robotic systems and software engineering” is investigated within the EU project titled “Achieving Complex Collaborative Missions via Decentralized Control and Coordination of Interacting Robots (Co4Robots)”, Call: H2020-ICT-2016-2017 (Information and Communication Technologies Call), Topic: ICT-25-2016-2017, Type of action: RIA (Research and Innovation action). 

  • Architecting complex system, with special a focus on automotive: I am investigating the new requirements and challenges of architecting safety-critical software in different domains, with a special focus on the automotive domain. The architecture of a modern car has to cope with a large number of concerns, including safety, security, variability management, networking, costs, weight, etc. Also, the increasing amount of people involved in the software development projects imposes additional challenges to the architecture teams, as the development and design literally cannot be controlled, or even understood, in detail by a single group anymore. The development is inevitably parallelized; this obviously also holds for the large amounts of externally developed software, which is integrated as black-box functionality. The important integration work is done in an iterative manner by developers and test teams, focusing on vital systems, first, and, then, gradually establishing various functionalities. Architects might be not involved in integration, however, the architecture for sure influences the integration.

I am working in tight collaboration with Volvo Cars in the context of two FFI Vinnova projects led by Volvo Cars and titled “Next Generation Electrical Architecture” and “Next Generation Electrical Architecture 2”. Within the project we are creating a Volvo Cars Architecture Framework based on the conceptual foundations provided by the ISO/IEC/IEEE 42010:2011 standard (http://www.iso-architecture.org), published together with two architects of Volvo Cars at the journal JSA. 

We believe that an architecture framework, together with its multiple viewpoints, is the instrument to manage the increasing complexity of modern vehicles. It aims at ensuring that descriptions of vehicle architectures can be compared and related across different vehicle programs and development units and organizations, thus increasing flexibility and innovation while reducing development time and risks.

However, the definition and description of an architecture description require a cost in terms of human and financial resources. Moreover, sometimes it is not evident that investing effort and money on properly defining and describing the architecture will result in saving money later in the development. For instance, we identified discrepancies between the as-intended and the as-implemented architecture. This motivates the shift towards “just-in-time” architecting and on continuous integration and deployment. We investigate the importance of managing and making explicit assumptions during system development.

Other results on investigating the transition of complex companies working in the embedded domain towards the adoption of more agile and flexible development methods (like Ericsson, Volvo cars, Volvo trucks) have been published in top venues, including ICSA, ICSSP, ICSE, ISSTA, RE, and ESEM.

In my research, I am currently collaborating with several companies, such as Volvo Cars, Ericsson, Volvo Group, Axis communication, Jeppesen - Boeing, Systemite AB, Bosch, and Pal Robotics. 

[1] http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf

Teaching web pages:
Office hours:
After the lectures or by appointment / Contact the teacher