Элементы языка общения агентов имеют определенные синтаксис и семантику. Синтаксис представляет собой множество допустимых конструкций языка. Синтаксис языка общения агентов является подмножеством множества допустимых конструкций языка программирования C#. Семантикой языка называется смысловое значение синтаксиса. Синтаксис и семантика языка общения агентов представлены в Таблице

Таблица -  Синтаксис и семантика языка общения агентов

Синтаксис Семантика

Типы данных

Простые:

Целочисленные (int, long ).

Значимый тип данных,  переменные этого типа хранятся в стеке.
Ссылочные:

-тип object

Все ссылочные типы произведены от базового типа object, являющегося точным

эквивалентом класса System.Object.

-тип class Классы – основной способ организации данных.
-делегаты Основные области

применения делегатов — это методы обратного вызова и асинхронные обработчики

событий.

-тип string (строковый тип) Строки в C# являются полноценным ссылочным типом, но при этом обладают

семантикой сравнений, характерной для типов-значений.

-массивы

-объявление массивов:

<тип данных> <название массива>

[ ]=new <тип данных>[<размер массива>]

Структура данных, содержащая несколько переменных одного типа.

Операции

Присваивания:

<имя переменной>=<значение переменной>

Какой-либо переменной присваивается значение
Арифметические (*,/,+,-) Операции умножения, деления, сложения, вычитания
Логические (||,  &&) Логические операции ИЛИ, И

Управляю-  щие конструкции

Условный оператор:

if  (<условие> ) {<действие 1 >}

[else  {<действие 2>}]

При истинности условия выполняется действие 1, иначе действие 2.
Оператор выбора:

switch (<переменная>)

{case <выражение-константа 1>: <действия 1>; break;

case <выражение-константа 2>:<действия 2>; break;

case < выражение-константа        N>:<действия N>; break;}

При совпадении значения переменной с каким-либо выражением-константой, выполняется действия соответствующего оператора case

Классы

Модификаторы доступа:

- модификаторы доступа

( public,  private)

-модификаторы элементов класса ( event, static)

Уровень доступности из другого кода в сборке  определяется модификатором доступа(public – доступ не ограничен; private – доступ ограничен рамками данного класса)

Модификаторы элементов класса, изменяют поведение элементов класса (event указывает, что данный элемент описывает событие, static указывает, что данный элемент принадлежит типу объекта, а не конкретному

экземпляру)

Конструкторы Конструкторы используются при создании конкретных экземпляров класса. Инициализируются значения, используемые при дальнейшей

работе с данным классом.

Методы объектов и их параметры

Параметры методов:

– входные параметры могут передаваться по ссылке (ref)

или по значению

– для возврата дополнительных значений можно

использовать параметры типа out

События (events) и представители

(delegates)

События – это механизмы, позволяющие коду приложений выполняться в моменты, когда происходит определенное действие. Создание события:

public event MyEventHandler SomeEvent;

Объявление делегата:

delegate void MyEventHandler(object source,   MyEventArgs arg);

Методы

Процедура:

[атрибуты][модификаторы] void <заголовок процедуры> ([список_формальных_аргументов])

{<тело процедуры>}

Процедуры могут выполняться в классе либо отдельно. Представляют собой код, который выполняется при вызове процедуры

В соответствии с синтаксисом реализуется механизм передачи сообщений между агентами.