Theoretische Informatik

Theoretische Informatik 1 L o g i k - A. Jung 33 1.1 Grundbegriffe der Logik 34 1.2 Aussagenlogik 36 1.3 Von der Aussagenlogik zur Prädikate...
16 downloads 0 Views 1MB Size
Theoretische Informatik 1

L o g i k - A. Jung

33

1.1

Grundbegriffe der Logik

34

1.2

Aussagenlogik

36

1.3

Von der Aussagenlogik zur Prädikatenlogik

44

1.4

Strukturen

45

Semantik der Aussagenlogik - Natürliches Schließen - Resolution

Kongruenzrelationen - Terme und Termalgebren 1.5

Gleichungslogik

50

1.6

Prädikatenlogik Sprache der Prädikatenlogik - Semantik der Prädikatenlogik Substitution - Natürliches Schließen mit Quantoren - Normalformen und Skolemisierung - Prädikatenlogische Resolution - Unentscheidbarkeit Axiomatisierbarkeit - Prädikatenlogik zweiter Stufe Modallogik Sprache der Modallogik - Semantik der Modallogik - Modallogische Beweise - Spezielle modale Logiken - Multimodale Logik - Temporale Logik

52

1.7

2

64

Symbolverzeichnis

70

Allgemeine Literatur

71

Spezielle Literatur

72

Berechnungsmodelle - A. Jung

73

2.1

Speicherorientierte Modelle Turingmaschinen - Registermaschinen

74

2.2

Funktionale Modelle Algebraische Kombinationen - Primitive Rekursion - µ-Rekursion Lambda-Kalkül

77

Kommunikation und verteilte Systeme

85

2.3

EA-Turingmaschinen - Verteilte Systeme

3

Allgemeine Literatur

87

Spezielle Literatur

87

Formale Sprachen und Automaten - P. Rechenberg

89

3.1

Grundbegriffe Zeichenketten und Sprachen - Grammatiken - Kanonische Ableitungen

90

3.2

Die Chomsky-Hierarchie

93

3.3

Reguläre Sprachen und endliche Automaten

94

und Mehrdeutigkeit

Charakterisierung - Reguläre Mengen und reguläre Ausdrücke - Endliche Automaten - Sonstiges

4

5

3.4

Kontextfreie Sprachen und Kellerautomaten Charakterisierung - Grammatiktransformationen und Normalformen Kellerautomaten - Kontextfreie Grammatiken und Kellerautomaten Erkennungsverfahren

98

3.5

Deterministische Grammatiken LL(k)-Grammatiken und absteigende Syntaxanalyse - LR(k)Grammatiken und aufsteigende Syntaxanalyse

102

3.6

Turingmaschinensprachen

104

3.7

Kontextsensitive und unbeschränkte Sprachen Nachbildung von Turingmaschinen - Entscheidbarkeit kontextsensitiver Sprachen - Der linear beschränkte Automat - Unbeschränkte Sprachen

106

3.8

Weitere Sprachklassen

108

3.9

Eine Hierarchie von Sprachen

108

Symbolverzeichnis

109

Allgemeine Literatur

110

Spezielle Literatur

110

Grenzen der Berechenbarkeit -I. Wegener

111

4.1

Rechnermodelle und die Churchsche These Rechnermodelle - Universelle Rechner - Simulationen - Churchsche These

111

4.2

Gibt es nichtberechenbare Funktionen? Die Existenz nichtberechenbarer Funktionen - Das Halteproblem

113

4.3

Weitere unentscheidbare Probleme Reduktionen - SoftwareVerifikation - Formale Sprachen Prädikatenlogik

115

Allgemeine Literatur

118

K o m p l e x i t ä t - 1 . Wegener

119

5.1

Größenordnungen und die O-Notation

120

5.2

Die NP-Vollständigkeitstheorie Die Klasse P - Die Robustheit der Klasse P - Berechenbare Probleme, die nicht in P liegen - Die Klasse NP - NP-Vollständigkeit - NP-vollständige Probleme

121

5.3

Erweiterungen der NP-Vollständigkeitstheorie Pseudopolynomielle Algorithmen und starke NP-Vollständigkeit Approximationsalgorithmen und die PCP-Theorie

126

5.4

Komplexitätsklassen für probabilistische und parallele Rechner Komplexitätsklassen für probabilistische Rechner - Eine Komplexitätsklasse für Parallelrechner

130

5.5

Die polynomielle Hierarchie Die Komplexitätsklassen der polynomiellen Hierarchie Komplexitätsklassen innerhalb von NP

132

5.6

Speicherkomplexität Determinismus und Nichtdeterminismus - Vollständigkeit

133

5.7

Nichtuniforme Komplexitätsklassen Schaltkreise mit beschränktem Fan-in - Tiefenbeschränkte Schaltkreise Die NC-AC-Hierarchie - Branchingprogramme und OBDDs

134

5.8

Kommunikationskomplexität

138

Das Kommunikationsspiel - Untere Schranken - Anwendungen Allgemeine Literatur

141

Spezielle Literatur

141

Formale Semantik und Programmverifikation E.-R. Olderog, B. Steffen



'

^

143

6.1

Sequentielle Programme Syntax - Operationelle Semantik - Verifikation - Beweisskizzen

144

6.2

Parallele Programme Gemeinsame Variablen - Syntax - Operationelle Semantik Verifikation: Partielle Korrektheit - Verifikation: Totale Korrektheit Fallstudie: Finde positives Element

153

6.3

Ausblick

160

Symbolverzeichnis

161

Allgemeine Literatur

162

Spezielle Literatur

162

Daten Zeichen- und Zahlendarstellungen - W. F. Bohn, T. Flik

167

1.1

Zeichendarstellung

1.2

Zifferncodes

168

1.3

Codierung alphanumerischer Daten 6-Bit-Codes - 7-Bit-Codes - 8-Bit-Code nach ISO/IEC - 8-Bit-Code nach EBCDIC - 8-Bit-Code des PC unter DOS (PC-ASCII) - 16-Bit-Code (Unicode) - 32-Bit-Code (UCS) - Bezeichnungsweisen

169

1.4

Ganze Zahlen Vorzeichenlose Dualzahlen - Vorzeichenbehaftete Dualzahlen Computerarithmetik mit Dualzahlen - Oktale und sedezimale Codierung - Dualcodierte Dezimalziffern (BCD-Zahlen)

177

Gleitpunktzahlen

183

1.5

168

Zahlendarstellung - Computerarithmetik mit Gleitpunktzahlen Fachwörter und Kurzbezeichnungen

189

Allgemeine Literatur

190

Spezielle Literatur

190

Informations- und Codierungstheorie - H. Rohling, T. May

191

2.1

Geschichte und Anwendungsbereiche

191

2.2

Informationstheorie

193

Nachricht und Information - Entropie - Binärcodierung für eine diskrete Quelle - Kanalkapazität

3

4

2.3

Codierungstheorie - Blockcodes Hamming-Verfahren - Algebraische Grundbegriffe - Binäre Gruppencodes - Zyklische Codes - Weitere Codierungstechniken Spezielle Codierverfahren

199

2.4

Codierungstheorie - Faltungscodes

211

Symbolverzeichnis

214

Allgemeine Literatur

215

Spezielle Literatur

215

Kryptologie und Datensicherheit - W. Fumy, v. Kessler

217

3.1

Einführung Zur Bedeutung und Geschichte - Kryptoanalytische Angriffe - Perfekte Verschlüsselungssysteme

217

3.2

Symmetrische Kryptographie Entwurfskriterien - Stromchiffren - Symmetrische Blockchiffren Betriebsarten - Authentifizierungs-Codes

221

3.3

Schlüssellose kryptographische Mechanismen Einwegfunktionen - Kryptographische Hashfunktionen

227

3.4

Asymmetrische Kryptographie Öffentliche und private Schlüssel - RSA - Diskreter Logarithmus in endlichen Gruppen

229

3.5

Authentifizierung

234

3.6

Schlüsselmanagement Public-key-Infrastruktur - Schlüsselverteilung - Schlüsselhinterlegung/offenlegung

235

Allgemeine Literatur

237

Spezielle Literatur

237

Normen

237

D a t e n k o m p r e s s i o n - M. Dürst, M. Mühlhäuser

239

4.1

Grundlagen Übersicht - Modellierung

239

4.2

Verlustfreie Kompression Huffman-Codierung - Arithmetische Codierung - Lempel-Ziv-¬ Codierungen

242

4.3

Verlustbehaftete Kompression Zusammenhang mit verlustfreier Kompression - Audiokompression Festbildkompression - Videokompression

247

Allgemeine Literatur

254

Spezielle Literatur

254

Technische Informatik 1

Schaltkreise und digitale Logikschaltungen - R. Hagelauer

257

1.1

Schaltkreise Grundgatter - Grundfunktionen mit NAND- und NOR-Gattern Logikfamilien - Kenndaten von Logikfamilien

258

1.2

Schaltnetze Codierschaltungen - Multiplexer/Demultiplexer Arithmetikschaltungen - Vereinfachung von Schaltfunktionen Dynamisches Verhalten

265

1.3

Schaltwerke Endliche Automaten - Realisierung endlicher Automaten Pegelgesteuerte Flipflops - Flankengesteuerte Flipflops - Beispiele von Schaltwerken

271

1.4

Programmierbare Logikschaltungen Programmierbare Logikbausteine (PLDs) - Anwenderprogrammierbare Gate-Arrays (FPGAs)

281

1.5

VLSI-Entwurf

285

Entwurfsablauf - Klassifikation von ASICs (ASIC-Architekturen)

2

Symbolverzeichnis

290

Allgemeine Literatur

290

Spezielle Literatur

291

Prozessoren - A. Bode

293

2.1

Der Prozessor und seine Teilwerke

293

2.2

Die v. Neumann-Prinzipien der Rechnerorganisation

297

2.3

Technologie

298

CISC, RISC und Nachfolger

300

2.4

CISC - RISC - Kombination von CISC und RISC 2.5

Beispiel eines superskalaren Mikroprozessors

310

2.6

Zukünftige Entwicklungen VLIW - Vielfädigkeit - Multiprozessoren

312

2.7

Sonderformen von Mikroprozessoren Monolithischer Mikrorechner - Bitslice-Mikroprozessor

314

2.8

Mikroprogrammierung Mikroprogrammierte Implementierung des Maschinenbefehlszyklus Mikrobefehlszyklus - Mikroprogrammtechniken - Hilfsmittel für die Entwicklung von Mikroprogrammen

314

Allgemeine Literatur

322

Spezielle Literatur

322

3

4

Arbeitsspeicher- und Bussysteme - H. Hellwagner 3.1

Speicher- und Bushierarchien

323

3.2

Caches Funktion von Caches - Cache-Typen und Anordnung im Rechensystem Adressierung von Caches - Organisationsformen Aktualisierungs Strategie - Ersetzungsstrategie - Leistungsbetrachtungen

325

3.3

Hauptspeicher Speicherbausteine - Grundlegender Speicheraufbau Speicherverschränkung - Weitere Maßnahmen zur Leistungssteigerung des Speichers

330

3.4

Bussysteme Grundlagen von Bussen - Merkmale von Bussen - Busfunktionen Realisierung von Bussen - Maßnahmen zur Leistungssteigerung von Bussen - Gebräuchliche Bussysteme

334

Allgemeine Literatur

339

Spezielle Literatur

339

Externe Speicher und Peripheriegeräte - w. Proebster, D. Schwarzstein 341 4.1

Magnetische Speicher Grundlagen - Magnetische Plattenspeicher - Magnetische Bandspeicher

342

4.2

Optische und magnetooptische Speicher CD-ROM und CD-R - Magnetooptische Aufzeichnung und Phasenwechselverfahren

346

4.3

Eingabegeräte Tastaturen - Maus, Joystick, Rollkugel, Rändelräder - Grafische Tabletts, Digitalisierer - Abtaster - Lichtgriffel, berührungsempfindliche Bildschirme - 6D-Eingabegeräte - Datenhandschuh und Datenanzug

347

4.4

Anzeigegeräte Aktive Anzeigen - Passive Anzeigen - Dreidimensionale Anzeigen

350

4.5

Drucker und Plotter Matrix- und Vollzeichendrucker - Laserdrucker - Tintenstrahldrucker Thermodrucker - Plotter

353

Chipkarten

358

Allgemeine Literatur

361

4.6

5

323

Parallelrechner - j . Volkert

363

5.1

Definition und Klassifikation von Rechnerarchitekturen

363

5.2

Motivation und Einsatzgebiete für Parallelrechner

364

5.3

Verbindungsnetzwerke für Parallelrechner Aufgaben und Merkmale von Verbindungsnetzwerken - Beispiele für dynamische Verbindungsnetzwerke

365

5.4

SIMD-Maschinen Vektorrechner - Feldrechner

368

5.5

Multiprozessoren

372

Die zwei wesentlichen Klassen von Multiprozessoren Speichergekoppelte Systeme - Das Cache-Kohärenz-Problem bei EinBus-Systemen - NUMA-Systeme mit verteiltem gemeinsamen Speicher Hilfsmittel zur Synchronisation in speichergekoppelten Maschinen Nachrichtengekoppelte Multiprozessoren

6

Allgemeine Literatur

379

Spezielle Literatur

379

R e c h n e r n e t z e - B. Plattner, P. Schulthess

381

6.1

Begriffsbestimmung

382

6.2

Weitverkehrsnetze und öffentliche Netze

385

6.3

Übertragungsmedien

386

6.4

Die Bitübertragungsschicht Schnittstellen-Standards - Codierungen - Trägermodulation Anwendungsfälle

386

6.5

Die Sicherungsschicht Grundlegende Protokollmechanismen - Medienzuteilung als Teilschicht der Sicherungsebene (MAC-Sublayer) - Anwendungsfälle

390

6.6

Medienzuteilung auf gemeinsam genutzten Übertragungskanälen Statisches Multiplexverfahren - Tokenvergabe - CSMA-Techniken Leistungsverhalten lokaler Netze - Anwendungsfälle

392

6.7

Die Vermittlungsschicht Der Dienst der Vermittlungsschicht - Leitweglenkung - Behandlung von Überlastsituationen - Die Protokollfamilie TCP/IP - OSI-Protokolle der Vermittlungsschicht

396

6.8

Die Transportschicht

404

Transportprotokolle in TCP/IP - OSI-Transportprotokolle

7

Abkürzungsverzeichnis

405

Allgemeine Literatur

406

Spezielle Literatur

406

Leistungsbewertung und Fehlertoleranz - A. Bode, H. Hellwagner ... 409 7.1

Leistungsbewertung Bedeutung einer quantitativen Betrachtung von Rechnern - Aspekte der Leistungsbewertung - Leistungsmaßzahlen - Methoden der Leistungsbewertung und Lastmodelle

409

7.2

Fehlertoleranz

416

Übersicht - Grundlagen - Beispiele fehlertoleranter Architekturen Allgemeine Literatur

421

Spezielle Literatur

422

Praktische Informatik 1

2

Algorithmen und Datenstrukturen - J. Nievergelt

425

1.1

Komplementäre Sichten - Was und Wie Die Sicht des Benutzers: Daten und Operationen - Programmieren als Brücke vom Postulierten zum Gegebenen - Die Sicht des Programmierers: Datenstrukturen und Algorithmen - Verständnis für Grundbegriffe und algorithmisches Denken

425

1.2

Die Vielfalt möglicher Datenstrukturen

430

1.3

Einfache Datenstrukturen und Zugriffsalgorithmen Der Stapel: Datentyp und Implementierung - Der Stapel als Hochseil für Algorithmenakrobatik - Die Warteschlange, als zirkulärer Puffer implementiert - Suchen im Wörterbuch

432

1.4

Rechenmodelle und Komplexität Speicher mit Direktzugriff - Probleminstanzen, Problemklassen und Asymptotik - Untere Schranken - Problemreduktion

438

1.5

Typen von Datenstrukturen Implizite Datenstrukturen, Adreßberechnung - Die Vorrangschlange, als Heap implementiert - Hashing - Verkettete Listen

444

1.6

Das Zusammenspiel von Algorithmus und Datenstruktur Heapsort: Datenstruktur führt zum Algorithmus - Plane-sweep, Warteschlange, Wörterbuch

454

1.7

Algorithmik gemäß anderen Spielregeln

459

1.8

Kleines Lexikon der Algorithmik

461

1.9

Bemerkungen und Literaturhinweise

465

Allgemeine Literatur

466

Spezielle Literatur

467

P r o g r a m m i e r s p r a c h e n - G. Goos, W. Zimmermann

469

2.1

Methodische Grundlagen Abstrakte Datentypen - Grundlegende abstrakte Datentypen Programmierparadigmen

471

2.2

Elemente von Programmiersprachen Syntax, Semantik und Pragmatik - Syntaktische Eigenschaften Semantische Eigenschaften

480

2.3

Bindungen Lebensdauer und Bindungen - Statische Bindung und Blockstruktur

483

2.4

Datentypen und Ausdrücke Grundtypen - Zusammengesetzte Typen - Variablen in imperativen Sprachen, Zeigertypen - Vereinigungstypen und polymorphe Typen Typäquivalenz - Ausdrücke

486

2.5

Sequentielle Ablaufsteuerung Zuweisungen, bedingte Anweisungen und Schleifen - Prozeduren und Funktionen - Ausnahmen

493

2.6

Modularität und Objektorientierung Module - Klassen und Objekte - Vererbung - Generizität

500

3

2.7

Skriptsprachen

2.8

Parallelität

507 511

2.9

Historische Entwicklung von Programmiersprachen

511

Allgemeine Literatur

513

Spezielle Literatur

514

Prozedurorientierte Programmierung - G. Pomberger

517

3.1

Grundlegende Begriffe

517

3.2

Entwurfs- und Zerlegungstechniken

518

3.3

Prozedurorientierte Zerlegung nach dem Prinzip der schrittweisen Verfeinerung

4

520

3.4

Modulbildung - Strukturierung im Großen

523

3.5

Konstruktionen zur Ablaufsteuerung - Strukturierte Programmierung

525

Spezielle Literatur

528

Objektorientierte Programmierung - G. Blaschek

529

4.1

Eigenschaften

530

4.2

Begriffe der objektorientierten Programmierung Objekte - Nachrichten - Klassen - Methoden

530

4.3

Vererbung Ableitung von Klassen - Überschreiben von Methoden - Unterschiede zwischen Basis- und abgeleiteter Klasse - Ist-Beziehungen

533

4.4

Polymorphie Definition und Zuweisungsregeln - Polymorphie in untypisierten Sprachen - Referenzsemantik - Objekterzeugung - Semantik von Referenzzuweisungen

535

4.5

Dynamische Bindung

538

Dynamische Bindung durch Methodensuche - Dynamische Bindung mit Methodentabellen - Zusammenspiel von Vererbung, Polymorphie und dynamischer Bindung 4.6 4.7

Abstrakte Klassen Faktorisierung - Konkretisierung - Benutzung abstrakter Klassen

540

Klassenhierarchien

542

Hierarchie abstrakter Klassen - Wurzelklasse - Mehrfache Vererbung 4.8

Objektorientierte Programmiersprachen

4.9

Klassenbibliotheken Bausteinbibliotheken - Strukturierung von Klassenbibliotheken Rahmenprogramme

"

544 545

4.10

Objektorientierter Entwurf

547

4.11

Besonderheiten Generizität - Prototypen - Kovarianz und Kontravarianz - Separate Schnittstellendefinitionen (Interfaces)

548

4.12

Vor- und Nachteile der objektorientierten Programmierung

551

Allgemeine Literatur

552

Spezielle Literatur

552

5

Funktionale Programmierung - M. Odersky

553

5.1

Funktionale Programmiersprachen

554

5.2

Grundzüge des funktionalen Programmierens Datentypen - Funktionen - Bezug zu abstrakten Datentypen Polymorphie - Funktionen höherer Ordnung - Listen - Listenfunktionen höherer Ordnung

555

5.3

Funktionale Komposition

560

Monaden - Beispiele für Monaden 5.4

6

7

Implementierung funktionaler Sprachen

563

Symbolverzeichnis

564

Allgemeine Literatur

565

Spezielle Literatur

565

Logische Programmierung - N. E. Fuchs

567

6.1

Grundlagen Einführung - Definite logische Programme - Resolution - Negation Prolog

568

6.2

Programmiertechniken Listen - Metaprogrammierung - Alternative BeweisStrategien - Partielle Auswertung

576

6.3

Anwendungen Deduktive Datenbanken - Regelbasiertes Programmieren Computerlinguistik - Softwaretechnik - Logische Programmierung und das Internet

579

6.4

Andere logische Programmiersprachen Constraint-Programmierung - Induktive logische Programmierung Logische und funktionale Programmierung - Parallele logische Programmierung

582

Allgemeine Literatur

585

Spezielle Literatur

585

Parallele Programmierung - H. Burkhart

587

7.1

Grandkonzepte Sequentialität - Nebenläufigkeit, Parallelismus - Synchronisation Kommunikation - Fehlersituationen

588

7.2

Architekturspezifische Programmiermodelle Adele-Erweiterungen für die parallele Programmierung - Übersetzung implizit paralleler Programme - Datenparallelismus - Programmierung mittels gemeinsamem Speicher - Programmierung mittels Nachrichtenaustausch

7.3

Parallele Algorithmen

. 592

598

PRAM-Modell - Algorithmen für Prozeßtopologien 7.4

Leistungsaspekte Laufzeit, Rechenleistung, Kommunikationszeit, Bandbreite Beschleunigung, Effizienz - Amdahl-Gesetz - Gustafson-BarsisGesetz - Skalierbarkeit, Isoeffizienz - Beschleunigungs-Anomalien Leistungsverluste

605

7.5

Parallelprogrammierung in der Praxis Bibliotheken für den Nachrichtenaustausch - Programmieren speichergekoppelter Multiprozessoren - Paralleles Programmieren mit Fortran - Paralleles Programmieren mit Java - Umsetzungen formaler Modelle - Programmierwerkzeuge

609

7.6

Zukünftige Entwicklungen des parallelen Rechnens Architekturunabhängige Programmiermodelle - Softwaretechnik

614

paralleler Systeme - Standortunabhängiges Rechnen

8

9

Allgemeine Literatur

615

Spezielle Literatur

616

Visuelle Programmierung - S. Schiffer

619

8.1

Entstehung und Einteilung

619

8.2

Begriffe

621

8.3

Konzepte für VP-Systeme Steuerflußorientierte VP-Systeme - Funktionsorientierte VP-Systeme Datenflußorientierte VP-Systeme - Objektorientierte VP-Systeme Einschränkungsorientierte VP-Systeme - Regelorientierte VP-Systeme Beispielorientierte VP-Systeme - Formularorientierte VP-Systeme Multiparadigmenorientierte VP-Systeme - Zusammenfassung

623

Allgemeine Literatur

631

Spezielle Literatur

631

B e t r i e b s s y s t e m e - L. Borrmann

633

9.1

Aufgaben eines Betriebssystems

634

9.2

Prozesse Prozeßverwaltung - Zustandsinformation - Leichtgewichtige Prozesse (threads) - Prozeßsynchronisation - Prozeßkommunikation

634

9.3

Ablaufplanung (Scheduling)

641

9.4

Speicherverwaltung Virtueller Speicher - Adreßübersetzung in Systemen mit virtuellem

644

Speicher - Seitenverwaltung in Systemen mit virtuellem Speicher 9.5

Ein-/Ausgabe

652

9.6

Dateisystem Logische Struktur von Dateisystemen - Physische Struktur von Dateisystemen - Entwurfskriterien

655

9.7

Schutzmechanismen

661

9.8

Bedienschnittstelle

663

Grafische Oberflächen - Kommando-Interpretierer (shell) 9.9

Echtzeitbetriebssysteme

665

9.10

Betriebssysteme für verteilte Rechensysteme Verteilte Dateisysteme - Verteilte Benutzerverwaltung - Verteilter gemeinsamer Speicher

665

9.11

Betriebssysteme für parallele Rechensysteme

668

9.12

Architektur und Realisierung von Betriebssystemen Verschiedene Arten von Betriebssystem-Architekturen Betriebssystemaufrufe

669

Allgemeine Literatur

672

Spezielle Literatur

672

Verteilte Systeme - M. Mühlhäuser

675

10.1

Grundbegriffe und Besonderheiten

676

10.2

Das OSI-Referenzmodell Architektur - Dateneinheiten - Schichtungsvorschlag Zusammenfassung, Kritik und weitere Normungsaktivitäten

677

10.3

Softwaretechnik für Kommunikationsprotokolle

681

10.4

Protokollmechanismen

683

10.5

Anwendungsorientierte Protokolle Die Kommunikationssteuerungsschicht - Die Darstellungsschicht - Die Anwendungsschicht

686

10.6

Grundlagen der Entwicklung verteilter Anwendungen Grundlegende Ansätze und Paradigmen - Interprozeßkommunikation Prozedur-Fernaufruf - Verteilter objektorientierter Ansatz - Verwandte und alternative Ansätze.

695

10.7

Plattformen für verteilte Anwendungen

702

DCE und Corba - ROSE und ODP / ANSAware 10.8

Zusammenfassung und Weiterführendes

706

Verzeichnis mehrfach verwendeter Abkürzungen

707

Allgemeine Literatur

708

Spezielle Literatur

708

Echtzeitsysteme - H. Kopetz

709

11.1

Anforderungen an harte Echtzeitsysteme Rechtzeitigkeit - Verläßlichkeit

710

11.2

Systemarchitektur Hardwarestruktur - Planbarkeit - Fehlertoleranz

712

11.3

Echtzeitkommunikation Verläßliche Nachrichtenübertragung - Uhrensynchronisation Ereignisgesteuerte und zeitgesteuerte Protokolle - Beispiele von Echtzeitprotokollen

715

11.4

Echtzeitbetriebssystem Organisation der Anwendersoftware - Statische Prozeßeinplanung Dynamische Einplanung von E-Prozessen - Dynamische Einplanung von K-Prozessen

718

Schlußbemerkungen

721

11.5

Allgemeine Literatur

721

Spezielle Literatur

721

Systemsoftware - H. Mössenböck

723

12.1

723

Editoren Texteditoren - Grafikeditoren

12.2

Binder und Lader

727

12.3

Debugger

729

12.4

Browser

732

12.5

Profiler

732

12.6

Automatische Speicherbereinigung

733

Allgemeine Literatur

736

Spezielle Literatur

736

Ü b e r s e t z e r - H. Mössenböck

737

13.1

Abgrenzung und Einteilung

737

13.2

Lexikalische Analyse Lexikalische Symbole - Der lexikalische Analysator als endlicher Automat - Implementierung - Spezielle Probleme

738

13.3

Syntaxanalyse Top-down-Analyse - Bottom-up-Analyse

741

13.4

Semantikverarbeitung

748

Symbolliste - Zwischensprachen - Attributierte Grammatiken 13.5

Optimierungen

752

13.6

Codeerzeugung

756

Einfache Codeerzeugung - Codeerzeugung mittels Mustervergleich Allgemeine Literatur

761

Spezielle Literatur

761

S o f t w a r e t e c h n i k - C. Floyd, H. Züllighoven

763

14.1

Was ist Softwaretechnik? Gegenstand der Softwaretechnik - Sichtweisen der Softwaretechnik Aufbau dieses Kapitels

, . . 764

14.2

Software und Softwarequalität Eigenschaften von Software - Vielfalt von Anwendungssoftware Softwarequalität

766

14.3

Konzepte für Programmierung und Spezifikation Strukturierte Programmierung - Datenabstraktion - Programmierung im Großen - Formale Spezifikation und Verifikation von Programmen

769

14.4

Modellierungsmittel und Methoden Modellierungsmittel - Methodenbegriff - Strukturierte Methoden Objektorientierte Methoden

771

14.5

Projekte zur Softwareentwicklung Charakteristika von Softwareprojekten - Tätigkeiten bei der Produktentwicklung - Vorgehensmodelle - Evolutionäre Systementwicklung und Prototyping

774

14.6

Der Softwareentwicklungsprozeß Beteiligte bei der Softwareentwicklung - Leitbilder bei der Softwareentwicklung - Kooperation und Koordination - Produkt- und Konfigurationsverwaltung. - Qualitätssicherung - Sicherung der Prozeßqualität

780

14.7

Architektur von Softwaresystemen

784

Architekturprinzipien - Organisationsformen 14.8

15

SoftwareentwicklungsWerkzeuge

786

Allgemeine Literatur

788

Spezielle Literatur

788

Mensch-Maschine-Kommunikation - G. Blaschek

... 791

15.1

Begriff

791

15.2

Ergonomische Grundlagen Wahrnehmungsleistung - Motorische Leistung - Sensorische und intuitive Typen von Benutzern - Nachrichtenmodell der Kommunikationspsychologie - Hamburger Verständlichkeitskonzept Nationale und kulturelle Unterschiede

792

15.3

Das Schreibtischmodell

796

15.4

Zustände Entstehung von Zuständen - Zustandsräume - Vermeidung von Zuständen - Befehle und Operanden

797

15.5

Entwurfstechniken

799

Brainstorming - Szenarien - Benutzertest 15.6

Style Guides

800

15.7

Ereignisgesteuerte Programmierung

801

Ereignisschleife - Ereignisbehandlung Allgemeine Literatur

803

Spezielle Literatur

803

Angewandte Informatik 1

Grafische Datenverarbeitung - w. Purgathofer, E. Gröller

807

1.1

808

Begriffsbestimmung und Abgrenzung

1.2

Geräte der grafischen Datenverarbeitung

809

1.3

Arbeitsschritte der grafischen Datenverarbeitung

811

1.4

Geometrische Modellierung Modellarten - Kurven und Flächen - Elementarobjekte - Transformation

812

1.5

Datenstrukturen

1.6

Transformationen, Projektionen, Clipping Window-Viewport-Transformation - Geometrische Transformationen Projektionen - Clipping Objektdarstellung (Rendering) Sichtbarkeitsverfahren - Beleuchtung und Schattierung - Ray-Tracing Radiosity-Verfahren - Kombinierte Verfahren zur Berechnung der globalen Beleuchtung - Rendering in Echtzeit

von Elementarobjekten

1.7

'.

816 820

823

1.8

Rastergraphik und Behandlung von Rasterbildern Rastergrafik im Vergleich mit Vektorgrafik - Rasterkonversion Flächenfüllen - Rastertransformation - alpha-Kanal - Anti-Aliasing Dithering - Farbquantisierung - Texturen - Rasterbildkompression

835

1.9

Grafische Programmierung Allgemeines - X-Windows, OSF/Motif und MS Windows RenderMan - OpenGL, DirectSD - Openlnventor, VRML, Java3D, Performer

842

Farbe in der grafischen Datenverarbeitung

845

1.10

Farbwahrnehmung - Farbsysteme 1.11

Computeranimation

847

1.12

Visualisierung

848

1.13

Virtuelle Realität

850

Symbolverzeichnis

851

Allgemeine Literatur

;

Spezielle Literatur 2

852 852

M u l t i m e d i a - M. Mühlhäuser

855

2.1

Charakteristika, Paradigmen

855

2.2

Grundlegende Konzepte Synchronisation - Dienstgüte - Ströme - Zeitkapseln Konfigurationsverwaltung

857

2.3

Handhabung von Multimediadaten Interaktion - Codierung - Codierung von digitalem Video Speicherung - Interpretation

862

2.4

Systemunterstützung Netzwerke und Kommunikationsdienste - Betriebssysteme

868

2.5

Hypertext / Hypermedia Grundbegriffe - Das Dexter-Modell - Weitergehende Aspekte - Das

870

World-Wide Web als Hypertextsystem

3

Allgemeine Literatur

874

Spezielle Literatur

874

Datenbanksysteme - K. Dittrich

875

3.1

Anforderungen und Eigenschaften

876

3.2

Datenmodelle und Datendefinition Konzepte - Das Relationenmodell - Weitere konventionelle Datenmodelle - Datenmodelle mit Objektkonzepten

877

3.3

Datenzugriff und -manipulation Konzepte - Anfragesprachen - Sichten - Standards

887

3.4

Steuerung und Überwachung Zugriffsschutz - Konsistenzsicherung - Transaktionen - Verteilung Speicherverwaltung und Datentransport

894

4

3.5

Datenbankentwurf

3.6

DBMS als Komponenten von Informationssystemarchitekturen

904 905

3.7

Aktuelle und zukünftige Entwicklung

905

Allgemeine Literatur

907

Spezielle Literatur

908

Dokumentsuche und Dokumenterschließung - R. Ferber

909

4.1

Problemstellung und Abgrenzung

909

4.2

Boolesche Suche

912

4.3

Erschließungsmethoden Grundformreduktion - Klassifikationen - Thesauren

914

4.4

Das Vektorraummodell Gewichtungsverfahren - Ähnlichkeitsmaße

919

4.5

Evaluierung von Suchsystemen

922

Qualitätsmaße Precision und Recall - Testkollektionen und TREC

5

6

4.6

Aktuelle Entwicklungen

924

4.7

Suche im World-Wide Web

925

4.8

Digitale Bibliotheken

927

4.9

Ausblick

928

Allgemeine Literatur

929

Spezielle Literatur

929

Numerisches Rechnen - C. Überhuber

931

5.1

932

Daten der Numerik

5.2

Fehlerbegriffe der Numerik

935

5.3

Kondition mathematischer Probleme

936

5.4

Interpolation

937

5.5

Numerische Integration

941

5.6

Lineare GleichungsSysteme Verfahren für Ausgleichsprobleme - LAPACK - Das fundamentale Softwarepaket für die Lineare Algebra

943

5.7

Nichtlineare Gleichungen

947

5.8

Numerische Software

951

Allgemeine Literatur

953

Spezielle Literatur . . .

953

Symbolisches Rechnen - B. Buchberger

955

6.1

Was ist symbolisches Rechnen? Begriffsbestimmung - Abgrenzung

955

6.2

Mathematische Softwaresysteme aus der Sicht des Benutzers Der Aufbau mathematischer Softwaresysteme - Der mathematische Inhalt symbolischer Softwaresysteme - Beispiele symbolischer Berechnungen Die wichtigsten symbolischen Softwaresysteme

959

6.3

7

Die Mathematik hinter den symbolischen Softwaresystemen Zur Algorithmisierung der Mathematik - Der Risch-Algorithmus für die symbolische Integration - Der Algorithmus zur Konstruktion von Gröbner-Basen - Vorzeicheninvariante Zerlegung des n-dimensionalen reellen Raumes

964

Allgemeine Literatur

972

Spezielle Literatur

972

Künstliche Intelligenz - J. Dorn, G. Gottlob

975

7.1

Begriff und Anwendungsgebiete

975

7.2

Wissensrepräsentation Produktionsregeln - Einschränkungen - Unsicheres und vages Wissen Nichtmonotones Schließen - Objektorientierte Wissensrepräsentation Qualitatives Wissen - Ereignisorientierte Wissensrepräsentation

977

7.3

Wissensbasierte Suche Heuristische Suche in Graphen - Heuristische Suche bei Zielkonflikten Optimierung durch iterative Verbesserung von Lösungen

987

7.4

Lernen

991

Induktives Schließen - Fallbasiertes Schließen - Neuronale Netze

8

7.5

Entwicklung von wissensbasierten Systemen

995

7.6

Anwendungen der künstlichen Intelligenz

996

Allgemeine Literatur

996

Spezielle Literatur

997

Internetdienste - S. Schiffer, J. Tempi

999

8.1

Einführung

8.2

Geschichte des Internets

1000

999

8.3

Internetdienste der Anwendungsschicht Domain Name System - Electronic Mail - Network News - Electronic Filetransfer - WWW - Weitere Internetdienste und -protokolle

1002

8.4

Java Die Programmiersprache Java - Die Java-Bibliothek - Die virtuelle JavaMaschine (JVM) - Sicherheitsmechanismen in Java - Der Netz-Computer (NC)

1008

8.5

Sicherheitsaspekte

1012

Sicherheitslücken - Sicherheitskonzepte Allgemeine Literatur

1014

Spezielle Literatur

1014

Grundlagen der Wirtschaftsinformatik - L. J. Heinrich

1019

1.1

1019

Information und Kommunikation

1.2

Informationsfunktion und Informationsnachfrage

1020

1.3

Informationssystem und Informationsinfrastruktur

1021

Arten von Informationssystemen - Ziele von Informationssystemen 1.4

Konzepte, Modelle und Modellieren

1025

1.5

Erhebungs- und Erfassungsmethoden Beobachtung - Befragung - Dokumentenauswertung

1026

1.6

Analysemethoden Wirtschaftlichkeitsanalyse - Wertanalyse - Kommunikationsanalyse

1029

1.7

Bewertungs- und Evaluierungsmethoden

1031

Nutzwertanalyse - Benchmarking - Checklisten Allgemeine Literatur Spezielle Literatur

1033 . . 1033

Architektur von Informationssystemen - E. J. Sinz

1035

2.1

Architekturbegriff

1035

2.2

Ein generischer Architekturrahmen zur Gestaltung von Informationssystem-Architekturen

1036

2.3

Ausgewählte Architekturkonzepte

1038

2.4

Nutzung von Informationssystem-Architekturen

1042

2.5

Qualitätsmerkmale

1044

2.6

Verteilung in Informationssystem-Architekturen

1045

Spezielle Literatur

1047

ARIS - Handels-H-Architektur - PROMET - SOM

Konstruktion von Informationssystemen - E. J. Sinz

1049

3.1

Begriffsbestimmung und Abgrenzung Betriebliches Informationssystem als Teilsystem der Organisation Problem der Konstruktion des Informationssystems - Struktur des Informationssystems

1049

3.2

Aufgabenstruktur des Informationssystems Methoden zur Modellierung der Aufgabenstruktur - Vorgehen bei der Modellierung der Aufgabenstruktur - Werkzeugunterstützung

1053

3.3

Aufbauorganisation Methoden zur Gestaltung der Aufbauorganisation - Vorgehen bei der Gestaltung der Aufbauorganisation - Werkzeugunterstützung

1057

3.4

Anwendungssysteme Methoden zur Entwicklung von Anwendungssystemen - Vorgehen bei der Entwicklung und Einführung von Anwendungssystemen Werkzeugunterstützung

1060

3.5

4

Abstimmung der Komponenten

1063

Allgemeine Literatur

1063

Spezielle Literatur

1063

Informationsmanagement - L. J. Heinrich

1065

4.1

Technologiemanagement 1066 Beobachten der Technologieentwicklung - Beeinflussen der Technologieentwicklung - Planen des Technologiebedarfs - Decken des Technologiebedarfs - Verwalten des Technologiebestands - Bewerten des , Technologieeinsatzes

4.2

Projektmanagement Projektdefinition - Projektorganisation - Vorgehensmodell Projektplanung - Projektüberwachung - Projektsteuerung Projektführung - Projektkontrolle

1070

4.3

Produktions- und Problemmanagement Installation, Wartung und Reparatur der Betriebsmittel - Übernahme von Anwendungssystemen - Produktionsplanung und -Steuerung Kapazitätsmanagement - Problemmanagement

1073

4.4

Sicherheits- und Katastrophenmanagement Risikoanalyse - Maßnahmen des Sicherheitsmanagements - Maßnahmen

1076

des Katastrophenmanagements Allgemeine Literatur

1080

Spezielle Literatur

1080

Normen und Spezifikationen 1

2

Grundlagen -1. Wende

1083

1.1

Technischer Regelungsbedarf in der Informationstechnik

1083

1.2

Normung Grundsätze - Gremien und Strukturen - Arbeitsprinzipien, Werdegang einer Norm - Normenanwendung

1084

1.3

Spezifikationsentwicklung außerhalb der Normung Konsortien - Workshops - Spezifikationsentwicklung in Branchen- und Berufsverbänden - Überführung von Spezifikationen in Internationale Normen

1088

Allgemeine Literatur

1091

Spezielle Literatur

1091

Normen und Spezifikationen der Informationstechnik -I. Wende 1093 2.1

Terminologie

1094

2.2

Zeichensätze und Codierung

1094

2.3

Programmiersprachen und Software-Entwicklung Programmiersprachen - Software-Entwicklung - Schnittstelle für die Portabilität von Anwendungsprogrammen

1096

2.4

Kommunikation und verteilte Verarbeitung OSI-Referenzmodell - OSI-Grundnormen - Profil-Normen - InternetSpezifikationen - Verteilte Verarbeitung offener Systeme (ODP-BRM)

1099

2.5

Dokumentverarbeitung und Präsentation von Multimedia-Dokumenten . . . 1102

2.6

Sicherheitsverfahren

2.7

Identifikationskarten

1104 1106

2.8

Ergonomie

1107

2.9

Normen für Anwendungen der Informationstechnik Normen für den elektronischen Geschäftsverkehr - Normen für die rechnerunterstützte Konstruktion und Fertigung

1108

Spezielle Literatur

1109

Die Algorithmenbeschreibungssprache Adele

1111

Abkürzungsverzeichnis

1115

Namenverzeichnis

1121

Stichwortverzeichnis

1133