ISBN-13: 9783540532880 / Niemiecki / Miękka / 1990 / 304 str.
ISBN-13: 9783540532880 / Niemiecki / Miękka / 1990 / 304 str.
Simula-67, Modula-2, Pascal, Smalltalk-80 und Beta werden aus objektorientierter Sicht unter dem Aspekt der Anwendung fur die diskrete Simulation eingeordnet, verglichen und bewertet. Als Grundlage dient dabei eine wissenschaftlich fundierte Klassifikation von Sprachkonzepten. Konkrete Simulatoren in Simula-67, in Modula-2 bzw. in Smalltalk-80 werden beschrieben sowie in einer Beispielimplementierung dargestellt."
1 Einleitung.- 2 Einführung.- 2.1 Was ist Programmierung.- 2.2 Eine systemorientierte Sichtweise der Programmierung.- 2.2.1 Analyse der Modellbildung.- 2.2.1.1 Aspekte von Phänomenen.- 2.2.1.2 Aspekte von Begriffen.- 2.2.1.3 Aspekte von Abstraktion.- 2.2.2 Resümee.- 2.2.3 Analyse der Modelle.- 2.3 Andere Sichtweisen von Programmierung.- 2.4 Maschinen, Verarbeitungsmodelle, Programmiersprachen, Semantik.- 2.5 Klassifizierung und Einordnung von Verarbeitungsmodellen.- 2.6 Zur Favorisierung der objektorientierten Programmierung.- 2.7 Was ist diskrete Simulation.- 3 Sprachkonzepte.- 3.1 Sprachkonzepte sequentieller Programmierung.- 3.1.1 Das Wert- und Objektkonzept.- 3.1.1.1 Werte als Sprachelemente.- 3.1.1.2 Objekte als Sprachelemente.- 3.1.1.3 Objektarten.- 3.1.1.4 Objekte und die algorithmische Basis.- 3.1.1.5 Zur Bedeutung des Objektkonzepts für den Entwurf für Programmiersprachen.- 3.1.1.6 Zum Begriff der Konstanten und Variablen.- 3.1.2 Das Typkonzept.- 3.1.2.1 Ein allgemeiner Typbegriff.- 3.1.2.2 Zum Konzept der Datentypen.- 3.1.2.3 Zum Begriff der Datenstruktur.- 3.1.2.4 Zur Bedeutung des Datentypkonzepts.- 3.1.3 Kontrollstrukturen und Anweisungen.- 3.1.4 Das Blockkonzept.- 3.1.4.1 Der Block als Sprachkonstrukt.- 3.1.4.2 Zur Bedeutung des Blockkonzepts.- 3.1.5 Das Prozedur/Funktionskonzept.- 3.1.5.1 Prozeduren/Funktionen als Sprachkonstrukte.- 3.1.5.2 Zur Bedeutung des Prozedur/Funktionskonzepts.- 3.1.6 Das Klassenkonzept.- 3.1.6.1 Die Klasse als Sprachkonstrukt.- 3.1.6.2 Dynamische Speicherverwaltung.- 3.1.6.3 Vererbung.- 3.1.6.4 Zur Bedeutung des Klassenkonzepts.- 3.2 Sprachkonzepte nichtsequentieller Programmierung.- 3.2.1 Das Koroutinenkonzept.- 3.2.2 Das Prozeßkonzept.- 3.2.3 Kommunikations- und Synchronisationskonzepte.- 3.2.3.1 Kommunikation.- 3.2.3.2 Synchronisation.- 3.3 Sprachkonzepte für die ‘Programmierung im Großen’.- 3.3.1 Das Modulkonzept.- 3.3.1.1 Module als Sprachkonstrukte.- 3.3.1.2 Zur Bedeutung des Modulkonzepts.- 4 Anforderungen diskreter Simulation an Sprachen.- 4.1 Anforderungen von Simulation als Programmierung.- 4.2 Anforderungen prozeßorientierter Simulation.- 5 Sprachbeschreibungen.- 5.1 Simula-67 Sprachbeschreibung.- 5.1.1 Das Simula-67 Typkonzept.- 5.1.2 Das Simula-67 Blockkonzept.- 5.1.3 Das Simula-67 Prozedurkonzept.- 5.1.4 Das Simula-67 Klassenkonzept.- 5.1.4.1 Klassen als Erweiterung von Blöcken.- 5.1.4.2 Vererbung und Klassenhierarchien.- 5.1.4.3 Besonderheiten des Simula-67 Klassenkonzepts.- 5.1.4.4 Realisierung polymorpher Datentypen in Simula-67.- 5.1.5 Simula-67 Koroutinen.- 5.2 Modula-2.- 5.2.1 Allgemeines.- 5.2.2 Das Typkonzept in Modula-2.- 5.2.2.1 Einfache Typen.- 5.2.2.2 Strukturierte Typen.- 5.2.2.3 Zeigertypen.- 5.2.2.3.1 Potentiell unendliche Datenstrukturen in Modula-2.- 5.2.2.4 Prozedurtypen.- 5.2.2.5 Abstrakte Typen (opake Typen) in Modula-2.- 5.2.3 Das Blockkonzept in Modula-2.- 5.2.3.1 Gültigkeitsbereiche und Deklarationsarten in Modula-2.- 5.2.4 Strukturierung von Anweisungen in Modula-2.- 5.2.5 Das Prozedurkonzept in Modula-2.- 5.2.5.1 Parameterübergabe in Modula-2.- 5.2.6 Funktionsprozeduren.- 5.2.7 Das Koroutinenkonzept in Modula-2.- 5.2.8 Das Modulkonzept in Modula-2.- 5.2.8.1 Arten von Modulen.- 5.2.8.2 System- und Anwendungsmodule.- 5.2.8.3 Übersetzungsregeln.- 5.2.9 Typ- und Zuweisungskompatibilität in Modula-2.- 5.2.10 Realisierung abstrakter Datenstrukturen in Modula-2.- 5.2.11 Realisierung polymorpher Datenstrukturen in Modula-2.- 5.3 Pascal.- 5.3.1 Ein Überblick.- 5.3.2 Kurzbeschreibung.- 5.3.3 Sprachdialekte.- 5.4 Smalltalk-80.- 5.4.1 Einleitung.- 5.4.2 Allgemeines zur Programmierung in Smalltalk.- 5.4.3 Objekte in Smalltalk-80.- 5.4.4 Klassen in Smalltalk-80.- 5.4.5 Ausdrücke (Expressions).- 5.4.5.1 Uterale.- 5.4.5.2 Variablen.- 5.4.5.3 Nachrichten.- 5.4.5.4 Blöcke.- 5.4.5.4.1 Einfache Blöcke.- 5.4.5.4.2 Blockparameter und Kontrollstrukturen.- 5.4.5.4.3 Parametrisierbare Blöcke.- 5.4.6 Methoden.- 5.4.7 Vererbung: Ober- und Unterklassen.- 5.4.8 Abstrakte Klassen.- 5.4.9 Vordefinierte Klassen (Systemklassen).- 5.4.10 Metaklassen.- 5.4.12 Ausdrucksmöglichkeiten für Nichtsequentialität.- 5.4.12.1 Die Klasse Process.- 5.4.12.2 Die Klasse processorSchedule.- 5.4.12.3 Die Klasse Semaphore.- 5.4.13 Zusammenfassende Charakterisierung von Smalltalk-80.- 5.5 Beta.- 5.5.1 Entstehung und Einordnung.- 5.5.2 Programmierung in Beta.- 5.5.3 Pattern als Abstraktionsmechanismus.- 5.5.3.1 Objektdeskriptoren und Pattern.- 5.5.3.2 Statische Deklarationen.- 5.5.3.3 Objektattribute.- 5.5.3.4 Patternattribute.- 5.5.3.5 Parameter.- 5.5.3.6 Auswertungen und Parameterübergabe.- 5.5.3.7 Kontrollstrukturen.- 5.5.4 Generierungsweisen.- 5.5.5 Datenabstraktion und algorithmische Abstraktion in Beta.- 5.5.5.1 Datenobjekte.- 5.5.5.2 Prozeduren und Funktionen.- 5.5.6 Blockstrukturen in Beta.- 5.5.7 Vererbung in Beta.- 5.5.7.1 Vererbung von Attributen.- 5.5.7.2 Vererbung von Aktionen.- 5.5.7.3 Typüberprüfung und Qualifizierung.- 5.5.7.4 Virtuelle Pattern.- 5.5.7.4.1 Einfache Spezialisierung.- 5.5.7.4.2 Abkürzungsmechanismus zur Verwendung virtueller Pattern.- 5.5.7.4.3 Polymorphismen: Typ- und Prozedurparameter.- 5.5.8 Nichtsequentialität in Beta.- 5.5.8.1 Arten von Nichtsequentialität.- 5.5.8.2 Kommunikation.- 5.5.8.3 Alternation.- 5.5.8.4 Nebenläufigkeit.- 5.5.8.5 Verbundsysteme.- 5.5.8.5.1 Ausführung globaler Objekte.- 5.5.8.5.2 Kommunikation mit internen Systemen.- 5.5.8.5.3 Kommunikation unter Benutzung globaler Objekte.- 5.5.9 Modularisierung in Beta.- 5.6 Warum kein GPSS.- 6 Möglichkeiten diskreter Simulation.- 6.1 Diskrete Simulation in Simula-67.- 6.1.1 Allgemeines zur Simulation in Simula-67.- 6.1.2 Konzeption des Simula-67-Simulators.- 6.2 Diskrete Simulation in Modula-2.- 6.2.1 Allgemeines zur Simulation in Modula-2.- 6.2.2 Konzeption eines konkreten Simulators in Modula-2.- 6.3 Diskrete Simulation in Pascal.- 6.4 Diskrete Simulation in Smalltalk-80.- 6.4.1 Allgemeines zur Simulation in Smalltalk-80.- 6.4.2 Konzeption des Smalltalk-80-Simulators.- 6.5 Diskrete Simulation in Beta.- 7 Bewertung der Sprachen.- 7.1 Methodik der Bewertung.- 7.1.1 Dimensionen der Bewertung.- 7.1.2 Bewertungskriterien.- 7.1.3 Zur Dimension der pragmatischen und formalen Vorgaben.- 7.2 Vergleichende Bewertung.- 7.2.1 Pragmatische Bewertung aus der Sicht des Programmierers.- 7.2.1.1 Konzeptioneller Abstand.- 7.2.1.2 Strukturierungsmöglichkeiten.- 7.2.1.3 Benutzungssicherheit der Sprache.- 7.2.1.4 Modularisierbarkeit.- 7.2.1.5 Erweiterbarkeit und Flexibilität.- 7.2.1.6 Ausdrucksmittel für Nichtsequentialität.- 7.2.1.7 Simulationsspezifische Datenstrukturen.- 7.2.1.8 Objekte als Simulationseinheiten.- 7.2.1.9 Dynamische Speicherverwaltung.- 7.2.1.10 Polymorphismen.- 7.2.1.11 Konkrete Simulationsumgebung.- 7.2.1.12 Unterstützung der Validierbarkeit.- 7.2.1.13 Effizienz.- 7.2.1.14 Softwaretechnische Kriterien.- 7.2.1.15 Anforderungen an die Programmierumgebung.- 7.2.2 Pragmatische Bewertung aus der Sicht des Wissenschaftlers.- 7.2.2.1 Implementierbarkeit.- 7.2.2.2 Semantische Fundierung.- 7.2.2.3 Methodenunterstützung.- 7.2.2.4 Konsistenz, Gültigkeit und Angemessenheit der Konzepte.- 8 Schlußbemerkungen zu den Sprachen.- 8.1 Schlußbemerkungen zu Simula-67.- 8.2 Schlußbemerkungen zu Modula-2.- 8.3 Schlußbemerkungen zu Smalltalk-80.- 8.4 Schlußbemerkungen zu Beta.- 9 Resümee und Ausblick.- Anhänge.- A Konkrete Simulatoren.- A1 Ein Simulator in Simula-67.- A1.1 Standarddatenstrukturen für die Simulation.- A1.2.3 Zusammenfassung der Simulation in Simula-67.- A2 Ein Simulator in Modula-2.- A2.1 Systemgliederung (Modularisierung).- A2.7 Zusammenfassung der Abweichungen des Simulationskonzepts gegenüber Simula-67.- A3 Ein Simulator in Smalltalk-80.- A3.3 Weitere Simulationsunterstützung.- B Beispielimplementierungen einer Autowaschanlage.- B1 Simulation einer Autowaschanlage in Simula-67.- B2 Simulation einer Autowaschanalge in Modula-2.- B2.1 Dokumentation der Implementierung.- B2.1.1 Globale Variablen und Prozeduren.- B2.1.2 Die Koroutinen als aktive Simulationseinheiten.- B2.1.3 Der Hauptprozeß.- B2.3 Ablaufprotokoll.- B3 Simulation einer Autowaschanlage in Smalltalk-80.- C Begriffsklärungen.- C1 Arbeit und Arbeitsprozesse.- C2 Abstrakte und konkrete Datentypen.- C3 Polymorphe und monomorphe Datentypen.- C4 Innere Festigkeit von Modulen.- Indexverzeichnis.
1997-2024 DolnySlask.com Agencja Internetowa