Seminar AOSD Modellierung von Aspekten

Download Report

Transcript Seminar AOSD Modellierung von Aspekten

Seminar AOSD
Modellierung von Aspekten
Miao Tang
Betreuer: Dipl.-Inform. Dirk Wischermann
20.11.2007
Modellierung von Aspekte
1
Agenda
Einführung
 Erweiterung der UML

 UML
Erweiterung Mechanismus
 Ein UML Profil für ASOD

Modellierung von Aspekten
 Überlappen,
Sub-Aspekt Konzept, Aspekt
Architektur, Concern Diagramm
 Beispiel Digital Sound Recorder

Zusammenfassung
20.11.2007
Modellierung von Aspekte
2
1. Einführung
Typischer Prozess der AOSD
20.11.2007
Modellierung von Aspekte
3
Vorteile der Betrachtung der Aspekte in
der Designphase

Dokumentation und Lernen



Wiederverwendung von Aspekte



frühere Erkennung und gesamte Vorstellung
intuitiver verstehen und dokumentieren
Wiederverwendung der Informationen von Aspekten enfacher
auch die automatische Codeerzeugung möglich
Roundtrip-Entwicklung

20.11.2007
schrittweise und iterative Entwicklung möglich
Modellierung von Aspekte
4
UML
Wikipedia:
Die UML( Unified Modeling Language) ist eine von der
Object Management Group (OMG) entwickelte und
standardisierte Sprache für die Modellierung von
Software und anderen Systemen.

6 Strukturdiagramme und 7 Verhaltensdiagramme

4 Schichten Architektur: Meta-Metamodell, Metamodell,
Modell und Benutzer Objekte

Zur Beschreibung der Semantik von UML wird ein
Metamodell benutzt.
20.11.2007
Modellierung von Aspekte
5
2. Erweiterung der UML für AOSD

UML Erweiterungsmechanismen
Hilfsmittel zur Erweiterung der UML für spezielle
Anwendungsgebiete
 Stereotypes
 Tagged
Values
 Constraints
20.11.2007
Modellierung von Aspekte
6
Stereotypes

abgeleitet von Elementen des UML MetaModells oder Standardelementen

definieren neue Typen von Modellelementen

Notation: «MyStereotype»
20.11.2007
Modellierung von Aspekte
7
Tagged Values


Kombination aus Tag und Value
speichern Informationen über Modellelemente
«stereotype»
MyObject
{feature = ”SuperFeature”}
20.11.2007
Modellierung von Aspekte
8
Constraints

wolldefinierte Regeln

in informeller Sprache, Pseudo-Code,
OCL…

drücken neue Semantik aus
20.11.2007
Modellierung von Aspekte
9
Eine Methode für AOSD

Aspekt → Classifier
20.11.2007
Modellierung von Aspekte
10
Eine Methode für AOSD

Beziehungen → Abstraction Dependency
20.11.2007
Modellierung von Aspekte
11
Eine Methode für AOSD

Woven Klassen → neue Stereotyp <<woven class>>
des Modellelementes Class
 Entsteht
aus Aspekte und Klassen durch Aspekt-
Weaver
 Quelle-Klasse
und –Aspekt werden spezifiziert
Noch systematischer: UML Profil für AOSD
20.11.2007
Modellierung von Aspekte
12
UML Profil

“A UML Profile is a predefined set of Stereotypes,
TaggedValues, Constraints, and notation icons that
collectively specialize and tailor the UML for a specific
domain or process (e.g., Unified Process profile).
A profile does not extend UML by adding any new basic
concepts. Instead, it provides conventions for applying
and specializing standard UML to a particular
environment or domain.”

als Paket mit dem Schlüsselwort «profile» dargestellt,
im allgemein auf Pakete angewendet.

20.11.2007
Modellierung von Aspekte
13
UML Profil für AOSD

soll die Fähigkeit haben, Aspekte, kernfunktionale
Klassen und die Assoziationen dazwischen zu
präsentieren

soll die Struktur und das Verhalten von dieser Elementen
beschreiben können
20.11.2007
Modellierung von Aspekte
14
AOSD Profile

Aspekte
als Stereotyp von dem Classifier <<class>> definiert
Klassifizierung:
 asynchron:
keine Wirkung auf Kernklasse
 synchron:



20.11.2007
beeinflussen normaleweise das Verhalten der Kernklassen
mit tagged value { synchronous }
Operationen Preactivation und Postactivation müssen
definiert werden
Modellierung von Aspekte
15
AOSD Profile

Crosscutting-Konzept
 Stereotyp
<<crosscut>> für Assoziation
 modelliert
cross-cutting Beziehung, wo der
Aspektcode die kern Komponenten „cross cuts“
 nur
20.11.2007
gültig zwischen Aspekte bzw. Aspekt und Klassen
Modellierung von Aspekte
16
AOSD Profil ─ Beispiel Bounded Buffer


Der Puffer hat eine begrenzte Kapazität,
kann mehrere Lesen-Operationen handeln, während alle SchreibenOperationen in der Warteschlange stehen

Bei einer Schreiben-Operation werden alle andere Operationen
blockiert, bis die Schreiben-Operation fertig ist.

Der Service Synchronisation kontrolliert den Zugang zu dem Puffer,
z.B. eine Put- Methode ist nur erlaubt wenn der Puffer im Zstand
EMPTY ist.

Der Service Scheduling führt bestimmte Zugangsanforderung
durch, z.B. nur ein Schreiber hat zu einem bestimmten Zeitpunkt
den Zugang zu dem Puffer.

Synchronisation und Scheduling sind die croscutting Anforderungen
und können als Aspekte modelliert werden.
20.11.2007
Modellierung von Aspekte
17
AOSD Profil ─ Beispiel Bounded Buffer
20.11.2007
Modellierung von Aspekte
18
AOSD Profile

Dynamische Beschreibung
mit UML Verhaltenspacket
20.11.2007
Modellierung von Aspekte
19
3. Modellierung von Aspekten
Wie Aspekte selbe modularisiert werden können?
Ein System hat zwei Concerns:
 Sicherheit der Key-Variablen: verschlüsselt und entschlüsselt einige
Variabelenwerte an den empfindlichen Punkten
 Verhindern des Überlaufs der Variablenwerte: überprüft im voraus,
ob die erforderlichen Datenmanipulationen innerhalb eines
festgelegten Bereiches bleiben.
→Überlappen
Aspekte in feinere Granularitäten zerlegen und frei
kombinieren.
20.11.2007
Modellierung von Aspekte
20
Sub-Aspekt, Aspekt Architektur

Concern: „matter of interest“ ,kann durch einen oder
mehrere Aspekte behandelt werden.

Sub-Aspekte
 mehr als ein Aspekt ein Concern realisieren
 normaleweise von mehr als einem Concern benutzt
 können unter Umstände zusammen einen
zusammengesetzten Aspekt bauen, der zu einem
einzigen Concern passt

Aspekt Architektur
entsteht durch die Komposition und gemeinsame
Benutzung von Sub-Aspekten
20.11.2007
Modellierung von Aspekte
21
Concern Diagramm



Eine Erweiterung des UML Komponentendiagramms
stellt Aspekt Architektur wird graphisch dar
besteht aus Aspekte, Dependencies und Kollektionen
von Concerns
20.11.2007
Modellierung von Aspekte
22
Beispiel Digital Sound Recorder
ein kleines eingebettetes Gerät
 mit Funktionen Aufnahme, Wiedergebe
und Löschen von Messages und als
Alarmuhr
 Die Hardware setzt sich zusammen aus
Mikrofon, Lautsprecher, Display, einfache
Tastatur, Uhr und Batterie.

20.11.2007
Modellierung von Aspekte
23
Beispiel Digital Sound Recorder
20.11.2007
Modellierung von Aspekte
24
Beispiel Digital Sound Recorder
20.11.2007
Modellierung von Aspekte
25
Beispiel Digital Sound Recorder
Überlappen :

Die Subsysteme, die die Speicherung und das Aufruf der
der Messages erledigen, verwenden die gleiche Klasse
aber die unterschiedliche Operationen in der Klasse.

In dem Subsystem Userinterface, nicht nur die gleiche
Klasse, sondern auch die gleiche Operationen werden
benutzt.

In der beiden Zustandsdiagramme für AudioController
Klasse gibt es den gleichen Zustand Idle.
20.11.2007
Modellierung von Aspekte
26
Beispiel Digital Sound Recorder
Remodularisierung

bottom-up: Einige fundamentale Klassen können
identifiziert werden, z.B. Userinterface und
AudioController

top-down: Offensichtlich gibt es drei Concerns:
Recording, Playing, und Alarmclock
20.11.2007
Modellierung von Aspekte
27
Beispiel Digital Sound Recorder
20.11.2007
Modellierung von Aspekte
28
Beispiel Digital Sound Recorder
20.11.2007
Modellierung von Aspekte
29
20.11.2007
Modellierung von Aspekte
30
Beispiel Digital Sound Recorder
20.11.2007
Modellierung von Aspekte
31
Beispiel Digital Sound Recorder
Das Design des kompletten Systems wird erhalten, indem
man alle Aspekte Concern-entsprechend komponiert.
20.11.2007
Modellierung von Aspekte
32
Vorteile des Aspekt Architektur Modells

Es ist einfach, Anforderungen im Design zu verfolgen

gemeinsame Sub-Aspekte von verschiedenen Crosscutting Concerns explizit dargestellt
→bei der Änderung die Auswirkung besser erkennbar

„Mix-and-match“ von Eigenschaften, um
unterschiedlichen Members der Softwarefamilie
anzupassen, ist realisierbar

Das Concern Diagramm kann benutzt werden, um
Teams, die an unterschiedlichen Concerns arbeiten, zu
koordinieren.
20.11.2007
Modellierung von Aspekte
33
Zusammenfassung
Quellen






[1] Junichi Suzuki, Yoshikazu Yamamoto: Extending UML with Aspects:
Aspect Support in the Design Phase
[2] Omar Aldawud, Tzilla Elrad, Atef Bader: UML Profile for aspect-oriented
software development
[3] Mika Katara, Shmuel Katz : Architectural Views of Aspects
[4] http://de.wikipedia.org/wiki/
[5] Das UML Meta-modell: http://www.iwr.uniheidelberg.de/groups/comopt/teaching/uml/html/kapitel_4_800x600/sld001.
htm
[6] Profile und Erweiterungsmechanismen: www3.informatik.unierlangen.de/Lehre/UML-Seminar/SS2003/vortrag6.pdf
20.11.2007
Modellierung von Aspekte
34
Danke!
20.11.2007
Modellierung von Aspekte
35