The authors are part of a research group that had the opportunity (i) to develop a large software framework (5 person year effort), (ii) to use that framework (“iTaSC”) on several dozen research applications in the context of the specification and execution of a wide spectrum of mobile manipulator tasks, (iii) to analyse not only the functionality and the performance of the software but also its readiness for reuse, composition and model-driven code generation, and, finally, (iv) to spend another 5 person years on re-design and refactoring. This paper presents our major lessons learned, in the form of two best practices that we identified, and are since then bringing into practice in any new software development: (i) the 5C meta model to realise separation of concerns (the concerns being Communication, Computation, Coordination, Configuration, and Composition), and (ii) the Composition Pattern as an architectural meta model supporting the methodological coupling of components developed along the lines of the 5Cs. These generic results are illustrated, grounded and motivated by what we learned from the huge efforts to refactor the iTaSC software, and are now behind all our other software development efforts, without any exception. In the concrete iTaSC case, the Composition Pattern is applied at three levels of (modelling) hierarchy: application, iTaSC, and task level, each of which consist itself of several components structured in conformance with the pattern.
(2014). The 5C-based architectural Composition Pattern: lessons learned from re-developing the iTaSC framework for constraint-based robot programming [journal article - articolo]. In JOURNAL OF SOFTWARE ENGINEERING IN ROBOTICS. Retrieved from http://hdl.handle.net/10446/87662
The 5C-based architectural Composition Pattern: lessons learned from re-developing the iTaSC framework for constraint-based robot programming
2014-01-01
Abstract
The authors are part of a research group that had the opportunity (i) to develop a large software framework (5 person year effort), (ii) to use that framework (“iTaSC”) on several dozen research applications in the context of the specification and execution of a wide spectrum of mobile manipulator tasks, (iii) to analyse not only the functionality and the performance of the software but also its readiness for reuse, composition and model-driven code generation, and, finally, (iv) to spend another 5 person years on re-design and refactoring. This paper presents our major lessons learned, in the form of two best practices that we identified, and are since then bringing into practice in any new software development: (i) the 5C meta model to realise separation of concerns (the concerns being Communication, Computation, Coordination, Configuration, and Composition), and (ii) the Composition Pattern as an architectural meta model supporting the methodological coupling of components developed along the lines of the 5Cs. These generic results are illustrated, grounded and motivated by what we learned from the huge efforts to refactor the iTaSC software, and are now behind all our other software development efforts, without any exception. In the concrete iTaSC case, the Composition Pattern is applied at three levels of (modelling) hierarchy: application, iTaSC, and task level, each of which consist itself of several components structured in conformance with the pattern.File | Dimensione del file | Formato | |
---|---|---|---|
78-379-1-PB.pdf
accesso aperto
Versione:
publisher's version - versione editoriale
Licenza:
Creative commons
Dimensione del file
7.42 MB
Formato
Adobe PDF
|
7.42 MB | Adobe PDF | Visualizza/Apri |
Pubblicazioni consigliate
Aisberg ©2008 Servizi bibliotecari, Università degli studi di Bergamo | Terms of use/Condizioni di utilizzo