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 6.1

2 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Zum UML-Standard 6. Beispiel: UML-Klassendiagramm

3 Erste Anwendung instanziierbar «system» SOSEWIN «model» SOSEWIN 20 «subsystem» SOSEWIN-SensorNode Prozessor OpenWRT AP x y alert error 6.3

4 Systemarchitekturmodell eines Systems unter Verwendung von UML Struktur (Modellelemente, Beziehungen) Systemaufbau Konfigurationsverwaltung Entwurfssicht Implementationssicht Klassen-, Objektdiagramme Aktivitäts-, Sequenz-, Kooperations-, Zustandsdiagramme Nutzersicht Anwendungsfalldiagramme Komponentendiagramme Verteilungs-/ Konfigurationsdiagramme Leistung Skalierbarkeit Durchsatz Verhaltenssicht Umgebungssicht Systemtopologie Verteilung Auslieferung Installation 6.4

5 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 6.5

6 Die UML-Spracharchitektur Infrastructure- Klasse M3 Class Meta-Metamodell OO- Urkonzepte (MOF) M3- Klassen M2 UML-Metamodell UML- Konzepte Attribute Class type Operation InstanceSpecification M2- Klassen M1 Bordkarte +flugnummer:string «snapshot» b: Bordkarte +flugnummer= LH801 Modell Modellkonzepte M1- Klassen +gültig():boolean M0 Abstraktion (Realisierung in z.b. C++) VMT- Bordkarte Fkt-Eintrittspunkt Fkt.Code b flugnummer [Adr] Zeiger LH801 M0- Klassen 6.6

7 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 6.7

8 a) direkte Erweiterung des UML-Metamodells Resultat: ein erweitertes UML-Metamodell führt zu einer erweiterten UML-Sprache (UML*) in einem UML*-Modell lässt sich nun MyMetaClass benutzen UML::Class Interface «instanceof» MOF::Classifier 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 (da neue Sprache!!!) 6.8

9 b) Profile und Stereotype Definition einer Stereotype als Extension (nur für UML erlaubt) im Kontext eines Profils Name des Profils (restriktives UML) bei Hinzunahme von OCL-Constraints «metaclass» UML::Class «stereotype» MyDSL::NewConcept transactional: boolean «MyDSL::NewConcept» ProfilName::Beispiel {transactional= true} Einschränkung in der Erweiterung: Reduktion auf Attribute (Tagged Values) ) Vorteil: kann Erweiterung mit UML-Tool vornehmen und Profil über spezielle Pakete benutzen bleibendes Problem: Grafik für spezielle Symbole 6.9

10 b) Profile und Stereotype Beispiel: SDL als UML-Profil context <zugehöriges UML-Konzept> {active= true} «metaclass» UML::Class Boolean active «stereotype» SDL::Process... «SDL::Process» ProfilName::Beispiel {...} Vorteil: kann UML-Tool zur Beschreibung und Analyse von SDL-Modellen benutzen (falls SDL als Einschränkung des UML-Metamodells beschreibbar ist) 6.10

11 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Zum UML- und OCL-Standard 6. Beispiel: UML-Klassendiagramm

12 Einordnung von OCL im UML-Standard UML-Vollsprache (Meta-Modell) UML-Kernsprache (Meta-Modell) M Superstruktur Infrastruktur OCL Diagramm - austausch OCL ist eine textuelle Sprache Empfehlung der OMG zur Formulierung von 1. Randbedingungen/Einschränkungen 2. Anfragen 3. Aktionen 4. Navigationen in Form von Annotationen OCL basiert auf Prädikatenlogik (1.Stufe) und Mengentheorie in einer (weitgehend) intuitiven Syntax prinzipiell ist aber jede andere Sprache als Alternative in UML zulässig (inkl. natürliche Sprachen) 6.12

13 OCL- Einsätzfälle Definition von - Invarianten für Klassen u. Typen - Invarianten für Stereo-Typen - Vor- und Nachbedingungen für Operationen - Wächterbedingungen - Ziele (Zielmengen) von Nachrichten und Aktionen - Constraints von Operationen - Ableitungsregeln von Attributen Navigationsbeschreibung g (im Objektmodell) - Anfragesprache ab UML 1.3: Built-In-Nutzung zur - Definition von Well-Formedness Rules für - Invarianten und - Metaklassen in der Abstrakten Syntax der Sprache Präzisierung von UML-Modellen Präzisierung der UML-Sprach- definition 6.13

14 OCL als funktionale Spezifikationssprache OCL wurde ursprünglich als eigene Technik entwickelt - inzwischen Teil des OMG-Standards für UML OCL als Spezifikationssprache erlaubt, UML-Modelle - näher zu erläutern, durch Bedingungen einzuschränken - Regeln für Ausprägungen und Ausführung zu formulieren u. deren Konsistenz überprüfbar zu machen OCL ist eine funktionale Sprache zur Bildung von Ausdrücken über - sowohl OCL- als auch - UML-Daten OCL-Ausdrücke mit Kunst/Tricks der Zusammenführung - lassen keine Seiteneffekte zu (Konsequenz: auch nur Query-UML-Operationen erlaubt) - sind Prädikate, logische Bedingungen/Vergleiche - werden einzeln gebildet und ausgewertet und nicht als Gesamtprogramm, (auch nicht die, die nur für ein Diagramm gelten sollen) 6.14

15 Ausdrucksberechnung Operanden Werte von Container- und Standard-Typen Objekte eines Typs Ausführungsreihenfolge von links nach rechts Ergebnis nach ausgeführter Berechnung ist ein Wert oder Objekt eines Typs Bestimmung von Nachfolgern des resultierenden Objektes mittels Attribut oder Member-Funktion oder Navigation über bestehende Assoziationen 6.15

16 Mächtigkeit von OCL-Ausdrücken Anwendung vordefinierter Operationen (Standardbibliothek) insbesondere für Kollektionen Teilmengen- und Projektionsbildungen, Zusammenfassungen, All- und Existenz-Quantoren für Iterationen mit Möglichkeit einer kombinierten und rekursiven Anwendung dazu mehr 6.16

17 Zusammenfassung: OCL-UML-Zusammenhang (1) OCL-Ausdrücke sind getypt wichtige Eigenschaft der Typkonformität Typ legt fest, welche Operationen der zugeordneten Werte/Objekte erlaubt sind Typhierarchie legt fest, welche polymorphen Ersetzungen erlaubt sind und welche nicht aus: OCL-Standard OCL ist eine getypte Sprache Zusammenhang zu UML: jeder UML-Classifier entspricht dem OCL-Typ OclAny (Supertyp) OclAny-Operationen sind anwendbar auf alle entspr. UML-Objekte Paradoxon Die Metaklasse von OclAny (AnyType) ist aber eine Spezialisierung von UML-Classifier (also entgegengesetzt!) auf ein OclAny-Ausdruck dürfen nun auch Operationen von Classifier angewendet werden 6.17

18 Zusammenfassung: OCL-UML-Zusammenhang (2) OCL-Standard instanceof OclVoid konform zu allen Typen UML-Standard OclInvalid konform zu allen Typen nur eine Instanz: null OclType liefert Eigenschaften eines UML-Typs OclElement in Form Templatevon Strings Parameter (interpretierbar in OCL) OclAny konform zu OCL- Typen ohne Collection und UML-Typen (bietet allg. Operationen) OclMessage liefert Eigenschaften von UML-Signalen und Operationen in Form von Strings (interpretierbar in OCL) 6.18

19 OCL-Kollektor-Typen Set = union intersection - including excluding symmetricdifference flatten asset asorderedset asbag assequence select reject collectnested ested sortedby T Bag = union intersection including excluding flatten asset asorderedset asbag assequence select reject collectnested sortedby T ~ z.b. UML-Typ T select reject, exists forall iterate isunique any one collect Collection size includes excludes count includesall exludesall isempty sum product OrderedSet append prepend insert suborderedset at??? first last select reject collectnested t sortedby T T Sequence = union flatten append prepend insert subsequence at index first last including excluding asset asorderedset asbag assequence select reject collectnested sortedby 6.19 T

20 UML-Kernsprache UML-Vollsprache (UML-Meta-Modell) UML-Kernsprache Superstruktur Infrastruktur OCL Diagramm - austausch Kernsprache (mit konkreter Syntax) definiert Class als (Klasse) Generalisierung (Vererbung) Assoziationen mit Rollen, Multiplizitäten Verbindung von UML-Classifier mit OCL-Typ-Konzept p Zusammenhang zu UML: jeder UML-Classifier entspricht einem OCL-Typ OclAny als abstrakter Basistyp Mit der Kernsprache ist man in der Lage, die Sprache UML in Form eines Metamodells zu definieren 6.20

21 Aufbau und Einordnung der UML-Sprachdefinition EMF (ECLIPSE) MOF-Standard UML-Meta-Metamodell UML-Standard UML-Metamodell (Superstructure) ECORE Essential MOF Complete MOF Infrastructure Superstructure OC L Diagra ammusch austau Allgemeine Vorteile der Bausteinstruktur r Erhöhung der Modularität Parallelisierung der Arbeit an den Sprachkonzepten (mit gewissen Integrationsaufwand) weitere Unterstrukturen (Pakete) zum Abgleich mit anderen Standards Metamodell-basierte UML-Sprachdefinition MOF-orientiert (4-Ebenen, objektorientiert: Klasse mit Attributen und Operationen, Referenz, Assoziation, Paket) Meta-Metamodelle (für UML, OCL, CWM, ) ist MOF MOF hat keine Notation, ti bedient sich deshalb einer UML-Kernsprache (Infrastructure) t ECORE ist das Meta-Metmodell von EMF und identisch mit EMOF (Essential MOF) Infrastructure (interpretiert Projekt auf Erdbebenfrühwarnung M2-Ebene) ist u.a. das Meta-Metamodell von UML 6.21

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

23 Modell, Metamodell, Metamodellhierarchie Definition: Ein Modell (model) ist eine Sammlung von Objekten und Links (Modellelemente), die ein reales oder abstraktes System beschreiben. Ein Metamodell (metamodel) ist ein Modell, das zur Beschreibung anderer Modelle verwendet wird. Die Modelle, die durch das Metamodell beschrieben werden, sind ihre Instanzen und das Metamodell ist ihr Typ. Eine Metamodellhierarchie ist ein Baum von Modellen, die über InstanzVon- Beziehungen verknüpft sind. Eine Modellschicht (model layer) beschreibt alle (Meta-)Modelle mit dem gleichen Abstand zu dem Wurzel-Metamodell in der Metamodell-Hierarchie. Jede Schicht wird mit Namen und Nummer bezeichnet. Bezeichnung M mit Nummern 0..3 wird von MOF vorgegeben und in UML verwendet (M0 wird durch Modellierungsframeworks nicht unterstützt) MOF-Instanziierungsemantik Eine M1-Element-Instanz ist ein Wert, dessen Typ durch ein M2-Element-Instanz einer M3-Klasse beschrieben ist. 6.23

24 UML-MetamodellMetamodell (Kernkonzepte der Superstructure) Konkrete Metaklassen 6.24

25 Allgemeine Vorteile von Metamodellen prägnanter, präziser als natürliche Sprache (entsprechend der abstrakten Syntax textueller Sprachen) Basis zur Überprüfung der semantischen Korrektheit Grundlage zur Verwaltung von Modellen in Repositories diagrammübergreifend lebenszyklusübergreifend zielsprachenunabhängig werkzeugunabhängig einheitliches itli h Austauschformat t da alle auszutauschenden Modelle Instanzen des einen Metamodells sind objektorientierte Metamodelle können nachträglich leicht erweitert werden durch Spezialisierung und Re-definition UML macht davon Gebrauch (Kern Vollsprache Profile DSLs) 6.25

26 4. UML-Überblick 1. Historie von UML 2. Modellierungselemente von UML im Überblick 3. UML-Diagrammarten 4. Diagrammrepräsentationen in UML 5. Zum UML- und OCL-Standard 6. Beispiel: UML-Klassendiagramm

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

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

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

30 partner BonusProgramm aufnehmen(k: Kunde) Navigation jedes ProgrammPartner Kunde-Objekt hat mit karten Zugriff auf KundenKarte-Objekt(e) kundenanzahl: Integer aktuellergrad programm jedes KundenKarte-Objekt {ordered} hat mit besitzer Zugriff auf KundenKarte-Objekt(e) ServiceStufe BonusKonto angebot name: String Mitgliedschaft 0..1 punkte:integer plus(i:integer) minus(i:integer) istleer(): Boolean Objektmengenkardinalität ein Kunde-Objekt Service * kann bedingung: gleichzeitig Boolean 0 oder verfügbar beliebig viele Karten besitzen (karten pluspunkte: ist damit Integer eine Referenz auf eine transaktionen Menge/Feld/ minuspunkte: Integer Transaktion Ein KundenKarte-Objekt beschreibung: String hat genau ein Kunde-Objekt punkte: Integer als besitzer datum: Datum Standardannahme! transaktionen programm(): Datum now programm(): liegtvor(d: Datum):Boolean BonusProrgramm liegtnach(d: Datum):Boolean =(d: Datum): Boolean Minus karte Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer karten KundenKarte gültig: Boolean gültigab: Datum gültigbis: Datum farbe: enum {silber, gold} druckname: String karte (1) UML benutzt Collection als Template über einen Basistyp (hier KundenKarte) als transaktionen BonusProrgramm Typkonstruktor (2) Collection besitzt eine Menge vordefinierter Operationen Plus 6.30

31 partner ProgrammPartner kundenanzahl: Integer BonusProgramm aufnehmen(k: Kunde) programm Navigation aktuellergrad jedes Objekt von Kunde {ordered} hat mit programm Zugriff auf BonusProgramm-Objekt(e) ServiceStufe BonusKonto punkte:integer jedes name: String angebot BonusProgramm-Objekt plus(i:integer) hat mit kunde Zugriff auf Kunden-Objekt(e) minus(i:integer) Service * bedingung: Boolean pluspunkte: Integer minuspunkte: Integer beschreibung: String Objektmengenkardinalität Datum now programm(): liegtvor(d: Datum):Boolean BonusProrgramm liegtnach(d: Datum):Boolean =(d: Datum): Boolean verfügbar transaktionen Minus Mitgliedschaft 0..1 istleer(): Boolean transaktionen Transaktion punkte: Integer datum: Datum programm(): BonusProrgramm karte Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer karten KundenKarte gültig: Boolean gültigab: Datum gültigbis: Datum farbe: enum {silber, gold} druckname: String karte Standardannahme: transaktionen kleingeschriebener i Klassenname, falls expliziter Rollenname fehlt Plus 6.31

32 partner ProgrammPartner kundenanzahl: Integer BonusProgramm aufnehmen(k: Kunde) programm Mitgliedschaft Assoziationsklasse aktuellergrad 0..1 karte Mitgliedschaft beschreibt {ordered} die Beziehung zwischen BonusProgramm und Kunde näher (aber abstrakt) ServiceStufe BonusKonto punkte:integer jede name: String angebot konkrete Beziehung zwischen BonusProgramm-Objekt und Kunde- plus(i:integer) Objekt minus(i:integer) wird durch Service ein Objekt von Mitgliedschaft * charakterisiert istleer(): Boolean (kann als Klasse Attribute und Operationen besitzen!) bedingung: Boolean pluspunkte: Integer minuspunkte: Integer beschreibung: String Datum now programm(): liegtvor(d: Datum):Boolean BonusProrgramm liegtnach(d: Datum):Boolean =(d: Datum): Boolean verfügbar transaktionen Minus transaktionen Transaktion punkte: Integer datum: Datum programm(): BonusProrgramm Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer karten KundenKarte gültig: Boolean gültigab: Datum gültigbis: Datum farbe: enum {silber, gold} druckname: String transaktionen Plus karte 6.32

33 partner ProgrammPartner kundenanzahl: Integer {ordered} BonusProgramm aufnehmen(k: Kunde) ServiceStufe aktuellergrad programm Mitgliedschaft 0..1 BonusKonto karte Kunde name: String titel: String geburtstag: Datum geschlecht: Geschlecht alter(): Integer besitzer karten KundenKarte punkte:integer gültig: Boolean name: String angebot gültigab: Datum plus(i:integer) minus(i:integer) gültigbis: Datum Service * istleer(): Boolean farbe: enum {silber, gold} bedingung: Boolean verfügbar druckname: String pluspunkte: Integer transaktionen Assoziationsklasse karte minuspunkte: Integer Transaktion jede beschreibung: konkrete Beziehung String zwischen BonusProgramm-Objekt punkte: Integer und Kunde-Objekt wird durch ein Objekt von Mitgliedschaft charakterisiert datum: Datum jede konkrete transaktionen transaktionen DatumMitgliedschaft wird durch programm(): BonusProrgramm - now (genau) eine KundenKarte-Objekt (karte), programm(): liegtvor(d: - null oder Datum):Boolean ein BonusKonto-Objekt (bonuskonto), BonusProrgramm liegtnach(d: - genau ein Datum):Boolean ServiceStufe-Objekt (aktuellergrad) =(d: bestimmt Datum): Boolean Minus Plus 6.33

Object Constraint Language. 30. Oktober 2012

Object Constraint Language. 30. Oktober 2012 Object Constraint Language 30. Oktober 2012 54 Was ist die OCL? Wie wird sie verwendet? Die Object Constraint Language (OCL) ist eine textuelle Sprache für Constraints über Objektstrukturen. Sie ist ein

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

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

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

Die Verwendung der Object Constraint Language (OCL) in UML-Modellen

Die Verwendung der Object Constraint Language (OCL) in UML-Modellen Die Verwendung der Object Constraint Language (OCL) in UML-Modellen Gliederung Einleitung Grundlegende Prinzipien Was ist ein Kontext von Constraints Invarianten Vor- und Nachbedingungen Typen und Collections

Mehr

Formale Modellierung Vorlesung 10 vom : Formale Modellierung mit UML und OCL

Formale Modellierung Vorlesung 10 vom : Formale Modellierung mit UML und OCL 1 [30] Formale Modellierung Vorlesung 10 vom 24.06.14: Formale Modellierung mit UML und OCL Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2014 2 [30] Fahrplan Teil I: Formale Logik

Mehr

Thema 2 Acceleo-MTL- Sprachmittel

Thema 2 Acceleo-MTL- Sprachmittel SE Vertiefung Beuth-Hochschule Berlin Thema 2 Acceleo-MTL- Sprachmittel Sprachstruktur Template-Sprache implementiert MOFM2T Bausteine: Modul Template Query Block Protected Area (c) schmiedecke 13 Generator-Kapsel;

Mehr

Einschub - Die Object Constraint Language in UML Oder: Wie man Zusicherungen in UML angibt

Einschub - Die Object Constraint Language in UML Oder: Wie man Zusicherungen in UML angibt Einschub - Die Object Constraint Language in UML Oder: Wie man Zusicherungen in UML angibt SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik

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

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

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

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

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

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

Einführung in die Informatik II Entwurf durch Verträge: 1. Verträge und OCL

Einführung in die Informatik II Entwurf durch Verträge: 1. Verträge und OCL Einführung in die Informatik II Entwurf durch Verträge: 1. Verträge und OCL Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2004 Mai 2004 Copyright 2004 Bernd

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

Die Object Constraint Language

Die Object Constraint Language Die Object Constraint Language Eine Einführung im Rahmen des SoPras Frank Broemel 1 Gliederung 1. Einleitung 2. Ein Beispiel 3. Zusammenfassung der Erkenntnisse und Systematisierung 4. Literatur 5. Verwendung

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

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

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

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

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

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

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

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

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

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

Anpassung eines Metamodells zur Beschreibung von imperfekten Daten in einem Data-Warehouse. Studienarbeit Nils Hilt

Anpassung eines Metamodells zur Beschreibung von imperfekten Daten in einem Data-Warehouse. Studienarbeit Nils Hilt Anpassung eines Metamodells zur Beschreibung von imperfekten Daten in einem Data-Warehouse Studienarbeit Nils Hilt April 2005 Motivation CWM Analyse-Tool Staumeldung: vertrauenswürdig? Metadaten Daten

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

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 14. Februar 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer:

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

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

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

Kapitel 1. Software-Entwicklung und formale Spezifikation

Kapitel 1. Software-Entwicklung und formale Spezifikation Seite 1 Kapitel 1 Software-Entwicklung und formale Spezifikation Prof. Dr. Rolf Hennicker 22.04.2010 Ziele Seite 2 Die Grundprinzipien der Software-Entwicklung verstehen. Die Rolle formaler Methoden in

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

Object Constraint Language (OCL) By Example

Object Constraint Language (OCL) By Example Fakultät Informatik, Institut SMT, Lehrstuhl Softwaretechnologie Object Constraint Language (OCL) By Example Birgit Demuth Einführung Object Constraint Language (OCL) ist Teil der Unified Modeling Language

Mehr

Softwaretechnik Model Driven Architecture Anwendungen von Metamodellierung

Softwaretechnik Model Driven Architecture Anwendungen von Metamodellierung Softwaretechnik Model Driven Architecture Anwendungen von Metamodellierung Prof. Dr. Peter Thiemann, Stefan Wehr Universität Freiburg 18.07.2008 Anwendungen von Metamodellierung Featuremodellierung Feature

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

Einführung in das Eclipse Modeling Framework. 5. November 2014

Einführung in das Eclipse Modeling Framework. 5. November 2014 Einführung in das Eclipse Modeling Framework 5. November 2014 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen Welcher Teil einer mobilen

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

COPE COuPled Evolution of metamodels and models

COPE COuPled Evolution of metamodels and models COPE COuPled Evolution of metamodels and models Diplomarbeit in Zusammenarbeit mit der BMW Car IT (Betreuer: Elmar Jürgens, Sebastian Benz) Markus Herrmannsdörfer 7. November 2007 Perlen der Informatik

Mehr

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 29 Textuelle Visuelle Alphabete Textuelle Sprachen: eindimensional (Sätze) Basiselemente: Buchstaben, Ziffern,

Mehr

Auf dem Weg zur Semantikdefinition? Das UML-Metamodell (für Klassendiagramme)

Auf dem Weg zur Semantikdefinition? Das UML-Metamodell (für Klassendiagramme) Auf dem Weg zur Semantikdefinition? Das UML-Metamodell (für Klassendiagramme) Willkürlicher Ausschnitt aus dem UML-Metamodell Relationship Zumindest Zumindest ist ist mit mit einem einem Metamodell Metamodell

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

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

Metamodellierung mit MOF und Ecore

Metamodellierung mit MOF und Ecore Westfälische Wilhelms-Universität Münster Metamodellierung mit MOF und Ecore SEMINARVORTRAG und deren Anwendung im Rahmen des MDA-Ansatzes Ansatzes Benedikt Uckat b.uckat@uni-muenster.de Seminar: Ausgewählte

Mehr

Formale Systeme. Object Contraint Language. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Object Contraint Language. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

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

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

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein Blöcke Strukturelemente Block Definitionsdiagramm Dr. Beatrice Amrhein Definition: Block (Systembaustein) Eine Block beschreibt den Aufbau, die Eigenschaften und das Verhalten einer Komponente (eines Systems)

Mehr

Modellierung mit UML

Modellierung mit UML Bernhard Rumpe Modellierung mit UML Sprache, Konzepte und Methodik Mit 210 Abbildungen und Tabellen Springer Inhaltsverzeichnis Einführung 1 1.1 Ziele dieses Buchs 2 1.2 Überblick 3 1.3 Notationelle Konventionen

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

Model-Driven Software Engineering (HS 2011)

Model-Driven Software Engineering (HS 2011) Model-Driven Software Engineering (HS 2011) Dr. J. Küster Übungsblatt I Abgabe: Am 15.11.2011 vor der Vorlesung Voraussetzungen: Installation von Eclipse und Eclipse Modeling Framework Installation der

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 22. März 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer: [

Mehr

Softwaretechnik Model Driven Architecture Einführung OCL

Softwaretechnik Model Driven Architecture Einführung OCL Softwaretechnik Model Driven Architecture Einführung OCL Prof. Dr. Peter Thiemann Universität Freiburg 11.07.2008 Einführung MDA Material Thomas Stahl, Markus Völter. Modellgetriebene Softwareentwicklung.

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) 1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Maik Schmidt Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 21. April 2009 Was ist EMF? Eclipse Modeling

Mehr

Prof. Dr. Jan Jürjens

Prof. Dr. Jan Jürjens Vorlesung () Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV v. 10.11.2014 1 Einordnung Object Constraint Language (OCL) Modellgetriebene SW-Entwicklung Einführung Modellbasierte

Mehr

Modellierungstipps für die Anwendungsfallmodellierung

Modellierungstipps für die Anwendungsfallmodellierung Modellierungstipps für die Anwendungsfallmodellierung Identifiziere nur relativ grobe Abläufe als Anwendungsfälle! Anwendungsfälle werden nicht in weitere Anwendungsfälle zerlegt, höchstens unter Verwendung

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) 1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 04. November 2008 Was ist EMF? Eclipse Modeling

Mehr

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 13. März 2013 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Dr. Christian Gerth unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer: [ ] Informatik

Mehr

Java Einführung Objektorientierte Grundkonzepte

Java Einführung Objektorientierte Grundkonzepte Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung

Mehr

Konzeptionelle Modellierung von XML-Dokumenttypen

Konzeptionelle Modellierung von XML-Dokumenttypen Konzeptionelle Modellierung von XML-Dokumenttypen Rainer Eckstein Institut für Informatik LFE DBIS Humboldt-Universität zu Berlin Rainer Eckstein 1 Konzeptionelle Modellierung von XML: XML (extensible

Mehr

Einführung. Einführung

Einführung. Einführung Einführung Einführung Im Oktober 1994 haben sich Grady Booch und Jim Rumbaugh bei der Rational Software Corporation zusammengeschlossen, um ihre erfolgreichen Methoden zu einem einheitlichen Industriestandard

Mehr

Prof. Dr. Uwe Schmidt. 31. Januar Aufgaben zur Klausur Softwaredesign im WS 2010/11 (WI h253, MI h405, BInf v310, BMInf v300, BWInf v310 )

Prof. Dr. Uwe Schmidt. 31. Januar Aufgaben zur Klausur Softwaredesign im WS 2010/11 (WI h253, MI h405, BInf v310, BMInf v300, BWInf v310 ) Prof. Dr. Uwe Schmidt 31. Januar 2011 Aufgaben zur Klausur Softwaredesign im WS 2010/11 (WI h253, MI h405, BInf v310, BMInf v300, BWInf v310 ) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen

Mehr

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel SWE6 Slide 1 Software-Engineering Vorlesung 6 vom 22.11.2004 Sebastian Iwanowski FH Wedel SWE6 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende

Mehr

Automatische Codegenerierung aus der UML für die IEC

Automatische Codegenerierung aus der UML für die IEC Automatische Codegenerierung aus der UML für die IEC 63-3 Zustandsautomat Erweiterung und Anpassung der UML durch Stereotypen und Tagged Values. * Transition Bedingung Aktion * Zustand Aktivität Anfangszustand

Mehr

Prof. Dr. Jan Jürjens

Prof. Dr. Jan Jürjens Vorlesung () Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV v. 10.11.2014 1 Einordnung Object Constraint Language (OCL) Modellgetriebene SW-Entwicklung Einführung Modellbasierte

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

HdM-Stuttgart, FB1, MI Probeklausur 1, Informatik 4 Prof. Dr. Edmund Ihler. Fachhochschule Stuttgart Hochschule der Medien.

HdM-Stuttgart, FB1, MI Probeklausur 1, Informatik 4 Prof. Dr. Edmund Ihler. Fachhochschule Stuttgart Hochschule der Medien. Fachhochschule Stuttgart Hochschule der Medien Probeklausur 1 Dozent: Prof. Dr. Edmund Ihler Leistungsnachweis: Informatik 4 EDV-Nr.: 13037 Prüfungsdauer: 90 Minuten erlaubte Hilfsmittel: keine Beilagen:

Mehr

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Proseminarvortrag Werkzeugunterstützung für sichere Software Jens Knipper Fakultät für Informatik Technische Universität Dortmund 31.

Mehr

Eclipse Modeling Framework

Eclipse Modeling Framework 1 / 14 Eclipse Modeling Framework Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 14. November 2007 Was ist das Eclipse Modeling Framework (EMF)?

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

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

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der

Mehr

2. Übung. Systemobjektmodell. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

2. Übung. Systemobjektmodell. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 WP3-13 Bauinformatik-Vertiefte Grundlagen 2. Übung Systemobjektmodell mittels EXPRESS-G Folie-Nr.: 1 Objektorientierte Modellierung Unter Objektorientierung (OO) versteht man eine Sichtweise auf komplexe

Mehr

Referat UML + OCL Referenten: Achour Elmrabti Britta Porsche

Referat UML + OCL Referenten: Achour Elmrabti Britta Porsche Referat UML + OCL Referenten: Achour Elmrabti Britta Porsche 1 Inhaltsübersicht Teil A: UML 1) Einleitung S. 3 2) Entwicklungsprozeß S. 4 3) Anwendungsfälle S. 5/6 4) Klassendiagramme S. 7/8 5) Interaktionsdiagramme

Mehr

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML

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

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

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

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum

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

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

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

Model Driven Software Development

Model Driven Software Development Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 7: Modelltransformationen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 7: Modelltransformationen Wozu Modelltransformationen? Konzepte

Mehr

Validation und Quick Fixing mit Xtend. 3. Dezember 2014

Validation und Quick Fixing mit Xtend. 3. Dezember 2014 Validation und Quick Fixing mit Xtend 3. Dezember 2014 175 Überblick Tuning der Xtext-generierten Editoren Validierung mit OCL auf der abstrakten Syntax mit Xtend auf der konkreten Syntax Quick Fixes mit

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute

Mehr

Einführung in OCL (Object Constraint Language)

Einführung in OCL (Object Constraint Language) Fakultät Informatik, Institut SMT, Lehrstuhl Softwaretechnologie Einführung in OCL (Object Constraint Language) Dr. Birgit Demuth Warum OCL? Eine formale Sprache? Dr. Birgit Demuth SWT II, WS 2016/17 2

Mehr

13 Abstrakte Datentypen

13 Abstrakte Datentypen 13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)

Mehr

Blöcke Strukturelemente. Dr. Beatrice Amrhein

Blöcke Strukturelemente. Dr. Beatrice Amrhein Blöcke Strukturelemente Block Definitionsdiagramm Dr. Beatrice Amrhein Definition Ein Block Definitionsdiagramm (oder Blockdiagramm) o zeigt die statische Struktur des Systems, o beschreibt, welche Systembausteine

Mehr