Introduction and Terms
- SmartSoft specifically addresses issues related to communication among software components of a robotic system. It simplifies the integration of complex systems by defining a limited set of communication patterns typically found in robotic applications.
- Communication patterns are a small set of templates for component ports with a strictly defined interaction semantics. All ports of components can be defined solely based on these predefined communication patterns.
- A communication pattern defines the communication mode, provides predefined access methods and hides all the communication and synchronization issues. It always consists of two complementary parts named the service requestor and the service provider representing a client/server, a master/slave or a publisher/subscriber relationship.
- Communication objects parameterize the communication pattern templates. They represent the content to be transmitted via a communication pattern. They are always transmitted by value to avoid fine grained intercomponent communication each time an attribute is accessed. Furthermore, object responsibilities are much simpler with locally maintained objects than with remote objects. Communication objects are ordinary objects decorated with additional member functions for use by the framework.
- Each instantiation of a communication pattern provides a service. A service comprises the communication mode as defined by the communication pattern and the content as defined by the communication objects.