eingebetteter Systeme

Größe: px
Ab Seite anzeigen:

Download "eingebetteter Systeme"

Transkript

1 im WiSe 2010/11 Entwicklung verteilter eingebetteter Systeme Prof. Dr. Joachim Fischer Dipl.-Inf. Ingmar Eveslage Dipl.-Inf. Frank Kühnlenz fischer eveslage 5.1

2 3. Grundlagen der Systemmodellierung 1. Systemsimulation was ist das? 2. Ein Blick zurück in die Anfänge 3. Modelle und Originale 4. Modellierungssprachen, Simulationsumgebungen g 5. Klassifikation dynamischer Systeme

3 Zustandsänderungen (Prinzip) Sei Z n-dimensionaler Zustandsvektor (Zustand z = Belegung von Z), der Zustandsgrößen eines (Teil-)Systems S zu diesem Zeitpunkt beschreibt der (neue) Zustand ergibt sich aus dem bisherigen (aktuellen) Zustand bei Berücksichtigung von Zuwachs und Reduktion (negativer Zuwachs) für die Zustandsgrößen im betrachteten Zeitraum des Zustandswechsels ausgehend von einem ausgezeichneten Anfangszustand z 0 Zeit t 0 t 1 t 2 t 3 z 0 z 1 z 2 z 3 Zustandsentwicklung in Abhängigkeit der Zeit S X Eingabe X Zuwachs im Zeitintervall (t k, t k+1 ] z 0 Z Änderung des Zustandsvektors Z im Zeitintervall [t k, t k+1 ] in Abhängigkeit von x(t k+1 ), z(t k ) g f f Zustandsübergangsfunktion, g - Ausgabefunktion Y Ausgabe Y äußere Reaktion des Systems auf die Eingabe im Zeitintervall (t k, t k+1 ] 5.3

4 Allgemeine (Teil-)Systemdefinition dient mehr der Klassifikation von Verhaltensmodellen X S Z f g Y S= (Z, z 0, X, Y, f, g, time) Z Menge der möglichen Zustände z 0 Z Anfangszustand X Menge der möglichen Eingaben Y Menge der möglichen Ausgaben time Zeitbasis als (T, <=, t 0 ) mit Menge möglicher Zeitpunkte T, einer Ordnungsrelation <= und einem minimalen Element t 0 f Z x X x T --> Z als Zustandsübergangsfunktion g Z x X x T --> Y als Ausgabefunktion 5.4

5 Arten von Zustandsänderungen zeitkontinuierliche Zustandsänderung stückweise stetige Funktionen zeitdiskrete Zustandsänderung Polygonzug Treppenfunktionen z (t)= f (z(t), x(t), t) mit z(t) () Z, x(t) X, t TT Differentialgleichungen t t z(t n+1 )= f (z(t n ), x(t n+1 ), t n+1 ) mit z(t n ) Z, x(t n+1 ) X, t n+1 T t numerische Lösungsverfahren Differenzengleichungen zelluläre Automaten Ereignissimulationen Prozesssimulation 5.5

6 Klassifizierung von Modellen und Simulationsverfahren Modell Simulator- Hardware Simulator- Software 5.6

7 Erdbebenfrühwarnsystem GFZ Potsdam HU Berlin Internet Ataköy Istanbul Kandilli Istanbul GIS reales bzw. gedachtes Phänomen Experiment- Management- System Sonderfall: Modell und Original- Teile liegen als Software vor Ausführungs- Modell im Speicher Simulator Ziel formales mathematisches Simulationsmodell informales /semiformales Systemmodell Zielcode: C++, OpenWRT, Boost Modell: SDL,UML,ASN.1 5.7

8 SOSEWIN Hardware, Software source - battery with solar cell - grid Ataköy It Istanbul bl Wrap-Board 32-bit Processor (AMD Geode) 233 MHz 128 MB RAM 1024 MB Flash 2 x 54 Mb/s Transceiver Linux OS (sensor drivers) Application Layer + Early Warning Service + Middleware Layer Communication Layer SOSEWIN Node... SOSEWIN Node 5.8

9 Traditional Software Development Informal Concepts, Ideas C++ Binary Application Layer Early Warning Service Sensor Data Retrieval Service Management Administration Services Middleware Layer Network Status Service Notification Service Software Deployment Service Time Synchronisation Service Monitoring Service Communication Layer Point-to-Point Communition Mulicast Communication External Communcation SOSEWIN Node SOSEWIN Node SOSEWIN Node SOSEWIN Node External Node test of a single node is not sufficient and of a complete system problematic 5.9

10 Our Model-Driven Approach unser nächstes Kapitel Informal Concepts, Ideas UML ASN.1 SDL Net topology, Simulation EarthquakeEventt C++ Binary* Simulation Lib C++ Binary Runtime Lib Application Layer Early Warning Service Sensor Data Retrieval Service Management Administration Services Middleware Layer Network Status Service Notification Service Software Deployment Service Time Synchronisation Service Monitoring Service Communication Layer Point-to-Point Communition Mulicast Communication External Communcation SOSEWIN Node SOSEWIN Node SOSEWIN Node SOSEWIN Node External Node simulation of a complete system simplifies testing 5.10

11 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. Diagrammarten 4. Diagrammrepräsentationen in UML 5. Struktur des UML-Standards

12 Die Vorläuferkonzepte von UML Formale Techniken OO- Konzepte, Modellierung Programm. Management Hoare CSP Hoare-logic Milner CCS Jones VDM Norwegian Computing Center SIMULA (Nygaard, Dahl) FORTRAN Algol C Pascal COBOL ER-model LOTOS (ISO) SDL-88 Microsoft Windows Xerox PARC SmallTalk (Kay) OOA(Yourdon) Apple MacIntosh Bell Labs C++ OODB SQL Corba Broy/Stølen Focus SDL-92 (ITU) SDL-2000 (ITU) ROOM MSC-92 (ITU) (Objectime) Objectory (Jacobsson) Booch OMT (Rumbaugh) UML 1.x (Rational/OMG) Sun JAVA ASM (Gurevich) MSC-2000 (ITU) UML 2.0 (OMG) EJB Web services 5.12

13 UML-Charakterisierung (Zusammenfassung) ist eine Notation/Sprache, keine Methode, Framework für UML-ähnliche Modellierungssprachen abstrahiert von architekturellen Vorgaben, Design- und Implementierungs-Styles, Technologien (Software, Hardware, Infrastrukturen,...), Entwicklungsprozessen standardisiert Begriffswelt (Modellierungskonzepte), Semantik (Bedeutung der Modellierungskonzepte), visuelle Darstellung (Notation der Modellierungskonzepte) führt Ideen verschiedener Techniken zusammen Booch, OMT, Jacobsson, ROOM, SDL, EDOC, MSC, Component Based Modeling,

14 Nutzen/Ziele des UML-Einsatzes Blueprint für die Softwareentwicklung hilft Nutzern, Entwicklern und Kunden bei der Kommunikation Anforderungen, Designvorgaben, Deployment-Constraints etc. mittels UML-Modellen festlegbar bietet Konzepte zur nachvollziehbaren Modellierung ( Tracebility ) vom initialen Geschäftsmodell bis zum einsetzbaren System zentrale Bibliothek für Wissen und Erfahrungen in Form von Modellen (Wiederverwendbarkeit) Verbesserung der Softwarequalität langfristige g Kostenreduzierung Flexibilität für schnelle technische und geschäftliche Änderungen aufgrund der Anwendbarkeit im gesamten Entwicklungsprozess große und komplexe Softwaresysteme erfordern sorgfältiges Design 5.14

15 Die UML Wenn die Sprache nicht stimmt, ist das was gesagt g wird, nicht das, was gemeint ist. (Konfuzius) UML = Unified Modeling Language ist zunächst Standardsprache (der OMG) zur Visualisierung, Spezifikation, Konstruktion und Dokumentation komplexer Softwaresysteme kombiniert Konzepte der Objektorientierten Modellierung Datenmodellierung (Entity-Relationship-Diagramme) Business-Modellierung (Work Flows) Komponentenmodellierung Verhaltensmodellierung (Erweiterte Zustandsautomaten)... UML-Modelle sind in erster Linie graphische Repräsentationen in Form von Diagrammen 5.15

16 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. Diagrammarten 4. Diagrammrepräsentationen in UML 5. Struktur des UML-Standards

17 UML-Modell Definition aus dem Standard A model captures a view of a physical system. It is an abstraction ti of the physical system, with a certain purpose. This purpose determines what is to be included in the model and what is irrelevant. Thus the model completely describes those aspects of the physical system that are relevant to the purpose of the model, at the appropriate level of detail. Modelliere nicht so detailliert wie möglich, sondern so detailliert wie nötig! 5.17

18 UML-Grundkonzepte UML-Modellbausteine Dinge/Enititäten (im Sinne von Abstraktionen) Beziehungen zwischen den Entitäten Diagramme zur Anordnung von Entitäten Regeln zur Komposition der Modellbausteine (später) universelle Mechanismen, gültig für gesamte Sprache (später) 5.18

19 Vier Arten von Modellierungselementen/Entitäten nämlich zur Bildung von Strukturen Beschreibung von Verhalten Bildung von Gruppierungen von Entitäten Formulierung von Anmerkungen damit lassen sich UML-Modelle komplett beschreiben 5.19

20 1. Strukturelle Entitäten: Überblick Substantive ti in Modellen (formuliert in UML) bilden die Struktur tu eines es Modells (meist statisch, aber auch dynamisch) Zusammenfassung als Classifier Class Interface Association Signal Actor DataType Artifact Port UseCase Collaboration Activity Interaction State Machine Node Component z.t. mit weiteren Spezialisierungen dafür einige Beispiele (Syntax, Semantik) 5.20

21 Strukturelle Entitäten: Klasse, Interface Window orign size open() close() move() show() I_Window «interface» open() close() move() show() Klasse (Class) beschreibt Abstraktion einer Menge von Objekten mit gleichen Attributen, Operationen, Beziehungen, Semantik dargestellt als Rechteck mit Unterteilungen (Compartments) besitzt mindestens ein Interface Interface (Interface) beschreibt Sammlung von Operationen, die durch Dienste einer Klasse oder Komponente festgelegt sind beschreibt mit Signaturen potentielles äußeres Verhalten einer Klasse/Komponente komplett oder partiell keine Implementation!!! Bezug zur Klasse/Komponente muss explizit dargestellt werden I_Window Window Lolli-Pop-Notation I_Window User 5.21

22 Strukturelle Entitäten: Kollaboration, Anwendungsfall Verarbeitungskette..in Kombination mit Verhaltensbeschreibungen Kollaboration (Collaboration) beschreibt das Zusammenwirken von Objekten/Klassen in spezifischen Rollen als kooperatives Verhalten geht über Verhaltensdarstellung einer einzelnen Entität hinaus weist auch strukturelle Merkmale auf eine Entität kann an verschiedenen Kollaborationen teilhaben stellt eine Implementierung eines Verhaltensmusters dar Anwendungsfall..in Kombination mit Verhaltensbeschreibungen Anwendungsfall (Use Case) beschreibt sichtbare/messbare Handlungsfolgen ngsfolgen eines Systems für bestimmte externe Systemnutzer (Akteure) dient der strukturellen Beschreibung von Einsatzfällen/Anwendungen, die über Kollaborationen realisiert werden 5.22

23 Strukturelle Entitäten: aktive Klasse, Komponente, Artefakt, Knoten ~ ähnlich zum Konzept Klasse KeypadManager Aktive Klasse (active Class) beschreibt spezifische Klassen, deren Objekte selbst Auslöser von Aktionen sind Objekte können untereinander synchron oder asynchron Signale austauschen erlaubte Empfangssignale lassen sich spezifizieren geeignete Verhaltensbeschreibung: Zustandsautomat «signal» pushbutton() powerup() powerdown() provided AutoPilotControl Komponente (Component) modularer Teil eines Systems, dessen Implementierung AutoPilot sich hinter einer Menge von externen Interfaces verbirgt Systemkomponenten mit gleichen Interfaces sind GPS austauschbar (Problem besteht dennoch mit required Verhaltenskompatibilität!!!) Komponente ist die Zusammenfassung aller seiner beschreibenden und ausführbaren Artefakte 5.23

24 Strukturelle Entitäten: aktive Klasse, Komponente, Artefakt, Knoten ~ ähnlich zum Konzept Klasse Window.dll Artefakt (Artifact) physische Informationseinheit in Bit-Struktur: Modell, Quellcode, Script, ausführbarer Binärcode, Tabellen einer rel. Datenbank, Textdokument, , ) werden im Entwicklungsprozess angelegt oder aber zur Laufzeit des Systems erzeugt oder konsumiert Server Knoten (Node) physisches Element, das eine Rechnerressource darstellt (mit Prozessor, Speicher): dienen der Aufnahme und Ausführung von Komponenten 5.24

25 Klassenähnliche Entitäten Interface, aktive Klasse, Komponente, Artefakt, Knoten Rechteck mit charakteristischem Icon allgemeine Form der spezifischen Einschränkung einer UML-Entität: Stereotypet Grundsymbol:= Klasse (als Rechteck) Name der StereoType-Entität Name der klassenähnlichen Stereotype: «name» I_Window Manager EventHandler Code Station «interface» «active» «component» «artefact» «node» weitere Sterotype User «actor» Start «signal» Start «DataType» Prozess Thread weitere Gerät Anwendung Ausführungsumgebung Dokument Datei Bibliothek Seite Tabelle 5.25

26 2. Verhaltensorientierte Entitäten: Überblick Verben in Modellen (formuliert in UML), z.b. Member-Funktionen bestimmen das Verhalten eines Modells in Raum und Zeit Zusammenfassung als abstraktes Konzept Behaviour Opaque Behaviour Activity Interaction State Machine Hauptformen 5.26

27 Verhaltens-Entitäten: Interaktion, Zustandsautomat anzeigen anzeigen Interaktion (Interaction) beschreibt gerichtete Interaktion zwischen Objekten oder Rollen eines best. Kontextes zur Erbringung einer best. Funktionalität besteht aus Nachrichten, Aktionen und Konnektoren Pfeilart und Linienausführung i bewirken unterschiedliche h Semantiken x y alert error Zustandsautomat (State Machine, State-Chart) beschreibt Abfolge der Zustände, die ein Objekt oder eine Interaktion während seiner Existenz als Reaktion auf Ereignisse durchläuft, wobei Ereignisreaktion ebenfalls dargestellt wird gestatten die Beschreibung von Verhalten von Klassen oder Kollaborationen Zustandsautomaten bestehen aus weiteren Entitäten: Zustände (inkl. Start, Stop), Übergänge, Ereignisse 5.27

28 Verhaltens-Entität: Aktivität Aktivität (Activity) beschreibt gerichtete Abfolge von Schritten eines Verarbeitungsvorganges elementare Schritte einer Aktivität heißen Aktionen (Actions) Synchronisation bei der Interaktion liegt der Schwerpunkt auf einer Reihe von Objekten, die interagieren beim Zustandsautomaten beim Lebenslauf einer einzelnen Entität!!! bei der Interaktion liegt der Schwerpunkt bei den Übergängen von Schritt zu Schritt ohne zu beachten, welches Objekt den jeweiligen Schritt realisiert 5.28

29 3. Gruppierungs-Entitäten: Überblick Organisatorische Einheiten von UML-Modellen: Paket (Package), aber auch Paket-Variationen (Rahmenwerken, Modellen, Subsystemen, System) Aircrafts +Jet -TurboProps - Utilities Zusammenfassung von Struktur-, Verhaltens-, Anmerkungs- und anderen Gruppierungs-Entitäten ist möglich es gibt Regeln zur Abhängigkeit und zur Nutzung von Paketen Gruppierungs-Entitäten sind rein konzeptueller Natur existieren nicht zur Laufzeit 5.29

30 4. Anmerkungs-Entitäten: Überblick beschreibende Anteile eines UML-Modells Dies ist ein Kommentar { Dies ist eine Annotation } beliebiger Kommentar Informale oder formale Textbeschreibung von Modelleinschränkungen und zusätzen (Constraints) UML-Standard schließt OCL ein (Object Constraint Language) - können beliebigen Modellelementen zugeordnet werden -Achtung: Anmerkungen werden von Tools auch über einblendbare Textboxen realisiert 5.30

31 Zwischen-Fazit 1 Konfuzius: Wenn die Sprache nicht stimmt, ist das was gesagt wird, nicht das, was gemeint ist. 2 UML-Modellbausteine Modellbausteine (als Übersicht) Dinge/Enititäten (im Sinne von Abstraktionen) Beziehungen zwischen den Entitäten Diagramme zur Anordnung von Entitäten a b {or } Bildung von Strukturen Beschreibung von Verhalten Bildung von Gruppierungen von Entitäten Formulierung von Anmerkungen/ Einschränkungen 3 Dualität: Stereotype-Modellelemente Icons Code «artefact» Code 5.31

32 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. Repräsentation von UML 4. Diagrammarten 5. Diagrammrepräsentationen in UML 6. Struktur des UML-Standards 7. Beispiel: Klassendiagramm

33 Fünf Arten von Beziehungen in UML Abhängigkeit (Dependency) weitere Spezialfälle Assoziation (Association) weitere Spezialfälle Generalisierung (Generalisation) Realisierung (Realisation) repräsentieren die grundlegenden Beziehungsbausteine weitere Spezialfälle von Assoziationen und Abhängigkeiten Erweiterung (Extension) wird für den Profilmechanismus benötigt 5.33

34 Spezialfälle der Assoziation Aggregation: strukturelle Beziehung zwischen einem Ganzen und seinen Teilen Aggregation (Aggregation) keine Beziehung zwischen der Lebensdauer von Teil und Ganzem besitzt Richtung Teil-Entität kann gleichzeitig oder nacheinander Teil verschiedener Ganzer-Entitäten sein Assoziation mit Raute als Zusatz stärkste Beziehung= Komposition (Composition) besteht über die Lebensdauer (Teil und Ganzes haben i.d.r. gleiche Lebensdauer) besitzt Richtung Teil-Entität kann nur Teil von einem Ganzen sein Unterscheidung bei der Behandlung von statisch existenten und dynamisch erzeugten Teilen 5.34

35 Beziehungen: Generalisierung, Realisierung Generalisierung (Generalisation) Strukturelle Beziehung zwischen Classifier-Entitäten, für diese sind Spezialisierung bzw. Generalisierung erlaubt (z.b. Klasse, Signal, Zustandsautomat, ) die spezialisierte Entität übernimmt Struktur und Verhalten der generalisierenden Entität Generalisierung Richtung zum generalisierenden Classifier Realisierung (Realisation) Semantische Beziehung zwischen Classifier-Entitäten, Realisierung Richtung zur realisierenden Entität 5.35

36 Realisierung als spezielle semantische Abhängigkeit Beispiel von Realisierung und Abhängigkeit (Alternative zur Lolli-Pop-Notation) UML1.4 «use» X Objekte irgendeiner Klasse X benutzen Funktionalität, die über das Interface If zur Verfügung gestellt wird «use» X «Interface» If «Interface» If «realize» A Klasse A realisiert Interface If A dennoch breites Spektrum von Abhängigkeitsvariationen in UML

37 Typ Variation Schlüsselwort /Symbol Abstraktion (abstraction) Ableitung (derivation) «derive» Festlegung (manifestation) Verfeinerung (refinement) Trace-Abhängigkeit «manifest» «refine» «trace» Bindung (binding) - «bind» (parameter list, ) Deployment (depolyment) - «deploy» oder explizite Verschachtelung UseCase-Include - «include» UseCase-Erweiterung - «extend» (extension pont list, ) Paketimport privat (private) «access» öffentlich (public) «import» Paketverschmelzung - «merge» Erlaubnis (permission) - «permit» Informationsfluss - «flow» Ersetzung (substitution) - «substitute» Benutzung (usage) Benutzung (allgemein) «use» Ruf (call) Erzeugung (creation) Instanziierung Verantwortung (responsibility) Senden (send) «call» «create» «instantiate» «responsibility» «send» 5.37

38 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. Repräsentation von UML-Modellelementen 4. Diagrammarten 5. Diagrammrepräsentationen in UML 6. Struktur des UML-Standards 7. Beispiel: Klassendiagramm

39 Repräsentation von UML-Elementen erfolgt mittels grafischer Symbole (z.b. Rechteck für eine Klasse) aber ohne fest genormte Darstellung, sie müssen lediglich den Regeln des UML-Metamodells Metamodells (abstrakte Grammatik) folgen alternative Repräsentationen zur graphischen Notation: XML-konforme Strukturen Codedateien abstrakter Syntaxbaum des UML-Metamodells 5.39

40 Illustration: UML-Modell- Repräsentation werkzeugabhängiger Speicher abstrakte Syntax graphische Notation :Class name ="Person" operation :Operation name = "sprechen" Repository attribute :Property name = "name" Textformat Person name sprechen() gewisse Freiheiten in der Darstellung XML Metadata Interchange (XMI) <UML:Class name="person" > <feature xmi:type= "UML-Attribute" name= "name" visibility= "private"/> <feature xmi:type= "UML-Operation" name= "sprechen" visibility= "public"/> <UML:Class> Person { private: name public: sprechen() } 5.40

41 Wo stehen wir? UML-Modellbausteine Dinge/Enititäten (im Sinne von Abstraktionen) Beziehungen zwischen den Entitäten Diagramme zur Anordnung von Entitäten 5.41

42 2. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Struktur des UML-Standards 6. Beispiel: UML-Klassendiagramm

43 Diagrammsprachen der UML 2.0 Diagramme Strukturdiagramme Klassendiagramm Paketdiagramm Objektdiagramm Diagramm:= graph. Darstellung von verbundenen Entitäten (meist als Graph) Verhaltensdiagramme Nutzfalldiagramm (Use-Case) Aktivitätsdiagramm Zustandsdiagramm Interaktionsdiagramme Sequenzdiagramm Ziel: Modellensemble eines Systems aus verschiedenen Blickwinkeln in separaten Diagrammen typisch: mehrfacher Bezug auf bestimmte Modellentitäten 5.43

44 Diagrammarten zur Anordnung von Entitäten: Struktur und Verhalten 5.44

45 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Struktur des UML-Standards 6. Beispiel: UML-Klassendiagramm

46 Diagramm, Diagrammtyp bestimmte Modellelemente können geeignet in Kombination angewendet werden (andere schließen sich aus) Elemente vordefinierter Diagrammtypen: Klassendiagramm: Klassen, Attribute, Operationen, Assoziationen Zustandsdiagramm: Zustände, Transitionen, Ereignisse aber: es nicht exakt festgelegt, welche Elemente zulässig sind Definition nutzereigener Diagrammtypen ist möglich Anwendungen: i. allg. mehrere Diagramme eines Diagrammtyps 5.46

47 Auslagerung von Diagrammteilen sd a x y x y ref a Auslagerung und mögliche Mehrfacheinbindung von Rahmen 5.47

48 Auslagerung von Diagrammteilen (2) pkg P A P C B Paketinhalt: Klassendiagramm Referenzsymbol definierendes Diagramm Deklaration/ Referenz eines Modellelementes Definition eines Modellelementes 5.48

49 Sichten ein und dasselbe Modellelement kann unterschiedlich detailliert für unterschiedliche Sichten dargestellt werden KlasseA op1() Sicht der Analysephase Repository KlasseA KlasseA +attr1 : int= y -attr2 : String [0..*] +op1 : int -op2 (v: KlasseC) Sicht der Codegenerierung Klasse A ist in einem Namensraum nur einmal im Repository definiert 5.49

50 Systemarchitekturmodell eines Systems unter Verwendung von UML Systemaufbau Konfigurationsverwaltung Entwurfssicht Implementationssicht Klassen-, Objektdiagramme Anwendungsfalldiagramme Aktivitäts-, Sequenz-, Kooperations-, Zustandsdiagramme Nutzersicht Komponentendiagramme Verteilungs-/ Konfigurations- i diagramme Leistung Skalierbarkeit Durchsatz Verhaltenssicht Umgebungssicht Systemtopologie Verteilung Auslieferung Installation 5.50

51 Austausch von Diagrammen schreiben Repository Modellierungstool B API uraltes Problem der Informatik: Dokumentenaustausch lesen Versionsmanagement Modellierungstool A XMI stored UMLmodels Modell von UML 1.0 trotz XMI-Standard nicht erreicht (obwohl nur Austausch semantischer Infos) Ursache: mehrere Standards: UML, MOF, XMI (Versionskonflikte) nicht behobene Fehler im Standard unpräzise Spezifikation UML 2.0 fordert sogar Diagramm-Austausch (XMI-Datei mit Teilbäumen von Layout-Repräsentationen) 5.51

52 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Struktur des UML-Standards 6. Beispiel: UML-Klassendiagramm

53 Struktur des Standards grundlegende g Sprachkonstrukte in abstrakter Syntax (Klasse, Assoziation, ) Modellierungskonzepte Sprachdefinitions -konzepte Transformations- konzepte Infrastr ructure SuperstructureLibrary Superstructure MOF OCL XMI Classes Composite Structures Common Behaviours State Components Activities Interactions UseCases Machines Deployments Actions 5.53

54 Die UML-Spracharchitektur Infrastructure- Klasse M3 «instanceof» Class «instanceof» «instanceof» «instanceof» Meta- Meta- modell Urmodell (MOF) M3- Klassen M2 Attribute «instanceof» Class «instanceof» type Operation «instanceof» InstanceSpecification «instanceof» UML- Metamodell M2- Klassen M1 Modell Bordkarte +flugnummer:string «snapshot» b: Bordkarte +flugnummer= LH801 M1- Klassen +gültig():boolean «instanceof» «instanceof» M0 System (in C++) VMT- Bordkarte Fkt-Eintrittspunkt Fkt.Code b flugnummer [Adr] Zeiger LH801 M0- Klassen 5.54

55 UML-Modifikationen (Aufbau eigener Sprachen) im Prinzip kann unter Verwendung von UML ein eigenes Metamodell (für eine DSL) aufgebaut werden Wege, UML zu erweitern a) direkte Erweiterung des UML-Metamodells: Einführung weiterer Metaklassen, die von UML-Metaklassen erben b) Profil-Mechanismus Achtung: beide Ansätze erlauben es aber nicht, Teile der UML auszublenden das komplette UML-Metamodell M steht im Hintergrund, das nur mit OCL in der Instanziierung eingeschränkt werden kann 5.55

56 Direkte Erweiterung des UML-Metamodells Resultat: ein erweitertes Metamodell eine erweiterte UML-Sprache im UML -Modell lässt sich nun MyMetaClass benutzen UML::Class If «instanceof» MOF::Classifier If generalisize MyMetaClass «instanceof» «instanceof» A «MyMetaClass» Beispiel «Interface» Beispiel Achtung: Ansatz funktioniert für jede MOF-basierte Sprache (z.b. UML, aber ohne Tool-Unterstützung (komplett neue Sprache!!!) 5.56

57 Profile und Stereotype Definition einer Stereotype als Extension (nur für UML erlaubt) im Kontext eines Profils «metaclass» UML::Class «stereotype» CM::NewConcept transactional: boolean «CM::NewConcept» ProfilName::Beispiel {transactional= true} Einschränkung in der Erweiterung: Reduktion auf Attribute (Tagged Values) Vorteil: Kann Erweiterung mit UML-Tool vornehmen und über spezielle Pakete benutzen Problem: spezielle Symbole 5.57

58 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Struktur des UML-Standards 6. Beispiel: UML-Klassendiagramm

59 partner 1..* 1..* ProgrammPartner kundenanzahl: Integer {ordered} BonusProgramm aufnehmen(k: Kunde) 1..* ServiceStufe aktuellergrad 0..* 0..* programm Mitgliedschaft 0..1 BonusKonto karte 0..* Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer 0..* karten KundenKarte punkte:integer gültig: Boolean name: String angebot gültigab: Datum 0..* plus(i:integer) minus(i:integer) gültigbis: Datum Service 0..* * istleer(): Boolean farbe: enum {silber, gold} bedingung: Boolean verfügbar druckname: String pluspunkte: Integer transaktionen 0..* karte minuspunkte: Integer beschreibung: String Transaktion punkte: Integer 0..* datum: Datum 0..* transaktionen transaktionen programm(): Datum BonusProrgramm now programm(): liegtvor(d: Datum):Boolean BonusProrgramm liegtnach(d: Datum):Boolean Minus Plus =(d: Datum): Boolean 5.59

60 partner 1..* 1..* ProgrammPartner kundenanzahl: Integer angebot 0..* Service {ordered} bedingung: Boolean pluspunkte: Integer minuspunkte: Integer beschreibung: String BonusProgramm aufnehmen(k: Kunde) 1..* ServiceStufe name: String * 0..* verfügbar Kunde::alter(): Integer post: result>= 18 transaktionen context KundenKarte inv: gültigab.liegtvor(gültigbis) Minus 0..* aktuellergrad 0..* programm Mitgliedschaft 0..1 BonusKonto punkte:integer plus(i:integer) minus(i:integer) istleer(): Boolean transaktionen 0..* punkte: Integer 0..* datum: Datum Transaktion Datum karte 0..* 0..* programm(): transaktionen liegtvor(d: Datum):Boolean BonusProrgramm liegtnach(d: Datum):Boolean =(d: Datum): Boolean Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer 0..* karten KundenKarte gültig: Boolean gültigab: Datum gültigbis: Datum farbe: enum {silber, gold} druckname: String karte Invariante für Attribut 5.60

61 partner 1..* 1..* ProgrammPartner kundenanzahl: Integer {ordered} BonusProgramm aufnehmen(k: Kunde) 1..* ServiceStufe aktuellergrad 0..* 0..* programm Mitgliedschaft 0..1 BonusKonto karte 0..* Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer 0..* karten KundenKarte punkte:integer gültig: Boolean name: String angebot gültigab: Datum 0..* plus(i:integer) minus(i:integer) gültigbis: Datum Service 0..* * istleer(): Boolean farbe: enum {silber, gold} bedingung: Boolean verfügbar druckname: String pluspunkte: Integer transaktionen 0..* karte minuspunkte: Integer beschreibung: String Transaktion punkte: Integer 0..* datum: Datum 0..* context Mitgliedschaft inv: karte.besitzer transaktionen = kunde transaktionen programm(): Datum Invariante für Assoziationsklasse BonusProrgramm now programm(): context Kundenkarte liegtvor(d: Datum):Boolean BonusProrgramm inv: liegtnach(d: Datum):Boolean druckname = besitzer.titel.concat Minus titel (besitzer.name) Plus =(d: Datum): Boolean 5.61

62 partner 1..* 1..* BonusProgramm aufnehmen(k: Kunde) context ProgrammPartner Bonusprogramm inv: servicestufe->first().name= silber kundenanzahl: Integer {ordered} 1..* ServiceStufe aktuellergrad 0..* 0..* programm Mitgliedschaft 0..1 BonusKonto karte 0..* Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer 0..* karten KundenKarte punkte:integer gültig: Boolean name: String angebot gültigab: Datum 0..* plus(i:integer) minus(i:integer) gültigbis: Datum Service 0..* * istleer(): Boolean farbe: enum {silber, gold} bedingung: Boolean verfügbar druckname: String pluspunkte: Integer transaktionen 0..* karte minuspunkte: Integer beschreibung: String Transaktion punkte: Integer 0..* datum: Datum 0..* transaktionen transaktionen programm(): context Datum BonusProgramm inv: BonusProrgramm now servicestufe->size() = 2 programm(): liegtvor(d: Datum):Boolean Anzahl verschiedener Service-Grade wird BonusProrgramm liegtnach(d: auf Datum):Boolean 2 begrenzt Minus Plus =(d: Datum): Boolean geordnete Menge, von der die Kardinalität bestimmt wird 5.62

eingebetteter Systeme

eingebetteter Systeme im WiSe 2010/11 Entwicklung verteilter eingebetteter Systeme Prof. Dr. Joachim Fischer Dipl.-Inf. Ingmar Eveslage Dipl.-Inf. Frank Kühnlenz fischer eveslage kuehnlenz@informatik.hu-berlin.de 4.1 3. Grundlagen

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

eingebetteter Systeme

eingebetteter Systeme im WiSe 2010/11 Entwicklung verteilter eingebetteter Systeme Prof. Dr. Joachim Fischer Dipl.-Inf. Ingmar Eveslage Dipl.-Inf. Frank Kühnlenz fischer eveslage kuehnlenz@informatik.hu-berlin.de 6.1 4. UML-Überblick

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

Mehr

im WiSe 2010/11 mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.

im WiSe 2010/11 mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin. Kurs OMSI im WiSe 2010/11 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de 3.1 Einführung 1.

Mehr

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37 Vorwort... 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden?... 17 1.2 Die Phasen bei der Softwareentwicklung... 18 1.2.1 Analyse... 18 1.2.2 Entwurf... 19 1.2.3 Implementierung und Dokumentation...

Mehr

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung

Mehr

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß Werkzeugunterstützung für UML Profiles Verteidigung des Großen Belegs Andreas Pleuß Aufgabenstellung Sammlung der Anforderungen an UML Profiles Untersuchung bestehender UML-CASE-Tool Unterstützung Untersuchung

Mehr

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm... Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161

Mehr

ModSoft. Einführung. Modellbasierte Software-Entwicklung mit UML 2 im WS 2014/15

ModSoft. Einführung. Modellbasierte Software-Entwicklung mit UML 2 im WS 2014/15 ModSoft Modellbasierte Software-Entwicklung mit UML 2 im WS 2014/15 Einführung Prof. Dr. Joachim Fischer Dr. Markus Scheidgen Dipl.-Inf. Andreas Blunk fischer@informatik.hu-berlin.de 2.1 Teil I: Einführung

Mehr

Kurs OMSI im WiSe 2013/14

Kurs OMSI im WiSe 2013/14 Kurs OMSI im WiSe 2013/14 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de 2.1 Letzte Vorlesung

Mehr

Kurs OMSI im WiSe 2012/13

Kurs OMSI im WiSe 2012/13 Kurs OMSI im WiSe 2012/13 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de 3.1 Letzte Vorlesung

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario

Mehr

Kurs OMSI im WiSe 2013/14

Kurs OMSI im WiSe 2013/14 Kurs OMSI im WiSe 2013/14 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de 4.1 1. Einführung

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme Datenbanken objektorientierte Sicht Seite 1 von 76 Datenbanken Teil 2: Informationen Kapitel 7: Objektorientierte Sicht UML-Diagramme Vorstellung der unterschiedlichen UML-Diagramme 1. Diagrammtypen 2.

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4 Sub1 Super Sub3 H Sub2 State2 Sub4 Super State2 Sub4 $FWLYLW\'LDJUDPV Aktivitätsdiagramme beschreiben spezielle Zustandsautomaten. Transitionen werden hier grundsätzlich durch die Beendigung von Aktionen

Mehr

Von UML 1.x nach UML 2.0

Von UML 1.x nach UML 2.0 Zürich Soft Summer 2005 Fortgeschrittene Aspekte der Software Technologie Von UML 1.x nach UML 2.0 Prof. Dr. Martin Glinz www.ifi.unizh.ch/req Ergänzendes Material zur Vorlesung Spezifikation und Entwurf

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

MDA-Praktikum, Einführung

MDA-Praktikum, Einführung MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium

Mehr

Entwicklung verteilter echtzeitfähiger Sensorsysteme

Entwicklung verteilter echtzeitfähiger Sensorsysteme Projekt Erdbebenfrühwarnung im SoSe 2011 Entwicklung verteilter echtzeitfähiger Sensorsysteme Joachim Fischer Klaus Ahrens Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de EDIM SOSEWIN-extented

Mehr

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Systemmodellierung mit SysML - Stereotypen und Profile

Systemmodellierung mit SysML - Stereotypen und Profile Systemmodellierung mit SysML - Stereotypen und Profile Oliver Stadie 15. Juni 2010 Gliederung Vorwissen: Metamodell Profile & Stereotypen: Motivation Definition & Benutzung Zusammenfassung Diskussionen

Mehr

80/1RWDWLRQXQG6HPDQWLN. Dr. Eckhardt Holz Humboldt-Universität zu Berlin Institut für Informatik

80/1RWDWLRQXQG6HPDQWLN. Dr. Eckhardt Holz Humboldt-Universität zu Berlin Institut für Informatik 80/1RWDWLRQXQG6HPDQWLN Dr. Eckhardt Holz Humboldt-Universität zu Berlin Institut für Informatik Historie von UML UML Notation *OLHGHUXQJ General Concepts Static Structure Diagrams Use Case Diagrams Sequence

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

Proseminar. Einführung. (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010

Proseminar. Einführung. (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Proseminar (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010 Einführung Prof. Dr. Joachim Fischer Dipl.-Inf. Andreas Blunk fischer@informatik.hu-berlin.de ProSeminar - Einführung

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

Das umfassende Handbuch

Das umfassende Handbuch Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML2 glasklar UNIFIED MODELING LANGUAGE l V HANSER Inhalt Vorwort 1 Einleitung 2 Liebe Leserin, lieber Leser 2 Ihre Meinung ist uns

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Unified Modelling Language

Unified Modelling Language Proseminar Systemmodellierung mit SysML Martin Fobian 04.05.2010 Unified Modelling Language Klassendiagramm Objekt, Klasse, Operation 1 Überblick 1. Objekt 2. Klassen 3. Attribute 4. Operationen 2 1. Objekt

Mehr

Comelio GmbH - Goethestr Berlin. Course Catalog

Comelio GmbH - Goethestr Berlin. Course Catalog Comelio GmbH - Goethestr. 34-13086 Berlin Course Catalog 2 Table Of Contents a. Locations... 3 1. UML... 4 i. Design und Analyse... 4 ii. Notation und Konzepte...6 iii. OCUP Zertifizierung (Advanced)...8

Mehr

Vgl. Oestereich Kap 2.4 Seiten

Vgl. Oestereich Kap 2.4 Seiten Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß

Mehr

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig. Inhalt Vorwort Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig Danksagungen Die Autoren XIII XV XV XVII XVIII XVIII XIX Teil I:

Mehr

UML 2 glasklar Praxiswissen für die UML-Modellierung

UML 2 glasklar Praxiswissen für die UML-Modellierung Chris Rupp, Stefan Queins, Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung ISBN-10: 3-446-41118-6 ISBN-13: 978-3-446-41118-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Kurs OMSI im WiSe 2014/15

Kurs OMSI im WiSe 2014/15 Kurs OMSI im WiSe 2014/15 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dr. Markus Scheidgen Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen. Media Engineering Objektorientierte Modellierung Verhaltensmodellierung R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.de Objektorientierte Analyse und Design im Detail Identifiziere Akteure

Mehr

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Automatisierung industrieller. Workflows. Teil B: Die Spache UML

Automatisierung industrieller. Workflows. Teil B: Die Spache UML Automatisierung industrieller Teil B: Die Spache UML Joachim Fischer WS 2014/15 B.4-1 Original formuliert als Fragensammlung Bewertung / Rückschlüsse / Modellverbesserung reales bzw. gedachtes Phänomen

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar CARL HANSER VERLAG Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML 2 glasklar 3-446-22575-7 www.hanser.de Einleitung... 1 Liebe Leserin, lieber Leser... 1 Ihre Meinung ist uns

Mehr

Analyse und Design mituml2

Analyse und Design mituml2 Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und

Mehr

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme 6. Weitere Strukturdiagramme Objektdiagramm Komponentendiagramm Paketdiagramm 1 6.1 Objekte Ausprägungsspezifikation von Klassen und Assoziationen 2 Definition Das Objektdiagramm zeigt eine bestimmte Sicht

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Thema 3 Das UML- Metamodell

Thema 3 Das UML- Metamodell SE Vertiefung Beuth-Hochschule Berlin Thema 3 Das UML- Metamodell Ecore passte auf eine Seite (c) schmiedecke 11 SE3-3-UML-Superstructure 2 http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecorel

Mehr

Software-Engineering im Sommersemester 2014

Software-Engineering im Sommersemester 2014 Methodische Grundlagen des Software-Engineering SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl

Mehr

Objektorientierte Modellierung mit UML

Objektorientierte Modellierung mit UML Objektorientierte Modellierung mit UML Verteilungsdiagramm Der vorliegende Foliensatz basiert auf: M. Seidl, M. Brandsteidl, C. Huemer, G. Kappel: UML@Classroom, dpunkt.verlag, 2012. C. Larman: UML 2 und

Mehr

Struktur der UML-Spezifikationen

Struktur der UML-Spezifikationen Struktur der UML-Spezifikationen Udo Kelter 28.06.2016 Zusammenfassung dieses Lehrmoduls Dieses Lehrmodul liefert eine Einführung die Struktur der Version 2.5 der UML-Spezifikationen, in dem die Modellelemente

Mehr

Softwaretechnik Model Driven Architecture Metamodellierung

Softwaretechnik Model Driven Architecture Metamodellierung Softwaretechnik Model Driven Architecture Metamodellierung Prof. Dr. Peter Thiemann Universität Freiburg 17.07.2008 Metamodellierung Einführung Was? meta = über Definiert eine Ontologie von Konzepten für

Mehr

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Modellbasierter Test mit der UML Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Inhalt Einleitung und Motivation UML Testgenerierung Fazit Inhalt Einleitung und Motivation UML

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Analyse und Design mituml2.1

Analyse und Design mituml2.1 Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung

Mehr

systems landscape engineering - übung -

systems landscape engineering - übung - systems landscape engineering - übung - Wintersemester 2010 /2011 Arbeitsgruppe Wirtschaftsinformatik - Managementinformationssysteme - Dipl. Wirt.-Inform. Sven Gerber Arbeitsgruppe Wirtschaftsinformatik

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2009 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für

Mehr

Analyse und Entwurf von Softwaresystemen mit der UML

Analyse und Entwurf von Softwaresystemen mit der UML Analyse und Entwurf von Softwaresystemen mit der UML Bearbeitet von Horst A. Neumann 2. Auflage 2002. Buch. XVI, 480 S. Hardcover ISBN 978 3 446 22038 6 Format (B x L): 17,7 x 24,5 cm Gewicht: 1049 g Zu

Mehr

Exkurs 1: Hintergrund zu Java und UML

Exkurs 1: Hintergrund zu Java und UML Exkurs 1: Hintergrund zu Java und UML Warum gerade Java? Entwicklung Eigenschaften, speziell Portabilität Warum UML? Entwicklung Diagrammarten und CRC-Karten Lothar Schmitz UniBwM (teils nach Prof. Hußmann

Mehr

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim Matthias Niete niete@oio.de Dirk M. Sohn sohn@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim 1 Allgemeine Notationselemente Paketnamen {Eigenschaftswerte} Notiz Paketnamen

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

Mehr

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,

Mehr

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

Mehr

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Common Warehouse Metamodel und Imperfektion

Common Warehouse Metamodel und Imperfektion Common Warehouse Metamodel und Imperfektion Christoph Goebel Imperfektion und erweiterte Konzepte im Data Warehousing 2 Fragestellungen Welche Bedeutung haben Metadaten in der Information Supply Chain

Mehr

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze Oliver Hofrichter (hofrichter@tzi.de) Lars Hamann (lhamann@tzi.de) Überblick Motivation Kontext Warum Werkzeugunabhängigkeit

Mehr

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1

Mehr

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies OOAD in UML Seminar Software-Entwurf B. Sc. Sascha Tönnies Agenda 1. Einordnung des Themas im Seminar 2. UML kompakt 3. UML detailliert 4. Werkzeugunterstützung 2 Einordnung des Themas UML Hilfsmittel

Mehr

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Shop Käufer Einkauf Verkauf Verwaltung Händler Hersteller Actor: Jemand oder etwas, der/das mit dem zu entwickelnden System interagiert

Mehr

Die Unified Modeling Language (UML)

Die Unified Modeling Language (UML) Die Unified Modeling Language (UML) Mario Jeckle Abteilung Angewandte Informationsverarbeitung (SAI) / DaimlerChrysler Forschung Ulm (FT3/EK) mario.jeckle@mathematik.uni-ulm.de / mario.jeckle@daimlerchrysler.com

Mehr

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML The role of UML Theoretical model model for comparison calibration verification Empirical model model of deduction induction Generating

Mehr

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8 Literatur Martin Fowler and Kendall Scott: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley 1997. James Rumbaugh, Ivar Jacobson, and Grady Booch: The Unified Language Reference

Mehr

UML 2 glasklar HANSER. Chris Rupp Stefan Queins Barbara Zengler. Praxiswissen für die UML-Modellierung. 3., aktualisierte Auflage

UML 2 glasklar HANSER. Chris Rupp Stefan Queins Barbara Zengler. Praxiswissen für die UML-Modellierung. 3., aktualisierte Auflage :. ' : : : Chris Rupp Stefan Queins Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung UNIFIED MODELING ^ ;;;; : LANGUAGE i V - - - ; - : 3., aktualisierte Auflage HANSER Inhalt Vorwort

Mehr

Kurs OMSI im WiSe 2012/13

Kurs OMSI im WiSe 2012/13 Kurs OMSI im WiSe 2012/13 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de 2.1 Letzte Vorlesung

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Modellbasierte Softwareentwicklung mit Sicherheitseigenschaften und UMLsec

Modellbasierte Softwareentwicklung mit Sicherheitseigenschaften und UMLsec 1/ 22 Modellbasierte Softwareentwicklung mit Sicherheitseigenschaften und UMLsec Patrik Elfert Fakultät für Informatik TU Dortmund 5. Februar 2014 Inhalt 2/ 22 1 Einleitung 2 Unified Modeling Language

Mehr

Vorlesung Software Engineering

Vorlesung Software Engineering Vorlesung Software Engineering 6 Unified Modeling Language: Einführung Prof. Dr. Dirk Müller Übersicht Einführung Software-Entwicklungsprozesse Anforderungsanalyse Prozessanalyse und -modellierung Objekt-orientierte

Mehr

Die abstrakte Syntax der Unified Modeling Language

Die abstrakte Syntax der Unified Modeling Language Die abstrakte Syntax der Unified Modeling Language 6. November 2012 Taentzer Visuelle Sprachen 79 Überblick Wie ist die abstrakte Syntax der UML definiert? Über ein Metamodell Die UML vereinigt verschiedene

Mehr

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017 So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on

Mehr