Protocol Engineering
|
|
- Maria Siegel
- vor 8 Jahren
- Abrufe
Transkript
1 Brandenburgische Technische Universität Cottbus Lehrstuhl Rechnernetze und Kommunikationssysteme Entwurf und Validierung von Protokollen und Verteilten Systemen Prof. Dr.-Ing. Hartmut König Lehre BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König Cottbus, Postfach ,Telefon: 0355/ Fax: 0355/
2 II.3.5 Temporale Logiken Abschnitt 7.8 II.3/2
3 Temporale Logiken Literatur Clark, E.; Grumberg, O.; Peled, D.: Model Checking. MIT Press, Holzmann, G.J.: The SPIN Model Checker Primer and Reference Manual. Addison- Wesley, 2004 II.3/3
4 A) Beschreibungsprinzip II.3/4
5 Temporale Logiken Temporale Logiken sind Erweiterungen der Aussagenlogik und der Prädikatenlogik durch Operatoren, die die Formulierung von Aussagen mit Bezug auf die Zeit gestatten. nicht die absolute Zeit interessiert, sondern die zeitliche Folge, in der sich die Dinge ereignen beschreiben Eigenschaften, die das System/Protokoll erfüllen soll Einhaltung der Eigenschaften im Entwurf wird durch temporallogisches Schließen oder Model Checking überprüft Wichtigste deskriptive Beschreibungsmethode für Kommunikationsprotokolle!!! II.3/5
6 Systemanforderungen Systemanforderungen, die mittels Temporaler Logiken beschrieben werden, unterscheiden sich in Sicherheitseigenschaften besagen, dass in dem zu beschreibenden System/Protokoll bestimmtes, unerwünschtes Verhalten nicht eintreten wird wenn etwas passiert, dann handelt es sich um etwas Erwünschtes Lebendigkeitseigenschaften sichern, dass die spezifizierten Ereignisse und Zustände irgendwann tatsächlich eintreten beschreiben, was passieren muss II.3/6
7 B) Arten temporaler Logiken II.3/7
8 Arten Temporaler Logiken Es gibt verschiedene Arten temporaler Logiken, die sich in Abhängigkeit von den Eigenschaften, die sie zu beschreiben gestatten, in ihrer Ausdruckskraft unterscheiden. Wichtigste Unterscheidung Lineare temporale Logiken (Linear-time temporal logics) Verzweigende temporale Logiken (Branching-time temporal logics) II/8
9 Lineare Temporale Logiken Lineare temporale Logiken modellieren das Systemverhalten als lineare Folge von Zuständen. Es gibt nur ein zeitliches Verhalten Jeder Moment/Zustand hat einen eindeutigen Nachfolger Unendliche Folge von Zuständen Beispiel: Linear Temporal Logics (LTL) bevorzugter Einsatz: Software-Verifikation II.3/9
10 Verzweigende Temporale Logiken Verzweigende temporale Logiken lassen in einem gegebenen Zustand alternative Verhalten zu. Verschiedene zeitliche Abläufe Zustandsbaum Unendliche Folge von Zuständen Beispiel: Computational Tree Logic (CTL) bevorzugter Einsatz: Hardware-Verifikation II.3/10
11 C) Beispiel-Logik II.3/11
12 Beispiel-Logik Lineare temporale Logik, die Aussagen zur Gegenwart und Zukunft gestattet. Aussagen zur Gegenwart - Negation - Konjunktion - Disjunktion - Implikation - Äquivalenz Aussagen zur Zukunft siehe folgende Folien II.3/12
13 Aussagen zur Zukunft (1) - von nun an (henceforth) / immer (always) Sei p eine Aussage, dann bedeutet dass die Aussage jetzt und in der Zukunft wahr ist ( Garantie). p Beispiel: (XDATrequ_1 phase CONNECT) II.3/13
14 Aussagen zur Zukunft (2) - letztendlich (eventually) Sei p eine Aussage, dann bedeutet p dass p jetzt wahr ist oder irgendwann in der Zukunft wahr wird. Beispiel: (XDATrequ XDATind) II.3/14
15 Aussagen zur Zukunft (3) - nächster (next) Sei p eine Aussage, dann bedeutet p dass, wenn es einen nächsten Zustand gibt, p in diesem Zustand wahr ist. Beispiel: (phase = DATA TRANSFER XABORTind O(phase CONNECT)) II.3/15
16 Aussagen zur Zukunft (4) U - solange bis (until) Seien p und q Aussagen, dann bedeutet p U q dass es einen Zustand gibt, in dem q gilt. Solange dieser Zustand nicht erreicht ist, gilt p. Beispiel: (phase DATA TRANSFER U (S.XDISind S.XABORT)) II.3/16
17 Aussagen zur Zukunft (5) W - solange nicht (unless) Seien p und q Aussagen, dann bedeutet pwq dass p solange gilt bis q wahr wird, jedoch muss q nicht notwendigerweise wahr werden. Beispiel: (S.XDATrequ (S.XDATconf Wstate break)) II.3/17
18 Bedeutung der LTL-Operatoren p p p puq pwq oder II.3/18
19 Beispiel: XDT-Verbindungsaufbau ((S.XDATrequ S.XDATrequ.sequ 1) phase CONNECT) ((S.XDATrequ S.XDATrequ.sequ>1) phase DATA TRANSFER) ((S.XDATrequ S.XDATrequ.sequ 1) (S.XDATconf phase DATA TRANSFER) S.XABORTind) ((S.XDATrequ S.XDATrequ.sequ=1) (R.XDATind S.XABORTind)) Aussagen (1) + (2): Sicherheitseigenschaften Verbindungsaufbau nur in der CONNECT-Phase Aussagen (3) + (4): Lebendigkeitseigenschaften Protokollfortschritt II.3/19
20 D) Diskussion II.3/20
21 Temporale Logiken Vorteile: explizite Spezifikation der zu erfüllenden Systemanforderungen Allgemeingültigkeit kann formal bewiesen werden Inkonsistenzen können aufgedeckt werden Nachteile: Übergang zur Implementierung kompliziert fehlende Werkzeugunterstützung hoher Einarbeitungsaufwand Vorkenntnisse erforderlich Für praktischen Protokollspezifikationen kaum genutzt!!! Anwendung in Kombination mit anderen Methoden insbesondere Model Checking II.3/21
22 II.3.6 Hybride Methoden Abschnitt 7.4 II.3/22
23 Hybride Methoden Keine Beschreibungsmethode oder FDT erfüllt vollständig alle Anforderungen der Protokollbeschreibung wie sie zu Beginn dieses Kapitels diskutiert worden sind. Dies schränkt ihre Anwendbarkeit in der Praxis. Deshalb werden Hybride Methoden eingesetzt, die verschiedene Beschreibungsmethoden kombinieren, um von ihren Vorteilen zu profitieren und für ihre Unzulänglichkeiten zu kompensieren. Beispiele: - EFSM + Sprachen - EFSM + Petri Netze + Temporale Logiken - ctla (siehe Buch Abschnitt 8.4) Alle FDTs basieren mehr oder weniger auf hybride Ansätzen!!! II.3/23
24 II.3.7 Datenbeschreibung Beispiel: ASN.1 (Abstract Syntax Notation One) Abschnitt 8.5 II.3/24
25 Struktur einer Protokollbeschreibung Zwei Bestandteile: Beschreibung der Datenformate Grundlage/Voraussetzung der Funktionsweise von Protokollen Beschreibung der Protokollablaufs Hauptteil der Beschreibung In diesem Kapitel betrachtet II.3/25
26 ASN.1 Literatur O. Dubuisson: ASN.1 - Communication between heterogeneous systems. Morgan Kaufmann Publishers, 2000 e-tutorial II.3/26
27 Datenbeschreibung in Protokollen Für die Datenbeschreibung von Protokollen wurden ursprünglich Sprachmittel höherer Programmiersprachen verwendet, die z. T. durch Darstellungsmittel für abstrakte Datentypen erweitert wurden. Estelle: Pascal-Datentypen z.t. zu detailliert SDL: Abstrakte Datentypen relativ aufwendig Lotos: Abstrakte Datentypen / ACT ONE sehr aufwendig Unabhängig von der FDT-Entwicklung hat ASN.1 als Beschreibungssprache für Datenformate in der Telekommunikation eine breite Anwendung gefunden. flexibler weniger aufwendig II.3/27
28 A) Bedeutung und ursprünglicher Einsatz von ASN.1 II.3/28
29 Entwicklung von ASN.1 Beginn der Entwicklung: Mitte der 80er Jahre Beschreibungssyntax X.409 der CCITT Entwickler: CCITT / später von ISO übernommen IS 8824: Abstract Syntax Notation One IS 8825: Basic Encoding Rules Sprachüberarbeitungen: 1994, 1997, 2002 II.3/29
30 Bedeutung von ASN.1 (ursprüngliches) Ziel: Beschreibung abstrakter Syntaxen gleiche Interpretation der Daten in verteilten Systemen später Nutzung zur Beschreibung von Datenformaten jetzt bevorzugt genutzt Integration in FDTs (z. B. SDL) auch Nutzung in der Internetwelt z. B. DNS, Netzmanagement (SNMP, LDAP), X.509, Abrechnung von Roaming- Gebühren GSM und UMTS ASN.1 ist eine wichtige Beschreibungsnotation für Datenformate von Kommunikationsprotokollen und Verteilten Systemen!!! II.3/30
31 Einschub: Prinzip der Nutzung abstrakter Syntaxen (1) Lokale Syntax_1 Verteilte Anwendung Abstrakte Syntax Lokale Syntax_2 Kodierungsregeln Transfer- Instanz Darstellungskontext Transfer- Instanz OSI-Schicht 7 OSI-Schicht 6 Host_1 Transfersyntax Host_2 II.3/31
32 Abstrakte vs. Transfersyntax Abstrakte Syntax Definiert eine generische Darstellung für die Datentypen und Werte einer verteilten Anwendung, die unabhängig ist von ihrer konkreten Kodierung in den einzelnen Rechnern (lokale Syntax) Transfersyntax Syntax für den Datenaustausch zwischen den kommunizierenden Rechnern. II.3/32
33 Einschub: Prinzip der Nutzung abstrakter Syntaxen (2) APDU::=SEQUENCE{ header Headertype user data OCTET STRING} ASN.1 TYPE apdu= RECORD h: header user_data: ARRAY[1..512] OF CHAR END Lokale Syntax A typedef struct { hdr_type h char* user_data } Lokale Syntax B Modula Kodierung/ Dekodierung Basic Encoding Rules Transfersyntax C Kodierung/ Dekodierung II.3/33
34 Kodierungsregeln ASN.1 schreibt die Transfersyntax nicht vor!!! Kodierungsregeln Basic Encoding Rules (BER) Packed Encoding Rules (PER) Canonical Encoding Rules (CER) Distinguished Encoding Rules (DER) XML Encoding Rules (XER) II.3/34
35 Anwendungsbereiche eines ASN.1-Compilers ASN.1 Spezifikation Parameter ASN.1- Compiler Kodierer/ Dekodierer Transfersyntax Höhere Programmiersprache II.3/35
36 B) Prinzip des ASN.1 II.3/36
37 Prinzip des ASN.1 ASN.1 ist keine formale Beschreibungstechnik, wie die anderen hier diskutierten Sprachen. Es hat eine informale Semantik. In der Vorlesung wird die Sprache nicht detailliert behandelt. ASN.1 definiert nur Datenformate; keine Operationen! Definition neuer Datentypen auf der Basis einfacher und zusammengesetzter Datentypen Typ-Deklarationen Kennzeichnung der Datentypen zur Erkennung durch Tags In der Zwischenzeit automatisiert II/37
38 Typdefinitionen / Einfache Typen Die Typdefinition ist neben der Wertdefinition eines der grundlegenden Elemente in einer ASN.1-Beschreibung. Beispiel: Role::=BOOLEAN Einfache Typen BOOLEAN, INTEGER, BIT STRING, OCTET STRING, REAL, ENUMERATED und NULL NULL Signal II.3/38
39 Zusammengesetzte Typen ASN.1 SEQUENCE SEQUENCE OF SET SET OF CHOICE Subtypen entspricht record, struct array, [ ] type set set (nur gleicher Typ) union z.b. INTEGER(0..99) II.3/39
40 II.3.8 UML-2 (Unified Modeling Language) II.3/40
41 UML-2 Die Unified Modeling Language (UML) ist eine von der Object Management Group (OMG) entwickelte und standardisierte Sprache für die Modellierung, Dokumentation, Spezifizierung und Visualisierung komplexer Softwaresysteme. definiert Notationselemente für die statische und dynamische Modellierung enthält auch Sprachelemente für die Beschreibung von Protokollen Protokollautomaten Sequenzdiagramme UML-2 passt die Sequenzdiagramme weitgehend an MSC II.3/41
42 UML-Diagramme (1) UML 2 unterscheidet 13 verschiedenen Diagramm-Typen. Strukturdiagramme beschreiben, welche Systemelemente/-komponenten modelliert werden Verhaltensdiagramme beschreiben, das Verhalten und die Abläufe im System unterstützt alle Elemente für Protokollbeschreibung!!! auch in verschiedenen Entwurfsphasen (z.b. Use Cases) II.3/42
43 UML-Diagramme (2) Strukturdiagramme Klassendiagramm Kompositionsstrukturdiagramm Komponentendiagramm Verteilungsdiagramm Objektdiagramm Paketdiagramm Profildiagramm Verhaltensdiagramme Anwendungsfalldiagramm (Use Cases) Aktivitätsdiagramm Sequenzdiagramm Kommunikationsdiagramm Interaktionsdiagramm Zeitverlaufsdiagramm Zustandsdiagramm Sonderfall: Protokollautomat II.3/43
44 EFSM/FSM der XDT-Instanzen II.3/44
45 UML-Sequenzdiagramm XDT- Datenübertragung (Ausschnitt) II.3/45
46 UML vs. FDTs UML Allgemeine Modellierungssprache Keine formale Semantik Komplexe Sprache Viele Anwendungsbereiche Ziel: Modellentwicklung und weniger die Dokumentation eines konkreten Entwurfsprozesses Modelle können auf andere Sprachen und Plattformen abgebildet werden FDTs Stärker auf ein bestimmtes Anwendungsgebiet ausgerichtet Formal Semantik Semantisches Modell bestimmt und begrenzt die Modellierungsfähigkeiten Dokumentiert einen konkreten Entwurfsprozess Abbildung auf andere Sprachen ist komplizierter Verifikationsunterstützung II/46
47 Was will UML nicht sein? 1 UML ist nicht perfekt nicht vollständig keine Programmiersprache keine rein formale Sprache nicht spezialisiert auf ein Anwendungsgebiet kein vollständiger Ersatz für Textbeschreibung und vor allem keine Methode oder kein Vorgehensmodell. UML-2 ist keine formale Beschreibungstechnik!!! Protokollbeschreibung braucht auch nicht zwingend Objekt- Orientierung!!! 1) entnommen: C. Rupp et al.: UML 2 glasklar. Hanser 2005 II.3/47
48 UML-2 für die Protokollbeschreibung? UML wird von mehr Anwendern genutzt als bisherige FDTs!!! Nutzung von UML-2 bietet die Chance einer breiteren Akzeptanz formaler Beschreibungen von Protokollen / verteilten Systemen!!! und damit der Weiterentwicklung ingenieurmäßiger Methoden Ansätze für die Abbildung von UML 2 auf formale Beschreibungstechniken Abbildung einer Teilmenge von UML-Diagrammen auf FDTs automatische Analysen Kopplung von UML mit einer formalen Beschreibungstechnik UML Profile for SDL (Z.109) Definition einer formalen Semantik für eine Untermenge von UML II.3/48
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
Mehr09.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)
MehrVorlesung 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)
MehrMotivation. Motivation
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrRequirements Engineering I
Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrKapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?
Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung
MehrGuido 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
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrSoftware Engineering in der Praxis
Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrBPMN. Suzana Milovanovic
BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business
MehrVgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf 2 Nach derbefragung aller Stakeholder und der Dokumentation
MehrSoftwaretechnik (Allgemeine Informatik) Überblick
Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrVorlesung 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)
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrSystemdenken und Gestaltungsmethodik System-Modellierung
Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
MehrUML (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...
MehrFAQ 04/2015. Auswirkung der ISO 14119 auf 3SE53/3SF13 Positionsschalter. https://support.industry.siemens.com/cs/ww/de/view/109475921
FAQ 04/2015 Auswirkung der ISO 14119 auf 3SE53/3SF13 Positionsschalter mit https://support.industry.siemens.com/cs/ww/de/view/109475921 Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es
MehrStellvertretenden Genehmiger verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1. Grundlegende Informationen 3 2.1 Aktivieren eines Stellvertretenden Genehmigers 4 2.2 Deaktivieren eines Stellvertretenden Genehmigers 11 2 1. Grundlegende Informationen
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell
Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrNACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
MehrSEQUENZDIAGRAMM. Christoph Süsens
SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
MehrVortrag von: Ilias Agorakis & Robert Roginer
MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrÜbung 4. Musterlösungen
Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrEinführung in die Programmierung für NF
Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone
MehrFotos verkleinern mit Paint
Fotos verkleinern mit Paint Warum Paint? Sicher, es gibt eine Menge kostenloser guter Programme und Möglichkeiten im Netz zum Verkleinern von Fotos. Letztendlich ist es Geschmackssache, aber meine Erfahrungen
MehrProjektmanagementsoftware: Standard vs. Individual
Projektmanagementsoftware: Standard vs. Individual Thomas Schlereth Folie 1 der PM-Software im Unternehmen Pro / Contra Individual Strategische Planung von Projekten, Programmen und Portfolien Gesamte
MehrUnified Modeling Language (UML)
Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine
MehrVgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrSoftware-Engineering SS03. Zustandsautomat
Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die
MehrLIFO -Stärkenmanagement: Übungen und Spiele
LIFO -Stärkenmanagement: Übungen und Spiele Kirsten Möbius Mai 2011 1 Inhaltsangabe Übung zur Interpretation des LIFO - Fragebogens Übung zur Vertiefund der LIFO - Stile (Aufstellung) Übung zur Vertiefung
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrEs war einmal... "StudyING: Welten bewegen - Welten gestalten"
Computer, generiere! Christian Schröder Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld christian.schroeder@fh-bielefeld.de Es war einmal... Es war einmal... ein Bauvorhaben!
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrDie richtigen Partner finden, Ressourcen finden und zusammenführen
Kongress Kinder.Stiften.Zukunft Workshop Willst Du mit mir gehen? Die richtigen Partner finden, Ressourcen finden und zusammenführen Dr. Christof Eichert Unsere Ziele: Ein gemeinsames Verständnis für die
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Grobentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig
MehrKommunikationssysteme [KS]
Kommunikationssysteme [KS] Dr.-Ing. Falko Dressler Computer Networks and Communication Systems Department of Computer Sciences University of Erlangen-Nürnberg http://www7.informatik.uni-erlangen.de/~dressler/
MehrProbeklausur Softwareengineering SS 15
Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das
MehrBisher. Wiederholung NFA Modellierung durch NFA Kripke-Struktur
Bisher Wiederholung NFA Modellierung durch NFA Kripke-Struktur Model-Checking Modell beschrieben durch Kripke-Struktur A Spezifikation ϕ in einer Temporallogik Verifikation: Nachweis, dass die Struktur
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von
MehrTheoretische Grundlagen der Informatik WS 09/10
Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrKlausur Software-Engineering SS 2005 Iwanowski 23.08.2005
Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrPrädikatenlogik - Micromodels of Software
Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrVgl. Oestereich Kap 2.7 Seiten 134-147
Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrVorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann
Vorgetragen von Sanaz Mostowfi Anna Polovets Mandy Neumann Gliederung Was ist DSL? Welche Arten von DSL gibt es? Vor und Nachteile Werkzeuge zur Erstellung von DSLs XText Definition: DSL (Domain Specific
MehrGrundlagen der Softwaretechnik
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:
MehrEinführung in die Fuzzy Logic
Einführung in die Fuzzy Logic Entwickelt von L. Zadeh in den 60er Jahren Benutzt unscharfe (fuzzy) Begriffe und linguistische Variablen Im Gegensatz zur Booleschen Logik {0,} wird das ganze Intervall [0,]
MehrWIE WIRKLICH IST DIE WIRKLICHKEIT WIE SCHNELL WERDEN SMART GRIDS WIRKLICH BENÖTIGT? DI Dr.techn. Thomas Karl Schuster Wien Energie Stromnetz GmbH
WIE WIRKLICH IST DIE WIRKLICHKEIT WIE SCHNELL WERDEN SMART GRIDS WIRKLICH BENÖTIGT? DI Dr.techn. Thomas Karl Schuster Wien Energie Stromnetz GmbH Agenda Einleitung Historisches zum Thema Smart Definitionen
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
Mehrimpact ordering Info Produktkonfigurator
impact ordering Info Copyright Copyright 2013 veenion GmbH Alle Rechte vorbehalten. Kein Teil der Dokumentation darf in irgendeiner Form ohne schriftliche Genehmigung der veenion GmbH reproduziert, verändert
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrGliederung 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
MehrFolie 1: Fehlerbaumanalyse (FTA) Kurzbeschreibung und Ziel Die Fehlerbaumanalyse im Englischen als Fault Tree Analysis bezeichnet und mit FTA
Folie 1: Fehlerbaumanalyse (FTA) Kurzbeschreibung und Ziel Die Fehlerbaumanalyse im Englischen als Fault Tree Analysis bezeichnet und mit FTA abgekürzt dient der systematischen Untersuchung von Komponenten
MehrGrenzen Sie sich von Ihren Wettbewerbern ab und nutzen Sie die Vorteile der 5-Jahres-Garantie der ZEMAG - kostenlos*.
Grenzen Sie sich von Ihren Wettbewerbern ab und nutzen Sie die Vorteile der 5-Jahres-Garantie der ZEMAG - kostenlos*. *Die Leistung ist für ZEMAG-Partner kostenlos. Die Teilnahme steht jedem frei. Teilnehmer
MehrMan liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
MehrJan Parthey, Christin Seifert. 22. Mai 2003
Simulation Rekursiver Auto-Assoziativer Speicher (RAAM) durch Erweiterung eines klassischen Backpropagation-Simulators Jan Parthey, Christin Seifert jpar@hrz.tu-chemnitz.de, sech@hrz.tu-chemnitz.de 22.
MehrTerme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)
Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrSoftwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek
MehrObjektorientierter Software-Entwurf Die Unified Modeling Language 4 1
Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.
MehrWhiteStarUML Tutorial
WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/
Mehr2. Vorlesung. Slide 40
2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Feinentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig
MehrSichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der
Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrBeschreibung des MAP-Tools
1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,
MehrModul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:
1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr