Abstract
The paper investigates the concept of software “stability” applied to robot systems. We define “stable” a family of systems modelled, designed and implemented so that specific applications of the family may be developed re-using, adapting and specializing knowledge, architecture and existing components. During the last few years, many ideas and technologies of software engineering (e.g. modularity, OO development and design patterns) were introduced in the development of robotic systems to improve the “stability” property. All these ideas and technologies are important. Nevertheless, they model robotic systems along a unique direction: the functional decomposition of parts. Unfortunately, there are concerns of robotic systems that relate to the systems as a whole hence crosscutting their modular structure. The Aspect Oriented Software Development is a recently emerged approach for modelling, designing and encapsulating the above-mentioned crosscutting concerns (aspects). We contend that stability must be based on a careful domain analysis and on a multidimensional modelling of different and recurring aspects of robot systems.
Highlights
IntroductionWe define “stable” a family of systems whose requirements and architecture is well understood and designed so that specific applications of the family may be developed re-using, adapting and specializing knowledge, architecture and existing components
We define “stable” a family of systems whose requirements and architecture is well understood and designed so that specific applications of the family may be developed re-using, adapting and specializing knowledge, architecture and existing components. This would be extremely beneficial to the research community since every research group, even the smallest, would have the possibility to concentrate its efforts on a small piece of the robotics puzzle (Kortenkamp, Schultz 1999)
In a previous paper (Brugali, Reggiani, 2005) we have discussed the issues and challenges in building stable robotic systems and we have identified the fundamental concept that are stable in the Robotic domain
Summary
We define “stable” a family of systems whose requirements and architecture is well understood and designed so that specific applications of the family may be developed re-using, adapting and specializing knowledge, architecture and existing components. There are concerns (quality factors or functionalities) that cannot be effectively described and modularised using the concept of composition of high cohesion functional modules Such concerns relate to the software systems as a whole crosscutting their modular structure. The basic idea is to support the multi-dimensional analysis, design and programming of complex systems by complementing the traditional hierarchical view with additional orthogonal models These models describe properties scattered trough the designed modules (e.g. designed using a “dominant” view) and provide means to define the intersections and integrate the views into a unique code. Each aspect models a specific characteristic influencing the mobility function and crosscutting the layered software architecture based on the concepts of modularity and information hiding.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.