Исследование распределенных систем – трудная задача. Прежде всего, распределенная система должна быть описана, т.е. должна быть построена модель системы. Для этой цели можно использовать различные языки: Unified Modeling Language (UML), Very large scale Hardware Description Language (VHDL) и др. Здесь мы рассмотрим средства языка Triad.
Распределенная система характеризуется распределенной структурой, т.е. набором дискретных (отделенных друг от друга) элементов или подсистем и связями между этими элементами. В соответствии с распределением элементов распределены и функции (алгоритмы работы) системы. Распределенные элементы обмениваются сообщениями (сигналами), также распределенными в пространстве.
Язык Triad предполагает самостоятельное описание структуры (Str), алгоритмов (Rout) и сообщений (Mes). Эти описания называются слоями.
Основным слоем является слой структуры, именно он отражает распределение и связи элементов. Описание структуры основывается на теоретико-графовых средствах. Структура системы System, изображенной на рис. 1, описывается в Triad формулой
star(Server, Node[1..n]),
что означает с точки зрения теории графов структуру, представленную графом-звездой (star) с центральной вершиной Server и периферийными вершинами Node[i], нумеруемыми от 1 до n.
Структура распределенной системы, изображенной на рис. 2, описывается в Triad формулой
star(Server, Serv[a..c]) + star(Serv[a], Node[1..k]) + star(Serv[b], Node[k+1..m]) + star(Serv[c], Node[m+1..n]),
что означает с точки зрения теории графов структуру, представленную объединением (+) четырех графов-звезд. Первая звезда имеет центральную вершину Server и три периферийных вершин Serv[j], где j – переменная типа перечисления с множеством значений (a, b, c). Вершины Serv[j], в свою очередь, являются центрами трех звезд, содержащих периферийные вершины Node[1..k], Node[k+1..m] и Node[m+1..n].
Этой формуле должно быть придано необходимое языковое оформление для того, чтобы она стала описанием модели системы. Полное описание имеет вид