вторник, 15 сентября 2020 г.

Eclipse Sirius Cloud Platform для быстрой разработки веб-инструментов моделирования

Давно уже назрела необходимость превращения инструментов моделирования в веб-приложения. 

Большинство современных инструментов моделирования доступны как Desktop приложения. Для совместной работы над одной моделью реализуются решения вроде Team for Capella, которые позволяют совместно редактировать модели из Desktop приложений. 

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

Уже сейчас доступны технологии для разработчик веб-инструментов моделирования на базе Eclipse Che и Theia. См. например видео по ссылке 

С использованием возможностей Eclipse Sirius разработка веб-инструментов моделирования должна стать еще проще. 

Eclipse Sirius - это технологический компонент для создания визуальных языков моделирования на основе технологий Eclipse. В частности, с использованием Sirius разрабатывается инструменты моделирования Capella. Видео с описанием возможностей Sirius для создания языков моделирования доступно по ссылке.

С появлением Sirius Cloud Platform разработка веб-инструментов моделирования станет существенно проще. Данная платформа позволяет с использованием привычных инструментов Sirius быстро разрабатывать визуальные языки моделирования, которые становятся доступными в качестве веб-приложений. 

В середине октября 2020 (после Capella Days) будет опубликована первая версия данной платформы. Платформа, также как и Sirius, будет полностью доступна в качестве open source. Страница Sirius Cloud Platfrom на сайте компании-разработчика (Obeo) доступно по ссыле.

Видео с демонстрацией примера создания веб-инструмента моделирования с помощью Sirius Clous Platform доступно по ссылке

Отличие Team for Capella от платформы OpenMBEE

Инструмент Team for Capella имеет более узкое назначение, чем платформа OpenMBEE.

Team for Capella - это инструмент совместной работы участников проект, кто совместно разрабатывает модели в Capella. Это инструмент, который позволяет избежать постоянной синхронизации результатом моделирования между участниками. Благодаря данному инструменту изменения в модели одним участником мгновенно доступны другому. 

OpenMBEE - это платформа для публикации и совместного использования результатом моделирования, как самих моделей, так и сгенерированных на основе них моделей. Платформа предназначена для более широкого круга участников и предоставляет доступ к результатам моделирования всем заинтересованным лицам. Все участники могу просматривать модели и сгенерированные на основе них документы, добавлять комментарии, делать правки описаний в модели. 

OpenMBEE - открытая платформа для совместного использования результатов моделирования

OpenMBEE - открытая платформа для совместного использования результатов моделирования, выполняемых с помощью различных инструментов моделирования.

OpenMBEE позволяет обеспечить доступ к результатам моделирования (моделям и документам) большому кругу заинтересованных лиц. Инструментом моделирования в проекте обычно пользуются ограниченное количество участников. А вот результатами моделирования : моделями, диаграммами, документами, отчетами пользуются гораздо большее количество лиц, не имеющих у себя инструментов моделирования. Остальным участникам необходимо знакомиться с моделями\документацией, комментировать их, иногда даже вносить небольшие правки в описания моделей.

Платформа реализует следующие возможности:

  • хранение и управления версиями моделей;
  • публикация документации на основе моделей из инструмента моделирования в центральный репозиторий;
  • просмотр документации и элементов моделей через веб-интерфейс;
  • добавление контекстных комментариев к моделям и документам;
  • внесение правок в описания элементов моделей;

Пример документа, опубликованной на платформе OpemMBEE, доступен по ссылке. Для входа необходимо использовать логин\пароль: openmbeeguest\guest. Данный документ опубликован на основе SysML модели из инструмента Cameo System Modeler. 

Универсальность платформы заключается в том, что она не привязана к какому-либо инструменту моделирования. Для инструментов моделирования реализуются интеграции (Model Development Kits), которые позволяют публиковать артефакты моделирования в центральном репозитории. 

Как я понимаю, инициатором разработки платформы была компания NoMagic (недавно приобретена Dassault). Поэтому в первую очередь для платформы доступны интеграции с продуктом данной компании для моделирования систем (Cameo System Modeler). Однако доступны интеграции для Mathematica, Matlab, Jupyter. 

Буквально в сентябре 2020 года стал доступен коннектор OpenMBEE для Capella. По ссылке демонстрация возможностей по управления версиями моделей из Capella. Также доступен Git резпозиторий с исходными кодами коннектора. Текущая версия коннектор позволяет хранить и управлять версиями моделей на платформе, но пока не позволяет публиковать документы на основе моделей Capella. 

Для установки платформы OpenMBEE доступен докер-контейнер openmbeeguest/mms-repo. Также можно развернуть все компоненты самостоятельно, используя инструкцию по установке.



среда, 2 сентября 2020 г.

Capella tutorial "Toy Catapult"



По ссылке Capella tutorial "Toy catapult", разработанный в "Singapore University of Technology and Design"

https://esd.sutd.edu.sg/40014-capella-tutorial/index.html

В пособии рассматривается пример использования Capella для описания игрушечной катапульты. В примере подробно рассмотрены три уровнях проектирования катапульты: операционный анализ, системный анализ и логическая архитектура. 

Вебинар с объяснением данного примера доступен по ссылке

https://www.youtube.com/watch?v=K4eU8nj1nok


В дополнение к модели катапульты в конце пособия приводится ссылка на сгенерированную документацию из Capella для еще одного проекта в Capella: 

https://esd.sutd.edu.sg/40014-capella-tutorial/CaseStudies.html

четверг, 10 января 2019 г.

Low-code development platforms

Low-code platforms - достаточно недавний термин, используемый для "ребрендинга" термина rapid application platforms.

Подход к разработке на основе моделей является основой для low-code platforms.

Примером low-code platform является 1С (см. мой предыдущий пост)

О других платформах для low-code development см. по ссылке
https://www.g2crowd.com/categories/low-code-development-platforms



вторник, 18 декабря 2018 г.

Разработка систем на основе моделей в 1С !

Часто про моделирование - как средство разработки систем и приложений говорят, как о технологии будущего. Что на самом деле не так. Это технология будущего, но будущего, которое уже наступило. Ярким примером использования данной технологии является платформа 1С: Предприятие.

Платформа 1С предоставляет возможности разработки бизнес приложений на основе модели.
Вот выдержки из описания платформы, которая очень четко определяет 1С:Предприятие как систему разработки на основе моделей:

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

Платформа и прикладные решения

В системе "1С:Предприятие" существует четкое разделение на платформу и прикладное решение. Платформа представляет собой framework, в котором функционирует прикладное решение:
  • Платформа служит фундаментом для построения прикладных решений,
  • Платформа является средой их исполнения,
  • Платформа содержит инструментарий, необходимый для разработкиадминистрирования и поддержки прикладных решений.
При этом прикладное решение является самостоятельной сущностью и может выступать в качестве отдельного программного продукта. Но полностью опирается на технологии платформы.

Метаданные - способ описания прикладного решения

Прикладное решение не пишется в прямом смысле на языке программирования. Язык программирования используется только там, где это действительно необходимо.
В основе прикладного решения лежат метаданные. Они представляют собой структурированное декларативное его описание. Метаданные образуют иерархию объектов, из которых формируются все составные части прикладной системы и которые определяют все аспекты ее поведения. Фактически, при работе прикладного решения, платформа "проигрывает" (интерпретирует) метаданные, обеспечивая всю необходимую функциональность.
Метаданными описываются структуры данных, состав типов, связи между объектами, особенности их поведения и визуального представления, система разграничения прав доступа, пользовательский интерфейс и т.д. В метаданных сосредоточены сведения не только о том, "что хранить в базе данных", но и о том, "зачем" хранится та или иная информация, какова ее роль в системе, и как связаны между собой информационные массивы.
Использование языка программирования ограничено решением тех задач, которые действительно требуют алгоритмического описания, например, расчета налогов, проверки корректности введенных данных и т.д.

Построение прикладного решения на основе модели

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

Данное описание взято с сайта 1С по ссылке

Я уже писал ранее, что 1С разрабатывает новые средства разработки на замену 1С. Конфигуратора на базе технологий Eclipse для создания моделей
https://trip-to-mbsd.blogspot.com/2018/01/1-enterprise-development-tools-eclipse.html

Иногда слышу мнение, что программисты 1С - это вовсе не программисты, а конфигураторы. А на самом деле - они прикладные программисты будущего, которое уже наступило. В этом будущем есть четкое разделение между прикладными программистами и программистами, которые разрабатывают платформу.


четверг, 15 февраля 2018 г.

Микропример: Физическая структура окна в окосячке

Сегодняшний микро-пример - это пример описания физической структуры в Capella на примере модели окна в стене из бруса.

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


На диаграмме в модели Capella структура окосячки выглядит следующим образом. В модели отражены элементы замков ,четвертей и пазы.



На следующей диаграмме показаны крепежи рамы окна к окосячке с помощью саморезов, которые крепят раму окна к окосячке.



Пенный шов между окном и четвертью в окосячке отображен на следующей диаграмме

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




Как выглядит полная физическая струкутра окна окосячки можно представить по скриншоту браузера модели.