bigpo.ru
добавить свой файл
1 2 ... 9 10


Санкт-Петербургский государственный университет

Математико-механический факультет

Кафедра системного программирования




Язык декомпозиции гипертекстовых моделей


Дипломная работа студентки 545 группы

Евтифеевой Ольги Алексеевны


Научный руководитель ……………… Д.В. Кознов

к.ф.-м.н. /подпись/


Рецензент ……………… А.Н. Иванов

к.ф.-м.н. /подпись/


“Допустить к защите”

заведующий кафедрой,

д.ф.-м.н., профессор ……………… А.Н. Терехов

/подпись/


Санкт-Петербург

2008

Оглавление


Оглавление 3

Введение 4

Мотивация 6

Постановка задачи 8

Контекст исследования 9

Спецификация языка WebML+D 23

Реализация WebML+D 37

Апробации языка WebML+D 39

Перспективы 40

Заключение 41

Список литературы 42

Приложение 1. 43

Приложение 2. Концептуальная метамодель языка WebML+D 44



Введение



С каждым годом Web-приложения становятся все более востребованными, все более сложными, больше и больше приближаясь по бизнес-логике, «богатству» пользовательского интерфейса, структуре к настольным (desktop) приложениям.


Для моделирования Web-приложений приложений был создан ряд предметно-ориентированных языков1 – OOHDM [1, 2], UWA [3], WebML [4, 5], WISDOM [6] и др. Среди них заметно выделяется и является, по сути, стандартом де-факто язык WebML (Web Modelling Language)2. Язык WebML реализован в CASE-пакете WebRatio, который поддерживает автоматическую генерацию кода и интегрирован со средой разработки Eclipse. В работе [7] было предложено расширение WebML для моделирования RIA3 приложений. Таким образом, язык поддерживает самые последние тенденции развития Web-приложений.


Важнейшей моделью Web-приложения является гипертекстовая модель, определяющая как структурные, так и поведенческие аспекты приложения. С одной стороны, она состоит из элементов данных, обладающих атрибутами и имеющих статические связи с другими. С другой стороны, эти элементы обладают поведенческими чертами – навигационными связями, операциями, выполняемыми при переходах. При этом модель является неделимой, т.е. поведенческие черты (по сути, бизнес-логика) не отделимы от структуры и, таким образом, разделить модель на две отдельных – структурную и поведенческую, – как это традиционно делается в визуальных языках, например, UML, нельзя. В результате получаются очень большие модели, содержащие множество элементов и связей между ними.


Суть проблемы заключается в практическом отсутствии средств декомпозиций гипертекстовых моделей. Из-за этого даже простые модели для относительно небольших Web-систем выглядят очень громоздко. А достаточно серьезные модели с помощью существующих средств невозможно ни создавать, ни изучать. Этим тормозится практическое использование языков моделирования Web-приложений.


В данной работе предложен язык WebML+D, являющийся расширением языка WebML и предназначенный для декомпозиции больших гипертекстовых моделей. WebML+D базируется на достижениях в области структурной декомпозиции, развитых в таких языках как SADT (блочная структура, имена связей), SDL (сложные каналы, соединители), UML/ROOM (порты). Новые конструкции WebML+D поддерживают возможности блочной декомпозиции и декомпозиции связей, при этом не привносят в WebML дополнительной семантики – конструкции WebML+D «раскрываются» путем препроцессинга модели к WebML.


В работе представлен также базовый графический редактор, поддерживающий язык WebML+D, созданный на основе Microsoft Visio 2007 и Microsoft Visual Studio/C# 2005. Репозиторий редактора создан с помощью генератора репозиториев технологии REAL [8], адоптированного к Visio/C#, как это изложено в работах [9, 10].

В работе представлена также апробация языка WebML+D на промышленном примере – приложении Web-банкинга для осуществления операций по банковским картам. С помощью него была создана удобная и наглядная модель, позволяющая понять логику работы приложения как на высоком уровне (основные компоненты и взаимодействие между ними), так и на предельно детальном.


Во время работы было рождено много идей и направлений для дальнейшего развития данной темы. Вот наиболее интересные их них:

поддержка автоматической декомпозиции при обратном проектировании (reverse engineering), в том числе и классических структурных моделей (например, диаграмм классов UML);

распространение WebML+D на расширенные гипертекстовые модели, используемые для моделирования RIA-приложений;

создание «моста» с WebRatio – «закачка» моделей WebML, работа с ними в нашем редакторе и «выгрузка» обратно в WebRatio;

анализ возможности построения обобщенного языка декомпозиции гипертекстовых для разных языков WEb-моделирования.



следующая страница >>