Функционально законченная программа, выполняемая ЭВМ без вмешательства проектировщика, называется машинной процедурой.
Пользуясь исключительно машинными процедурами, невозможно выполнить проектирование объекта. Сложность и многообразие проектных вариантов, многокритериальность процесса принятия решения, трудности полной автоматизации процедур синтеза вынуждают непосредственно включать в процесс проектирования человека-проектировщика. Как правило, при проектировании человек выполняет функцию принятия решения, как наиболее трудно поддающуюся алгоритмизации, а ЭВМ производит вычисления.
Взаимодействие между человеком и ЭВМ происходит посредством сообщений — совокупности данных, достаточной для выполнения определенных действий. Сообщение, поступающее от ЭВМ к человеку, называется выходным; сообщение от человека к ЭВМ называется входным. Обычно сообщение размещается на экране дисплея и называется кадром. Обмен — последовательность, включающая сообщение от человека к ЭВМ, реакцию ЭВМ (машинную процедуру), сообщение от ЭВМ к человеку.
Диалог — последовательность обменов, выполнение которой приводит к решению поставленной задачи, т. е. диалог служит методом решения задачи, где пользователь знает задачу, а ЭВМ используется для решения подзадач. Диалог в САПР используется для: а) обеспечения доступа к базе данных САПР; б) ввода данных для выполнения машинной процедуры; в) просмотра на экране дисплея результатов; г) контроля за ходом выполнения машинной процедуры.
108 В диалоге в общем случае допустима ситуация, когда входное сообщение не может немедленно инициировать машинную процедуру в силу либо неточности, либо недостаточности содержащейся в сообщении информации. В таком случае возникает последовательность обменов до полного определения смысла исходного сообщения. Такая последовательность обменов называется метадиалогом.
Типы диалога.Диалог подразумевает наличие двух участников: человека и ЭВМ. Каждый из них может находиться либо в активном, либо в пассивном состоянии. Участник будет находиться в активном состоянии, если он выполняет действие по анализу полученного сообщения и формированию нового, и в пассивном состоянии, если не предпринимает никаких действий в ожидании сообщения. В диалоговом взаимодействии ситуация, когда оба участника диалога находятся в пассивном состоянии, является тупиковой, поскольку из нее невозможно выйти, опираясь лишь на средства ведения диалога.
Если оба участника диалога поочередно меняют свои состояния, диалог называют синхронным (в синхронном диалоге участники как бы поочередно включают и выключают друг друга из разговора).
Если оба участника диалога одновременно находятся в активном состоянии, то такой диалог называют асинхронным (в асинхронном диалоге человек имеет возможность в любой момент времени вмешаться в ход выполнения машинной процедуры с целью ее приостановления или внесения изменений). Асинхронный диалог распространен в приложении к имитационным моделям, оптимизационным процедурам, организации вычислительного процесса. В этом случае человеку со стороны ЭВМ постоянно поставляются на экран дисплея сообщения о текущем состоянии машинной процедуры. Человек, как и ЭВМ, находится в активном состоянии и при необходимости прерывает активность ЭВМ, переводя ее в пассивное состояние.
Рис. 4.1. Пример последовательности кадров и графа состояний экрана:
Граф состояний экрана. Если определен диалог, то может быть построена последовательность выходных кадров. Идентичные кадры в такой последовательности называются эквивалентными и соответствуют одному состоянию экрана дисплея. Итак, диалог — последовательность изменяющихся состояний экрана. Если свернуть последовательность кадров, объединяя их по эквивалентным состояниям экрана, то получим граф состояний экрана дисплея. Различным вершинам графа соответствуют различные состояния экрана, а дугам — возможные переходы (каждой дуге ставится в соответствие реакция человека). Пример последовательности кадров и полученного из него графа состояний экрана приведен на рис. 4.1. Граф состояний экрана позволяет в наглядной форме представить возможности диалога, произвести его перекомпоновку, сгруппировав отдельные состояния.
Классификация сообщений. Сообщение несет в себе совокупность сведений, передаваемых одним участником диалога другому, с тем чтобы вызвать определенную реакцию у партнера. Реакция партнера определяется содержанием сообщения. По содержанию сообщение может быть информационным, запросом или ответом. Если сообщение предназначено для передачи вопроса партнеру и предполагает получение от него обязательного ответа на этот вопрос, то первое сообщение называется запросом, а второе — ответом. Таким образом, запрос всегда предполагает последующий ответ, а любой ответ формируется как реакция на предшествующий запрос.
Если же сообщение содержит сведения, не предполагающие немедленного действия и не являющиеся ответом на запрос, то оно называется информационным.
Взаимодействие человека с ЭВМ должно производиться в форме, понятной и удобной для восприятия человеком. Различают формы сообщений: табличную, директивную и с использованием ограниченного естественного языка (ОЕЯ).
Табличная форма сообщения представляет собой форматизированную таблицу, размещаемую на экране дисплея, с поименованными полями, где и располагается необходимая информация в символическом или числовом виде.
Директива (команда) есть некоторый оператор, выбираемый из заданного множества операторов и формируемый в соответствии с определенными для него синтаксисом и семантикой. Директивная форма сообщений предоставляет участнику диалога большую свободу действий по сравнению с табличной.
Сообщение в форме некоторой фразы на ОЕЯ наиболее удобно в применении к проектировщику, не знакомому с алгоритмическими языками, но желающему иметь широкий диапазон возможных действий. Как правило, использование ОЕЯ влечет введение метадиалога с целью устранения неопределенностей, возникающих при построении фраз. Несмотря на сложность реализации, эта форма сообщений все шире используется в САПР, освобождая проектировщика от изучения специализированных языков общения с ЭВМ.
В рамках приведенной классификации в настоящее время сложились некоторые типовые соотношения. Так, информационные сообщения являются выходными, а директивные — входными сообщениями. Выходные запросы табличной формы, предназначенные для задания проектировщиком исходных данных последующей машинной процедуре, называются шаблонами. Аналогичные запросы, содержащие перечень возможных альтернатив продолжения процесса проектирования с указанием их шифров (номер либо имя), называются «меню». Выходные информационные сообщения, как правило, имеют смысл подсказок. Если форма входных и выходных сообщений— ОЕЯ, то диалог называется свободным.
Для взаимодействия с проектировщиком, не знающим структуры диалога, следует рекомендовать использование шаблонов и «меню», а также свободный диалог.
Для проектировщика, хорошо знакомого с графом состояний экрана, целесообразно использование директив, позволяющих исключить метадиалог и сократить время на поиск необходимых проектных решений.