Technical topic: Work with sockets
Communication and distributed systems in TASTE
Your software may contain more than one node, and the different nodes may need to communicate. This is typical of embedded and distributed systems.
There are two kinds of inter-node communication to be considered:
1) TASTE functions that exchange normal messages (provided interfaces connected to required interfaces). The functions can be distributed on different CPUs in the Deployment view, and buses can be used to carry the messages. In that case, the TASTE middleware is responsible for putting the messages in packets and ensuring the delivery to the receiving entity.
2) TASTE functions that communicate with non-TASTE functions, e.g. device drivers or any other external applications. This is the case of use of what TASTE calls "Blackbox devices". The user is then responsible for setting the communication with the device and possibly add custom headers or formatting options to packets.
Communication in both cases 1 and 2 can be done with any available means. It could be sockets (ethernet) or anything else.
Using socket communication: examples
Checkout this repository, it contains three examples covering the use of sockets in the two scenarii described above: