Одной из трех составляющих блоков первичных данных является модель объекта станции. Эти данные включают в себя описание входных и выходных переменных и логику присвоения им значений.
Описание модели объекта описывает логику работы определенного обобщенного объекта станции. Так, например, на станции может быть несколько поездных маршрутов, они будут представлять одну модель объекта станции – модель поездного маршрута. В этой модели будет описана правила взаимодействия и логика работы всех объектов станции (светофоры, стрелки и т.д.), которые будут участвовать в любом поездном маршруте.
Структурная схема формата данных приведена на рисунке 5.1.
Рисунок 5.1 - Формат данных модели объекта станции
Любые переменные могут принимать значения только 0 или 1.
В переменные записываются состояния определенных объектов станции, которым присвоены определенные свойства.
В подсистеме модель объекта представляется в виде текстовых файлов, которые хранятся на каком либо носителе информации.
Файл модели объекта состоит из трех секций – [main], [входы], [выходы].
Секция [main] описывает имя файла-модели.
Секция [входы] описывает имена входных полей, правила по которым им будут присваиваться значения и значения для присвоения в описанные поля.
Секция [выходы] описывает имена выходных переменных, правила по которым им будут присваиваться значения и значения для присвоения в описанные поля.
Формат записи строки из секции [входы] следующий:
<имя_переменной>
= <тип_присвоения_значений>
= [<([!]маска_свойства1, [!]маска_свойства2, [!]маска_свойстваN)>]
= [<значение_для_присвоения>]
[= <значение_для_присвоения_по_умолчанию>];
<имя_переменной> - имя входной переменной, может содержать буквенно-цифровые символы;
<маска_свойств> - перечисленные через запятую свойства объектов, которым будут присваиваться данные значения. Если перед наименованием свойства стоит «!», то это означает, что при поиске объекта с такими свойствами в блоке первичных данных описывающих объекты станции, он не должен содержать данное свойство; если «!» не указан перед наименованием свойства, то это означает, что при поиске объектов, он должен содержать данное свойство обязательно. Если объект содержит свойтсва не указанные в маске свойств, то при поиске они будут игнорироваться. Если не указать маску свойств, то это означает, что поиск вернет все объекты текущего файла описывающего определенный объект станции;
<тип_присвоения_значений> - один из трех типов присвоения. Типы присвоения значений бывают следующие:
&ONE& - в описываемое поле может быть присвоено только одно значение,
&AND& - в описываемое поле может быть присвоено несколько значений с выполнением логической операции «И»,
&OR& - в описываемое поле может быть присвоено несколько значений с выполнением логической операции «ИЛИ»;
<значение_для_присвоения> - указывается значение для присвоения. Формат записи следующий: [*.]<значение>. Символ «*» означает, что в переменную будут присваиваться значение определенного состояния объектов, соответствующим маске свойств с указанным типом присвоения. Также в качестве значения может быть «0» или «1», что означает прямое присвоение;
<значение_для_присвоения_по_умолчанию> - присваивается, если не указано значение для присвоения или не найдены объекты с определенными свойствами.
Формат записи строки из секции [выходы] следующий:
[<([!]маска_свойства1, [!]маска_свойства2, [!]маска_свойстваN)>]
= [<значение_для_присвоения>]
= [<тип_присвоения_значений>]
<имя_переменной>;
В строке секции [выходы] может быть только четыре знака «=», т.е. четыре параметра. Любой параметр, кроме имени переменной можно не указывать. Если не указывать параметры, то в переменную будут присваиваться состояния всех объектов. Описание параметров полностью совпадает с описанными выше для секции [входы].
При помощи данной блока первичной информации описываются объекты станции. Объектами могут быть маршрут, светофор, перегон, путь, секция и т.д. Сам файл также состоит из описания объектов, взаимодействующих с описываемым объектом. Т.е. если описывается объект типа «маршрут», то в блоке будут описываться стрелки, светофоры, секции, команды управления станцией. При помощи данного блока данных описывается макет станции. Все свойства объектов описываются согласно таблицы взаимозависимости стрелок, сигналов и маршрутов [3].
Структура схема файла описания объекта приведена на рисунке 5.2.
Рисунок 5.2 - Структура файла описания объекта