Implementation of a Data Layer for Visualization of Component-Based Applications Jaroslav Šnajberk, Přemek Brada Katedra informatiky a výpočetní techniky Fakulta aplikovaných věd Západočeská univerzita v Plzni
Obsah Proč a jak vizualizovat jinak Seznámení s ENT metamodelem Popis vytvoření ENTu pomocí MOF Implementace v EMF Verifikace implementace
Proč vizualizovat jinak Velké množství komponentových modelů Obecná vizualizace (UML) Málo informací Nelze modelovat specifika některých modelů Specifická vizualizace Použitelná pouze pro jeden komponentový model Nepřehlednost
Návrh dynamické vizualizace Inicializovat vizualizaci pro určitý komponentový model Snadné vytvoření popisu modelu Využití popisu pro model aplikace Zobrazovat jen Area of Interest Skupiny vlastností Dodatečné informace Interakce modelu s uživatelem
Požadavky na datovou vrstvu Popis komponentového modelu Základní popis Rozdělení elementů do skupin + klasifikace Tvorba vlastních parametrů Popis aplikace Popis komponent a jejich elementů Popis vztahů mezi komponentami
ENT meta-model Vytvořen na ZČU Primárně vytvořen k popisu komponent Rozšířen, aby odpovídal požadavkům Primárně vytvořen k popisu komponent Konkrétní vazby mezi modelem a aplikací Rozšiřitelnost pomocí tagů Klasifikace založena na popisu elementů Vazby mezi elementy Podporuje různé pohledy
ENT klasifikace Arity = {single, multiple} Kind = {operational, data} Role = {provided, required, neutral} … E-N-T Exports (Role = provided) Needs (Role = required) Ties (Role = provided;required) OSGi: Import-Package: javax.servlet;version="2.4" Export-Package: org.osgi.web;version="1.2.0"
ENT struktura komponenty Element Stavebním kamenem rozhraní komponenty Rozhraní, událost, atribut, … Trait Seskupuje elementy Klasifikuje elementy Komponenta Obsahuje skupinu traitů Traity definovány na úrovni komponentového modelu
MOF Meta Object Facility Jde o meta-meta-model Umožňuje modelovat další MMM Model v MOF = class diagram v UML Ilustrace 4 úrovní dle MOF (zdroj: wikipedia.org)
Model ENTu v MOF - klasifikace
Model ENTu v MOF - model Bundle-Name: Bundle-Vendor: Bundle-SymbolicName: Bundle-Version: Require-Bundle: Export-Package: Import-package: org.osgi.web;version="1.2.0"
Model ENTu v MOF - aplikace
Implementace v EMF Eclipse Modeling Framework Běžně se používá při DSM Množství pokročilých funkcí Generování modelu i editoru modelu 1) Vytvoření class diagramu meta-modelu 2) Import do EMF formátu 3) Nastavení preferencí generátoru 4) Vygenerování
Práce s vygenerovanými nástroji GUI umí Vytvořit nové elementy Editovat vlastnosti Nastavovat provázanost GUI pracuje nad XML Možné snadno načíst Resource res = resSet.getResource(URI.createURI(„sofa“),true); model = (ComponentModel)res.getContents().get(0);
Verifikace řešení Verifikace použitím v praxi Neúplná Dostačující Implementace modelů – OSGi, EJB, CORBA, SOFA, CoSi, MVE Implementace loaderu OSGi bundelů
Future work Vytvoření loaderů pro širší skupinu komponentových modelů Vytvoření vizualizačního nástroje využívajícího ENT meta-modelu Možnost rozšíření modelu aplikace Generování kódu z modelu aplikace
Ukázka využití datové vrstvy
Ukázka využití datové vrstvy
Ukázka využití datové vrstvy
Ukázka využití datové vrstvy
Závěr Implementovaná datová vrstva Podporuje libovolný komponentový model Přenositelnost díky XML Použitelnost této vrstvy byla verifikována Na využití při vizualizaci se pracuje
Děkuji za pozornost.