Mezinárodní konference Modelica 2017 v Praze

V roce 1978 jistý Hilding Elmqvist z univerzity v Lundu vytvořil v rámci své disertační práce modelovací jazyk, ve kterém se píší přímo rovnice, místo popisu algoritmus výpočtu v klasickém programovacím jazyce. Nalezení způsobu, jak soustavu rovnic řešit – to se přenechává počítači. 

Mnozí praktici na Elmquista pohlíželi jako na akademického snílka, ale on v té disertační práci tu svou představu realizoval, a pro svůj jazyk, který nazval Dymola, naprogramoval softwarový nástroj, které takové dynamické simulační modely umožnil vytvářet. V roce 1991 při Lundské univerzitě založil firmu Dynasim AB, kde pokračoval ve vývoji jazyka Dymola. A protože obdobné myšlenky měli i jiní akademici, kteří vytvářel návrhy obdobných, na rovnicích založených jazyků, tak vroce 1996 Elmquist inicioval spojení těchto akademických aktivit založil sdružení pro vytvoření standardizovaného na rovnicích založeného jazyka pro modelování technických systémů. Tento jazyk nazvali Modelica. 

První specifikace jazyka Modelica byla zveřejněna v září 1997. Vycházela ze zkušeností nejen s jazykem Dymola, ale i z dalšími modelovacími jazyky – Allan, Omola, Smile, ObjectMath, SIDOS a NMF. V roce 2000 bylo založeno nekomerční sdružení Modelica Association (https://www.modelica.org) pro standardizaci a další rozvoj jazyka Modelica a pro vývoj standardizované volně dostupné knihovny Standard Modelica Library. On totiž úspěch Modeliky jako modelovacího nástroje pro praktické použití závisel na dostupnosti v tomto jazyce vytvořených knihoven. 

Jazyk Modelica byl určený pro počítačové modelování s představou, že model nějakého zařízení se bude sestavovat pomocí propojení jednotlivých komponent na jejichž pozadí jsou skryty nějaké rovnice, které popisují jejich chování. Tak například z komponent představujících jednotlivé elektronické prvky (odpory, kondenzátory, cívky, tranzistory…) si na obrazovce počítače sestavíme elektrické schéma – a počítač vygeneruje počítačový simulační model chování toho eklektického obvodu. A nemusí to být jen elektrický obvod – mohou to být i třeba hydraulické komponenty, nebo komponenty pro mechaniku strojů, rozvod tepla, elektrické energie, dopravní sítě apod. – vždy jsou za těmi komponenty nějaké rovnice, a když se tyto komponenty určitým způsobem propojí do nějakého zařízení – vznikne soustava rovnic která toto zařízení popisuje a je na stroji – nikoliv na programátorovi, aby tuto soustavu rovnic vyřešil, a to podle hesla “dřinu strojům”. Řešením pak je počítačový simulační model, který umožňuje ve virtuální realitě zkoumat chování toto zařízení, měnit některé jeho vlastnosti, vytvářet jeho různé varianty a ve virtuální realitě hledat jeho optimální konstrukci. 

Vývoj jazyka Modelica je dobrým příkladem vzájemně výhodné spolupráce akademického a komerčního sektoru a je jedním z mála příkladů, kdy něco průlomového v oblasti IT vzniklo nikoli v Americe nebo v Japonsku, ale v Evropě.

Modelica původně vznikala jako akademický projekt ve spolupráci s malými vývojovými firmami pří univerzitách v Lundu a Linköpingu. Rychle se ukázalo, že ty malé “spin-off” firmičky vytvořily nástroje, které umožňují rychle a efektivně pomocí simulačních modelů řešit řadu problémů v různých odvětvích průmyslu, a tak tento jazyk rychle získal podporu komerčního sektoru, protože počítačové simulace se dnes používají v řadě oborů. Jsou dnes např. důležitou součástí programů pro počítačové konstruování ve strojírenství, pomocí počítačových modelů se hledají nové léky a pomocí experimentů s počítačovým modelem se nachází odpovědi ve zkoumání přírody. Simulační hrou je možné bez rizika testovat chování simulovaného objektu, což přináší nové možnosti výuky a výcviku – můžeme nejen přistávat virtuálním letadlem a v případě neúspěchu zkoušet přistávat znova, ale také diagnostikovat a léčit virtuálního pacienta s možností kdykoli svá rozhodnutí, bez následků pro skutečného pacienta, zrevidovat. 

Dnes existuje řada komerčních vývojových prostředí využívajících tento jazyk, původní spin-of firmy jsou dnes součástí velkých koncernů (např. Elmquistův Dynasim AB je např. součástí francouzského koncertnu Dassault Systéme).  Kromě komerčních nástrojů pro jazyk Modelica existuje také otevřená, nekomerční varianta prostředí pro modelování v jazyce Modelica. Společným úsilím 23 univerzit a  23 firem je tak vytvářen volně přístupný softwarový nástroj OpenModelica (https://openmodelica.org). 

Pro jazyk Modelica byla vytvořena řada knihoven usnadňujících modelování v nejrůznějších průmyslových i vědeckých oblastech. Na rozvoji tohoto jazyka se podílí i pražská 1. lékařská fakulta Univerzity Karlovy, která pro tento jazyk vytvořila knihovnu pro modelování fyziologických systémů. Pomocí této knihovny (http://www.physiolibrary.org) implementovala rozsáhlý model lidské fyziologie obsahující více než 5000 proměnných (http://www.physiomodel.org). Tento model může být základem pro vývoj lékařského simulátoru i pro „in silico“ vyhodnocování preklinických studií účinku farmak.

O další rozvoj jazyka Modelica a jejich aplikací se stará mezinárodní Modelica Association sdružující zástupce řady univerzit i průmyslových podniků, která pořádá v dvouletých intervalech celosvětové konference. Letošní, v pořadí 12. mezinárodní konference „Modelica 2017“ se koná 15.-17. května v Praze (https://modelica.org/events/modelica2017). Spolupořadatelem je Česká společnost pro kybernetiku a informatiku. 

P.S.

Ten v poslední době prodal všechny akcie firmy Dassault Systéme, které získal prodejem své firmy Dynasim AB a při univerzitě v Lundu založil další vývojovou firmu, která se věnuje experimentálnímu vývoji dalšího nástupce jazyka Modelica. A “otec”jazyka Modelica – Hilding Elmqist? Profesor Hilding bude přednášet na pražské konferenci Modelica a po ní se ještě zúčastní pravidelného jednání vývojářů jazyka Modelica – (Design Modelica Meeting), které se tentokrát odehraje na půdě Karlovy univerzity. 

 Vývoj jazyka Modelica je dobrým příkladem vzájemně výhodné spolupráce akademického a komerčního sektoru a je jedním z mála příkladů, kdy něco průlomového v oblasti IT vzniklo nikoli v Americe nebo v Japonsku, ale v Evropě.