Диссертация (1145120), страница 13
Текст из файла (страница 13)
В [319] были изучены вопросы синхронизации (round-trip engineering) для поведенческих моделей. Автору принадлежит постановка задачи, предложение основных решений, а также архитектура реализации программного прототипа. Соавторывыполнили реализацию прототипа.В [89] было представлено дальнейшееисследование вопросов синхронизации визуальных моделей — исследовались средства синхронизации в современных UML-пакета. Автору принадлежит постановка задачи и разработка метода исследования, а также выборобъектов исследования и анализ результатов.
Соавтор выполнила изучениеотдельных программных инструментов. В [61] представлен обзор подходов куправлению целостностью моделей: в данной работе автору принадлежит постановка задачи и анализ результатов; выбор материала для исследования,метод исследования и изучение выбранного материала осуществлялось соавторами. Первые версии модели DSM-процесса были представлены в работах[53], [55], [315] (работы написаны без соавторов).
В работе [45] автор обсуждает тему культуры визуального моделирования, поднимая вопрос о широком спектре применимости визуального и предметно-ориентированного моделирования в разных областях программной инженерии. Ставится задачаопределения (поиска) соответствующих сфер применимости предметноориентированных моделей в реальных компаниях и проектах. В работах [59],[83], [93], [313] обсуждаются управленческие и психологические вопросыпрактического использования визуального/предметно-ориентированного моделирования.
Вторая работа написана в соавторстве. Автор предложил разбить функции процесса разработки и сопровождения ПО на следующиегруппы: проектирование принципиально новой системы, компоновка и формализация проекта системы, «снятие вторичных противоречий», изучениесуществующей системы, передача знаний о системе. Для каждой группы68описана специфика построения и применения моделей. Соавтору принадлежит разработка примеров, а также работа над текстом.
В работе [52] авторописывает особенности практического использования средств визуальногомоделирования.2.1 Обзор методологииИтак, предметно-ориентированное моделирование является подходом,направленным на решение задач обработки больших объёмов виртуальнойинформации при создании и сопровождении программного обеспечения(анализе,проектировании,управлении,тестировании,разработкедокументации и пр.), а также в других областях знаний, использующихкомпьютеры и компьютерные системы.
Данная техника подразумеваетиспользование семиотически точных визуальных спецификаций (моделей),основанных на чертёжном проектировании и создаваемых с помощьюхорошоопределённыхязыков.Разработкамоделейподдерживаетсяспециальным программным обеспечением (далее — DSM-решениями),реализующими дополнительную автоматизированную обработку моделей.DSM-решения создаются относительно небольшими ресурсами ввидуразвитых технологий (далее — DSM-платформ).
При этом языки и DSMрешения создаются для заданной предметной области, позволяя оперироватьабстракциями, максимально близкими к данной предметной области.Распространённымчастнымслучаемавтоматизированнойобработкивизуальных спецификаций является генерация программного кода помоделям, широко применяемая в программной инженерии. Возможна такжегенерация тестов, конфигурации ПО, генерация отчётов (в том числе Webотчётов) по моделям, вычисление различных статистических показателей ит.д.Проект по разработке DSM-решения будем называть DSM-проектом.DSM-проекты обладают следующей спецификой, отличающей их отобычных программных проектов:69 необходимость разработать эффективные визуальные абстракции (языкмоделирования) и понять, какие проблемы с их помощью будутрешены; необходимостьпроектированияиреализацииспецифическойфункциональности — графических редакторов, репозитория моде-лей,а также дополнительных средств, таких как генераторы конечногокода, отчётов, средства работы с большими моделями, включаяинструментарийподдержкикорректностиипр.;частьэтойфункциональности поддерживается DSM-платформами, а часть — нет; необходимость быстрой и экономичной реализации DSM-проекта —сроки и ресурсы таких проектов обычно ограничены, посколькуименно в этом заключается одна из основных привлекательных сторонDSM-подхода; необходимость создания метода и процессаиспользования DSM-решения — в области создания информационных систем эти задачимногократнорешались,существуютсоответствующиепрофессиональные методы и подходы; однако в данном случае этупроблемурешаютнепрофессионалы,крометого,требуютсяоблегчённые и специфичные подходы; особенности управления: такие проекты является «внутренними» длякомпании или сообщества, поэтому, например,часто возникаютсложности с определением заказчика проекта; более того, если DSMрешение создаётся внутри компании-производителя ПО, то компаниясклонна пренебрегать устоявшимися практиками разработки ПО,которые она использует для внешнего заказчика; особенностисопровождения:успешныеDSM-решенияэксплуатируются длительное время (до нескольких десятков лет), приэтом возникает задача обновления платформ, на которых они созданы.70Будем считать предметной областью DSM-решения любую областьразработки ПО или сферу знаний, где для работы с информациейоказываются востребованы визуальные абстракции.DSM-пакет (DSM-средство) — это часть DSM-решения, которая являетсяпрограммным инструментом, созданным для удовлетворения потребностейнекоторой предметной области на основе определённой DSM-платформы.DSM-платформа — это программный инструментарий для создания DSMпакетов.
Ниже перечислены виды DSM-платформ.1. Стандартные средства визуального моделирования, поддерживающиесредства настройки и расширения.2. Специализированныемногофункциональныеинструментыдляразработки новых DSM-инструментов.3. Библиотеки для разработки отдельных компонент DSM-пакетов.Стандартные средства визуального моделирования являются готовыми киспользованию универсальными «коробочными» инструментами. В качествепримераможнопривестиUML-пакеты — EnterpriseArchitect [118],MagicDraw [119], UModel [120], — средства бизнес-инжиниринга Mega [344],ARIS [38],пакетымоделированиявдругихобластях,например,AutoCAD [166] для работы с чертежами в традиционных инженерныхобластях, универсальные средства моделирования, например, продуктMicrosoft Visio [351] для разработки небольших моделей практически длялюбой предметной области.
Такие средства имеют модульную архитектуру,открытые программные интерфейсы, встроенные скриптовые языки и другиесредства настройки и расширения. Итоговый DSM-пакет наследует весьпользовательский интерфейс, а также функционал базового пакета. При этомчасто возникает задача по «подавлению» ненужного функционала. Слицензионной точки зрения получившийся DSM-инструмент продолжаетоставаться исходным продуктом, и для использования созданного DSMрешения необходима лицензия на этот базовый пакет. Вокруг таких71технологий как ARIS, Microsoft Visio, AutoCAD и др., существуют обширныесообщества программистов и пользователей, а также большое количествооткрытых и коммерческих DSM-средств, созданных на основе этихтехнологий.
Необходимо отметить, что объём доработок и надёжностьцелевого DSM-средства, созданного таким способом, ограничен. Можнолегко создавать небольшие DSM-средства, которые работают с небольшимиобъёмами данных. Большие объёмы данных (размер модели — 10–100мегабайт и больше), сложные нотации, высокие требования по надёжности иинтеграцииDSM-пакетасдругимисредствамизаказчика,многоспецифического функционала — все это является поводом использоватьболее специализированные DSM-платформы.Специализированные многофункциональные инструменты предоставляютполныйнаборсредствдляразработкиграфическогоредакторасрепозиторием и поддержкой множественных представлений, а такжегенерациейразличныхартефактовпомоделям.Примерамитакихинструментов являются Eclipse/GMF [398] и в целом Ecplipse ModelingProject [87], [233], [268] MetaEdit+ [346], QReal [114], Microsoft Modeling SDK[213] и др.
(обзор DSM-платформ можно найти в работе [115]). Данныеинструменты позволяют автоматически генерировать большую частьфункциональностицелевыхпрограммныхDSM-средств,атакжепредоставляют интерфейсы и правила для расширения автоматическисгенерированного кода.БиблиотекидляразработкиотдельныхкомпонентDSM-пакетовпредназначаются для работы с данными, обеспечения разработчиковграфическими примитивами при разработке редакторов и т. д. Примеромтаких библиотек являются EMF и GEF [87], предназначенные для созданиярепозитория и графики DSM-пакетов.Обычно DSM-пакет включает в себя следующие функциональныекомпоненты:72 диаграммныередакторы,поддерживающиеудобныесредствамоделирования; репозиторий, который является хранилищем моделей, а такжедиаграмм, и оказывается востребован при необходимости отображатьодну и ту же информацию на разных диаграммах (при этом диаграммымогут быть как одного, так и разных видов); браузер модели и диаграмм, представляющий содержимое репозиторияв виде, удобном для пользовательской навигации; различные средства автоматической обработки моделей— отгенераторов кода до конструкторов отчётов по моделям (например,Web-отчётов); средства коллективной разработки — многопользовательская работа,управление правами и пр.Все эти возможности обычно предоставляют DSM-платформы.
Преждечем представить дополнительные функциональные возможности, уточнимзначениеключевыхпонятий,используемыхвопределениифункциональности DSM-решений — качество визуальных спецификаций,синхронизация и слияние моделей.Качество визуальных спецификаций (quality of model-based specifications)является важным аспектом предметно-ориентированного моделирования.Важно, что мы говорим именно о спецификациях, а не только о моделях,включая в область рассмотрения также и представления моделей. Дело в том,что при индустриальном использовании моделирования часто создаютсябольшие модели (сотни и даже тысячи элементов), и начинает становитьсяважным, как эта информация представлена на диаграммах и в папках репозитория.
При этом возникают дополнительные правила, предписывающие инженерам, занимающимся моделированием, соответственно располагать элементы моделей по папкам (включая следование более сложным правилам поперемещению предопределённых элементов модели с помощью специаль73ных view-операций, что поддержано, например, в ARIS [38]), а также следовать определённым правилам составления и оформления диаграмм, чтонапоминает соглашения о форматировании программного кода и именованиипеременных, классов функций и пр.