Most of the current state of the art motion planning software libraries are not easily interchangeable, because core concepts are represented with different data structures, application programming interfaces (API) are not compatible, or algorithms are encapsulated in modules or- ganized in mutually exclusive abstraction hierarchies. These problems limit the possibility to reuse different libraries in the same application interchangeably and to compare their quality attributes (performance, completeness, etc.). An approach to overcome these shortcomings is refactoring, a technique that aims to restructure a set of existing software libraries without affecting their external behavior in order to harmonize their architecture, data structures, and APIs. This paper presents a component-based refactoring approach that has allowed the transition from motion planning libraries, taking the object-oriented framework CoPP as basis, to a component-based system. In particular we describe a four-step application of well-known architecture refactoring patterns that redistributes the responsibilities among the classes, harmonizes the common data structures and reduces the coupling degree. The obtained system represents a composition of reusable components that are easy to customize and offer different algorithms to resolve the same problem. In this way the user could quickly compile a new motion planning application by simply choosing which algorithm to use for each functionality.
(2010). Component-based Refactoring of Motion Planning Libraries [conference presentation - intervento a convegno]. Retrieved from http://hdl.handle.net/10446/24293
Component-based Refactoring of Motion Planning Libraries
GHERARDI, Luca;BRUGALI, Davide;
2010-01-01
Abstract
Most of the current state of the art motion planning software libraries are not easily interchangeable, because core concepts are represented with different data structures, application programming interfaces (API) are not compatible, or algorithms are encapsulated in modules or- ganized in mutually exclusive abstraction hierarchies. These problems limit the possibility to reuse different libraries in the same application interchangeably and to compare their quality attributes (performance, completeness, etc.). An approach to overcome these shortcomings is refactoring, a technique that aims to restructure a set of existing software libraries without affecting their external behavior in order to harmonize their architecture, data structures, and APIs. This paper presents a component-based refactoring approach that has allowed the transition from motion planning libraries, taking the object-oriented framework CoPP as basis, to a component-based system. In particular we describe a four-step application of well-known architecture refactoring patterns that redistributes the responsibilities among the classes, harmonizes the common data structures and reduces the coupling degree. The obtained system represents a composition of reusable components that are easy to customize and offer different algorithms to resolve the same problem. In this way the user could quickly compile a new motion planning application by simply choosing which algorithm to use for each functionality.Pubblicazioni consigliate
Aisberg ©2008 Servizi bibliotecari, Università degli studi di Bergamo | Terms of use/Condizioni di utilizzo