LibRar.Org.Ua — Бібліотека українських авторефератів

Загрузка...

Головна Електроніка. Обчислювальна техніка → Формальные грамматики и их приложение в процессе разработки программного обеспечения

SRC=i/8/6c05f8dd481f7d586da2f49796c2b6df.gif NAME="Объект94" ALIGN=ABSMIDDLE WIDTH=27 HEIGHT=22> представляется списком троек (по количеству элементов в Формальные грамматики и их приложение в процессе разработки программного обеспечения), каждое число в позиции соответствующего элемента указывает, каким своим соединением этот элемент входит в общее соединение, если в позиции стоит ноль, то соответствующий элемент не входит в соединение;

Формальные грамматики и их приложение в процессе разработки программного обеспечения состоит из К1К2К3;

Формальные грамматики и их приложение в процессе разработки программного обеспечения показывает, что внешнему соединению 1 схемы К соответствует внутреннее соединение 100 и т. п.

Отметим, что в вышеприведенном нейпе отсутствует информация о том, является ли сигнал входным или выходным, информация о поведении схемы К. Для внесения в нейп отсутствующей информации модифицируем его к следующему виду.

Левая часть нейпа:

<имя нетерминального нейпа> (<список внешних интерфейсов>).

Правая часть нейпа:

<список компонентов структуры>(<список внутренних соединений>) <поведение схемы>

Элемент <списка внешних интерфейсов> определяется как <имя внешнего интерфейса><номер внешнего интерфейса><тип сигнала интерфейса><номер соединения в списке внутренних соединений, соответствующих этому внешнему интерфейсу><входной или выходной интерфейс>.

Элемент <списка внутренних соединений> определяется, как <список компонент, входящих в соединение по данному имени>, а элемент последнего списка определяется как <имя интерфейса><компоненты, входящие в это соединение>. Элемент <компонента…> определяется как <имя компонента><номер его интерфейса><тип сигнала этого интерфейса><входной-выходной>.

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

Модифицированный нейп для схемы на рис. 2 будет иметь вид:


Формальные грамматики и их приложение в процессе разработки программного обеспечения


где W – компонент, представляющий внешнюю среду, а <поведение> есть композиция поведений K1,K2,K3.



Формальные грамматики и их приложение в процессе разработки программного обеспечения

Рисунок 2 – Абстрактная схема проекта





Формальные грамматики и их приложение в процессе разработки программного обеспечения
Рисунок 3 – Схема компонента К2 из схемы К


Форма представления нейпа в виде (1) обладает полнотой информации о проекте и позволяет составить эффективный алгоритм вывода. Такой алгоритм составлен, запрограммирован и испытан на тестовых примерах.

Для схем, представленных на рис. 2 и рис. 3, сгенерирована с помощью программы композиционная схема, которая дает результат, представленный на рис. 4.


Формальные грамматики и их приложение в процессе разработки программного обеспечения
Рисунок 4 – Результирующая схема


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

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

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

Алгоритм вывода в плекс-грамматиках, разработанный авторами, и созданная по нему программа легко интегрируется в прогрессивные технологии проектирования, и может быть с успехом применен в системе генерации программного кода по результатам проектирования программных и аппаратных систем.

В рамках предложенной схемы генерации кода возможно модифицировать имеющиеся CASE-средства для проектирования, например BРwin, доведя их до уровня генерации программного кода.

Сравнить методы предложенных в работе с известными аналогами, например Rational Rose или MatLab затруднительно, поскольку, во первых, отличаются условия реализации и, во вторых, сами методы реализации этих продуктов не афишируются разработчиками.


Литература


  • Буч Г. Объектно-ориентированное проектирование с примерами применения: Пер. с англ. /Г. Буч – М.:Конкорд, 1992, – 519 с.

  • Гемма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования. /Э. Гемма, Р. Хелм, Р. Джонсон, Дж. Влиссидес – СП.б. Питер, 2004, – 366 с.

  • Дюбко Г.Ф. Проектирование программных моделей цифровых устройств / Г.Ф. Дюбко, С.Л. Харченко, Фуджу Халлид Исса // Автоматизированные системы управления и приборы автоматики. Всеукраинский межведомственный научно-технический сборник. Выпуск 126. - Х., 2004. - С.37-47.

  • Дюбко Г.Ф. Разработка экспертных систем для решения задач планирования и проектирования / Г.Ф. Дюбко, Фуджу Халлид Исса // Радиоэлектроника и информатика. Научно-технический журнал. №1(26) - Х., 2004. - С.141-146.

  • Ларман. Применение UML и шаблонов проектирования:. Пер. с англ.: Уч. пос. / Ларман, Крег – М.: Издательство дом «Вильямс», 2001. – 496 с.

  • Карпов Ю. Г. Теория и технология программирования. Основы построения трансляторов / Ю. Г. Карпов – Санкт-Петербург, 2005, – 272 c.


  •