Как запустить модель из MPS

Если вы определите предикат start() без параметров в вашей семантической модели, он будет вызываться автоматически при запуске модели через контекстное меню в проекте MPS.

Например, следующий предикат start() в примере про автодром сначала устанавливает препятствия и дорожные знаки на поле автодрома, а затем запускает графический интерфейс пользователя, вызывая другую доменную функцию start.

def start() means
  check all
    # set walls
    AutodromeDSL.add wall(5, 1)
    AutodromeDSL.add wall(5, 14)
    AutodromeDSL.add wall(10, 8)
    # set road signs
    AutodromeDSL.add road sign(4, 5, "south")
    AutodromeDSL.add road sign(6, 9, "north")
    AutodromeDSL.add road sign(7, 7, "east")

    AutodromeDSL.start(10, 500)
  end
end def