Spravovanie verzií modelu Plant Simulation pomocou Git

Autor: 10. januára 2022Výroba a logistika

Plant Simulation od verzie 16.1 umožňuje aj nové ukladanie modelov ako Folder Model. Takáto nová štruktúra ukladania je veľmi bežná pri vývoji softvérov alebo aplikácii. Umožňuje kolaboratívnu tímovú prácu a spravovanie verzií (revízií) modelu. Takúto prácu na modeli spravujeme pomocou Code control systems (SCCS, napr. Git).

V našom v tipe si predstavíme spravovanie verzií modelu pomocou Git-u.

Keď prvýkrát dáme uložiť model ako Folder model, tak zaškrtneme možnosť git support.

To nám vytvorí nový git repozitár na disku PC, kde bude uložený náš Folder Model. Takto uložený Folder model má koncovku súboru (*.psfm). Táto možnosť funguje len vtedy, ak máte nainštalovaný Git na Vašom PC. Vývojári Plant Simulation odporúčajú na kontrolu verzií Git s názvom TortoiseGit (https://tortoisegit.org), ktorý je veľmi jednoduchý na ovládanie, prehľadný, pracujete s ním priamo vo Windows prehliadači, a ak nechcete, nemusíte ani používať konzolu.

Samotný model otvoríte dvojklikom na súbor s názvom $.spp :

Obrázok 1: Stromová štruktúra súborov v PC

Všetky jednotlivé zložky (folders) sú uložené (a ich jednotlivé objekty) v PC v git repozitári (viď obr.1), rovnako ako sú uložené v modeli (viď obr.2) – majú rovnakú stromovú štruktúru.  Všetky jednotlivé objekty ako sú objekty mat. toku, metódy, atribúty a pod. sú jednotlivo uložené ako (*.yaml) súbory.


Obrázok 2: Stromová štruktúra súborov v modeli

Každý takýto súbor (*.yaml) si vieme otvoriť, pozrieť, zmeniť alebo len porovnať jednotlivé verzie.

Napríklad si vieme takto pozrieť aj upraviť metódu:


Obrázok 3: Otvorenie .yaml súboru v PC

Vždy keď uložíte model, tak automaticky vyskočí okno s TortoiseGit, a vy máte možnosť vaše nové zmeny  Commit-núť a/alebo Push-núť (napríklad uložiť vaše zmeny na lokálny alebo vzdialený server napr. Github.com).


Obrázok 4: Commit-nutie zmien v modeli cez TortoiseGit

Pomocou TortoiseGit si viete kedykoľvek pozrieť stav vášho projektu, všetky Branch-e, Commit-y, verzie a pod. – stačí pravým tlačidlom myši kliknúť na ľubovoľný  objekt v git repozitári: TortoiseGit -> Show Log


Obrázok 5: Zobraz log TortoiseGit


Obrázok 6: TortoiseGIt log – zobrazenie Branch-ov a ich Commit-ov modelu

Prečo vôbec používať Folder Model s pomocou git-u?

  1. Umožňuje pracovať na jednom modeli celému tímu programátorov, každý z tímu môže pracovať na inej časti modelu. Časť modelu sa volá Branch (vetva), ak je vetva modelu dokončená a otestovaná, tak sa môže vložiť do hlavného Master Branch-u a spojiť (viď obr.6).
  2. Umožňuje robiť revízie starších verzií modelu. Niektoré časti sa budú môcť vrátiť a obnoviť, niektoré jednotlivé časti sa budú môcť úplne odstrániť. Môže sa stať, že vykonáte zmeny a nahráte Branch vášho kolegu, a to vám spôsobí veľa bugov v Master Branch. Pomocou Git sa kedykoľvek a bezpečne viete vrátiť k predošlej funkčnej časti.
  3. Umožňuje nahrávať a zálohovať váš progres a jednotlivé verzie modelu na server, napríklad aj celosvetovo najpoužívanejší Github.com
  4. Umožňuje vám robiť si podrobný zápis histórie projektu, a vy aj vaši kolegovia máte všetky informácie na jednom mieste.
  5. Folder Model sa rýchlejšie ukladá na disk PC, na vzdialené severy a cloud-y.

Obmedzenia Folder Modelu:

  1. Ak vám model padne pre vnútorný bug softvéru, a podarí sa spraviť jeho automatickú zálohu, tak táto záloha je uložená nie ako Folder model ale ako klasický model (*.spp). To znamená, že ak nebudete často ukladať model, môžete prísť o váš progres. Ak takýto model (*.spp) znova uložíte ako Folder Model, nebude v sebe obsahovať žiadne informácie o verziách a Branch-och.
  2. Neumožňuje pracovať s modelom, ktorý je 2D/3D.
  3. Neumožňuje pracovať s modelom, ktorý má zakryptované metódy – toto nepovažujeme za veľkú nevýhodu, pretože keď model odovzdávate napr. zákazníkovi, tak ho uložíte ako (*.spp).
  4. Neumožňuje pracovať s modelom, ktorý obsahuje zakryptované autoexec methods.
  5. Neumožňuje pracovať s modelom, ktorý obsahuje zastaralé verzie objektov (HTML, Checkbox alebo Button) z predchádzajúcich verzií Plant Simulation (tieto objekty sa dajú ľahko aktualizovať).

Myslíme si, že tieto obmedzenia budú postupne odstraňované vo vyšších verziách Plant Simulation.

Ak by ste mali akékoľvek otázky ohľadne Folder Modelu, Git alebo Plant Simulation, tak nás neváhajte kontaktovať.