/linda-fifo-system

Multi-process comunication system supporting Linda language and using FIFO.

Primary LanguageC++

Linda multi-process communication system using FIFO (named pipes).

1. Authors:

  • Bartosz Cywiński
  • Łukasz Staniszewski
  • Mateusz Szczepanowski
  • Albert Ściseł

2. About:

Linda is a communication language, which realize three specific operations:

output(tuple);
input(tuple_pattern, timeout);
read(tuple_pattern, timeout);

Goal of this project was to create solution which uses Linda to realize multi-process communication system. In the system, there are client processes, between which communication is taking place, and one server process, which is system's central supervisor.

Structures that are transmitted between processes are named tuples - tables of any length, which elements can be of type string, integer, float, example tuple:

(int:3,str:"abc",float:2.5)

Client, to specify, what kind of tuple he wants, needs to specify tuple pattern in his request, when he uses input or read method, example tuple pattern:

(int:=3,str:*,float:<2.5)

To make tuple's space, we had to use IPC Unix Named Pipes (FIFO).

3. Tools:

  • Programming languages: C++11 (system implementation), Python (integration tests).
  • To build program: Makefile.
  • Linter: clang-tidy.