1
Implementation of a Data Layer for Visualization of Component-Based Applications
Jaroslav Šnajberk, Přemek BradaKatedra informatiky a výpočetní technikyFakulta aplikovaných vědZápadočeská univerzita v Plzni
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
2
Obsah
>Proč a jak vizualizovat jinak>Seznámení s ENT metamodelem>Popis vytvoření ENTu pomocí MOF> Implementace v EMF>Verifikace implementace
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
3
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
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
4
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
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
5
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
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
6
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ů> Klasifikace založena na popisu elementů> Vazby mezi elementy> Podporuje různé pohledy
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
7
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"
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
8
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
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
9
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)
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
10
Model ENTu v MOF - klasifikace
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
11
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"
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
12
Model ENTu v MOF - aplikace
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
13
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í
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
14
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);
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
15
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ů
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
16
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
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
17
Ukázka využití datové vrstvy
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
18
Ukázka využití datové vrstvy
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
19
Ukázka využití datové vrstvy
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
20
Ukázka využití datové vrstvy
Jaroslav Šnajberk, Přemek BradaImplementation of a Data Layer for Visualization of Component-Based Applications
21
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
22
Děkuji za pozornost.