Язык моделирования
Язык моделирования — это любой искусственный язык , который можно использовать для выражения данных , информации , знаний или систем в структуре , определяемой последовательным набором правил. Правила используются для интерпретации значения компонентов в структуре языка программирования.
Обзор
[ редактировать ]Язык моделирования может быть графическим или текстовым. [1]
- Языки графического моделирования используют технику диаграмм с именованными символами, которые представляют концепции, и линиями, соединяющими символы и представляющими отношения, а также различными другими графическими обозначениями для представления ограничений.
- Языки текстового моделирования могут использовать стандартизированные ключевые слова, сопровождаемые параметрами или терминами и фразами естественного языка, для создания интерпретируемых компьютером выражений.
Примером языка графического моделирования и соответствующего языка текстового моделирования является EXPRESS .
Не все языки моделирования являются исполняемыми, а для тех, которые есть, их использование не обязательно означает, что программисты больше не нужны. Напротив, исполняемые языки моделирования предназначены для повышения производительности квалифицированных программистов, чтобы они могли решать более сложные проблемы, такие как параллельные вычисления и распределенные системы .
В литературе встречается большое количество языков моделирования.
Тип языков моделирования
[ редактировать ]Графические типы
[ редактировать ]Пример языков графического моделирования в области информатики, управления проектами и системной инженерии:
- Деревья поведения — это формальный язык графического моделирования, используемый в основном в разработке систем и программного обеспечения . Обычно используется для однозначного представления сотен или даже тысяч требований естественного языка , которые обычно используются для выражения потребностей заинтересованных сторон в крупномасштабной программно-интегрированной системе.
- Нотация моделирования бизнес-процессов (BPMN и XML- форма BPML) является примером языка моделирования процессов .
- Теория CK представляет собой язык моделирования процессов проектирования.
- ДРАКОН — это язык алгоритмического моделирования общего назначения для описания программно-интенсивных систем, схематическое представление алгоритма или пошагового процесса, а также семейство языков программирования .
- EXPRESS общего назначения и EXPRESS-G (ISO 10303-11) — это международный стандартный язык моделирования данных .
- Расширенный язык моделирования предприятия (EEML) обычно используется для моделирования бизнес-процессов на нескольких уровнях.
- Блок-схема — это схематическое представление алгоритма или пошагового процесса.
- Fundamental Modeling Concepts (FMC) для систем с интенсивным программным обеспечением. Язык моделирования
- IDEF — это семейство языков моделирования , в которое входят IDEF0 для функционального моделирования, IDEF1X для информационного моделирования, IDEF3 для моделирования бизнес-процессов, IDEF4 для объектно-ориентированного проектирования и IDEF5 для моделирования онтологий.
- Структурное программирование Джексона (JSP) — это метод структурного программирования, основанный на соответствии между структурой потока данных и структурой программы.
- LePUS3 — это объектно-ориентированный визуальный язык описания дизайна и язык формальных спецификаций , который подходит в первую очередь для моделирования больших объектно-ориентированных ( Java , C++ , C# ) программ и шаблонов проектирования .
- Язык моделирования жизненного цикла — это язык с открытым стандартом для системного проектирования , который поддерживает полный жизненный цикл системы : этапы концептуальной разработки, использования, поддержки и вывода из эксплуатации.
- Объектно-ролевое моделирование (ORM) в области разработки программного обеспечения представляет собой метод концептуального моделирования и может использоваться как инструмент для анализа информации и правил.
- Сети Петри используют вариации ровно одного метода построения диаграмм и топологии, а именно двудольного графа . Простота базового пользовательского интерфейса легко обеспечивала обширную поддержку инструментов на протяжении многих лет, особенно в области проверки моделей, графического моделирования и верификации программного обеспечения.
- Southbeach Notation — это язык визуального моделирования, используемый для описания ситуаций с точки зрения агентов, которые считаются полезными или вредными с точки зрения разработчика модели. Обозначения показывают, как агенты взаимодействуют друг с другом и улучшает или ухудшает это взаимодействие ситуацию.
- Язык спецификации и описания (SDL) — это язык спецификации, ориентированный на однозначную спецификацию и описание поведения реактивных и распределенных систем.
- SysML — это предметно-ориентированный язык моделирования для системной инженерии , который определяется как профиль UML (индивидуальная настройка).
- Унифицированный язык моделирования (UML) — это язык моделирования общего назначения , который является отраслевым стандартом для описания систем с интенсивным программным обеспечением. UML 2.0, текущая версия, поддерживает тринадцать различных методов построения диаграмм и имеет широкую поддержку инструментов.
- Среда сервис-ориентированного моделирования (SOMF) — это целостный язык для проектирования моделей архитектуры уровня предприятия и приложений в области корпоративной архитектуры, виртуализации, сервис-ориентированной архитектуры (SOA), облачных вычислений и многого другого. [2]
- Язык описания архитектуры (ADL) — это язык, используемый для описания и представления архитектуры системы системной .
- Язык анализа и проектирования архитектуры (AADL) — это язык моделирования, который поддерживает ранний и повторный анализ архитектуры системы в отношении критически важных для производительности свойств с помощью расширяемой нотации, инструментальной среды и точно определенной семантики.
Примеры языков графического моделирования в других областях науки.
- EAST-ADL — это язык предметно-ориентированного моделирования, предназначенный для проектирования автомобильных систем.
- Язык энергетических систем (ESL), язык, целью которого является моделирование экологической энергетики и глобальной экономики.
- IEC 61499 определяет язык предметно-ориентированного моделирования, предназначенный для распределения систем измерения и управления промышленными процессами.
Текстовые типы
[ редактировать ]Информационные модели также могут быть выражены на формализованных естественных языках, таких как геллиш. [3] У Gellish есть варианты естественного языка, такие как Gellish Formal English и Gellish Formal Dutch ( Gellish Formeel Nederlands ) и т. д. Gellish Formal English — это язык представления информации или язык семантического моделирования, который определен в таксономическом словаре английского языка Gellish, который имеет форму Таксономия-Онтология (аналогично для голландского языка). Gellish Formal English подходит не только для выражения знаний, требований и словарей, таксономий и онтологий, но и информации об отдельных вещах. Вся эта информация выражается на одном языке, и поэтому ее можно интегрировать независимо от того, хранится ли она в центральных, распределенных или объединенных базах данных. Информационные модели в формальном английском языке Gellish состоят из коллекций выражений формального английского языка Gellish, в которых используются термины естественного языка и формализованные фразы. Например, географическая информационная модель может состоять из ряда выражений формального английского языка геллиша, таких как:
- the Eiffel tower <is located in> Paris - Paris <is classified as a> city
тогда как информационные требования и знания могут быть выражены, например, следующим образом:
- tower <shall be located in a> geographical area - city <is a kind of> geographical area
В таких выражениях формального английского языка Gellish используются названия понятий (например, «город») и фразы, которые представляют типы отношений (например, ⟨is location in⟩ и ⟨is классифицируется как a⟩ ), которые должны быть выбраны из Gellish English Dictionary-Taxonomy ( или вашего собственного словаря домена). Словарь-таксономия английского языка Gellish позволяет создавать семантически богатые информационные модели, поскольку словарь содержит более 600 стандартных типов отношений и содержит определения более 40 000 понятий. Информационная модель на языке геллиш может выражать факты или делать утверждения, вопросы и ответы.
Более конкретные типы
[ редактировать ]В области информатики в последнее время появились более конкретные типы языков моделирования.
алгебраический
[ редактировать ]Языки алгебраического моделирования (AML) — это языки программирования высокого уровня для описания и решения задач высокой сложности для крупномасштабных математических вычислений (т. е. задач типа крупномасштабной оптимизации). Одним из особых преимуществ AML, таких как AIMMS , AMPL , GAMS , Gekko , Mosel , OPL , MiniZinc и OptimJ , является сходство их синтаксиса с математической записью задач оптимизации. Это позволяет очень кратко и понятно определять проблемы в области оптимизации, что поддерживается некоторыми элементами языка, такими как множества, индексы, алгебраические выражения, мощный разреженный индекс и переменные обработки данных, ограничения с произвольными именами. Алгебраическая формулировка модели не содержит подсказок о том, как ее обрабатывать.
Поведенческий
[ редактировать ]Поведенческие языки предназначены для описания наблюдаемого поведения сложных систем, состоящих из компонентов, которые выполнять одновременно. Эти языки сосредоточены на описании ключевых понятий, таких как параллелизм, недетерминизм, синхронизация и связь. Семантической основой поведенческих языков являются исчисление процессов или алгебра процессов .
Дисциплина
[ редактировать ]Язык специализированного моделирования (DspM) ориентирован на результаты, связанные с конкретным этапом жизненного цикла разработки программного обеспечения. Таким образом, такой язык предлагает отдельный словарь, синтаксис и обозначения для каждого этапа, такого как открытие, анализ, проектирование, архитектура, сжатие и т. д. Например, на этапе анализа проекта разработчик модели использует специальную нотацию анализа, чтобы предоставить диаграмма предложения анализа. Однако на этапе проектирования для отображения взаимосвязей между программными объектами используются обозначения логического проектирования. Кроме того, лучшие практики языка моделирования для конкретной дисциплины не мешают специалистам-практикам комбинировать различные обозначения в одной диаграмме.
Зависит от домена
[ редактировать ]Специализированное моделирование (DSM) — это методология разработки программного обеспечения для проектирования и разработки систем, чаще всего ИТ-систем, таких как компьютерное программное обеспечение. Он предполагает систематическое использование графического предметно-ориентированного языка (DSL) для представления различных аспектов системы. Языки DSM, как правило, поддерживают абстракции более высокого уровня, чем языки моделирования общего назначения, поэтому они требуют меньше усилий и меньше деталей низкого уровня для определения данной системы.
Специфический для платформы
[ редактировать ]( Язык моделирования, специфичный для конкретной платформы FSML), — это своего рода язык моделирования для конкретной предметной области, который разработан для инфраструктуры объектно-ориентированных приложений. FSML определяют абстракции, предоставляемые платформой, как концепции FSML и разлагают абстракции на функции. Функции представляют собой этапы реализации или варианты выбора.
Концепцию FSML можно настроить, выбрав функции и указав значения для функций. Такая конфигурация концепции показывает, как концепция должна быть реализована в коде. Другими словами, конфигурация концепции описывает, как должна быть завершена структура, чтобы создать реализацию концепции.
Моделирование информации и знаний
[ редактировать ]Разработка связанных данных и онтологий требует, чтобы «основные языки» представляли сущности и отношения между ними , ограничения между свойствами сущностей и отношений, а также метаданных атрибуты . JSON-LD и RDF являются двумя основными (и семантически почти эквивалентными) языками в этом контексте, прежде всего потому, что они поддерживают реификацию операторов и контекстуализацию , которые являются важными свойствами для поддержки логики высшего порядка, необходимой для рассуждения о моделях. Трансформация модели — типичный пример таких рассуждений.
Объектно-ориентированный
[ редактировать ]Языки объектного моделирования — это языки моделирования, основанные на стандартизированном наборе символов и способах их расположения для моделирования (части) объектно-ориентированного проектирования программного обеспечения или проектирования системы.
Некоторые организации широко используют их в сочетании с методологией разработки программного обеспечения для перехода от первоначальной спецификации к плану реализации и доведению этого плана до всей команды разработчиков и заинтересованных сторон. Поскольку язык моделирования является визуальным и находится на более высоком уровне абстракции, чем код, использование моделей способствует формированию общего видения, которое может предотвратить проблемы различной интерпретации на более поздних стадиях разработки. Часто для построения этих моделей используются инструменты программного моделирования, которые затем можно автоматически преобразовать в код.
Виртуальная реальность
[ редактировать ]Язык моделирования виртуальной реальности (VRML), до 1995 года известный как язык разметки виртуальной реальности, представляет собой стандартный формат файлов для представления трехмерной (3D) интерактивной векторной графики, разработанный специально для Всемирной паутины.
Другие
[ редактировать ]- Язык описания архитектуры
- Язык моделирования лица
- Язык генеративного моделирования
- Язык моделирования Java
- Promela
- Язык моделирования Ребека
- Язык моделирования сервисов
- Язык моделирования веб-сервисов
- X3D
Приложения
[ редактировать ]Различные виды языков моделирования применяются в разных дисциплинах, включая информатику , управление информацией , моделирование бизнес-процессов , разработку программного обеспечения и системную инженерию . Языки моделирования можно использовать для указания:
- системные требования,
- структуры и
- поведение.
Языки моделирования предназначены для точного определения систем, чтобы заинтересованные стороны (например, клиенты, операторы, аналитики, проектировщики) могли лучше понять моделируемую систему.
Более зрелые языки моделирования точны, последовательны и исполняемы. неформальные методы построения диаграмм , применяемые с помощью инструментов рисования, создадут полезные графические представления системных требований, структур и поведения, которые могут быть полезны для общения, проектирования и решения проблем, но не могут быть использованы программно. Ожидается, что [4] : 539 Однако ожидается, что исполняемые языки моделирования, применяемые с надлежащей инструментальной поддержкой, будут автоматизировать проверку и проверку системы , моделирование и генерацию кода из одних и тех же представлений.
Качество
[ редактировать ]Обзор языков моделирования необходим для того, чтобы определить, какие языки подходят для различных настроек моделирования. В термин «Настройки» мы включаем заинтересованные стороны, предметную область и связанные с ней знания. Оценка качества языка является средством, направленным на достижение лучших моделей.
Рамки оценки
[ редактировать ]Здесь качество языка определяется в соответствии со структурой качества моделей SEQUAL , разработанной Крогсти, Синдре и Линдландом (2003), поскольку эта структура связывает качество языка со структурой общего качества модели. В этой структуре для описания качества языка используются пять областей, которые должны выражать как концептуальные, так и визуальные обозначения языка. Мы не будем вдаваться в подробное объяснение базовой структуры качества моделей, а сосредоточимся на областях, используемых для объяснения структуры качества языка.
Соответствие домена
[ редактировать ]Структура утверждает способность представлять домен как соответствие домена. Понятие «уместность утверждения» может быть немного расплывчатым, но в данном конкретном контексте оно означает « способность выразить» . В идеале вы должны иметь возможность выражать только то, что находится в предметной области, но быть достаточно мощным, чтобы включать в себя все, что находится в предметной области. Это требование может показаться немного строгим, но цель состоит в том, чтобы получить визуально выраженную модель, которая включает в себя все, что относится к предметной области, и исключает все, что не подходит для предметной области. Чтобы достичь этого, язык должен четко различать, какие нотации и синтаксисы выгодно представлять.
Соответствие участника
[ редактировать ]Чтобы оценить соответствие участников, мы пытаемся определить, насколько хорошо язык выражает знания, которыми обладают заинтересованные стороны. Это сопряжено с проблемами, поскольку знания заинтересованных сторон субъективны. Знания заинтересованных сторон являются как неявными, так и явными. Оба типа знаний носят динамический характер. В этой структуре учитывается только явный тип знаний. Язык должен в значительной степени выражать все явные знания заинтересованных сторон, относящиеся к предметной области.
Соответствие моделиста
[ редактировать ]В последнем абзаце говорится, что знания заинтересованных сторон должны быть представлены в хорошем виде. Кроме того, крайне важно, чтобы язык мог выражать все возможные явные знания заинтересованных сторон. Никакие знания не должны оставаться невыраженными из-за недостатков языка.
Понятность, адекватность
[ редактировать ]Соответствие понятности гарантирует, что социальные субъекты понимают модель благодаря последовательному использованию языка. Для достижения этой цели в структуру включен ряд критериев. Общая важность, которую они выражают, заключается в том, что язык должен быть гибким, простым в организации и легко отличать различные части языка как внутри, так и от других языков. В дополнение к этому цель должна быть как можно более простой и чтобы каждый символ языка имел уникальное представление.
Это также связано со структурой требований к разработке. .
Соответствие инструмента
[ редактировать ]Чтобы гарантировать, что фактически смоделированная область пригодна для анализа и дальнейшей обработки, язык должен гарантировать возможность автоматического рассуждения. Для этого он должен включать формальный синтаксис и семантику. Еще одним преимуществом формализации является возможность обнаружить ошибки на ранней стадии. Не всегда язык, наиболее подходящий для технических акторов, тот же, что и для социальных акторов.
Организационная целесообразность
[ редактировать ]Используемый язык соответствует контексту организации, например, язык стандартизирован внутри организации или поддерживается инструментами, выбранными в качестве стандарта в организации.
См. также
[ редактировать ]- AltaRica – Язык моделирования
- Аналогичные модели – Связь типов систем с соответствующей динамикой.
- Антропоморфизм - приписывание человеческих черт нечеловеческим существам.
- Модель данных – Абстрактная модель
- Моделирование данных – создание модели данных в системе.
- Метамоделирование - концепция разработки программного обеспечения.
- Тестирование на основе моделей (MBT)
- Архитектура, управляемая моделями . Подход к проектированию программного обеспечения.
- Модельно-ориентированное проектирование (MDE)
- Перспектива моделирования
- Язык онтологий - формальный язык, используемый для построения онтологий.
- Псевдокод – описание алгоритма, напоминающего компьютерную программу.
- Научное моделирование - научная деятельность по созданию моделей.
- Сервис-ориентированное моделирование - моделирование сервис-ориентированной архитектуры в бизнес- и программных системах.
- Визуальное моделирование
- Визуальный язык - система общения с использованием визуальных элементов.
- Язык визуального программирования - язык программирования, написанный пользователем графически.
Ссылки
[ редактировать ]- ^ Он, Сяо; Ма, Чжии; Шао, Вэйчжун; Ли, Ге (июль 2007 г.). «Метамодель обозначений языков графического моделирования» . 31-я ежегодная международная конференция по компьютерному программному обеспечению и приложениям - Vol. 1- (КОМПСАК 2007) . Том. 1. С. 219–224. CiteSeerX 10.1.1.526.5321 . дои : 10.1109/COMPSAC.2007.27 . ISBN 978-0-7695-2870-0 .
- ^ Белл, Майкл (2008). «Введение в сервис-ориентированное моделирование». Сервис-ориентированное моделирование: анализ, проектирование и архитектура сервисов . Уайли и сыновья. ISBN 978-0-470-14111-3 .
- ^ * Андрис ван Ренссен, Гелиш, Общий расширяемый онтологический язык , Технологический университет Делфта, 2005.
- ^ Балтес, Себастьян; Диль, Стефан (11 ноября 2014 г.). «Эскизы и схемы на практике» . Материалы 22-го Международного симпозиума ACM SIGSOFT по основам программной инженерии . FSE 2014. Гонконг, Китай: Ассоциация вычислительной техники. стр. 530–541. arXiv : 1706.09172 . дои : 10.1145/2635868.2635891 . ISBN 978-1-4503-3056-5 . S2CID 2436333 .
Дальнейшее чтение
[ редактировать ]- Джон Крогсти (2003) «Оценка UML с использованием общей структуры качества» . SINTEF Телеком и информатика и IDI, NTNU, Норвегия
- Крогсти и Сёльвсберг (2003). Инженерия информационных систем: концептуальное моделирование с точки зрения качества . Институт компьютерных и информационных наук.\
- Анна Гунхильд Нисетволд и Джон Крогсти (2005). «Оценка языков моделирования бизнес-процессов с использованием общей структуры качества» . Институт компьютерных и информационных наук.