220 likes | 362 Views
Jaroslav Šnajberk , Přemek Brada Katedra informatiky a výpočetní techniky Fakulta aplikovaných věd Západočeská univerzita v Plzni. Implementation of a Data Layer for Visualization of Component - Based Applications. Obsah. Proč a jak vizualizovat jinak
E N D
Jaroslav Šnajberk, Přemek Brada Katedra informatiky a výpočetní techniky Fakulta aplikovaných věd Západočeská univerzita v Plzni Implementationof a Data LayerforVisualizationofComponent-BasedApplications
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 ofInterest • 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 • 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ů • Klasifikacezaložena na popisu elementů • Vazby mezi elementy • Podporuje různé pohledy
ENT klasifikace OSGi: Import-Package: javax.servlet;version="2.4" Export-Package: org.osgi.web;version="1.2.0" • Arity = {single, multiple} • Kind = {operational, data} • Role = {provided, required, neutral} • … • E-N-T • Exports (Role = provided) • Needs (Role = required) • Ties (Role = provided;required)
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 ObjectFacility • 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 - model Bundle-Name: Bundle-Vendor: Bundle-SymbolicName: Bundle-Version: Require-Bundle: Export-Package: Import-package: org.osgi.web;version="1.2.0"
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 loaderuOSGibundelů
Futurework 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
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