Modelica

llenguatge de programació

Modelica és un llenguatge de modelatge declaratiu, orientat a objectes i multidomini per al modelatge orientat a components de sistemes complexos, per exemple, sistemes que contenen subcomponents mecànics, elèctrics, electrònics, hidràulics, tèrmics, de control, d'energia elèctrica o orientats a processos. El llenguatge Modelica gratuït està desenvolupat per l'Associació Modelica sense ànim de lucre.[1] L'Associació Modelica també desenvolupa la biblioteca estàndard Modelica gratuïta[2] que conté uns 1400 components de model genèrics i 1200 funcions en diversos dominis, a partir de la versió 4.0.0.[3]

Modelica

Tipusllenguatge de programació i llenguatge de programació declaratiu Modifica el valor a Wikidata
Versió inicial1997 Modifica el valor a Wikidata
Característiques tècniques
PlataformaMultiplataforma
Equip
Creador/sModelica Association Project (MAP)
Més informació
Lloc webwww.modelica.org

Exemple de càlcul de segona derivada.

Tot i que Modelica s'assembla a llenguatges de programació orientats a objectes, com ara C++ o Java, difereix en dos aspectes importants. En primer lloc, Modelica és un llenguatge de modelatge més que un llenguatge de programació convencional. Les classes de Modelica no es compilen en el sentit habitual, sinó que es tradueixen en objectes que després són exercits per un motor de simulació. El motor de simulació no està especificat per l'idioma, tot i que es descriuen certes capacitats requerides.

En segon lloc, tot i que les classes poden contenir components algorítmics similars a enunciats o blocs en llenguatges de programació, el seu contingut principal és un conjunt d'equacions. En contrast amb una declaració d'assignació típica, com ara

x := 2 + y;

on al costat esquerre de la declaració se li assigna un valor calculat a partir de l'expressió del costat dret, una equació pot tenir expressions tant al costat dret com a l'esquerra, per exemple,

x + y = 3 * z;

Les equacions no descriuen l'assignació sinó la igualtat. En termes de Modelica, les equacions no tenen causalitat predefinida. El motor de simulació pot (i normalment ha de) manipular les equacions simbòlicament per determinar el seu ordre d'execució i quins components de l'equació són entrades i quins són sortides.[4]

Referències modifica

  1. «Modelica and the Modelica Association» (en anglès).
  2. The Modelica Standard Library is available for download here
  3. «Documents». Modelica Association. Arxivat de l'original el 2009-09-15. [Consulta: 11 octubre 2009].
  4. Administrator. «Welcome to Open Modelica - OpenModelica».