3D UML je dlhodobý projekt vyvíjaný na Fakulte informatiky a informačných technológií, ktorý sa venuje premietnutiu súčasných, v praxi významne využívaných, UML diagramov do 3D priestoru.
3D priestor sme sa pokúsili virtualizovať umiestnením tzv. úrovní (Layerov), ktoré budú obsahovať jednotlivé diagramy, ktorých elementy môžu byť medzi sebou (aj medziúrovňovo) prepojené.
Takéto prepojenie pritom, nemusí byť len medzi diagramami rovnakého typu. Ak je napríklad na najvyššej vrstve modelovaný diagram aktivít, prenášajúci nejaký objekt, tak typ a podrobnú špecifikáciu daného objektu môžeme reprezentovať prepojením na diagram tried modelovaný na nižšej úrovni modelu. Podobné prepojenia je možné vytvoriť aj dnes, no diagramy sú potom buď príliš rozsiahle a neprehľadné, alebo sú prepojenia málo viditeľné.
Naše riešenie je postavené na integrácií na metamodel UML tak, aby boli diagramy priamo importovateľné, resp. exportovateľné do iného nástroja, ako napríklad Enterprise Architect. Prototyp je implementovaný v jazyku C++ a jeho špecifickej grafickej knižnici OGRE, pričom je postavený na základnom návrhovom vzore MVC.
V dátovom úložisku, teda modely, pritom ukladáme páry objektov. Každý namodelovaný objekt sa skladá z metamodelovej špecifikácie (táto špecifikuje závislosti a obmedzenia podľa UML 2.5) a takzvanej grafickej zložky, ktorá nesie všetky atribúty elementu pri vykresľovaní (teda napríklad pozíciu, šírku etc..). Špecifický dôraz sme v projekte venovali implementácií tzv. Structured Activity Nodes, čo sú obdobné prvky ku fragmentom v sekvenčnom diagrame. Ide špecificky o uzly Loop, Sequence a Condition.
V rámci nášho projektu sme sa snažili vytvoriť prototyp CASE nástroja špecificky na tvorbu 3D diagramov aktivít. Okrem zlepšených možností prehľadnosti diagramov, sa pokúsime preskúmať aj možnosti zlepšenia ovládateľnosti pri samotnom modelovaní. V rámci projektu, sa tak pokúšame virtuálne 3D (teda zobrazenie na 2D obrazovky ) integrovať do 3D zobrazenia tak, aby mohol byť náš prototyp zobrazovaný spolu s 3D okuliarmi na 3D monitoroch, prípadne 3D projektore. Jednou z výziev projektu je integrácia ovládania pomocou 3D myši, či Leap Motion… teda pomocou gest vytváraných v priestore.
Tím 3D UML