176
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
будет удовлетворять начальным требованиям, что приведет к новым
итерациям проектирования, рефакторингу, провалу или срыву отве-
денных сроков проектирования. По данным компании Standish Group
только 16 % проектов по разработке программного обеспечения за-
вершаются в срок [8]. Поэтому необходимо, с одной стороны, изна-
чально формализовать процесс проектирования и представление тре-
бований к проекту, а с другой, обеспечить возможность выбора
наилучшего варианта проекта из множества альтернативных. Все это
может быть выполнено с помощью использования формальных мо-
делей по определенной методологии проектирования ИМИ [3].
В настоящей работе в качестве формальных моделей для описа-
ния альтернативных проектов предложено применять процессные
модели, а в качестве языка представления требований к проекту
(
свойств проекта) — язык модальной логики. Выбор проекта, в
наибольшей степени удовлетворяющего требуемым свойствам, осу-
ществлен с помощью логического вывода.
Формальные процессы.
Каждый процесс имеет
алфавит вос-
приятий и реакций
Act
= {
a
1
,
a
2
, ...,
a
m
}.
Каждый символ «
a
»
алфа-
вита именует некоторый объект, получаемый (воспринимаемый)
процессом из внешней среды (
восприятие процесса
),
выдаваемый
процессом во внешнюю среду (
внешняя
реакция процесса
)
или объ-
ект, используемый процессом для внутренних нужд (
внутренняя ре-
акция процесса
).
Процессы действуют воспринимая, порождая для
внутреннего употребления или выдавая во внешнюю среду объекты с
соответствующими именами. Чтобы различать типы действий будем
использовать следующие обозначения: ?
a
—
восприятие; !
a
—
внеш-
ние реакции;
tа
или
t
—
внутренние реакции. Внутренняя реакция
может быть скрытым процессом, структура которого не интересует.
Тогда внутренняя реакция — просто имя или метка места, где соот-
ветствующий процесс вызывается. Имя места также можно рассмат-
ривать как задержку выполнения некоторого скрытого процесса или
состояние процесса, которому принадлежит реакция и в которое про-
цесс перешел после достижения этого места. В зависимости от уров-
ня абстракции бывает целесообразным вообще не использовать внут-
ренних реакций или, наоборот, после каждого действия вводить
внутреннюю реакцию. Применим оба указанных приема. Последний
из них аналогичен разметке регулярных выражений [9].
Нитью
a
*
будем называть кортеж (конечный или бесконечный)
действий
<a
0
a
1
a
2
…
a
m
–2
a
m
–
>, т. е.
a
*
=
<a
0
a
1
a
2
…
a
m
–2
a
m
–
>.
Выполнение
нити
—
последовательность действий в порядке их записи в нити
слева направо, т. е. осуществление в порядке слева направо по поряд-
ку восприятия или реакции. Символом «
е
»
обозначим пустое дей-
ствие. Нить, состоящая из единственного пустого действия, называ-
ется
пустой нитью
.
Процесс
P
—
множество нитей
Th
(
P
),
которые может выполнять
процесс.
Поведение процесса
P
—
правила выполнения нитей, при-