1 / 35

Seminar AOSD Modellierung von Aspekten

Seminar AOSD Modellierung von Aspekten. Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann. 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

fausta
Télécharger la présentation

Seminar AOSD Modellierung von Aspekten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 Modellierung von Aspekte

  3. 1. Einführung Typischer Prozess der AOSD Modellierung von Aspekte

  4. 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 Modellierung von Aspekte

  5. 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. Modellierung von Aspekte

  6. 2. Erweiterung der UML für AOSD Modellierung von Aspekte • UML Erweiterungsmechanismen Hilfsmittel zur Erweiterung der UML für spezielle Anwendungsgebiete • Stereotypes • Tagged Values • Constraints

  7. Stereotypes • abgeleitet von Elementen des UML Meta-Modells oder Standardelementen • definieren neue Typen von Modellelementen • Notation: «MyStereotype» Modellierung von Aspekte

  8. «stereotype» MyObject {feature = ”SuperFeature”} Tagged Values • Kombination aus Tag und Value • speichern Informationen über Modellelemente Modellierung von Aspekte

  9. Constraints • wolldefinierte Regeln • in informeller Sprache, Pseudo-Code, OCL… • drücken neue Semantik aus Modellierung von Aspekte

  10. Eine Methode für AOSD • Aspekt → Classifier Modellierung von Aspekte

  11. Eine Methode für AOSD • Beziehungen → Abstraction Dependency Modellierung von Aspekte

  12. 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 –Aspektwerden spezifiziert Noch systematischer: UML Profil für AOSD Modellierung von Aspekte

  13. 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. Modellierung von Aspekte

  14. 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 Modellierung von Aspekte

  15. 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 Modellierung von Aspekte

  16. 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 Modellierung von Aspekte

  17. 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. Modellierung von Aspekte

  18. AOSD Profil ─ Beispiel Bounded Buffer Modellierung von Aspekte

  19. AOSD Profile • Dynamische Beschreibung mit UML Verhaltenspacket Modellierung von Aspekte

  20. 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. Modellierung von Aspekte

  21. 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 Modellierung von Aspekte

  22. Concern Diagramm • Eine Erweiterung des UML Komponentendiagramms • stellt Aspekt Architektur wird graphisch dar • besteht aus Aspekte, Dependencies und Kollektionen von Concerns Modellierung von Aspekte

  23. 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. Modellierung von Aspekte

  24. Beispiel Digital Sound Recorder Modellierung von Aspekte

  25. Beispiel Digital Sound Recorder Modellierung von Aspekte

  26. 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. Modellierung von Aspekte

  27. 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 Modellierung von Aspekte

  28. Beispiel Digital Sound Recorder Modellierung von Aspekte

  29. Beispiel Digital Sound Recorder Modellierung von Aspekte

  30. Modellierung von Aspekte

  31. Beispiel Digital Sound Recorder Modellierung von Aspekte

  32. Beispiel Digital Sound Recorder Das Design des kompletten Systems wird erhalten, indem man alle Aspekte Concern-entsprechend komponiert. Modellierung von Aspekte

  33. 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. Modellierung von Aspekte

  34. 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 Modellierung von Aspekte

  35. Danke! Modellierung von Aspekte

More Related