опубликована (после соответствующей доработки) в журнале, выступившем в качестве информационного партнёра конференции. Номинации, в которых победил доклад, отображаются на закладке «Победитель номинаций».
Стр... * | Название_________________________________________________________________________________________| Все авторы______________________________________________________________
Q Издание: Объектные системы - 2010 (Зимняя сессия): материалы II Международной научно-практической конференции. Россия, Ростов-на-Дону, 10-12 ноября 2010 г. / Под общ. ред. П.П. О.
Штанюк Антон Александрович
Q Издание: Объектные системы - 2010: Материалы I Международной научно-практической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. - Ростов-на.
64 Проблемы преподавания объектных технологий в экономическом ВУЗе Штанюк Антон Александрович
Конференция:
Сборник трудов:
Объектные системы
Объектные системы - 2010 (Зимняя сессия): материалы И Международной научно-практической конференции. Россия, Ростов-на-Дону, 10-12 ноября 2010 г. / Под общ, ред. П.П. Олейни... [^|
Название:
Английское название: Страницы С: Ключевые слова: Файл со статьёй;
Объектно-ориентированный подход и объектно-ориентированные языки как предмет изучения | Рекомендовал:
П
J3
т
Английские ключевые слова: I
1 Ш Дата получения: | Оплачено, руб:
26-10-2010 11:03:44
ПЭ
Ю,00 gj|
Штанюк АА ООП и 00 языки,doc
ZE3
| Авторы I ед Полученные рецензии | [5] Файлы ~|[~ Рекомендации в поддерживающие журналы/конференции ][~ ^ Победитель номинаций ][~ Описание | Английское описание ]
а ч [
? 1 х | щ | a|a-
Дата получения А I Рецензент
Добряк Павел Вадимович
03-11-2010 09:13:44 Лаптев Валерий Викторович
08-11-2010 09:37:34 Малышко Виктор Васильевич
Результат рецензии
Принять к печати Принять к печати
27-10-2010 09:35:10
jjvj Рецензент:
[Добряк Павел Вадимович
^JvJ Результат рецензии: [Принять к печати~
М
Статья: [объектно-ориентированный подход и объектно-ориентированные языки как предмет изучения
Текст рецензии:
за
Автор статьи рассматривает преподавание различных объектно-ориентированных языков в университете. Классификация языков, при котором явно родственные языки Сч-ч- и C# отнесены к разным группам, ГП представляется спорной. Интересен подход автора к преподаванию языков не от парадигмы, а от языковых конструкций С-Н-, Этот подход с практической точки зрения может быть оправдан, так как объектно-ориентированная парадигма стала весьма размытой в терминологическом отношении, а подход «от языковых конструкций» позволяет студентам постепенно привыкнуть к
объектно-ориентированному подходу. Полагаю, что преподавателям объектно-ориентированных языков будет интересно ознакомиться со взглядом автора на преподавание СЧ--К ___
Исправленные файлы
!!□ -I а | 1~Г
la -
I | Тип | Тип файла
Рис. 2 - Графический интерфейс модуля рецензирования научных работ
Дальнейшим развитием системы является разработка модулей, позволяющих учитывать поступление денежных средств на конференцию (организационных взносов) и учёта затрат, связанных с выполнением типографских работ (публикация сборников, печать именных сертификатов, подтверждающих участие в конференции) и т.п.
Литература
1. Международная научно-практическая конференция «Объектные системы», www.objectsvstems.ru
2. Олейник П.П., Игумнов Е.А., Свечкарёв Е.А. Критерии оптимальности информационной системы каталогизирования научных работ // Объектные системы - 2010: Материалы I Международной научнопрактической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. -Ростов-на-Дону, 2010. С. 25-29.
3. Олейник П.П., Игумнов Е.А., Свечкарёв Е.А. Опыт проектирования информационной системы для каталогизирования научных работ при проведении международных конференций // Объектные системы - 2010: материалы II Международной научно-практической конференции. Россия, Ростов-на-Дону, 1012 ноября 2010 г., Ростов-на-Дону, 2010. С. 48-51.
УДК 519.711
СИСТЕМА КОНТРОЛЯ ДИАГРАММНЫХ ЯЗЫКОВ
Афанасьев Александр Николаевич, к.т.н., профессор, Ульяновский государственный технический
университет, Россия, Ульяновск, a.afanasev@ulstu.ru Гайнуллин Ринат Фаязович, аспирант, Ульяновский государственный технический университет,
Россия, Ульяновск, r.gainullin@gmail.com
Введение
30
В программной инженерии существует проблема успешности проектирования и создания сложных информационных систем, интенсивно использующих программное обеспечение. Степень успешности разработок таких систем, рассчитанная через число проектов, завершившихся в соответствии с исходными замыслами и планами, чрезвычайно низка (около 30%).
К числу основных причин, приводящих к неудачам, относятся: низкая степень взаимодействия разработчиков системы с заказчиками; недостаточная степень понимания и взаимопонимания в круге лиц, вовлеченных в индивидуальные и коллективные проектные работы; проблемы с адекватностью и полнотой требований к информационной системе.
Для улучшения ситуации с проблемами взаимодействия в инженерии программного обеспечения используют схемы и диаграммы. Они позволяют внести ясность в общение между заказчиком, проектировщиком и исполнителем информационной системы [1] .
В практике проектирования активно применяются диаграммные графические языки UML, IDEF, ARIS, SDL, ER, DFD. Однако инструментарии, реализующие технологии проектирования, не содержат эффективных средств контроля топологии диаграмм, что приводит к ошибкам, имеющим серьезные последствия.
В настоящей работе предлагается автоматно-ориентированный метод синтаксического контроля диаграммных языков. Рассматриваются вопросы реализации системы. Изложение материала ведется на примере UML-диаграмм. Аналогичные результаты получены для IDEF, ARIS и SDL.
1. Требования к системе
Система обеспечивает следующие основные функции:
1. создание диаграмм графических языков;
2. добавление новых нотаций графических диаграммных языков;
3. контроль и анализ построенных диаграмм по предварительно загруженным в систему описаниям языка и алгоритмам анализа с диагностикой синтаксических и семантических ошибок;
4. добавление синтаксических и семантических правил графических языков.
К системе предъявляются следующие требования:
1. возможность независимой работы приложения, т.е. интеграция приложений, реализованных на произвольных языках (при условии возможности написания расширений для построителя диаграмм);
2. добавление нотации нового диаграммного языка должно происходить с наименьшими усилиями;
3. архитектура интеграционного решения должна быть основана на общепризнанных стандартах.
Первое требование обеспечивается реализацией Web-сервера по технологии REST. Используется гибко настраиваемый REST-сервер, написанный на языке C#, который может быть запущен на машине конечного пользователя, либо развернут на удаленном сервере в сети.
Второе требование реализуется с помощью автоматного программирования.
2. Автоматное программирование
Автоматное программирование - это парадигма программирования, при использовании которой программа или её фрагмент осмысливается как модель автомата [2].
В зависимости от конкретной задачи в автоматном программировании могут использоваться как конечные автоматы, так и автоматы более сложной структуры.
Разработка программы производится по секциям (функциям, процедурам), в соответствии с командой работы автомата «если текущее состояние и вход, то выход и переход в следующее состояние». Передача данных между командами осуществляется только через явно обозначенное множество переменных.
31
2.1. RV-грамматика
RV - грамматикой языка L(G) называется упорядоченная пятерка непустых множеств G= (V, 2, 2, R, го) [3], где V = {ve, e = 1, L} - вспомогательный алфавит;
2 = {at, t = 1, T} - терминальный алфавит графического языка;
2 = {at, t = 1, T} - квазитерминальный алфавит;
R = {г;, i = 0, I} - схема грамматики G;
г0 □ R - аксиома RV-грамматики.
~ ЦЛШОь 7-)]
Продукция Рц □ ц имеет вид Ру : * г™, где
• Wv (yi, . . . , yn) - n - арное отношение, определяющее вид операции над внутренней памятью в зависимости от v □ {0, 1, 2, 3};
• - оператор модификации, определенным образом изменяющий вид операции над памятью, причем у □ {0, 1, 2};
• rm □ R - имя комплекса продукции - преемника.
Методика построения RV-грамматики состоит в следующем. На первом этапе определяются элементы, которые могут иметь более одного входа или выхода. Для связей, исходящих из этих объектов, определяются семантические различия. На втором этапе определяется квазитерминальный алфавит из терминального алфавита. На следующем этапе строится матрица допустимых паросочетаний. Затем определяются операции над внутренней памятью для определенных категорий квазитермов. На последнем этапе синтеза RV -грамматики строится ее табличное, графовое или линейное представление. Затем производится анализ полученной грамматики с целью минимизации и устранения недетерминированности и неопределенности.
Разработаны грамматики для пяти видов UML-диаграмм: Активности,
Последовательности, Вариантов использования, Классов и Пакетов.
Рассмотрим диаграмму последовательности [4]. В терминальный алфавит входят все графические примитивы, которыми можно оперировать при построении диаграммы. В таблице 1 приведен терминальный алфавит и квазитерминальный алфавит диаграммы последовательности.
Таблица 1: Графические примитивы языка UML, диаграмма последовательности (а-объект, б-сообщение, в - асинхронное сообщение, г - сообщение о возврате)
Терм
►
■>
Квазитерм OBJ M Ma Mr
а б в г
В таблице 2 приведена RV-грамматика. Грамматика уже минимизирована для построения минимального автомата разбора. RV-отношение определяет операции с памятью, которые необходимо произвести при смене состояний автомата. Например, при смене состояния с г1 на г2 необходимо произвести операцию W1(mt(1)), что обозначает запись в стек объекта, из которого исходит связь. При переходе из состояния г1 в конечное состояние под действием сигнала no_label выполняется операция *, которая обозначает проверку. Для
32
данной диаграммы корректным будет считаться переход в конечное состояние при пустом стеке.
Таблица 2: RV-грамматика для диаграммы последовательности
№ пп Комплекс Квази-терм Комплекс -преемник RV - отношение
1 r0 OBJ r6 0
2 r1 M r2 W1(mt(1))
3 Ma r2 W1(mt(1))
4 Mr r2 W2(mt(1))
5 no_label rk *
6 r2 OBJ r1 0
Реализован алгоритм нейтрализации ошибок, основанный на формировании множеств комплексов-продолжателей.
Определены множества синтаксических и семантических ошибок. Для 5 видов UML-диаграмм их 16 и 9 соответственно.
Для диаграммы последовательности список ошибок представлен ниже.
Классы синтаксических ошибок:
• Отсутствие связи
о не рекурсивное пересечение фокусов управления
• Недопустимая связь
о связь вызова направленная справа налево о связь возврата направленная слева направо
• Вход связи в связь
о любой тип связи входящий в другой тип связи
• Вызов, направленный в линию жизни Классы семантических ошибок:
• Переход к объекту без возврата
Выводы
В заключении необходимо отметить применимость предлагаемых грамматик для контроля неструктурированных языков и языков, содержащих параллелизм. RV -грамматики обладают минимальными затратами памяти и линейным временем разбора.
Литература
1. Афанасьев А.Н. и др. Контроль информации в системах автоматизации проектирования. // Саратов: Изд-во Саратовского университета, 1985.- 136 с.
2. Шалыто А.А. Технология автоматного программирования //Мир ПК. -2003. - № 10.
3. Шаров О.Г., Афанасьев А.Н. Синтаксически-ориентированная реализации графических языков на основе автоматных графических грамматик // Программирование. - 2005. - № 5. -С. 56-66.
4. М. Фаулер, К. Скотт. UML: Основы. - Пер. с англ.// СПБ: Символ-Плюс, 2002. - 192 с.
УДК 519.682.4, 371.32
ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД И ОБЪЕКТНООРИЕНТИРОВАННЫЕ ЯЗЫКИ: ПРОБЛЕМЫ ИЗУЧЕНИЯ В ВУЗЕ
Рудакова Анна Александровна, преподаватель, Кузбасский государственный технический университет филиал в г. Междуреченске, Россия, Междуреченск, anaruda@rambler.ru
33