7.1 Informationsflussmodell (Denning)

Größe: px
Ab Seite anzeigen:

Download "7.1 Informationsflussmodell (Denning)"

Transkript

1 7 Informationsflusskontrolle Zugriffskontrolle setzt voraus, dass die Subjekte vertrauenswÿrdig sind. Sie kann nicht verhindern, dass ein Subjekt seine Rechte missbraucht, um einem anderen Subjekt vertrauliche Daten zukommenzulassen. Beispiel: Der Systemverwalter hat Lese- und Schreibrecht auf die Passwortdatei. Er kann Passwšrter lesen und diese in einer von andern lesbaren Datei ablegen. Das Take-Grant-Modell kann zwar diese Mšglichkeit entdecken (De-Facto-Fluss), aber nur dadurch verhindern, dass die Rechte des Systemverwalters so eingeschršnkt werden, dass er seine Aufgabe nicht mehr erfÿllen kann. Die Zugriffskontrolle schÿtzt den BehŠlter, in dem sich vertrauliche Daten befinden. Sind die Daten jedoch (durch rechtmš igen Zugriff) dem BehŠlter entnommen, so sind sie nicht mehr geschÿtzt. An dieser Stelle setzt die Informationsflusskontrolle an Informationsflussmodell (Denning) Definition Ein Informationsflussmodell (IFM) ist ein 6-Tupel IFM: = ( O, K,kl,,, ) mit den folgenden Elementen: O Menge der Objekte im Sinne eines InformationsbehŠlters. K Menge der Sicherkheitsklassen oder Geheimhaltungsklassen kl Klasseneinteilung, d.h. eine Funktion, die jedem Objekt o eine Sicherheitsklasse kl( o) K zuordnet. Flussrelation, gibt die zulšssigen InformationsflŸsse zwischen den Klassen an. Es ist eine zweistellige Relation a mit Halbordnungseigenschaft: Es gilt fÿr x,y,z K: 1. ReflexivitŠt x x 2. Antisymmetrie x y y x x = y 3. TransitivitŠt x y y z x z kl( a) kl( b) bedeutet, dass Information von Objekt a nach Objekt b flie en darf Die grundlegende Idee ist, dass Information nur in Richtung ãhšhererò Geheimhaltungsklassen flie en darf 7-2

2 Informationsflussmodell ist der Vereinigungsoperator, d.h. ein binšrer Operator auf der Menge der Sicherheitsklassen ( :K K K) Er ist kommutativ und assoziativ und bezeichnet die kleinste obere Schranke bezÿglich der Flussrelation. Flie t bei einer Operation Information aus zwei Objekten a und b in ein Objekt c, so gibt kl( a) kl( b) die Klasse an, der c (mindestens) angehšren muss. a b c ist der Verzweigungssoperator, d.h. ein binšrer Operator auf der Menge der Sicherheitsklassen ( :K K K) Auch er ist kommutativ und assoziativ und bezeichnet die grš te untere Schranke bezÿglich der Flussrelation. Flie t bei einer Operation Information aus einem Objekt c in zwei Objekte a und b, so gibt kl( a) kl( b) die Klasse an, der c (hšchstens) angehšren darf. c a b 7-3 Es gelten die folgenden Beziehungen FŸr Flussvereinigungen: 1. x ( x y) y ( x y) x y ist obere Schranke von x und von y 2. x z y z ( x y) z Ist z obere Schranke von x und von y, so ist es auch obere Schranke von x y FŸr Flussverzweigungen: 3. ( x y) x ( x y) y x y ist untere Schranke von x und von y 4. z x z y z ( x y) Ist z untere Schranke von x und von y, so ist es auch untere Schranke von x y Minimales und Maximales Element K bezeichnet das minimale Element: k K: K k Aus dem minimalen Element darf Information Ÿberall hin flie en K bezeichnet das maximale Element: k K: k K In das maximale Element darf Information von Ÿberall her flie en 7-4

3 Anmerkung Mit dem minimalen und dem maximalen Element bildet ( K,,, ) einen Verband. Andere VerbŠnde haben Sie bereits kennengelernt den Mengenverband MV den Boolschen Verband BV Es gelten die folgenden Entsprechungen Verband IFV MV BV Vereinigung Verzweigung Fluss Maximum K Ω wahr Minimum K falsch 7-5 Beispiel: Besonders im militšrischen Bereich ist die Verwendung streng hierarchischer Geheimhaltungsklassen Ÿblich. InformationsflŸsse sind nur von unten nach oben erlaubt. Die Flussrelation bildet dann eine Totalordnung. streng geheim top secret geheim secret vertraulich confidential offen unclassified 7-6

4 Beispiel: In einem Personalinformationssystem werden Daten unterschiedlicher Art Ÿber die Mitarbeiter gehalten: K Krankheitsdaten: Alles, was von betriebsšrztlicher Seite Ÿber den Mitarbeiter bekannt ist G Gehaltsdaten: z.b. Gehalt, Steuerklasse, FreibetrŠge, LohnpfŠndungen etc. B Beurteilungen RegelmŠ ige Beurteilungen durch den/die Vorgesetzte(n). Damit ergibt sich folgender Verband: {K,G,B} {K,G} {K,B} {G,B} {K} {G} {B} { } Flussarten Um Flusskontrolle ausÿben zu kšnnen, mÿssen wir uns Ÿberlegen, an welcher Stelle und in welcher Weise FlŸsse in Rechnern auftreten kšnnen. Der Weg eines Informationsflusses von der Quelle zum Ziel sei als (abstrakter) Kanal bezeichnet. Offene KanŠle Offene KanŠle sind solche, die vom System fÿr den Informationstransport vorgesehen sind a) Explizite FlŸsse Darunter versteht man FlŸsse, die durch einen expliziten Transportbefehl erfolgen Beispiele - auf Maschinenebene move, load, store - auf Programmiersprachenebene: x:=y - Ein/Ausgabe read(file, x) - ParameterŸbergabe: call proc(x) - Prozesskommunikation: send(k,x) usw. 7-8

5 Flussarten b) Implizite FlŸsse Implizite FlŸsse erfolgen zwar auch Ÿber offene KanŠle, werden jedoch nicht durch einen Transportbefehl veranlasst. Sie entstehen durch Auswertung von Bedingungen Beispiel: if (a = 0) then x := 0 else x := -1 Hier tritt ein Fluss von a nach x auf. Implizite FlŸsse findet man bei allen bedingten Anweisungen if... then... else while.. do.. case.. do Flussarten Verdeckte KanŠle Unangenehm fÿr jegliche Flusskontrolle sind verdeckte KanŠle, bei denen Information Ÿber einen Weg flie t, der dafÿr nicht vorgesehen ist. Beispiele: Informationsfluss Ÿber Programmlaufzeit: while x do; Der Wahrheitswert von x kann Ÿber die Programmlaufzeit ermittelt werden Informationsfluss Ÿber Fehlermeldung Wir nehmen an, es werde eine Flusskontrolle durchgefÿhrt und der Fluss von x nach y sei nicht zulšssig ( kl( x),kl( y) ) ' ' y := FALSE; if x then y:= TRUE; Falls x den Wert ãtrueò hat, kommt es zu einer Schutzverletzung 7-10

6 Verdeckte KanŠle 7-11 Informationsfluss Ÿber Dateioperationen Wir nehmen an, dass eine Datei nur jeweils von einem Prozess gešffnet werden kann, jedoch von jedem Prozess geschlossen. Bei vergeblichem OPEN wird auf eine Fehlermarke gesprungen S1 kommuniziert mit S2 Ÿber drei Dateien: value: zum eigentlichen Datentransport set: um anzuzeigen, dass ein Bit geschrieben wurde reset um anzuzeigen, dass das Bit gelesen wurde Das ãgešffnetseinò wird als ã1ò, das ãgeschlossenseinò als ã0ò interpretiert S1 (Sender) for i:=1 to n do begin data := bit_message[i]; if data = 0 then goto L2 L1: OPEN(value,L1); L2: OPEN(set,L2); L3: OPEN(reset,L4); CLOSE(reset); goto L3; L4: CLOSE(reset); end; S2 (Empfänger) for i:=1 to n do begin received:=1; L1: OPEN(set,L2); CLOSE(set); goto L1; L2: OPEN(value,L3); received := 0; L3: CLOSE(value); CLOSE(set); L4: OPEN(reset,L4); bit_message[i]=received; end; Verdeckte KanŠle Wie man an den Beispielen sieht, sind verdeckte KanŠle vertrackt. Jedes nach au en beobachtbare Verhalten eines Rechners kann als verdeckter Kanal benutzt werden: Auslšsen von Schutzverletzungen (segmentation fault) Auslšsen von SeitentauschaktivitŠten Vor- und ZurŸckspulen eines Bandes Benutzen eines dem Drucker unbekannten Zeichensatzes Spezielles Zugriffsmuster auf die Platte, das ein rhythmisches GerŠusch verursacht In der Regel bieten die meisten Betriebssysteme jedoch komfortablere Schlupflšcher, so dass man nicht auf verdeckte KanŠle zurÿckgreifen muss. InformationsflŸsse lassen sich jedoch nicht grundsštzlich verhindern. 7-12

Freelance 2000. DeltaPLC-Tool. Version 4 / Version 5

Freelance 2000. DeltaPLC-Tool. Version 4 / Version 5 Freelance 2000 DeltaPLC-Tool Version 4 / Version 5 Inhaltsverzeichnis 1 Allgemeine Beschreibung... 5 2 Aufruf des DeltaPLC-Tool... 5 3 Vergleich der PLC-Dateien... 6 4 Konfigurationsänderungen... 7 5

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische Grundlagen des Software Engineering - Übung 9 Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 01.07.2013 1 / 31 Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

Softwaretechnik 1 Tutorium

Softwaretechnik 1 Tutorium Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Tutorium 06. Juli 2009 Matthias Thoma (s_thoma@ira.uka.de) Heute Übungsblatt Nr. 4 + Übungsblatt Nr. 5 Softwarequalität

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

Software Engineering I

Software Engineering I Vorlesung Software Engineering I Dynamische Basiskonzepte 2 Kontrollstrukturen Aktivitätsdiagramme Sequenzdiagramme 1 Basiskonzepte Beschreiben die feste Struktur des Systems, die sich während der Laufzeit

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Programmierung in Python

Programmierung in Python Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P

Mehr

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Kontrollstrukturen. Verzweigung mit IF. Beispiel: Zahlenklassifizieren

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Kontrollstrukturen. Verzweigung mit IF. Beispiel: Zahlenklassifizieren Programmiersprachen Einführung in C Teil 5: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen

Mehr

SOMA Reverse Engineering

SOMA Reverse Engineering SOMA Reverse Engineering Univ.Prof. Dr. Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt Was versteht man unter Reverse Engineering? Techniken/Methoden Probleme VU Software Maintenance

Mehr

Abschnitt 4: Grundlagen der Datenbanktechnologie

Abschnitt 4: Grundlagen der Datenbanktechnologie Abschnitt 4: Grundlagen der Datenbanktechnologie Inhalt: Dateien vs. Datenbanken Datenbanken: Tabellen, Attribute und Datentyp Datenmodellierung mit dem Entity-Relationship-Modell Normalformen einer Datenbank

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

5 Zugriffskontrolle 5.1 Systemmodell 5.1.1 Grundmodell Grundmodell zur Beschreibung der VorgŠnge in einem IVS:

5 Zugriffskontrolle 5.1 Systemmodell 5.1.1 Grundmodell Grundmodell zur Beschreibung der VorgŠnge in einem IVS: 5 Zugriffskontrolle 5.1 Systemmodell 5.1.1 Grundmodell Grundmodell zur Beschreibung der VorgŠnge in einem IVS: Zugriffssystem: < S,P,O > S Menge von Subjekten P Menge von Operatoren O Menge von Objekten

Mehr

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten)

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Name: «Vorname» «Name» Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten) Informatik 12 2 VP je 2 VP 6 VP 0 Notieren Sie alle Antworten in einer Word-Datei Klausur1_«Name».doc

Mehr

11 Security Engineering

11 Security Engineering 11 Security Engineering d.h. sichere Entwicklung sicherer Software (safe) (secure) oder sicherheitsbewusste Softwaretechnik ITS-11.1 1 Bei traditionellen Phasenmodellen: Anforderungsermittlung/Systemspezifikation

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Die versteckten Fallen der "Jahr-2000"-Fähigkeit von Software am Beispiel von REXX

Die versteckten Fallen der Jahr-2000-Fähigkeit von Software am Beispiel von REXX Die versteckten Fallen der "Jahr-2000"-Fähigkeit von Software am Beispiel von REXX Zusammenfassung: Autorin/Autor: Um Software "Jahr-2000"-fähig zu machen, müssen Programmierer auch auf Fallen achten,

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

Mehr

Vorlesung Datensicherheit

Vorlesung Datensicherheit Vorlesung Datensicherheit Jürgen Quittek Institut für Informatik Freie Universität Berlin C&C Research Laboratories NEC Europe Ltd., Berlin Vorlesung Datensicherheit Institut für Informatik Freie Universität

Mehr

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Allgemein Teilgebiete der Informatik ohne Theoretische Grundlagen 2 Fragen an

Mehr

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

ASP-Mail Kurzanleitung

ASP-Mail Kurzanleitung ASP-Mail Kurzanleitung Feldstiege 78 / 48161 Münster ASPMail Methoden SendMail AddRecipient ClearRecipients ClearCCs AddBCC ClearBCCs ClearAllRecipients ClearAttachments ClearBodyText AddExtraHeader ClearExtraHeaders

Mehr

Gegenüberstellung von Assembler- und C-Programmierung

Gegenüberstellung von Assembler- und C-Programmierung Gegenüberstellung von Assembler- und C-Programmierung Assembler-Version C-Version org 8000h #pragma code=0x8000 #pragma xdata=0x2000 INPUT equ 0e081h OUTPUT equ 0e082h neu: mov dptr,#input movx a,@dptr

Mehr

Funktionale Programmierung

Funktionale Programmierung Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 2 Teil II Typen mit Werten und Ausdruck, sogar listenweise 3 Haskell Programme Programm Module ein

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

13. Einführung in die Programmiersprache Strukturierter Text (ST)

13. Einführung in die Programmiersprache Strukturierter Text (ST) 13. Einführung in die Programmiersprache Strukturierter Text (ST) 13.1 Übersicht Strukturierter Text (ST, auch SCL) ist eine der sechs in IEC 61131-3 festgeschriebenen Programmiersprachen für Automatisierungstechnik.

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Programmierung I Einführung in Python, Beyond the Basics

Programmierung I Einführung in Python, Beyond the Basics Höhere Datenstrukturen Programmierung I Einführung in Python, Beyond the Basics G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Eines der Features, das Python so mächtig macht (VHLL)

Mehr

Anwendung der Aspektorientierung : Security

Anwendung der Aspektorientierung : Security Seminar AOSD Anwendung der Aspektorientierung : Security Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann 1. Motivation Anwendung der AO: Security 2 Sicherheitsprobleme beim Design und bei der Programmierung

Mehr

Sie lernen ausschließlich durch selber machen!

Sie lernen ausschließlich durch selber machen! Lösungsvorschläge zu den Übungen und Praktika zur Datenverarbeitung Wenn Sie hier nachschauen, bevor Sie die jeweilige Aufgabe gelöst haben, ist das verlorene Zeit : da gehen Sie lieber zum Baden! Sie

Mehr

25 kann ohne Rest durch 5 geteilt werden! ist wahr

25 kann ohne Rest durch 5 geteilt werden! ist wahr Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen

Mehr

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de

C-Vorrangregeln. Version 1.3 6.7.2009. email: tb@ostc.de Web: www.ostc.de C-Vorrangregeln Version 1.3 6.7.2009 email: tb@ostc.de Web: www.ostc.de Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Seminarvortrag Secure NFS

Seminarvortrag Secure NFS Seminarvortrag Secure NFS Michael Stilkerich michael.stilkerich@informatik.stud.uni-erlangen.de am 12. Mai 2003 Einleitung Das Network File System ist ein sehr eleganter Weg, gemeinsam genutzte Dateisysteme

Mehr

Überblick. Zugriffskontrolle. Protokollierung. Archivierung. Löschung

Überblick. Zugriffskontrolle. Protokollierung. Archivierung. Löschung Archivierung & Löschung von Unternehmensdaten 1 Überblick Zugriffskontrolle Protokollierung Archivierung Löschung 2 Zugriffskontrolle 14 Z 5 DSG verlangt:..die Zugriffsberechtigung auf Daten und Programme

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with

Mehr

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Wieviel Sicherheit und welche Sicherheit wird benštigt. 2 Allgemeine Sicherheitsaspekte. 2.1 Sicherheitskonzept. Erstellung eines Sicherheitskonzepts

Wieviel Sicherheit und welche Sicherheit wird benštigt. 2 Allgemeine Sicherheitsaspekte. 2.1 Sicherheitskonzept. Erstellung eines Sicherheitskonzepts 2 Allgemeine Sicherheitsaspekte Wieviel Sicherheit und welche Sicherheit wird benštigt 2.1 Sicherheitskonzept Wer fÿr die Sicherheit eines Rechensystems zustšndig ist, sollte die folgenden Aufgaben schrittweise

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

2 Allgemeine Sicherheitsaspekte. 2.1 Sicherheitskonzept

2 Allgemeine Sicherheitsaspekte. 2.1 Sicherheitskonzept 2 Allgemeine Sicherheitsaspekte 2.1 Sicherheitskonzept Wer fÿr die Sicherheit eines Rechensystems zustšndig ist, sollte die folgenden Aufgaben schrittweise durchfÿhren: 1. Definition des SicherheitsbedŸrfnisses

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Konzepte von Programmiersprachen WS 03/04. LÖSUNG ZU BLATT 3 (Seite 1 / 6)

Konzepte von Programmiersprachen WS 03/04. LÖSUNG ZU BLATT 3 (Seite 1 / 6) (Seite 1 / 6) ufgabe 1 [6] ootstrapping Die Diagramme sind in bbildung 1 gezeigt. ufgabe 2 [6] Eines für alle? Imperativ etriebssysteme: Sie verwalten einen Zustand, der an sich schon maschinenorientiert

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

Mehr

C-Programmierung unter TOS ATARI ST

C-Programmierung unter TOS ATARI ST Peter Rosenbeck C-Programmierung unter TOS ATARI ST Einführung in die Programmiersprache C Systemprogrammierung am Beispiel eines Diskettenmonitors Einsatz von BIOS-Routinen Software-Engineering - B I

Mehr

Counter als PHP-Skript (Zugriff auf Textdatei):

Counter als PHP-Skript (Zugriff auf Textdatei): Counter als PHP-Skript (Zugriff auf Textdatei): php Counter Herzlich willkommen Sie

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

Unigraphics Schnittstelle installieren

Unigraphics Schnittstelle installieren Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.2 Voraussetzungen für diesen Workshop Sie sind mit dem Betriebsystem vertraut Sie besitzen Administrator-Rechte Die M-Quest Suite ist

Mehr

Mittels X11 Anwendungen auf anderen Rechnern ausführen. Das Display Konzept. LinuxFocus article number 222 http://linuxfocus.org

Mittels X11 Anwendungen auf anderen Rechnern ausführen. Das Display Konzept. LinuxFocus article number 222 http://linuxfocus.org LinuxFocus article number 222 http://linuxfocus.org Mittels X11 Anwendungen auf anderen Rechnern ausführen by Guido Socher (homepage) About the author: Guido mag Linux nicht nur, weil es interessant ist,

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...

Mehr

Algorithmen und Programmieren II Einführung in Python

Algorithmen und Programmieren II Einführung in Python Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität

Mehr

0. Einführung. 1. Konfigurierung von BORIS

0. Einführung. 1. Konfigurierung von BORIS 2 0. Einführung Die enthält sämtliche Komponenten, um das Blockorientierte Simulationssystem BORIS wahlweise als OPC-Server oder OPC-Client zu betreiben. Dazu zählen: Server-Input-Block (BORIS-User-DLL

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen. 7.6 Bedingte Rechte Manchmal sind Rechte nur unter bestimmten Voraussetzungen gültig. Diese Situation beschreiben wir -wie sonst auch üblich- mit bedingten Rechten. Beispiel: Wir betrachten die Modellierung

Mehr

Skriptsprachen am Beispiel Python

Skriptsprachen am Beispiel Python Seminar Programmiersprachen Skriptsprachen am Beispiel Python Norman Thomas 8. Juni 2004 Überblick Was sind Skriptsprachen? Was ist Python? Python und Syntax Datentypen Kontrollstrukturen Module Ausführung

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

Mehr

Erster Kontakt mit Java und Pseudocode

Erster Kontakt mit Java und Pseudocode Erster Kontakt mit Java und Pseudocode CoMa-Übung II TU Berlin 23.10.2013 CoMa-Übung II (TU Berlin) Erster Kontakt mit Java und Pseudocode 23.10.2013 1 / 27 Themen der Übung 1 Java auf meinem Rechner 2

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Null-Werte in Relationalen Datenbanken

Null-Werte in Relationalen Datenbanken Seminar: Imperfektion in Datenbanken WS03/04 Null-Werte in Relationalen Datenbanken Thomas Bierhance Einführung Null-Werte in DBen sind notwendiges Übel, da... (1) das Wissen über die tatsächliche Welt

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet:

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Klassendefinitionen verstehen

Klassendefinitionen verstehen Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen

Mehr

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen? Betrifft Autor Oracle und.net im n-tier Umfeld Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (April 2003) Quelle Aus unserer Projekterfahrung Einführung Oracle und.net sind ein populäres

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

Errata-Liste zum Kurs: Einführung in XML (2. Auflage)

Errata-Liste zum Kurs: Einführung in XML (2. Auflage) Errata-Liste zum Kurs: Einführung in XML (2. Auflage) 1. Kapitel 4.8: Auf Kursseite 8 ist der angeführten XML-Quellcode fehlerhaft:

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgabe (1/1) Lösung Aufgabe

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Sicherheit in Client/Server-Umgebungen

Sicherheit in Client/Server-Umgebungen Sicherheit in Client/Server-Umgebungen (1) Motivation Sehr viele Anwendungen in vernetzten Umgebungen basieren auf dem Konzept der Bereitstellung von Diensten durch Server sowie der Inanspruchnahme von

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr