Jump to content

Лось (анализ)

Лось
Разработчик(и) Команда Мус
Стабильная версия
8.0.1 / 5 февраля 2021 г. ( 05.02.2021 )
Написано в Смолток
Операционная система Кросс-платформенный
Тип Анализ данных
Лицензия Лицензия БСД
Веб-сайт modularmoose.org

Moose — это бесплатная платформа с открытым исходным кодом для программного обеспечения и анализа данных , встроенная в Pharo .

Moose предлагает множество услуг, начиная от импорта и анализа данных и заканчивая моделированием, измерением, запросами, анализом и созданием инструментов интерактивного и визуального анализа. Муз родился в исследовательском контексте, [1] и в настоящее время его поддерживают несколько исследовательских групп по всему миру. Он все чаще применяется в промышленности. [ нужна ссылка ] .

Ключевые особенности

[ редактировать ]

Философия Moose заключается в том, чтобы дать аналитику возможность создавать новые специализированные инструменты анализа и настраивать поток анализа. Хотя Moose в основном используется для анализа программного обеспечения, он создан для работы с любыми данными.

Для достижения этой цели он предлагает несколько механизмов и рамок:

  • Импорт и мета-мета-моделирование осуществляется с помощью универсального механизма метаописания. [2] [3] Любая метамодель описывается в терминах самоописываемой мета-метамодели, и на основе этого описания осуществляется импорт/экспорт через формат файла MSE. Благодаря этому формату файлов Moose может обмениваться данными с внешними инструментами.
  • Для анализа Moose предоставляет новую структуру. [4] который использует несколько технологий синтаксического анализа (например, синтаксический анализ грамматики выражений ) и обеспечивает гибкий интерфейс для простоты построения.
  • Программный анализ поддерживается семейством метамоделей FAMIX. Ядро FAMIX — это независимая от языка метамодель, похожая на UML , но ориентированная на анализ. Кроме того, он предоставляет богатый интерфейс для запроса моделей.
  • Визуализация поддерживается двумя разными механизмами: один для визуализации графов, [5] и один для отображения диаграмм. Оба они обеспечивают удобный интерфейс для упрощения разработки.
  • Просмотр — важный принцип в Moose, и он также поддерживается множеством способов. Общий интерфейс позволяет аналитику просматривать любую модель. Чтобы иметь возможность указывать конкретные браузеры, Moose предлагает универсальный движок, который упрощает спецификацию посредством специального гибкого интерфейса .

1996–1999: Первая инфраструктура, метамодель.

[ редактировать ]

Муз родился в Бернском университете в рамках европейского проекта FAMOOS, который проходил с сентября 1996 года по сентябрь 1996 года. 1999. FAMOOS сосредоточился на методах и инструментах для анализа и обнаружения проблем проектирования в объектно-ориентированных устаревших системах, а также на переходе этих систем к более гибким архитектурам. Основные результаты FAMOOS обобщены в FAMOOS Handbook и в «Объектно-ориентированных шаблонах реинжиниринга». [6] книга.

В начале проекта FAMOOS Moose был просто реализацией независимой от языка метамодели, известной как FAMIX. Анализ кода C/C++ выполнялся через Sniff+, а созданные модели импортировались через стандарт CDIF. Первоначально Moose предусматривал жестко запрограммированный импортер и служил основой для простой визуализации и программного извлечения фактов (1997). Затем его начали использовать для расчета метрик.

Позже, по мере развития метамодели, стало очевидно, что служба импорта/экспорта должна быть ортогональна метамодели и, что наиболее важно, среда должна поддерживать расширение метамодели. Как следствие, была реализована первая, чрезвычайно простая мета-мета-модель, которая на тот момент могла представлять сущности и отношения (1998).

1999-2003: Обмен форматами, визуализации.

[ редактировать ]

С введением стандарта XMI была реализована первая метамодель Meta-Object Facility , а метамодели CDIF были преобразованы в метамодели MOF для генерации моделей XMI. Однако MOF не использовался в качестве базовой мета-мета-модели Moose.

Параллельно развитие визуализации привело к расширению набора вычисляемых метрик. В то время CodeCrawler был флагманским приложением Moose, и в течение значительного периода CodeCrawler влиял на архитектуру Moose (1999). Например, перед созданием представлений необходимо было вычислить метрики для всех сущностей.

Интерес к исследованию эволюции систем привел к созданию репозитория метамоделей. Таким образом, первым применением стала Матрица эволюции (2001 г.). Позже были вложены дополнительные исследования в понимание эволюции систем, что привело к разработке Вана (2002).

Поскольку эволюционный анализ требует обработки больших объемов данных, постоянно манипулировать всей информацией модели стало невозможно. Кроме того, еще одним узким местом было предварительное вычисление метрик для всех объектов модели. Как следствие, было реализовано несколько сервисов: частичная загрузка моделей, отложенное вычисление свойств и кэширование результатов.

Стало очевидно, что метаописания являются мощным способом отделения представления данных (т. е. метамодели) от различных методов манипулирования этими данными. Следовательно, команда приступила к реализации мета-мета-модели, подобной MOF (2002 г.), и заменила исходную. Он предлагает архитектуру, аналогичную архитектуре Eclipse Modeling Framework (EMF).

2003–2007: универсальный пользовательский интерфейс, собственный формат обмена, визуализация с возможностью сценариев.

[ редактировать ]

В качестве применения метаописания была начата разработка общего графического пользовательского интерфейса для предоставления базовых услуг, таких как навигация, запросы и самоанализ (2003 г.). Важную роль в механизме кэширования и запросах играет понятие группы как первоклассной сущности: каждый запрос или выбор в Moose дает группу, и любой группой можно манипулировать в Браузере (2003).

Чтобы облегчить разработку инструмента, был необходим подключаемый механизм. Таким образом, на основе метаописания каждый инструмент может регистрироваться в меню, прикрепленном к каждому объекту в метамодели. Этот простой механизм позволяет этим инструментам дополнять друг друга, не устанавливая между ними жестко запрограммированных зависимостей.

Сочетание меню и групп означало, что сложный анализ можно было разбить на несколько этапов, каждый из которых может использовать свой инструмент. Таким образом, комбинирование и составление инструментов становится естественным и прозрачным.

В 2006 году Meta была создана как самопровозглашенная реализация EMOF (Essential Meta Object Facility) и заменила мета-мета-модель Moose. Вместе с Meta был создан новый формат файлов MSE. Поскольку Meta является самоописываемым, Moose теперь может загружать как внешние модели, так и метамодели, используя один и тот же механизм. В то же время поддержка XMI и CDIF была прекращена.

Для обеспечения поддержки быстрого прототипирования интерактивных визуальных инструментов был создан Mondrian. Мондриан использует Smalltalk в качестве основного языка сценариев и добавляет поддержку визуализации на основе графов. Мондриан получил вторую премию на церемонии вручения наград ESUG 2006 Innovation Awards.

В 2007 году на базе Moose появился новый движок EyeSee, позволяющий создавать сценарии в стиле Excel. EyeSee получила вторую премию на церемонии вручения наград ESUG 2007 Innovation Awards.

2008–2011: FAMIX 3.0, браузеры с поддержкой сценариев и переход на Pharo.

[ редактировать ]

В 2008 году Meta была заменена Fame, которая реализует новую мета-мета-модель (FM3), более простую и гибкую, чем EMOF. Усилия по созданию славы коррелируют с разработкой FAMIX 3.0, семейства метамоделей для анализа программного обеспечения.

Начиная с конца 2008 года, были предприняты большие усилия по переводу Moose из VisualWorks в Pharo, Smalltalk с открытым исходным кодом. Первая альфа-версия под Pharo была выпущена в августе 2009 года.

За это время был разработан Glamour, движок для написания сценариев интерактивных браузеров. Glamour получил 3-е место на церемонии вручения наград ESUG 2009 Innovation Awards.

PetitParser был добавлен в Moose Suite. PetitParser — это новый движок для создания специализированных парсеров.

  1. ^ Оскар Ниерстраз, Стефан Дюкасс и Тюдор Гырба. История Moose: среда гибкого реинжиниринга. В материалах Европейской конференции по разработке программного обеспечения (ESEC/FSE'05), с. 1–10, ACM Press, Нью-Йорк, штат Нью-Йорк, 2005. Приглашенный доклад.
  2. ^ Стефан Дюкасс, Тюдор Гирба, Адриан Кун и Лукас Ренггли. Мета-среда и исполняемый мета-язык с использованием Smalltalk: отчет об опыте. В журнале программного обеспечения и системного моделирования (SOSYM) 8 (1) стр. 5–19 февраля 2009 г.
  3. ^ Адриан Кун и Мульт Верваест. FAME, полиглотная библиотека для метамоделирования во время выполнения. В семинаре по моделям во время выполнения, стр. 57–66, 2008 г.
  4. ^ Лукас Ренггли, Стефан Дюкасс, Тюдор Гирба и Оскар Нирстрас. Практическая динамическая грамматика для динамических языков. На 4-м семинаре по динамическим языкам и приложениям (DYLA 2010), Малага, Испания, июнь 2010 г.
  5. ^ Майкл Мейер, Тудор Гырба и Мирча Лунгу. Мондриан: Гибкая среда визуализации. На симпозиуме ACM по визуализации программного обеспечения (SoftVis'06), стр. 135–144, ACM Press, Нью-Йорк, США, 2006.
  6. ^ Серж Демейер, Стефан Дюкасс и Оскар Ньерстраз. Шаблоны объектно-ориентированного реинжиниринга, Square Bracket Associates, 2008. URL.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6a7ab794c186f73f623ad6d8a42ec387__1714206720
URL1:https://arc.ask3.ru/arc/aa/6a/87/6a7ab794c186f73f623ad6d8a42ec387.html
Заголовок, (Title) документа по адресу, URL1:
Moose (analysis) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)