Ви є тут

Інформаційні технології комплексного організаційно-технологічного моделювання проектно-орієнтованих виробництв (на прикладі серійного будівництва).

Автор: 
Перевертун Ігор Михайлович
Тип роботи: 
Дис. канд. наук
Рік: 
2007
Артикул:
3407U004300
129 грн
Додати в кошик

Вміст

РОЗДІЛ 2
КОМБІНОВАНИЙ МЕТОД ОРГАНІЗАЦІЙНО-ТЕХНОЛОГІЧНОГО МОДЕЛЮВАННЯ
ПРОЕКТНО-ОРІЄНТОВАНИХ ВИРОБНИЦТВ
2.1. Мова «КАРТС» як ОТМ проектно-орієнтованого виробництва
Як пам’ятаємо з п. 1.3.1, основою комбінованого методу є нова лінгвістична
ОТМ – мова «КАРТС». Розглянемо лексику, синтаксис та приклади даної мови.
2.1.1. Лексика та синтаксис мови
До лексем мови «КАРТС» належать ідентифікатори, ключові слова, спецсим-воли,
строкові і числові константи (табл. 2.1). Спеціальними лексемами є коментарі.
Табл. 2.1. Лексеми мови «КАРТС»
Тип
Характеристика
Значення
(або приклад)
1.
Ідентифі-катор
Включає літери (кириличної та латинської розкладки), числа (від 0 до 9), а
також сим-воли _ та -. Загальна довжина не більше 10 символів. Чутливість до
регістру літер
Цоколь_5_СЕКЦ
ВЦ-51-3А
5_СЕКЦ-ТИП_ЭТАЖ
2.
Ключове слово
Є зарезервованим, тому інші ідентифікато-ри не повинні з ним перетинатися
Fragment
Object
3.
Спецсим-вол
Служить для запровадження до тексту програм більшості операторів
: ; . ( ) < > % + = ¤ & / а @ ^ #
§ * $
4.
Строкова константа
Довільний текстовий рядок. Загальна довжина не більше 255 (28-1) символів
"..."
5.
Числова константа
Ціле двохбайтове число (від 0 до 216-1)
0...65535
6.
Коментар
Повністю ігнорується інтерпретатором та служить для внесення допоміжних записів
{...}
!...
Синтаксис «КАРТС», як і будь-який інший, має бути адаптивним, тобто
нала-годжуваним. Представимо запропонований автором початковий варіант
синтаксису (граматики) «КАРТС» у вигляді Бекусової нормальної форми (БНФ), де
прописними літерами позначені нетермінальні символи (конструкції мови), а
строковими – тер-мінальні (лексеми) [88, 89]. Головним нетерміналом (т.з.
аксіомою) є <ПРОГРАМА>:
<ПРОГРАМА>::=<ПРОЕКТ>|<БЛОК ФРАГМЕНТІВ><ПРОЕКТ>
<БЛОК ФРАГМЕНТІВ>::=<ФРАГМЕНТ>|<ФРАГМЕНТ><БЛОК ФРАГМЕНТІВ>
<ФРАГМЕНТ>::="Fragment"<ідентифікатор>":"<РЯД ОПЕРАТОРІВ>";"
<ПРОЕКТ>::="Object"":"<РЯД ОПЕРАТОРІВ ПРОЕКТУ>"."
<РЯД ОПЕРАТОРІВ>::=<ОПЕРАТОР>|<ОПЕРАТОР><РЯД ОПЕРАТОРІВ>
<РЯД ОПЕРАТОРІВ ПРОЕКТУ>::=<ОПЕРАТОР ПРОЕКТУ>|
<ОПЕРАТОР ПРОЕКТУ><РЯД ОПЕРАТОРІВ ПРОЕКТУ>
<ОПЕРАТОР ПРОЕКТУ>::=<ОПЕРАТОР>|<ДОДАТКОВИЙ ОПЕРАТОР>
<ОПЕРАТОР>::=<ТЕХНОЛОГІЧНА ОПЕРАЦІЯ>|<ВИКЛИК ФРАГМЕНТА>|
<ТЕХНОЛОГІЧНА ПЕРЕРВА>|<МІТКА>|<ФІКТИВНА РОБОТА>|
"("<РЯД ОПЕРАТОРІВ>")"|"<"<РЯД ОПЕРАТОРІВ>">"|<ПЕРЕМИКАЧ>
<ДОДАТКОВИЙ ОПЕРАТОР>::=<ЕТАП ПРОЕКТУ>|"("<РЯД ОПЕРАТОРІВ ПРОЕКТУ>")"|
"<"<РЯД ОПЕРАТОРІВ ПРОЕКТУ>">"
<ТЕХНОЛОГІЧНА ОПЕРАЦІЯ>::=<ідентифікатор>|
<числова константа>"%"<ідентифікатор>|
<ідентифікатор>"^"<числова константа>|
<числова константа>"%"<ідентифікатор>
"^"<числова константа>
<ВИКЛИК ФРАГМЕНТА>::="@"<ідентифікатор>|
"@"<ідентифікатор>"^"<числова константа>
<ТЕХНОЛОГІЧНА ПЕРЕРВА>::="+"<числова константа>
<МІТКА>::="¤"<ідентифікатор>|"&"<ідентифікатор>|"="
<ФІКТИВНА РОБОТА>::="а"<ідентифікатор>|"/"
<ЕТАП ПРОЕКТУ>::="”"<строкова константа>"”"
<ПЕРЕМИКАЧ>::=<ПЕРЕМИКАЧ ВИКОНАВЦІВ>|<ПЕРЕМИКАЧ ЗМІН>|
<ПЕРЕМИКАЧ КОМПЛЕКТІВ>
<ПЕРЕМИКАЧ ЗМІН>::="#"<числова константа>
<ПЕРЕМИКАЧ ВИКОНАВЦІВ>::="§"<ідентифікатор>|"*"<ідентифікатор>
<ПЕРЕМИКАЧ КОМПЛЕКТІВ>::="$"<РЯД КОМПЛЕКТІВ>"$"
<РЯД КОМПЛЕКТІВ>::=<числова константа>|
<числова константа><РЯД КОМПЛЕКТІВ>
Як ми знаємо, згідно ієрархії Хомського є чотири класи граматик та мов (від 0
до 3-го), причому кожний наступний клас утворюється шляхом додаткового
обме-ження на попередній. Єдиною вимогою до 2-го класу є наявність в лівій
частині всіх продукцій лише одного нетерміналу. Як бачимо з наведеної БНФ, дана
умова вико-нується, отже граматика «КАРТС» належить до 2-го класу (є
контекстно-вільною).
Контекстно-вільним граматикам ставиться у відповідність автомат з магазинною
пам’яттю, а граматикам 3-го класу (регулярним) – скінченний автомат [90-92].
Для дослідження граматики на повноту і незбитковість скінченний автомат є
зручнішим інструментом, тому проаналізуємо причини «нерегулярності» граматики
«КАРТС».
Як бачимо з БНФ, 3-ій клас відпадає, оскільки ряд продукцій в правих части-нах
містять середні непрямі рекурсії <РЯД ОПЕРАТОРІВ> і <РЯД ОПЕРАТОРІВ ПРОЕК-ТУ>,
які б примушували скінченний автомат породжувати безкінечну вкладеність.
Отже, представимо регулярні продукції граматики «КАРТС» у вигляді класично-го
скінченного автомата, а всі інші – у вигляді магазинного додатка пам’яті до
нього.
У нашому ж випадку, це скінченний автомат М = (Q, ?, д, q0, qk), де Q –
мно-жина станів (F; , F: , F¤ , F– , F% , F^ , P: , P¤ , P– , P% , P^ , P;), ?
– множина припустимих вхідних символів (F , ; , P , . , ( , ) , % , W , @ , E ,
^ , + , " , ¤ , а , #), д – множина пе-реходів Q*?, q0 – початковий стан (F; ),
а qk – завершальний стан автомата (P;).
Всі стани Q граматики «КАРТС» поділяються на два класи:
Cтани фрагмента: F; – завершення, F: – початок, F¤ – відкрита мітка, F– –
завер-шений процес, F^ – завершений процес (далі може бути з циклом), F% –
відсоток.
Cтани проекту: P: – початок, P¤ – відкрита мітка, P– – завершений процес, P^ –
за-вершений процес (далі може бути з циклом), P% – відсоток, P; – завершення.
Вхідним алфавітом ? граматики «КАРТС» є: F, ; – заголовок та завершення
фрагмента, P, . – заголовок та завершення проекту, [, ] – відкриття та закриття
відношення, % – відсоток, W – операція, @ – виклик фрагмента, E = {W, @}, ^ –
цикл, Т – перерва, " – етап, ¤ – мітка, а – фіктивна робота, # – перемикач
(рис. 2.1).
Модифікованість же скінченного автомата полягає в послідовному занесенні
елементів алфавіту, що розпочинають середню рекурсію, до магазина пам’яті