Диссертация (1145120), страница 2
Текст из файла (страница 2)
Не вдаваясь в детали можно сказать,что при попытках использования UML в индустриальных компаниях нехватает соответствующего контекста и мотивации. Обзор литературыпоказывает, что полностью стандартизовать визуальное моделирование неудаётся, на практике требуется существенная адаптация концепций, методов,языков и инструментов.Нарешениеориентированногоэтойпроблемымоделированиянаправленыметоды(Domain-Specificпредметно-Modeling,DSM).Основной идеей DSM является повышение уровня абстрактности разработкипо сравнению с традиционными средствами путём создания и использованиясредств спецификациипредметнойобластипрограммных приложений в терминах[301].Этоделаетвозможнымузкойпродуктивнуюформальную обработку высокоуровневых моделей, в частности, генерациюпрограммного кода [186], [301]. Предметно-ориентированное моделированиепоявилось с середины 90-х годов (см., например, работу [382]) и сталоактивно развиваться, во многом, благодаря распространению семействпрограммных продуктов (product lines, product families) [112], [210], [373],[405].
Ещё в рамках UML появляется механизм расширения (extension5mechanism), и в самом начале 2000-х годов стали публиковатьсяисследования о том, как на базе UML создавать предметно-ориентированныеинструменты [389]. С помощью механизма расширения были созданымногочисленные профайлы UML для различных специализированныхобластейразработкиПО(например,Web-приложенийилителекоммуникационных систем), а также для отдельных видов деятельностипроцесса создания ПО (например, для тестирования) [428].
Одновременно сэтим стали появляться первые систематические работы по предметноориентированному моделированию [295], [306], [375], авторы которыхрассматривали идею создания предметно-ориентированных решений внеконтекста UML1. Под предметными областями стали понимать не толькоотдельные области разработки ПО (например, разработку Web-приложений),но также инфраструктуру разработки в отдельной компании — на уровневсей компании, в рамках линейки программных продуктов и даже дляотдельных крупных проектов [70], [301].
При этом появились методы ипрограммные средства, которые позволяют, затрачивая минимальныересурсы, создавать новые предметно-ориентированные визуальные языки иреализовывать инструменты их программной поддержки — MicrosoftModeling SDK [213], MetaEdit+ [346], GMF [398], QReal [110] и др. (один изпоследних обзоров таких средств см. в [115]). Таким образом, в программнойинженерии к настоящему времени создано и продолжает создаватьсябольшое количество предметно-ориентированных решений.Говоря о достижениях DSM-подхода, прежде всего, следует отметитьобъединённуюфинскогонаучно-производственнуюуниверситетагородаисследовательскуюЮвяскюляикомпаниигруппуMetaCase(J. P.
Tolvanen, S. Kelly и др.), разработавшую продукт MetaEdit [346] идетально исследовавшую вопросы создания и использования предметно1Несмотря на то, что своему оформлению и развитию DSM-подход обязан именно отказом от UML, продолжается исследование вопросов реализации предметноориентированных решений на базе UML, используя механизм расширения [253], [370].6ориентированных решений в программной инженерии. Свои исследованияони обобщили в монографии «Domain-Specific Modeling: Enabling Full CodeGeneration» [301], являющейся на настоящий момент самым полным сводомзнаний и практического опыта в области DSM. Далее, следует упомянуть окрупной исследовательской инициативе Eclipse Modeling Initiative [233],[268],объединяющейвокругзадачмодельно-ориентированногопредставления знаний (главным образом, тоже в области программнойинженерии) десятки учёных и разработчиков, а также многие компании иисследовательские институты.
В рамках этой инициативы создан стандартEcore для разработки метамоделей, разработаны базовые библиотеки длясоздания графических средств GEF и EMF, а также средство для быстройразработки предметно-ориентированных решений GMF [87]. Можно такжеупомянуть про язык описания трансформаций и одноименный продукт дляинтерпретации спецификаций на этом языке ATL [165], технологию дляраскладки (Layout) диаграмм KIELLER [307] и т.д.Следует обратитьвнимание на работы 2000-х годов J. Greenfield, K. Short с коллегами пометодам создания фабрик разработки ПО (software factories) и применению всвязи с этим предметно-ориентированного моделирования [259], [260], [261],[262], [263].Отмечая развитие предметно-ориентированного моделирования в России,следует указать на коллектив проф.
А. Н. Терехова, который занимаетсяданной темой с середины 80-х годов (технологии RTST, Real, Real-IT, QReal,QReal:ROBOTS) [110], [114], [145], [88], [131], [146], [321]. Следует такжеуказатьнаработыЯ. М. Бардзиня[4],А. В. Карабегова[40],Н. Н. Мансурова [120], [121], посвящённые языку SDL, а также упомянуть оработах А. А. Шалыто [70], [134], [150], [306], Ф. А. Новикова [127], [128],[129] и об исследованиях межвузовского коллектива в составе А. О.
Сухова,Л. Н. Лядовой и др. [118], [119], [143], [144].7Необходимо отметить, что основным направлением существующихисследований в области DSM является разработка конкретных целевыхпредметно-ориентированных решений, создание средств разработки такихрешений, а также изучение таких вопросов, как генерация кода по моделям иподдержка спецификации и разработки новых визуальных языков. При этомостаютсяоткрытымивопросыформализациипредметно-ориентированных решенийпроцессаразработкис использованием классическихинструментов программной инженерии — стандартов и методов разработкиПО, моделей процессов, формальных определений финальных поставокпроектов и пр.
Косвенным свидетельством нехватки комплексных подходоввпредметно-ориентированноммоделированииявляетсяотсутствиесовременных обзорных работ, освещающих и классифицирующих методы,подходы и инструменты в области DSM (интересно отметить, что, например,в смежной области — в сфере текстовых DSL — такие работы имеются —см., например, обзор 2013 года S. Erdweg с коллегами «The state of the art inlanguage workbenches» [237]2).Предметно-ориентированное моделирование начинает активно использоваться в различных областях знаний, в частности, в робототехнике — см.стартовавший в 2014 году «Workshop on Model-Driven Robot SoftwareEngineering», а также работы [114], [116], [117].
Но, пожалуй, самым яркимпримером является бизнес-моделирование и методы управления ИТархитектурой предприятий (Enterprise Architecture Management, EAM) [26],[106], [177], [183], [330]3. Цель последних — наладка в компании комплексного управления ИТ-инфраструктурой, включая эффективное управление2Многие исследователи объединяют DSM и DSL, однако, по мнению автора, эти области,хотя и исходят из общих посылок, но реализуют их на разных уровнях абстракции.
Соответственно, отличаются и решаемые задачи, и подходы к исследованиям.3Необходимо отметить, что в последнее время в EAM все отчётливее проявляется тенденция по разработке и управлению бизнес-архитектурами предприятий. В качестве источника дальнейших ссылок по этому вопросу можно указать работы исследовательскойгруппы «Межвузовский академический центр компетенций по архитектуре предприятия«EA Lab» [123], а также книгу [124].8процессами закупки/разработки/модификации информационных систем, прослеживание связей ИТ-активов компании с её бизнес-процессами.
Ведущиминструментом при описании ИТ-архитектур является визуальное моделирование. При этом стандартные средства моделирования архитектур — методА. В. Шеера [38], подход Захмана [450], [410], стандарты TOGAF [421], GERAM [299], FEA [240] и др., инструменты моделирования ARIS, Mega, IBMSystem Architect и др. (см. обзоры [177], [183]) подвергаются специализациии дополнительной настройке.
Таким образом, де-факто создаётся большоеколичество предметно-ориентированных решений. Однако отсутствует единая методологическая основа, не уделяется должного внимания разработкесущественных компонент таких решений (например, методу и процессу моделирования).Таким образом, для широкого промышленного применения предметноориентированного моделирования важно довести разрозненные исследованияпроблем разработки DSM-решений до единой методологии. При этом необходимо выполнить стандартизацию и унификацию процесса разработки и сопровождения DSM-решения и анализ рисков, специфицировать итоговую поставку (final deliveries, final work products) DSM-проекта, предложить методыреализации дополнительных функциональных компонент, отсутствующих винструментах поддержки DSM-подхода. Таким образом, встал вопрос о создании новой единой методологии, которая позволит эффективно поддерживать промышленные DSM-решения на всех стадиях их жизненного цикла ирасширить спектр применения предметно-ориентированного моделирования.В контексте разработки данной методологии актуальны следующие задачи:(i) создание моделей и алгоритмов для реализации дополнительных функциональных компонент (обеспечение качества визуальных спецификаций, версионный контроль, работа с большими моделями); (ii) разработка на основеDSM-подхода методов анализа и проектирования ПО различных видов; (iii)применение DSM для отдельных видов деятельности процесса разработки9ПО, в частности, для разработки документации; (iv) обобщение концепций иметодов DSM для использования в смежных областях — управлении архитектурой предприятия, робототехнике, образовании и др.ляютинтереспрактическиепримерыТакже представ-использованияпредметно-ориентированного моделирования на основе единой методологии.Целью данной работы является создание методологии для поддержкиразработки сложных предметно-ориентированных программных решений наосновевизуальныхмоделей.Длядостиженияэтойцелибылисформулированы следующие задачи.1.
Исследовать проблемы предметно-ориентированных разработок и выделить основные шаги и элементы, нуждающиеся в формализации иподдержке.2. Разработать методологию предметно-ориентированного моделирования, предоставляющую средства для определения итоговой поставкиDSM-проекта, описывающую дополнительную функциональность (нереализованную существующими техническими средствами), включающую средства для создания процесса разработки и сопровожденияDSM-решения, а также для анализа рисков.3. Решить следующие технологические задачи: создать модели и алгоритмы для разработки дополнительныхфункциональных компонент предметно-ориентированных решений: для работы с большими моделями, для обеспечения качествапредметно-ориентированных моделей, для слияния (Merge) моделей при работе в Интернете; разработать на основе DSM методы анализа и проектирования дляотдельных классов ПО; использовать DSM для разработки промышленной документации.4.