Software Components for Robotic Programming

The latest trends in software engineering are exploiting the software idea components as the basic units of development and deployment when building complex software systems, specially if modular composition, software reuse, an third party software integration are important issues. Out of multiple definitions for software components we can chose the following definition:
“A software component is a composition unit with contractually specified interfaces and explicit only context dependencies. A software component is subject to composition by third parties and can be independently deployed.”

A software component is a piece of software that has been independently developed from where it is going to be used. It should offer a well external interface that hides its internals, and it is independent of context. It can be deployed without modifications by third parties. It also needs to come with a clear specification of what it requires and provides to be composed with other components.

In here will introduce a component oriented framework for programming robotic system called as CoolBOT that allows designing systems in terms of integration and composition of software components. The framework provides means to design and build components and to compose and integrate them hierarchically and dynamically.

CoolBOT is a component oriented C++ framework where the software that controls a system is viewed as a unit dynamic network of execution inter-connected by means of data paths. Each one of these execution units is a software component which provides a given functionality, hidden behind an external interface specifying clearly which data it needs and which data it produces.

Components may be instantiated, integrated and used as many times as needed in other systems once defined and built. The framework provides the necessary infrastructure to support this concept of component software and the inter communication between them by data paths means which can be established and de-established dynamically.

No comments:

Post a Comment