(vt ka seminar-töötuba 27.10.2010)
Kuigi tarkvaraarendus on kasutusel kõrgtehnoloogiliste toodete valmistamisel, on tema enda jaoks kasutusel vähe kõrgtehnoloogilisi vahendeid. Programmid kodeeritakse objektorienteeritud tehnikaid kasutades suurel määral käsitsi. Laialt kasutatav UML on möödunud sajandi standard, mille põhjal koostatud dokumente on raske kasutada tarkvara tootmise automatiseerimiseks. Sellise olukorra parandamiseks püütakse viimasel ajal intensiivselt arendada mudelipõhist tarkvaratehnikat (MPTT). Sel juhul jagatakse tarkvaraarendus kaheks suurel määral sõltumatuks etapiks, mida täidavad erinevate oskustega tegijad.
Esimeseks etapiks on VALDKONNATARKVARA ARENDUS (ingl domain engineering). Teiseks etapiks on RAKENDUSTE ARENDUS (application engineering).
Esimene etapp annab tarkvaravahendid, mida kasutatakse teisel etapil, saavutades sellega rakenduste arenduse hea automatiseerituse ning vahendite korduvkasutuse. Kõnesolevad tarkvaravahendid on VALDKONNASPETSIIFILISED KEELED JA MUDELID ning nende realiseerimiseks vajalikud TARKVARA KOMPONENDID. Selline lähenemine saab olla edukas vaid sobivate teadmuspõhiste meetodite kasutamise korral, mis on eelnevalt realiseeritud mõnes mudelipõhise tarkvaraarenduse keskkonnas. Katsed rakendada siin UML metamudelite tehnikat pole praktikas häid tulemusi andnud. Kuid häid MPTT rakendamise näiteid on mõnedes spetsiifilistes valdkondades, näiteks, kosmoseuuringute ja süsteemide ning seadmete simuleerimise vallas. Laiemat kasutust on takistanud universaalsete valdkonnatarkvara arendusvahendite puudumine.
Tasub tähele panna, et mudelipõhise tarkvaraarenduse idee tekkis enne objektorienteerituse mõistet, esimese objektorienteeritust toetava keele ‒ Simula loojatel. Tegelikult esimene Simula keel oligi mudelipõhise tarkvaraarenduse keel, mida hiljem täiendati klasside mõistega valdkonnaspetsiifiliste komponentide kirjeldamise hõlbustamiseks. See andis tulemuseks Simula-67. Visuaalsete vahendite puudumine ning arvutite väike kiirus ei võimaldanud neil ideedel laialt levida siis, kui Simula-67 möödunud sajandi kuuekümnendail aastail loodi.
Küberneetika Instituut pakub kasutamiseks välja Java platvormil loodud keskkonna CoCoViLa, mis toetab nii visuaalsete kui tekstiliste valdkonnaspetsiifiliste keelte loomist ja kasutamist. Selle keskkonna oluliseks eripäraks on tema integreeritus Javaga – viimast saab piiranguteta kasutada Java klasside ja pakettide loomiseks ka koos CoCoViLaga.
Pildil on näha ühe rakendusvaldkonna – hüdrosüsteemide simuleerimise graafiline liides, selles kirjeldatud simuleerimisülesanne ning selle lahend kolmemõõtmelises esituses.
See ongi üheks oluliseks MPTT eduka kasutamise eelduseks, võimaldades kasutada kõiki Java platvormi vahendeid.
CoCoViLa lisab Javale uusi olulisi võimalusi: mudelite visuaalse kirjeldamise, visuaalse programmeerimise võimaluse olemasolevatel mudelitel ja suurte programmide täisautomaatse kompositsiooni, mis suurel määral väldib kodeerimisvigade teket. CoCoViLat toetab ka vastav tarkvara tehnoloogia, mis kasutab kõiki kõrge automatiseerituse eeliseid ning lubab korraldada ja koordineerida erinevate oskustega töötajate tegevust. CoCoViLat kasutatakse küberkaitse üles-annete programmeerimisel, keerukate hüdromehaaniliste süsteemide modelleerimisel ja simuleerimisel, teenusepõhise tarkvara loomisel ning teadusuuringute tarkvara loomisel.