Язык моделирования — это любой искусственный язык , который можно использовать для выражения данных , информации , знаний или систем в структуре , определяемой последовательным набором правил. Правила используются для интерпретации значения компонентов в структуре языка программирования.
Язык моделирования может быть графическим или текстовым. [1]
Примером языка графического моделирования и соответствующего языка текстового моделирования является EXPRESS .
Не все языки моделирования являются исполняемыми, а для тех, которые есть, их использование не обязательно означает, что программисты больше не нужны. Напротив, исполняемые языки моделирования предназначены для повышения производительности квалифицированных программистов, чтобы они могли решать более сложные проблемы, такие как параллельные вычисления и распределенные системы .
В литературе встречается большое количество языков моделирования.
Пример языков графического моделирования в области информатики, управления проектами и системной инженерии:
Примеры языков графического моделирования в других областях науки.
Информационные модели также могут быть выражены на формализованных естественных языках, таких как геллиш. [3] У геллиша есть варианты естественного языка, такие как геллиш-формальный английский и геллиш-формально-голландский (Gellish Formeel Nederlands) и т. д. Геллиш-формальный английский — это язык представления информации или язык семантического моделирования, который определен в таксономическом словаре английского языка геллиш, который имеет форма Таксономии-Онтологии (аналогично для голландского языка). Gellish Formal English подходит не только для выражения знаний, требований и словарей, таксономий и онтологий, но и информации об отдельных вещах. Вся эта информация выражается на одном языке, и поэтому ее можно интегрировать независимо от того, хранится ли она в центральных, распределенных или объединенных базах данных. Информационные модели в формальном английском языке Gellish состоят из коллекций выражений формального английского языка Gellish, в которых используются термины естественного языка и формализованные фразы. Например, географическая информационная модель может состоять из ряда выражений формального английского языка геллиша, таких как:
- Эйфелева башня <находится в> Париже- Париж <классифицируется как> город
тогда как информационные требования и знания могут быть выражены, например, следующим образом:
- башня <должна быть расположена в> географическом районе- город <вид> географической области
В таких выражениях формального английского языка Gellish используются названия понятий (например, «город») и фразы, которые представляют типы отношений (например, ⟨is location in⟩ и ⟨is классифицируется как a⟩ ), которые должны быть выбраны из Gellish English Dictionary-Taxonomy ( или вашего собственного словаря домена). Словарь-таксономия английского языка Gellish позволяет создавать семантически богатые информационные модели, поскольку словарь содержит более 600 стандартных типов отношений и содержит определения более 40 000 понятий. Информационная модель на языке геллиш может выражать факты или делать утверждения, вопросы и ответы.
В области информатики в последнее время появились более конкретные типы языков моделирования.
Языки алгебраического моделирования (AML) — это языки программирования высокого уровня для описания и решения задач высокой сложности для крупномасштабных математических вычислений (т. е. задач типа крупномасштабной оптимизации). Одним из особых преимуществ AML, таких как AIMMS , AMPL , GAMS , Gekko , Mosel , OPL и OptimJ , является сходство их синтаксиса с математической записью задач оптимизации. Это позволяет очень кратко и понятно определять проблемы в области оптимизации, что поддерживается некоторыми элементами языка, такими как множества, индексы, алгебраические выражения, мощный разреженный индекс и переменные обработки данных, ограничения с произвольными именами. Алгебраическая формулировка модели не содержит подсказок о том, как ее обрабатывать.
Поведенческие языки предназначены для описания наблюдаемого поведения сложных систем, состоящих из компонентов, которые выполняются одновременно. Эти языки сосредоточены на описании ключевых понятий, таких как параллелизм, недетерминизм, синхронизация и связь. Семантической основой поведенческих языков являются исчисление процессов или алгебра процессов .
Язык специализированного моделирования (DspM) ориентирован на результаты, связанные с конкретным этапом жизненного цикла разработки программного обеспечения. Таким образом, такой язык предлагает отдельный словарь, синтаксис и обозначения для каждого этапа, такого как открытие, анализ, проектирование, архитектура, сжатие и т. д. Например, на этапе анализа проекта разработчик модели использует специальную нотацию анализа, чтобы предоставить диаграмма предложения анализа. Однако на этапе проектирования для отображения взаимосвязей между программными объектами используются обозначения логического проектирования. Кроме того, лучшие практики языка моделирования для конкретной дисциплины не мешают специалистам-практикам комбинировать различные обозначения в одной диаграмме.
Специализированное моделирование (DSM) — это методология разработки программного обеспечения для проектирования и разработки систем, чаще всего ИТ-систем, таких как компьютерное программное обеспечение. Он предполагает систематическое использование графического предметно-ориентированного языка (DSL) для представления различных аспектов системы. Языки DSM, как правило, поддерживают абстракции более высокого уровня, чем языки моделирования общего назначения, поэтому они требуют меньше усилий и меньше деталей низкого уровня для определения данной системы.
Язык моделирования, специфичный для конкретной платформы (FSML), — это своего рода язык моделирования для конкретной предметной области, который разработан для инфраструктуры объектно-ориентированных приложений. FSML определяют абстракции, предоставляемые платформой, как концепции FSML и разлагают абстракции на функции. Функции представляют собой этапы реализации или варианты выбора.
Концепцию FSML можно настроить, выбрав функции и указав значения для функций. Такая конфигурация концепции показывает, как концепция должна быть реализована в коде. Другими словами, конфигурация концепции описывает, как должна быть завершена структура, чтобы создать реализацию концепции.
Разработка связанных данных и онтологий требует, чтобы «основные языки» представляли сущности и отношения между ними , ограничения между свойствами сущностей и отношений, а также атрибуты метаданных . JSON-LD и RDF являются двумя основными (и семантически почти эквивалентными) языками в этом контексте, прежде всего потому, что они поддерживают реификацию операторов и контекстуализацию , которые являются важными свойствами для поддержки логики высшего порядка , необходимой для рассуждения о моделях. Трансформация модели — типичный пример таких рассуждений.
Языки объектного моделирования — это языки моделирования, основанные на стандартизированном наборе символов и способах их расположения для моделирования (части) объектно-ориентированного проектирования программного обеспечения или проектирования системы.
Некоторые организации широко используют их в сочетании с методологией разработки программного обеспечения для перехода от первоначальной спецификации к плану реализации и доведению этого плана до всей команды разработчиков и заинтересованных сторон. Поскольку язык моделирования является визуальным и находится на более высоком уровне абстракции, чем код, использование моделей способствует формированию общего видения, которое может предотвратить проблемы различной интерпретации на более поздних стадиях разработки. Часто для построения этих моделей используются инструменты программного моделирования, которые затем можно автоматически преобразовать в код.
Язык моделирования виртуальной реальности (VRML), до 1995 года известный как язык разметки виртуальной реальности, представляет собой стандартный формат файлов для представления трехмерной (3D) интерактивной векторной графики, разработанный специально для Всемирной паутины.
Различные виды языков моделирования применяются в разных дисциплинах, включая информатику , управление информацией , моделирование бизнес-процессов , разработку программного обеспечения и системную инженерию . Языки моделирования можно использовать для указания:
Языки моделирования предназначены для точного определения систем, чтобы заинтересованные стороны (например, клиенты, операторы, аналитики, проектировщики) могли лучше понять моделируемую систему.
Более зрелые языки моделирования точны, последовательны и исполняемы. Ожидается, что неформальные методы построения диаграмм, применяемые с помощью инструментов рисования, создадут полезные графические представления системных требований, структур и поведения, которые могут быть полезны для общения, проектирования и решения проблем, но не могут быть использованы программно. [4] : 539 Исполняемые языки моделирования, применяемые с надлежащей инструментальной поддержкой, однако, как ожидается, будут автоматизировать проверку и проверку системы , моделирование и генерацию кода из одних и тех же представлений.
Обзор языков моделирования необходим для того, чтобы определить, какие языки подходят для различных настроек моделирования. В термин «Настройки» мы включаем заинтересованные стороны, предметную область и связанные с ней знания. Оценка качества языка является средством, направленным на достижение лучших моделей.
Здесь качество языка указывается в соответствии со структурой качества моделей SEQUAL, разработанной Крогсти, Синдре и Линдландом (2003), поскольку эта структура связывает качество языка со структурой общего качества модели. В этой структуре для описания качества языка используются пять областей, которые должны выражать как концептуальные, так и визуальные обозначения языка. Мы не будем вдаваться в подробное объяснение базовой структуры качества моделей, а сосредоточимся на областях, используемых для объяснения структуры качества языка.
Структура утверждает способность представлять домен как соответствие домена. Понятие «уместность утверждения» может быть немного расплывчатым, но в данном конкретном контексте оно означает « способность выразить» . В идеале вы должны иметь возможность выражать только то, что находится в предметной области, но быть достаточно мощным, чтобы включать в себя все, что находится в предметной области. Это требование может показаться немного строгим, но цель состоит в том, чтобы получить визуально выраженную модель, которая включает в себя все, что относится к предметной области, и исключает все, что не подходит для предметной области. Чтобы достичь этого, язык должен четко различать, какие нотации и синтаксисы выгодно представлять.
Чтобы оценить соответствие участников, мы пытаемся определить, насколько хорошо язык выражает знания, которыми обладают заинтересованные стороны. Это сопряжено с проблемами, поскольку знания заинтересованных сторон субъективны. Знания заинтересованных сторон являются как неявными, так и явными. Оба типа знаний носят динамический характер. В этой структуре учитывается только явный тип знаний. Язык должен в значительной степени выражать все явные знания заинтересованных сторон, относящиеся к предметной области.
В последнем абзаце говорится, что знания заинтересованных сторон должны быть представлены в хорошем виде. Кроме того, крайне важно, чтобы язык мог выражать все возможные явные знания заинтересованных сторон. Никакие знания не должны оставаться невыраженными из-за недостатков языка.
Соответствие понятности гарантирует, что социальные субъекты понимают модель благодаря последовательному использованию языка. Для достижения этой цели в структуру включен ряд критериев. Общая важность, которую они выражают, заключается в том, что язык должен быть гибким, простым в организации и легко отличать различные части языка как внутри, так и от других языков. В дополнение к этому цель должна быть как можно более простой и чтобы каждый символ языка имел уникальное представление.
Это также связано со структурой требований к разработке. .
Чтобы гарантировать, что фактически смоделированная область пригодна для анализа и дальнейшей обработки, язык должен гарантировать возможность автоматического рассуждения. Для этого он должен включать формальный синтаксис и семантику. Еще одним преимуществом формализации является возможность обнаружить ошибки на ранней стадии. Не всегда язык, наиболее подходящий для технических акторов, тот же, что и для социальных акторов.
Используемый язык соответствует контексту организации, например, язык стандартизирован внутри организации или поддерживается инструментами, выбранными в качестве стандарта в организации.