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

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Vorgehensmodell - Wasserfallmodell
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
IT-Projektmanagement
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Sequenzdiagramm.
On a Buzzword: Hierachical Structure David Parnas.
RUP-Elemente (Schlüsselkonzepte)
Seminar “Kognitionspsychologie meets Ethnologie” SS 2007
Java: Dynamische Datentypen
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Modellierung komplexer Realität mit Objekten
Explizite und editierbare Metainformationen für Software Muster.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Entwicklung verteilter eingebetteter Systeme - Einführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Unified Modeling Language Repetition / Einführung zu UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
UML-Kurzüberblick Peter Brusten.
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Informatik und Programmieren 3
Objectives Verstehen was unterDelegate verstanden wird
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Untersuchungen zur Erstellung eines
Objektorientierte Modellierung mit UML
Rational Unified Process
Klassen und Klassenstruktur
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
Unified Modeling Language UML
Windows Interface Guidelines for Software Design1 The Windows Interface Guidelines for Software Design.
Software Engineering Strukturierte Analyse
Vortrag - Diplomarbeiten (HS I)
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Modellierung der Wirklichkeit
Seminar Modellgetriebene Softwareentwicklung Thema 3: Metamodelle – MOF Michél Rieser Prof. Dr.-Ing. habil. Georg Paul
Sichtbarkeit einschränken
Wie definiere ich meine Prozesse?
Objektorientierte (OO) Programmierung
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
C++ FÜR cOMPUTERSPIELENTWICKLER
Einführung DI Harald Sander.
Aspect-Oriented Programming: Fad or the Future
Methodische Grundlagen des Software-Engineering
 Präsentation transkript:

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

Modellierung von Aspekte 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 Einführung Typischer Prozess der AOSD

Modellierung von Aspekte 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 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 Erweiterung der UML für AOSD UML Erweiterungsmechanismen Hilfsmittel zur Erweiterung der UML für spezielle Anwendungsgebiete  Stereotypes  Tagged Values  Constraints

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

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

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

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

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

Modellierung von Aspekte Eine Methode für AOSD Woven Klassen → neue Stereotyp > des Modellelementes Class  Entsteht aus Aspekte und Klassen durch Aspekt- Weaver  Quelle-Klasse und –Aspekt werden spezifiziert Noch systematischer: UML Profil für AOSD

Modellierung von Aspekte 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 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 AOSD Profile Aspekte als Stereotyp von dem Classifier > 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 AOSD Profile Crosscutting-Konzept  Stereotyp > 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 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 AOSD Profil ─ Beispiel Bounded Buffer

Modellierung von Aspekte AOSD Profile Dynamische Beschreibung mit UML Verhaltenspacket

Modellierung von Aspekte 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 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 Concern Diagramm Eine Erweiterung des UML Komponentendiagramms stellt Aspekt Architektur wird graphisch dar besteht aus Aspekte, Dependencies und Kollektionen von Concerns

Modellierung von Aspekte 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 Beispiel Digital Sound Recorder

Modellierung von Aspekte Beispiel Digital Sound Recorder

Modellierung von Aspekte Ü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

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

Modellierung von Aspekte Beispiel Digital Sound Recorder

Modellierung von Aspekte Beispiel Digital Sound Recorder

Modellierung von Aspekte

Modellierung von Aspekte Beispiel Digital Sound Recorder

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

Modellierung von Aspekte 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 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] [5] Das UML Meta-modell: 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 Danke!