Modelica

Материал из Поле цифровой дидактики
Краткое описание языка Modelica — объектно-ориентированный, декларативный, мультидоменный язык моделирования для компонентно-ориентированного моделирования сложных систем, в частности, систем, содержащих механические, электрические, электронные, гидравлические, тепловые, энергетические компоненты, а также компоненты управления и компоненты, ориентированные на отдельные процессы. Во-первых, Modelica является языком моделирования, а не обычным языком программирования. Классы Modelica не компилируются в обычном смысле, но преобразуются в объекты, которые затем используются специализированным процессором. Специализированный процессор языком не определятся, хотя к нему предъявляются определённые требования. Во-вторых, хотя классы могут содержать алгоритмические компоненты, аналогичные операторам или блокам в языках программирования, их основное содержание составляют множества уравнений. В терминах языка Modelica точки, уравнения не задают заранее определенную причинно-следственную связь (causality).
Компетенции в каких сферах формирует Computational Thinker
Парадигмы программирования Декларативное программирование, Объектно-ориентированное программирование
Возрастная категория 16
Назначение языка (Общее / Учебное) Специальный прикладной язык
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Область знаний Физика, Интернет вещей
Открытость продукта Коммерческий
Address http://www.modelica.org/
Предки (Ancestors)
Потомки (Descendants) OpenModelica, Wolfram System Modeler
Активность в данный момент Project is active
Доступны ремиксы? Нет
Год создания 1997
Создатели
Поясняющее видео
Используется для создания мобильных приложений? Нет
Modelica упоминается в свойствах следующих страниц


The following code fragment shows a very simple example of a first order system ([math]\displaystyle{ \dot x = - c \cdot x, x(0)=10 }[/math]):

model FirstOrder
  parameter Real c=1 "Time constant";
  Real x (start=10) "An unknown";
equation
  der(x) = -c*x "A first order differential equation";
end FirstOrder;