Sistemų inžinerijos SysML v2 modelių vizualizacija
Sistemų inžinerijos SysML v2 modelių vizualizacija
Iššūkio partneris:
Sensmetry, UAB
Trumpai
Per pastaruosius penkerius metus sukurta ir moderni SysML v2 kalba, kurioje pirmą kartą yra suderintos grafinė ir tekstinė sintaksės. Tikimasi, kad po kelerių metų visi nauji SysML projektai bus kuriami SysML v2 kalba.
Įmonė Sensmetry kuria efektyvius SysML v2 kalbos įrankius, įskaitant aukštos greitaveikos SysML v2 tekstinės sintaksės analizatorių.
Iššūkis studentams – sukurti diagramų generatorių iš SysML v2 modelio grafų kompiuterio atmintyje.
Apie įmonę
Sensmetry yra patikimumo inžinerijos pradininkė Lietuvoje. Pagrindinė įmonės rinka yra globali, didžioji dalis paslaugų teikiama kosmoso ir automobilių pramonei. Lietuvoje Sensmetry konsultuoja kosmoso sektoriaus įmones, vykdo MTEP veiklas, kuria informacinių technologijų produktus. 2024 m. Europos kosmoso agentūra išrinko Sensmetry straipsniu geriausiu metų straipsniu kosmoso sistemų inžinerijos srityje. 2021 m. Sensmetry buvo apdovanota nacionaliniu standartizacijos prizu už indėlį, kuriant tarptautinius inžinerijos standartus.
Problema
Jau visą pastarąjį dešimtmetį, pramonėje plačiausiai naudojama sistemų inžinerijos modeliavimo kalba yra SysML, kurios SysML v1 atnaujinimai buvo skelbiami kas 2-3 metai. Nagrinėjant ir sprendžiant v1 kalbos trūkumus, per pastaruosius penkerius metus buvo sukurta moderni SysML v2 kalba, kurioje išspręsti svarbiausi v1 versijos trūkumai. Taigi, lyginant su v1 versijomis, SysML v2 turi fundamentalių pranašumų. Svarbiausia, kad SysML v2 turi griežtai apibrėžtą standartizuotą tekstinę ir grafinę sintakses, kurios yra tarpusavyje suderintos.
Nors esami populiarūs sistemų inžinerijos įrankiai suteikia reikiamą principinį funkcionalumą, tačiau jų naudojimo patirtis yra varginanti. SysML v1 kalbos naudojimas yra apsunkintas kelių veiksnių. Pirma, dauguma pramonėje naudojamų sistemų modeliavimo įrankių yra sukurti naudojant seną, lėtos greitaveikos Eclipse platformą. Antra, kiekvienas SysML v1 programinis įrankis naudoja kiek modifikuotą SysML v1 grafinę kalbą, nesuderintą su kitais įrankiais. Be to, modeliams saugoti jie naudoja XML/XMI formato failus, kurie nesuderinami su plačiai naudojamomis versijų valdymo sistemomis, pavyzdžiui, Git.
Pasimokę iš šios patirties, Sensmetry kuria SysML v2 kalbos įrankius, kuriems grafinė vartotojo sąsaja yra nebūtina. Tai yra ypač svarbu norint automatizuoti dažnai naudojamas struktūras, funkcijas, analizės būdus, taip pat šių struktūrų automatines sąsajas. Technologiškai nauji sprendimai leidžia Sensmetry užtikrinti kelias dešimtis kartų spartesnę greitaveiką, nei šiuo metu dominuojančių konkurentų pasiūlymai.
Tačiau modelių vizualizacija yra reikalinga suprantamumui pagerinti, įskaitant analizę ir dokumentaciją, kadangi vien tekstinio redagavimo ir analizės nepakanka efektyviam inžinierių darbui užtikrinti. Pažymėtina, kad Sensmetry įrankį SysIDE CE (SysIDE Community Edition) jau šiuo metu naudoja daug vartotojų Europoje ir Šiaurės Amerikoje, įskaitant Europos kosmoso agentūrą.
Galimas sprendimas
Galimas sprendimas – generuoti PlantUML formato diagramas iš analizuotų modelių, ir jas vizualizuoti naudojant PlantUML įrankį. Sprendžiant iššūkį reikėtų susipažinti su PlantUML sintakse ir sukurti PlantUML diagramų generatorių iš SysML v2 modelio grafų kompiuterio atmintyje. Pavyzdžiui, SysML v2 Pilot Implementation naudoja PlantUML vizualizacijai, bet ji pasiekiama tik per Eclipse ar Jupyter notebook.
Analizuoti modeliai prieinami Python kalbomis. Sensmetry yra sukūrusi aukštos greitaveikos SysML v2 tekstinės sintaksės analizatorių. Vizualizacija būtų kuriama jo pagrindu.
Kviečiami studentai
Studentai(ės) mėgstantys(čios) kurti modernias programas, turintys(čios) programavimo žinių ir/arba patirties. Studentai privalo turėti Python patirties. Studentai, kurie turi ambicijų sukurti programinius sistemų inžinerijos įrankius, kuriuos naudotų Europos kosmoso agentūra, NASA ir lyderiaujančios didžiosios pasaulio kompanijos.