Вопрос

Какие инструменты доступны для метамоделирования?

Специально для разработки редакторов диаграмм, сейчас тестирую Затмение ГМФ

Интересно, какие еще варианты есть?Есть какое-нибудь сравнение?

Это было полезно?

Решение

Ваш вопрос слишком широк для однозначного ответа из-за многих аспектов.

Во-первых, метамоделирование — это не устоявшийся термин, а, скорее, очень расплывчатая вещь, включая моделирование моделей моделей и обращение к таким терминам, как MDA.

Во-вторых, существует множество вариантов разработки редакторов диаграмм — путь Eclipse, безусловно, хороший вариант.

Чтобы вы хотя бы начали работать с отделом Eclipse:

  • взгляните на MOF, то есть архитектуру для «метамоделирования» от OMG (ребят, которые поддерживают UML)
  • оттуда подходите к EMOF, подмножеству, которое поддерживается Eclipse Modeling Framework в воплощении Ecore.
  • создание чего-то поверх GMF действительно может быть хорошей идеей, потому что именно так работают существующие редакторы диаграмм для платформы Eclipse (например,EclipseUML Омондо)
  • в среде Eclipse существует множество инструментов, которые могут использовать Ecore - я просто надеюсь, что GMF построен на основе самого Ecore.

Другие советы

Диаметр для этого есть API - мне удалось довольно просто превратить их редактор UML в базовый инструмент моделирования ER, изменив стили стрелок.С помощью инструмента реверс-инжиниринга БД, который я нашел в Sourceforge (взял схему и выплюнул файлы Dia), вы можете использовать его для документирования баз данных.Хотя то, что я сделал, было довольно тривиально, API был довольно простым, и мне не потребовалось много времени, чтобы понять, как внести изменения.

Если вы хотите попробовать Smalltalk, раньше существовал мета-фреймворк Smalltalk под названием КУПОЛ который делает такие вещи.Если вы скачаете VisualWorks, DOME — один из предоставленных пакетов.

GMF — хороший пример.В основе этого лежит ЭДС/Экор, как говорит компьютеркрам.Ecore также используется в качестве основы для Eclipse. UML2 .Престижный вариант использования и подтверждение концепции GMF, безусловно, Инструменты UML2.

Хотя в целом это инструмент UML, я бы посмотрел на СтарУМЛ.Он поддерживает дополнительные модули помимо уже встроенных.Если в нем нет того, что вам нужно, встроено или в виде модуля, я предполагал, что вы можете создать свой собственный, но я не знаю, насколько это сложно.

Метамоделирование в основном выполняется в Smalltalk.

Возможно, вы захотите взглянуть на MOOSE (http://moose.unibe.ch).Для понимания программ разрабатывается множество инструментов.Большинство из них основаны на Smalltalk.Также есть некоторые работы по Java и C++.

Двумя наиболее впечатляющими инструментами являются CodeCity и Mondrian.CodeCity может визуализировать разработку кода с течением времени, Mondrian предоставляет технологию визуализации с использованием сценариев.

И, конечно же, есть классический HotDraw, который также доступен в Java.

Для веб-разработки также существует Magritte, предоставляющий метаописания для Seaside.

Я настоятельно рекомендую вам изучить DSM (Моделирование предметной области) как общую тему, метамоделирование напрямую связано с ней.Существуют инструменты на основе eclipse, такие как GMF, которые в настоящее время требуют Java-кодирования, но прекрасно интегрируются с другими инструментами eclipse и UML.Однако есть еще два класса.

  1. MetaCase, который я назову чистым инструментом DSM, поскольку он позволяет разработчику/разработчику моделей практически без большого количества кода создать удобную графическую модель.Кроме того, его можно легко развернуть для использования другими.GMF и инструмент Microsoft Beta Software Factory/DSM попадают в эту категорию.

  2. Инструменты чистого метамоделирования, которые не предназначены для инструментов DSM, генерации кода и т.п.Я не слежу за этими инструментами так внимательно, поскольку меня интересуют приложения, которые создают инструменты для МСП, экспертов в предметной области и других, которые можно использовать и вносить вклад в активный проект, а не моделирование ради моделей или просто документации и теории.

Если вы хотите узнать больше о номере 1 — инструментальных приложениях для DSM/метамоделирования, прочтите мой пост. «DSMForum.org — отличный ресурс, стоит посмотреть». или просто перейдите непосредственно на DSMForum.org.

Если вас интересует что-то, связанное с моделированием, а не генерацией кода, посмотрите adoxx.org.Будучи платформой метамоделирования, она предоставляет функциональные возможности и механизмы для быстрой разработки собственного DSL и позволяет вам сосредоточиться на потребностях моделей (бизнес-требованиях, проектировании/спецификациях концептуального уровня).Существует активное сообщество из академических кругов и практиков, занимающееся разработкой прототипов, а также коммерческих приложений на основе платформы.Может быть интересно...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top