A 2. alprojekt szakmai tartalma - az Ontologica szoftver fejlesztésének lépései
1) feladat: A szoftverfejlesztésben használt ontológialeíró nyelvek és azok vizualizációs eszköztárának kutatása
Az informatikai tárgyú ontológiák készítésére alkalmas ontológialeíró nyelvek és modellező eszközök összehasonlító elemzése. Célunk azonosítani az ontológiai modellezésre alkalmas nyelvek (pl. a szoftverfejlesztés szakterületéről származó UML, MOF, vagy a logikai alapú Common Logic, KIF, Ontolingua, OCML) erősségeit és gyengeségeit, majd javaslatot tenni egy létező ontológialeíró nyelv használatára vagy adaptációjára. A feladat során előtérbe kerül az ontológiamodellező nyelvekhez kapcsolódó vizuális eszköztárak elemzése az ontológia szerializációs formátumokkal szemben, ugyanis az ontológiák elsődleges felhasználói az oktatók és a hallgatók lesznek, nem pedig szoftverek. A javasolt ontológialeíró nyelv és az ahhoz tartozó vizuális eszköztár beépítésre kerül a szoftvertermékbe.
2) feladat: Ontológiafejlesztési módszertanok kutatása
Egy ontológiafejlesztési folyamat magában foglalja mindazokat a tevékenységeket, amelyek hozzájárulnak az ontológia elkészítéséhez. Ide tartoznak az ontológia menedzseléséhez kapcsolódó tevékenységek (pl. ütemezés, minőségbiztosítás), a fejlesztéshez tartozó tevékenységek (pl. specifikáció, implementáció, karbantartás), valamint a fejlesztést szorosan kísérő, de magát az ontológiát nem befolyásoló egyéb tevékenységek (pl. integráció, dokumentáció, egyesítés). Az ontológiafejlesztési módszertanok (pl. Cyc, KACTUS, METHONTOLOGY, SENSUS) a fejlesztési folyamat tevékenységeit és azok sorrendjét írják elő. A feladat célja azonosítani a lehetséges fejlesztési tevékenységeket, ill. javaslatot tenni a tartalomfejlesztést támogató szakterületi ontológiák készítését leginkább támogató módszertanok használatára. A javasolt ontológiafejlesztési módszertanok beépítésre kerülnek a szoftvertermékbe. A feladat előkészíti az 5. feladat részeként elkészülő fejlesztési módszertan ontológia elkészítéséhez szükséges tudásanyagot.
3) feladat: Többnyelvű ontológiák fejlesztésének kérdései
Fontos, hogy a felsőoktatási tartalmak több nyelven is elérhetőek legyenek, mert ez egyrészt vonzóvá teheti az oktatási intézményt más országból érkező hallgatók számára, másrészt segíti a magyar anyanyelvű hallgatókat a szakterület idegen nyelven történő megismerésében, ezáltal növelve az intézmény végzőseinek versenyképességét. A jelenleg ismert ontológialeíró nyelvek nem kínálnak explicit eszközöket többnyelvű ontológiák készítéséhez, a többnyelvűséget rendszerint eredetileg egyéb célra szánt szerkezettel valósítják meg. A feladat során javaslatot teszünk a korábban kiválasztott ontológialeíró nyelv esetleges bővítésére (pl. UML esetében saját UML profil), vagy egy saját többnyelvűséget támogató struktúra kidolgozására, az 1. feladat eredményeinek függvényében. A feladat része továbbá a 2. feladat által javasolt fejlesztési módszertanok kiegészítése a többnyelvű ontológiák építésére vonatkozó részletek-kel.
4) feladat: A szoftvertermék megvalósítása
A többnyelvű ontológiaépítést támogató szoftvertermék megvalósítása magában foglalja a termék fejlesztését leginkább támogató agilis módszertan (pl. Scrum, XP, FDD) kiválasztását, a szoftverrel szemben támasztott követelmények meghatározását, a rendszer átfogó tervének elkészítését, a terv implementációját, a szoftver tesztelését és az ezt követő üzembe helyezését. Az agilis fejlesztési módszertan használata lehetővé teszi, hogy a 4. feladatot az 1-3. feladatokkal párhuzamosan lehessen elvégezni, azaz a fejlesztés alatt álló termék rugalmasan követi az ontológiák kutatásában elért eredményeket. A feladat eredményeként létrejövő termék alkalmas tartalomfejlesztést támogató többnyelvű ontológiák készítésére, valamint beépített eszközöket kínál az ezekhez legjobban illeszkedő módszertan követésére. A szoftvertermék magában foglalja a használatára vonatkozó részletes instrukciókat.
5) feladat: 2 mintaontológia elkészítése
Az adatbányászati és a meta-ontológia mintaontológiák és kapcsolt tananyagaik elkészítése.