20.11.2007modellierung von aspekte 1 seminar aosd modellierung von aspekten miao tang betreuer:...

35
20.11.2007 Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Upload: friederike-lorenz

Post on 06-Apr-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

20.11.2007 Modellierung von Aspekte 1

Seminar AOSD

Modellierung von Aspekten

Miao Tang

Betreuer: Dipl.-Inform. Dirk Wischermann

Page 2: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 220.11.2007

Agenda Einführung Erweiterung der UML

UML Erweiterung MechanismusEin UML Profil für ASOD

Modellierung von AspektenÜberlappen, Sub-Aspekt Konzept, Aspekt

Architektur, Concern DiagrammBeispiel Digital Sound Recorder

Zusammenfassung

Page 3: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 320.11.2007

1. EinführungTypischer Prozess der AOSD

Page 4: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 420.11.2007

Vorteile der Betrachtung der Aspekte in der Designphase

Dokumentation und Lernen frühere Erkennung und gesamte Vorstellung intuitiver verstehen und dokumentieren

Wiederverwendung von Aspekte Wiederverwendung der Informationen von Aspekten enfacher auch die automatische Codeerzeugung möglich

Roundtrip-Entwicklung schrittweise und iterative Entwicklung möglich

Page 5: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 520.11.2007

UMLWikipedia:

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.

Page 6: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 620.11.2007

2. Erweiterung der UML für AOSD UML Erweiterungsmechanismen

Hilfsmittel zur Erweiterung der UML für spezielle Anwendungsgebiete

Stereotypes

Tagged Values

Constraints

Page 7: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 720.11.2007

Stereotypes

abgeleitet von Elementen des UML Meta-Modells oder Standardelementen

definieren neue Typen von Modellelementen

Notation: «MyStereotype»

Page 8: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 820.11.2007

Tagged Values

Kombination aus Tag und Value speichern Informationen über Modellelemente

«stereotype»MyObject

{feature = ”SuperFeature”}

Page 9: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 920.11.2007

Constraints

wolldefinierte Regeln

in informeller Sprache, Pseudo-Code, OCL…

drücken neue Semantik aus

Page 10: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1020.11.2007

Eine Methode für AOSD

Aspekt → Classifier

Page 11: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1120.11.2007

Eine Methode für AOSD

Beziehungen → Abstraction Dependency

Page 12: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1220.11.2007

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

Page 13: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1320.11.2007

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.

Page 14: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1420.11.2007

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

Page 15: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1520.11.2007

AOSD Profile

Aspekte als Stereotyp von dem Classifier <<class>> definiert

Klassifizierung: asynchron: keine Wirkung auf Kernklasse synchron:

beeinflussen normaleweise das Verhalten der Kernklassen mit tagged value { synchronous } Operationen Preactivation und Postactivation müssen

definiert werden

Page 16: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1620.11.2007

AOSD Profile

Crosscutting-Konzept

Stereotyp <<crosscut>> für Assoziation

modelliert cross-cutting Beziehung, wo der Aspektcode die kern Komponenten „cross cuts“

nur gültig zwischen Aspekte bzw. Aspekt und Klassen

Page 17: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1720.11.2007

AOSD Profil ─ Beispiel Bounded Buffer Der Puffer hat eine begrenzte Kapazität, kann mehrere Lesen-Operationen handeln, während alle Schreiben-

Operationen 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.

Page 18: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1820.11.2007

AOSD Profil ─ Beispiel Bounded Buffer

Page 19: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 1920.11.2007

AOSD Profile

Dynamische Beschreibung mit UML Verhaltenspacket

Page 20: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2020.11.2007

3. Modellierung von AspektenWie 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.

Page 21: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2120.11.2007

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 Architekturentsteht durch die Komposition und gemeinsame Benutzung von Sub-Aspekten

Page 22: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2220.11.2007

Concern Diagramm Eine Erweiterung des UML Komponentendiagramms stellt Aspekt Architektur wird graphisch dar besteht aus Aspekte, Dependencies und Kollektionen

von Concerns

Page 23: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2320.11.2007

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.

Page 24: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2420.11.2007

Beispiel Digital Sound Recorder

Page 25: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2520.11.2007

Beispiel Digital Sound Recorder

Page 26: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2620.11.2007

Ü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.

Beispiel Digital Sound Recorder

Page 27: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2720.11.2007

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

Beispiel Digital Sound Recorder

Page 28: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2820.11.2007

Beispiel Digital Sound Recorder

Page 29: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 2920.11.2007

Beispiel Digital Sound Recorder

Page 30: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 3020.11.2007

Page 31: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 3120.11.2007

Beispiel Digital Sound Recorder

Page 32: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 3220.11.2007

Beispiel Digital Sound Recorder

Das Design des kompletten Systems wird erhalten, indem man alle Aspekte Concern-entsprechend komponiert.

Page 33: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 3320.11.2007

Vorteile des Aspekt Architektur Modells Es ist einfach, Anforderungen im Design zu verfolgen

gemeinsame Sub-Aspekte von verschiedenen Cross-cutting 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.

Page 34: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 3420.11.2007

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.uni-heidelberg.de/groups/comopt/teaching/uml/html/kapitel_4_800x600/sld001.htm

[6] Profile und Erweiterungsmechanismen: www3.informatik.uni-erlangen.de/Lehre/UML-Seminar/SS2003/vortrag6.pdf

Page 35: 20.11.2007Modellierung von Aspekte 1 Seminar AOSD Modellierung von Aspekten Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann

Modellierung von Aspekte 3520.11.2007

Danke!