Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von."—  Präsentation transkript:

1 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von Alexander Höck

2 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 2 Inhalt l Flexi Beans l FreEvolve

3 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 3 JavaBeans - Schwächen l Kommunikation nur via Events l Unterscheidung Absender l Keine integrierte Remote-Unterstützung

4 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 4 FlexiBeans: Überblick l Anpassung von JavaBeans l Ziel: Benötigte Änderungen bzgl. FreEvolve l Schnittstellen werden Ports genannt l Erweiterung um die Punkte: uShared Variable Interaction uPort Names ( Absenderunterscheidung) uRemote Interaction

5 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 5 FlexiBeans: Shared Variable Interaction (1) l Realisiert als Objekte l Zugriff über Interface l Methoden für Datenzugriff (z.B. getValue/setValue) Component AComponent B Interface Component AComponent B Shared Object Interface l Möglich: Implementation des Interface durch eine Komponente

6 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 6 FlexiBeans: Shared Variable Interaction (2) l Eine Komponente muss uShared Object instanzieren ubietet Port zum Holen des Objekts uKonvention: l Andere Komponenten ubietet Port zum Setzen und Vergessen des Objekts uKonvention: public getShared _ (); public setShared _ ( o); public forgetShared ( o);

7 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 7 FlexiBeans: Shared Variable Interaction (3) l Problem: Multithreading Komponente A Komponente B Shared Object Zeit 23 read set(24) 24 (statt 25)

8 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 8 FlexiBeans: Java Events l ähnlich wie bei JavaBeans l Kontrollfluss wird an Empfänger übergeben l zusätzlich zu JavaBeans: Benannte Ports umehrere Envent-Listener vom selben Typ

9 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 9 FlexiBeans: Remote Interaction l Realisation via Java RMI l Folgen: uEvent-Quelle muss RemoteException abfangen uEmpfänger muss die Klasse UnicastRemoteObject erweitern

10 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 10 FreEvolve: Eigenschaften l Komponentenbasiert l Anpassungen zur Laufzeit möglich l Client- / Server-Architektur

11 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 11 FreEvolve: Anwendungen l Anwendungen bestehen aus: uFlexiBeans Komponenten l Anwendungen werden definiert durch: uClient-CAT uServer-CAT uRemote bind Dateien uDCAT Dateien uBenutzertabelle

12 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 12 FreEvolve: CAT i_component Package.ComboBox{ required Werteliste RemoteList sharedObject; provided ValueChanged RemoteActionListener event; config_parameter Pos int; config_parameter Width int; } l Atomare Komponente i_component: a_component Auswahl{ required Werteliste RemoteList sharedObject; provided ExitEvent RemoteActionListener event; subcomponent feld Package.ComboBox{ Pos := 100; Width := 200; } bind Werteliste - feld.Werteliste; bind ExitEvent – feld.CalueChanged; } l Komplexe Komponente a_component / s_component:

13 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 13 FreEvolve: CAT Komponente 1Komponente 2 X required provided

14 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 14 FreEvolve: Client-/Server-CAT(1) l Strukturbeschreibung Client-Seite der Anwendung l Listet die verwendeten FlexiBeans (als i_component) l Definiert (mindestens eine) komplexe Komponente l Bei Server-CAT: keine sichtbaren Komponenten

15 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 15 FreEvolve: Client-/Server-CAT(2) i_component Package.ComboBox{ required Werteliste RemoteList sharedObject; provided ValueChanged RemoteActionListener event; config_parameter Pos int; config_parameter Width int; } l FlexiBean als i_component: a_component Auswahl{ required Werteliste RemoteList sharedObject; provided ExitEvent RemoteActionListener event; subcomponent feld Package.ComboBox{ Pos := 100; Width := 200; } bind Werteliste - feld.Werteliste; bind ExitEvent – feld.CalueChanged; } l Komposition als a_component:

16 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 16 FreEvolve: Remote Binds l Spezifikation, wie zwei CATs verbunden sind. l Normalerweise: Verbindung von Client- & Server-CAT l Notwendig weil: umehrere Ports von einem Typ möglich uunverbundene Ports möglich l Format: rbind PortXYZVonTypABC – PortZYXVonTypABC;

17 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 17 FreEvolve: DCAT l die genannten Definitionen zusammenfügen s_component Anwendung{ subcomponent anwendungsClient ClientCAT LOCAL; subcomponent anwendungsServer ServerCAT SERVER; bind anwendungsClient anwendungsServer remoteBindDatei; }; l hier: Client / Server l andere Konstellationen auch beschreibbar

18 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 18 FreEvolve: Benutzerverwaltung l Berechtigungen uje DCAT-Datei uje Beutzer l Menüstruktur von FreEvolve Plattform erstellt

19 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 19 FreEvolve: Zusammenspiel Benutzer A DCAT1 B DCAT1 A DCAT2 C DCAT3 DCAT CAT1 CAT2 CATA Server CAT FelxiBean1 Remote Bind... Client CAT FlexiBean1 FlexiBean2 Class Files FlexiBean1 FlexiBean2

20 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 20 FreEvolve: Anpassungs-API l zur Laufzeit möglich l von jeder Stelle im Netzwerk/Internet l Verschiedene Möglichkeiten: udirekt über API uaus der Anwendung uüber 3D-User-Interface uüber Agenten

21 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 21 FreeVolve: Anpassung zur Laufzeit l Durch Proxy-Objekte vereinfacht Komponente 1 Komponente 2 Proxy Komponente 3 l Problematisch: Feste Objektreferenzen

22 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 22 FreEvolve: Struktur

23 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 23 Zusammenfassung l FlexiBeans: uErweiterung von JavaBeans uShared Objects uRMI l FreEvolve: uClient- / Server-Architektur uKomponentenbasiert (FlexiBeans) uAnpassungen zur Laufzeit uElegante Möglichkeiten zur Anpassung (3D, Agenten, 2D,...)

24 Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 24 Quellen l Stiemerling, Oliver: Component-Based Tailorability (Dissertation) l Hinken, Ralph: Verteilte komponentenbasierte Anpassbarkeit für Groupware (Diplomarbeit) l O. Stiemerling, P. Constanza, A.B. Cremers: Object Identity and Dynamic Recomposition of Components l http://www.freevolve.org


Herunterladen ppt "Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von."

Ähnliche Präsentationen


Google-Anzeigen