Управление сложными проектами в интегрированных САПР - часть 12

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  10  11  12  13   ..

 

 

Управление сложными проектами в интегрированных САПР - часть 12

 

 

 

 

46

Заголовок_проектной_процедуры

  определяется  с  помощью  оператора 

PROCEDURE   

Идентификатор_проектной_процедуры

,  а 

Тело_проектной_процедуры

 

содержит следующие операторы для описания реквизитов КПП:

 

NODE    

Идентификатор_проектируемого_узла 

TYPE     

Идентификатор_типа_проектного_решения 

USER    

Идентификатор_ответственного_исполнителя 

SUBDIV   

Идентификатор_проектирующего_подразделения 

START    

Плановая_дата_начала_работ_для_данной_процедуры 

FINISH     

Плановая_дата_окончания_работ_для_данной_процедуры 

INPUT   BEGIN 

      

Входная_ссылка_1 

      

Входная_ссылка_2

 

     . . . 
    

 

Входная_ссылка_N 

END

где элементы 

Входная_ссылка_1

,

 

Входная_ссылка_2

,  ..., 

Входная_ссылка_N

  представ-

ляют  собой  идентификаторы  тех  КПП,  которые  вырабатывают  проектные  ре-
шения, использующиеся данной КПП. 

Формальное описание синтаксиса ЯОМ, выполненное с помощью РБНФ, 

представлено ниже. 

Описание-информационной-модели-проекта = Заголовок-проекта 

                                                                                                  

Описание-проектной-процедуры  

                                                                                                  { 

Описание-проектной-процедуры }. 

Заголовок-проекта = “PROJECT” Идентификатор-проекта. 
Идентификатор-проекта = Идентификатор
. 
Описание-проектной-процедуры = Заголовок-проектной-процедуры 

                                                                                       

Тело-проектной-процедуры. 

Заголовок-проектной-процедуры =  

                                              “PROCEDURE” 

Идентификатор-проектной-процедуры. 

Тело-проектной-процедуры = Информация-о-проектируемом-узле 

                                               

Информация-о-типе-проектного-решения 

                                               

Информация-об-ответственном-исполнителе 

                                               

Информация-о-проектирующем-подразделении 

                                               

Информация-о-начале-проектных-работ 

                                               

Информация-об-окончании-проектных-работ 

                                               

Информация-о-входных-ссылках

Информация-о-проектируемом-узле =  

                                              “NODE” 

Идентификатор-проектируемого-узла. 

Идентификатор-проектируемого-узла = Идентификатор. 
Информация-о-типе-проектного-решения =  

                                              “TYPE” 

Идентификатор-типа-проектного-решения. 

Идентификатор-типа-проектного-решения = Идентификатор. 

 

 

47

Информация-об-ответственном-исполнителе = “USER” Имя-исполнителя. 
Имя-исполнителя = Идентификатор
. 
Информация-о-проектирующем-подразделении =  

                                             “SUBDIV” 

Название-подразделения. 

Название-подразделения = Идентификатор. 
Информация-о-начале-проектных-работ = “START” Плановая-дата-начала-работ
. 
Плановая-дата-начала-работ = Дата

Информация-об-окончании-проектных-работ = 

                                            “FINISH” 

Плановая-дата-окончания-работ. 

Плановая-дата-окончания-работ = Дата. 
Дата = Число-месяца “
-” Месяц “-” Год. 
Число-месяца = Цифра 
[ Цифра ]. 
Месяц =  “JAN” | “FEB” | “MAR” | “APR” | “MAY” |  “JUN” | “JUL” | “AUG” | “SEP” | “OCT” | “NOV” 

| “DEC” | “

ЯНВ” | “ФЕВ” | “МАР” |”АПР” | “МАЙ” |“ИЮН” | “ИЮЛ” | “АВГ” | “СЕН” | 

ОКТ”|  “НОЯ”  | “ДЕК”

Год = Цифра Цифра Цифра Цифра. 
Информация-о-входных-ссылках = “INPUT” 

                                     “BEGIN” 

{ 

Идентификатор-проектной-процедуры } 

                                     “END”. 
Идентификатор-проектной-процедуры = Идентификатор
. 
Идентификатор = Буква 
{ Буква | Цифра | Cимвол-подчеркивания |  

                                    

Знак-денежной-единицы }. 

Буква = Буква-латинского-алфавита Буква-русского-алфавита.  
Буква-латинского-алфавита =    “A” | “B” | “C” | “D” | “E” | “F” | “G” | “H” | “I” | “J” | “K” | “L” 
|         

“M” | “N” | “O” | “P” | “R” | “S”  |  “T”  | “U”  | “V” | “W” |  “X”  | “Y”  | “Z” |“a” | “b” | ”c” | 

“d”| “e” | “f” |  “g”  |  “h”  |  “i”  | “j” | “k” | “l” | “m”  | “n”  | “o” |  “p”  |  “r”  | “s” | “t” | ”u” | 

“v” | “w” | “x” | “y” | “z” . 

Буква-русского-алфавита = “А” | “Б” | “В” | “Г” | “Д” | “Е” | “Ж” | “З” | “И” | “Й” | “К” | “Л” | ”М” | 

Н” | ”О” | “П” | “Р” | “С” | “Т” | “У” | “Ф” | “Х” | “Ц” | “Ч” | “Ш” | “Щ”|  “Ъ” | ”Ы” | “Ь” | 

Э” | “Ю” | “Я” | “а” |  “б”   | “в” | “г” | “д” | “е” | “ж” | “з” | “и” | “й” | “к” | “л” | “м” | “н”  | 

о”  | “п”  | “р”  | “с”  | “т”  | “у”  | “ф” | “х” | “ц” | “ч” | “ш” | “щ” | “ъ” | “ы” | “ь” | “э” | 

ю” | “я”

Цифра = “0” |  “1” |  “2” |  “3” |  “4” |  “5”  |  “6” |  “7” |  “8” |  “9”. 
Символ-подчеркивания = “
_. 
Знак-денежной-единицы = “$”
. 

 

2.1.3. 

Семантика ЯОМ 

 
В отличие от синтаксиса контекстно-свободных языков, для описания ко-

торого  разработаны  и  успешно  применяются  различные  формальные подходы, 
их  семантика  обычно  описывается  неформально,  т.е.  на  вербальном  уровне. 
Существующие методологии формального определения семантики контекстно-

 

 

48

свободных  языков  не  получили  достаточно  широкого  распространения  [44]. 
Ниже приведено неформальное описание семантики ЯОМ.  

В  заголовке  проекта  задается  идентификатор  проекта  –  уникальное    в 

рамках САПР имя проекта, определенное при создании информационной моде-
ли проекта и необходимое для идентификации данного проекта среди множест-
ва других проектов, разрабатываемых в САПР. Длина идентификатора проекта  
ограничена    35  символами.    Под    данным    именем    проект    регистрируется  в 
журнале  регистрации  идентификаторов  проектов  (файл  MS$JNL:IDOPRJ.IDX) 
при создании информационной модели проекта. Пример заголовка проекта:  

PROJECT   

СБИС_контроллера

 

В  заголовке каждой  проектной процедуры задается ее идентификатор – 

уникальное  в  рамках  данного  проекта  имя  проектной  процедуры.  Требование 
уникальности  имени  проектной  процедуры  обусловлено  тем,  что  это  имя  ис-
пользуется  в  качестве  значения  главного  ключа,  однозначно  идентифицирую-
щего  данную  процедуру  в  файле  рабочей  модели  процесса  проектирования. 
Длина  идентификатора  проектной  процедуры  ограничена  35  символами.  При-
мер заголовка процедуры: 

PROCEDURE    

Генерация_тест_наборов

 

В  теле  каждой  проектной  процедуры  указываются  следующие  информа-

ционные элементы, определяющие реквизиты проектной процедуры: 

идентификатор    функционального  узла,  проектирование которого выпол-

няется  с  помощью  данной  проектной  процедуры.  Длина идентификатора огра-
ничена 35 символами. Полный перечень идентификаторов функциональных уз-
лов  объекта  проектирования  и  их  иерархия  определяются  в  информационной 
модели проекта. Пример идентификатора проектируемого узла:  

NODE   

Блок_декодирования_команд

 

идентификатор  типа  проектного  решения,  вырабатываемого  данной  про-

ектной  процедурой  для  проектируемого  функционального  узла.  Длина иденти-
фикатора  ограничена  35  символами.  Перечень  допустимых  идентификаторов 
типов проектных решений для каждого узла задается в информационной моде-
ли проекта. Пример идентификатора типа проектного решения:  

TYPE   

Тест_наборы 

фамилия и, возможно, инициалы разработчика, ответственного за выпол-

нение  данной  проектной  процедуры.  Длина  последовательности  символов, 

 

 

49

представляющей фамилию и инициалы ответственного исполнителя, ограниче-
на 20 символами. Например: 

USER   

Иванов_И_И 

название  проектирующего  подразделения,  выполняющего  данную  про-

ектную  процедуру.  Длина  последовательности  символов,  представляющей  на-
звание подразделения, ограничена 20 символами. Например:  

SUBDIV   

Лаборатория_1

 

плановая дата начала работ по данной проектной процедуре. Дата  указы-

вается в системном формате: ЧЧ-МММ-ГГГГ,   где ЧЧ – число месяца, МММ – 
сокращенное название месяца, ГГГГ – год. Например: 

START   15-

АПР-1998

 

Для обеспечения компактности при хранении (16-разрядное машинное слово) и 
удобства  при  сравнении  все  даты  кодируются  (упаковываются)  по  следующей 
формуле:  

Дата = 12

×

31

×

(Год

1900)+31

×

Номер_месяца Число_месяца 

 1

где Номер_месяца = 1..12Число_месяца = 1..31;  

плановая  дата  окончания  работ  по  данной  проектной  процедуре.  Дата 

указывается в системном формате (см. выше). Например:  

FINISH   15-

ОКТ-1998

 

перечень  (возможно  пустой)  идентификаторов  проектных  процедур,  вы-

рабатывающих  проектные  решения,  которые  используются  данной  проектной 
процедурой.  Например,  для  проектной  процедуры 

Генерация_тест_наборов

  

можно определить следующую входную ссылку: 

INPUT 

BEGIN 

                        

Логическое_Моделирование 

                 END 

Примечание.  В  исходном  описании  ключевые  слова  операторов,  длина 

которых превышает 4 символа, могут быть сокращены до первых четырех сим-
волов.  Например,  можно  использовать 

PROJ

  вместо 

PROJECT

PROC

  вместо 

PROCEDURE

SUBD

  вместо 

SUBDIV

  и  т.д.  Данное  допущение  обусловлено  уп-

рощением,  принятым  при  реализации  языка.  Трансляция  исходного  описания, 
выполняемая  генератором  рабочей  модели,  осуществляется  с  использованием 
таблицы ключевых слов операторов, в которой идентификаторы ключевых слов 
представлены в сокращенном варианте. 

 

 

 

 

 

 

 

содержание   ..  10  11  12  13   ..