В данном разделе описываются способы построения рабочего потока разработанного программного обеспечения. Понимание этого процесса крайне важно для эффективного применения системы проектирования PowerM™.
В мультидокументном интерфейсе (MDI) пользователя, реализованном в системе PowerM™ не существует единого потока исполнения программного кода. Такое поведение во многом определяется событийной моделью построения экранного интерфейса в современных операционных системах. Об определенном потоке выполнения программы можно говорить только в том случае, если в ней появляется хотя-бы одно открытое модальное окно (Response-окно), которое принуждает пользователя выполнить необходимое действие перед тем, как начать следующее.
На практике, выполнение сценария по реализации какого-либо бизнес процесса (в некоторых системах называемого транзакцией) всегда начинается с вызова команды Главного меню текущего проекта. Структура меню позволяет разработчику в качестве ответного события того или иного пункта указать, среди прочего, спецификацию визуальной модели, которая и будет автоматически создана, а затем отображена на экране в соответствующем виде.
Дальнейший процесс выполнения программы является не детерминированным, так как зависит от конкретных действий пользователя и других системных событий. Реакция на заранее предвиденные события может быть реализована как программно, на уровне классов-обработчиков, так и декларативно, путем указания в соответствующих свойствах объекта-родителя спецификаций визуальных моделей (при необходимости отображения на экране дополнительной информации). Для того, чтобы разработчик смог понять в каком-же месте потока находится в данный момент его программа, система PowerM™ имеет средство отображения мета информации в режиме исполнения. Для этого необходимо выполнить команду Главного меню Файл\О документе, в результате чего на экране появится следующее окно:
На закладке Особые отображена информация о текущем контексте активной модели. Под именем (заголовком) модели приведены следующие сведения:
Модель | Код активной модели |
Контроллер | Класс объекта контроллера, назначенного модели |
БизнесОбъект | Класс бизнес-объекта, назначенного модели |
Владелец | |
Модель | Код модели - владельца текущей модели |
Контроллер | Класс объекта контроллера, назначенного модели-владельцу |
Родитель | |
Модель | Код модели - родителя текущей модели |
Контроллер | Класс объекта контроллера, назначенного модели-родителю |
Имея эту информацию, разработчик знает в какой точке процесса исполнения находится программа, код какого класса выполняктся в текущий момент, а также что послужило причиной попадания потока в это состояние.
Дополнительно, по кнопке Аргументы можно получить информацию о текущих значениях параметров, переданных активной модели, а по кнопке Сброс настроек очистить все индивидуальные настройки окна, связанные с его положением и размерами.