Диссертация (1145120), страница 32
Текст из файла (страница 32)
Однако следует признать, что на данный момент отсутствуют средства генерации поOCL-ограничениям (и дополнительной информации) валидаторов для DSMрешений.Способ применения OCL в данном диссертационном исследовании относится к валидации/верификации. Однако следует отметить, что реальные индустриальные задачи, связанные с поддержанием целостности больших индустриальных моделей и построением соответствующих инженерных решений, в данных работах не рассматриваются. Также остаётся неясным применение OCL не только в ситуации фиксированных языков и метамоделей, но ив произвольном случае — то есть для DSM-языков.В последние пятилетие наблюдается всплеск работ в области верификациипредметно-ориентированных языков — см., например, работы [232], [214][215], [448], [449].
В работе [232] используется язык QVT [355] (точнее, QVTRelation) для спецификации трансформаций, которые определяют проблемыв исходной модели и трансформируют её в модель-отчёт. Такой подход имеет преимущества перед использованием OCL, поскольку в явном виде выдаётмоделей: валидация — это выявление того, что дизайнеры создали правильную модель(defined the right model), верификация — выявление того, что дизайнеры создали модельправильно (defined the model right).
То есть в первом случае мы соотносим модель с предметной областью, во втором случае — с некоторыми формальными правилами. Соответственно, выполнить валидацию модели значительно труднее, чем верификацию. Такжевалидацию труднее формализовать. С этой точки зрения в данной работе мы рассматриваем именно верификацию моделей. Однако мы не будем заострять внимание на этой разнице и будем использовать термины «валидация» и «верификация» произвольно.183проблемные элементы моделей, в то время как OCL предназначен лишь дляпроверки на истинность правил корректности.
Однако с технической стороны это преимущество незначительно, так как при императивной реализацииOCL (а именно такая реализация была выполнена в рамках данного диссертационного исследования) вся информация об элементах, нарушивших инварианты, также доступна и может быть использована (и используется) при составлении отчётов.
Очевидным ограничением подхода видится тот факт, чтона реальных индустриальных моделях (десятки мегабайт) работоспособностьи производительность сторонних QVT-средств может оказаться неудовлетворительной (в частности, для выполнения трансформации может понадобиться выкачивать всю модель в оперативную память). Видится, что «ленивая» работа с репозиторием при помощи доступа через открытый программный интерфейс, когда выкачиваются только те данные, которые нужны дляпроверки, является более эффективной.
Следует отметить, что авторы неприводят данных о работоспособности подхода на больших моделях. Крометого, они не рассматривают контроль качества представлений моделей.Интересным направлением верификации DSM-языков являются подходы,основывающиеся на универсальной исполняемой семантике — обзор методов задания такой семантики см., например, в [135]. Универсальные средства(концептуальные фреймворки, языки и метамодели, программные инструменты и пр.) в этой области позволяют создавать независимые от конкретныхязыков формализмы, в терминах которых возможно создавать средства верификации, ориентированные таким образом, на все семейство DSM-языков,использующих данные средства для определения своей исполняемой семантики (а также на языки, чью семантику можно выразить этими средствами).
Вкачестве примера рассмотрим подход к заданию семантики DSM-языков, изложенный в [180]. Подход предлагает создавать дополнительные метамодели, с помощью которых исполняемая семантика определяется вне пределовсамого DSM-языка:184 метамодель состояний (state definition metamodel), в рамках которой задаются состояния вычислителя, исполняющего модели нашего DSMязыка; метамодель событий (event definition metamodel) предназначается длязадания структуры событий (виды событий, иерархия событий, данные,связанные с событиями); метамодель трассировки (trace management model) — для задания понятия трассы, элементов трассы, примитивов получения и проигрываниятрассы; метамодель виртуальной машины (semantic mapping metamodel) связывает все перечисленные выше метамодели в одну метамодель вычислителя.Подход является концептуальным фреймворком (то есть руководством поразработке средств исполнения DSM-языков), но авторы пишут, что дальнейшие исследования будут направлены на стандартизацию исполняемойсемантики.
Данный подход был использован при разработке метода верификации DSM-моделей, изложенного в [449]. Набор метамоделей из [180] расширяется дополнительной метамоделью query definition metamodel, предназначенной для доступа к состояниям вычислителя. Это необходимо, так какавторы используют проверку на моделях (model checking) для выявлениятемпоральных контрпримеров относительно исполнения спецификацийпредметно-ориентированных моделей. Подход интересен ещё и тем, что внём активно используются средства EMP [233] и существующие средствапроверки на моделях, то есть он, фактически, является композицией существующих подходов и программных технологий45.
Однако заметим, что дан-45Этого сильно не хватает российским исследованиям в области программной инженерии— мы привыкли создавать решения целиком самостоятельно, что оправдано при разработке промышленного ПО, но при исследованиях часто происходит к большим дополнительным работам в ущерб основной теме. Фактически, у нас не хватает культуры поиска и185ный подход демонстрируется на небольших примерах и непонятна его работоспособность на больших моделях, а также нетривиальных свойствах дляпроверки.
Кроме того, подобные подходы адресуются верификации поведенческих свойств DSM-моделей, в то время как не меньший интерес представляет корректность структурных моделей. Также следует отметить, что данные подходы не рассматривают корректность представлений.изучения походящих инструментов и в целом встраивания в существующий научный контекст.1863.5 ВыводыВ данной главе представлены следующие результаты.1. Разработан алгоритм слияния двух версий и-карт (Mind Maps) в контексте групповой разработки требований к ПО (первичный сбор и анализ)средствами Интернет после обрыва и восстановления сетевого соединения.
Данный алгоритм, в отличие от существующих (3DM, So6, DeltaXML и др.), характеризуется неравнозначностью локальной и серверной версий, возможностью пользовательского разрешения конфликтов,а также генерацией итоговой версии по текущей серверной, а не исходной, версии. Также новым является предложенный подход к идентификации (matching) элементов в сливаемых версиях, которые имеют общеепроисхождение. Существующие подходы (3DM, работа P. Shvaiko сколлегами и др.) производят идентификацию в произвольной ситуации,то есть, фактически, решают другую задачу.2.
Разработана модель v2v-трансформаций для автоматизированной разработки диаграммных сервисов с целью решения проблем создания,навигации и сопровождения больших моделей. Данная модель отличается от существующих подходов в области модельно-ориентированныхтрансформаций применением трансформаций к представлениям моделей, а не к моделям, как это принято традиционно. Подобные исследования отсутствуют.
Предложенная модель отличается от алгоритмовраскладки графов и моделей (см., например, систему Graphviz или технологию KIELLER) тем, что способна изменять состав выборки из модели, в то время как существующие алгоритмы манипулируют лишьфиксированными выборками. Также новой является технология разработки средств работы с большими моделями, автоматизирующая создание целевых навигационных сервисов, в то время как в других работах(B. Berenbaсh, Д. Бабурин с коллегами и др.) предлагаются лишь частные решения.1873. Предложен метод разработки средств контроля качества (корректности)предметно-ориентированных спецификаций, включающий средства дляавтоматизированного создания валидаторов спецификаций на основеOCL-ограничений.
Метод отличается решением задачи обеспечениякорректности больших предметно-ориентированных моделей. Существующие подходы (B. Berenbach, F. Weil и др.) рассматривали большиемодели, но только для фиксированных языков моделирования. Имеютсяметоды верификации/валидации предметно-ориентированных моделей(см. работы F. Zalila с коллегами, B. Combemale с коллегами и др.), ноони не применимы для работы с большими индустриальными моделями. Новой является идея контроля корректности не только самих моделей, но и их представлений (диаграмм, расположения элементов моделив папках репозитория и пр.).188Глава 4. Анализ, проектирование, разработка и сопровождение специализированных классов ПОВ этой главе будут описаны созданные автором средства анализа, проектирования,разработкиисопровождения,основанныенапредметно-ориентированном моделировании, для специализированных классов ПО, атакже для отдельных видов деятельности в процессе разработки ПО. FSS-метод для проектирования программных систем, реализующихэлектронные социальные и государственные услуги.
Метод был созданнепосредственно автором в рамках исследовательского проекта «Improving Social Services» [289]. Первая версия метода была опубликованав [63], при этом соавторы данной статьи выполнили разработку примеров моделей из области городского хозяйства Санкт-Петербурга, а также формализацию и реализацию предложенных автором метафор Webвизуализации. Вторая версия метода была опубликована в монографииавтора [50]. Модель средств разработки семейств программно-аппаратных систем,создаваемых на основе компоновки аппаратной части, а также языкмоделирования THCL.
Данный результат был изложен в следующихработах.В[91]авторпровёлисследованиеизменяемо-сти/конфигурируемости общих активов семейств продуктов при их используемости на примере систем реинжиниринга. Автору принадлежитпостановка задачи исследования и использование для этого материаловреальной промышленной разработки. Соавторы выполняли руководство и разработку проекта, из которого был взят материал для исследования. Результаты дальнейшего исследования линеек продуктов авторвыполнил в контексте разработки семейства Web-систем — данный результат изложен в работе [92].
В данной работе автору принадлежитпостановка задачи и создание метода управления разработкой систем.Соавтор выполнила реализацию и апробацию метода.Первая версия189модели была изложена в [72]. Автору диссертационной работы принадлежит постановка задачи и создание концепции модели, спецификацияязыка моделирования THCL, а также разработка архитектуры программных средств. Соавторы занимались программной реализациеймодели, а также апробацией созданных средств разработки на примересемействе программно-аппаратных телевещательных систем. Эти идеибыли развиты в работе [82], где автору принадлежит разработка общейархитектурной модели. Уточнение деталей этой модели и программнаяреализация были выполнены соавторами. Метод DocLine для управления повторным использованием в технической документации.
Автором диссертационной работы были предложены основные идеи метода, также он выполнял научное руководствопроектом. Кроме того, непосредственно им было предложено использование предметно-ориентированного моделирования для управления«крупноблочным» повторным использованием, создан визуальныйязык DRL/GR и выполнена его текущая формализация. Автор такжеразработал алгоритм поиска повторов в документах на основе техникипоиска клонов в программном обеспечении (Software Clone Detection) споследующим рефакторингом документации.