Davide Brugali

Davide Brugali


Research Focus & Metrics

Academic Career Length

31Years (1996-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
11 December 2009 in IEEE Robotics & Automation Magazine
Verified
Journal Article
Closed access
Davide BrugaliDavide Brugali
Davide Brugali
PSPatrizia Scandurra
Patrizia Scandurra
This article is the first of a two-part series intended as an introduction to component-based software engineering (CBSE) in robotics. In this tutorial, we regard a component as a piece of software that implements robotic functionality (e.g., path planning). The focus of this article is on design principles and implementation guidelines that enable the development of reusable and maintainable software-building blocks, which can be assembled to build robotic applications.

1 January 2010
Verified
Book Chapter
Closed access
PDF file
CSChristian Schlegel
Christian Schlegel
ASAndreas Steck
Andreas Steck
Davide BrugaliDavide Brugali
Davide Brugali
AKAlois Knoll
Alois Knoll

10 September 2015 in IEEE Robotics & Automation Magazine
Verified
Journal Article
Closed access
Davide BrugaliDavide Brugali
Davide Brugali
A model is an abstract representation of a real system or phenomenon [1]. The idea of a model is to capture important properties of reality and to eglect irrelevant details. The properties that are relevant and that can be neglected depend on the purpose of creating a model. A model can make a particular system or phenomenon easier to understand, quantify, visualize, simulate, or predict.

16 March 2009 in IEEE Robotics & Automation Magazine
Verified
Journal Article
Closed access
Davide BrugaliDavide Brugali
Davide Brugali
EPErwin Prassler
Erwin Prassler
This special issue on software engineering (SE) for robotics captures a snapshot of current research issues and state-of-the-practice in robotic software development, a topic that has recently received increasing attention from the robotics community, thanks to some popular initiatives such as the Microsoft move into robotics.

24 December 2022 in Empirical Software Engineering
Verified
Journal Article
Open access
PDF file
SGSergio García
Sergio García
DSDaniel Strüber
Daniel Strüber
Davide BrugaliDavide Brugali
Davide Brugali
AFAlessandro Di Fava
Alessandro Di Fava
PPPatrizio Pelliccione
Patrizio Pelliccione
TBThorsten Berger
Thorsten Berger
Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies.

1 October 1997 in Communications of the ACM
Verified
Journal Article
Open access
Davide BrugaliDavide Brugali
Davide Brugali
GMGiuseppe Menga
Giuseppe Menga
AAAmund Aarsten
Amund Aarsten