A SHORT INTRODUCTION TO CONCURRENT EUCLID. 1976 Entwicklung von Euclid 1976 Entwicklung von Euclid 1977 Entwicklung des „TORONTO Euclid“ 1977 Entwicklung.

Slides:



Advertisements
Ähnliche Präsentationen
Ein- und Ausgabe von Dateien
Advertisements

Forschungszentrum caesar
Pascal-Datentypen Skalare Typen Zeiger- Typen Strukturierte Typen
10. Grundlagen imperativer Programmiersprachen
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Die Skriptsprache Perl (6) Wolfgang Friebel DESY Zeuthen.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Mala Bachmann, Beispiel Velorennen Velorennen mit 5 TeilnehmerInnen Wie kann die durchschnittliche Rennzeit berechnet werden?
Mala Bachmann, Beispiel Velorennen (1) Velorennen mit 5 TeilnehmerInnen Wie kann die durchschnittliche Rennzeit berechnet werden?
MODULA-2.
Agenda für heute, 18. Mai, 2006 Strukturierung von Programmen: ProzedurenStrukturierung von Programmen: Prozeduren Strukturierung von Programmen: Units.
Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.
Agenda für heute, 26. Mai, 2005 Strukturierte Variablen: RecordsStrukturierte Variablen: Records Kombiniertes Strukturieren Individualisierbare Datentypen.
Programmieren in C Grundlagen C 2
Der Datentyp Verbund (record)
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Grundlagen Wissenschaftlichen Arbeitens The Turing Programming Language Autor: Emre ÖZTÜRK.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Entwicklung epistemologischer Überzeugungen
Menger-Schwamm Ausgangsfigur in Stufe 0 ist ein Würfel
Programmieren und Problemlösen
Wurzeln und Irrationalität nach U.Wagner, OHG Tuttlingen
Retraite KIS August 2016 Meisterschwanden Dr. med. Stefan Roth
Seh dir in Ruhe die Bilder an und lies, wie du mich erreichen kannst.
Vorlesung 7 Themen: Geoinformationssysteme in der Wasserwirtschaft
Wie heißt du?.
Body-Mass-Index (BMI)
Strukturierte Variablen: Records
Datentypen: integer, char, string, boolean
Programmieren und Problemlösen
Netzwerk - Programmierung
2. Mannheimer Brückenbauwettbewerb
Alkohol.
Asylrecht Verfahren.
ABB i-bus® EIB / KNX Störmeldebaustein SMB/S 1.1
Datentypen: integer, char, string, boolean
Y=ŷ±U; kp=x ? Messunsicherheit für Prozesse GUM-konforme Fähigkeitsbestimmung für Messprozesse Teresa Werner 1 Fähigkeitskennwerte für Messungen 2 Spezifische.
Netzwerk - Programmierung
Übungsblatt 4 – Aufgabe 1 Schallpegel eines Rockkonzerts
Übungsblatt 4 – Aufgabe 1 Schallpegel eines Rockkonzerts
Begriff Energiecontrolling
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
Impulssatz und Rückstoß
Elektromagnetische Verträglichkeit, Personen- und Sachschutz
Trigonometrie Wofür brauche ich das? Wann kann ich es anwenden?
Abgrenzung Arzneimittel, Lebensmittel, NEM, Chemikalien, Kosmetika
Demenz Test.
Atemschutzleistungsprüfung
Informationsveranstaltung 10. Klasse
Titel: Quelle: Übungsart: Titel: Textquelle: Leseübungen: Gedicht
Auf lange Sicht – Steiermark 2030+
Prof. Dr. Alexander Trunk Vorlesung / Course Osteuropäisches Recht II – Wirtschaftsrecht Sommersemester
MINT-Zertifikat RLP Sek I
Das Sozialticket in Köln und NRW
Versöhnungsfeier.
Klimawissen - naturwissenschaftliches Wissen zum Klimawandel
Herausforderung Fachkräftemangel und Lösungsstrategien für Unternehmen
Unterricht vom Mathematik | Klasse 8c.
DATEV Arbeitnehmer online
VIER KERZEN.
The Programming Language Pascal
 Präsentation transkript:

A SHORT INTRODUCTION TO CONCURRENT EUCLID

1976 Entwicklung von Euclid 1976 Entwicklung von Euclid 1977 Entwicklung des „TORONTO Euclid“ 1977 Entwicklung des „TORONTO Euclid“ TUNIS TUNIS I.P. SHARP Associates I.P. SHARP Associates USA Department of Defense USA Department of Defense Kanadisches Department of National Defense Kanadisches Department of National Defense 1980/81  „Concurrent Euclid“ 1980/81  „Concurrent Euclid“

PDP-11VAX Motorola Motorola 6809 „bare machines“ „simulated modus“

Philosophie: Philosophie: Soviele Fehler wie möglich finden! Soviele Fehler wie möglich finden! Durch Missbilligung gefährlicher oder unwahrscheinlichen Konstrukten Durch Missbilligung gefährlicher oder unwahrscheinlichen Konstrukten

Vergleich mit Pascal CE basiert auf Pascal CE basiert auf Pascal Borgt sich Datenstrukturen von Pascal Borgt sich Datenstrukturen von Pascal Eigenschaften werden von CE „gereinigt“ Eigenschaften werden von CE „gereinigt“ zB.:Funktionen mit Seiteneffekten werden missbilligt zB.:Funktionen mit Seiteneffekten werden missbilligt

Die Haupteigenschaften,welche Concurrent Euclid Pascal hinzufügt,sind: Die Haupteigenschaften,welche Concurrent Euclid Pascal hinzufügt,sind:

Getrennte Kompilation; Prozeduren Funktionen und Module können seperat kompiliert und später zusammengelinkt werden. Unter Unix nützen sie die standart Linker „ld“ und können einfach mit Programmen, welche z.B.: in C geschrieben wurden, zusammengeschlossen werden. Getrennte Kompilation; Prozeduren Funktionen und Module können seperat kompiliert und später zusammengelinkt werden. Unter Unix nützen sie die standart Linker „ld“ und können einfach mit Programmen, welche z.B.: in C geschrieben wurden, zusammengeschlossen werden.

Module ; Ein Modul ist ein syntaktisches Packet von Daten zusammen mit Prozeduren/ Funktionen welche auf Daten zugreifen. Module ; Ein Modul ist ein syntaktisches Packet von Daten zusammen mit Prozeduren/ Funktionen welche auf Daten zugreifen.

Concurrency/ Parallelität; Monitore und Prozesse werden unterstützt. Es gibt ein „signal“ Statement und ein „wait“ Statement. Das „busy“ Statement erlaubt Concurrent Euclid wie eine Simulationssprache verwendet zu werden. Concurrency/ Parallelität; Monitore und Prozesse werden unterstützt. Es gibt ein „signal“ Statement und ein „wait“ Statement. Das „busy“ Statement erlaubt Concurrent Euclid wie eine Simulationssprache verwendet zu werden.

Kontrollbereich ; Namen von Variablen, Typen etc. sind nicht automatisch von Bereichen übernommen worden.Import und Export Listen werden verwendet um Namensbereich zu definieren Kontrollbereich ; Namen von Variablen, Typen etc. sind nicht automatisch von Bereichen übernommen worden.Import und Export Listen werden verwendet um Namensbereich zu definieren

Systemprogrammierende Konstrukte ; Diese beinhalten Variablen mit absoluten Adressen. Solche können Variablen Vorrichtungsregister in Computern mit Gedächtnisspeicher für „Input/Output“ sein. Systemprogrammierende Konstrukte ; Diese beinhalten Variablen mit absoluten Adressen. Solche können Variablen Vorrichtungsregister in Computern mit Gedächtnisspeicher für „Input/Output“ sein.

Grunddatentypen Name Values Allocation Name Values Allocation ShortInt (byte) ShortInt (byte) SignedInt (16-bit) SignedInt (16-bit) UnsignedInt (16-bit) UnsignedInt (16-bit) LongIntsigned integer(32-bit) LongIntsigned integer(32-bit) Booleanfalse...true(byte) Booleanfalse...true(byte) Chara character(byte) Chara character(byte) AddressTypeinteger(address size) AddressTypeinteger(address size) Pointeraddress(address size) Pointeraddress(address size)

Strukturierte Datentypen Arrays Arrays Records Records Sets Sets

Beispiel Array: Beispiel Array: Var a : array of SignedInt Var a : array of SignedInt Var str : packed array 1..5 of Char :=‚Hello‘ Var str : packed array 1..5 of Char :=‚Hello‘ Var matrix : array of array1...5LongInt Var matrix : array of array1...5LongInt

Beispiel record: Beispiel record: Var r : Var r : record record var status : boolean var status : boolean var count : SignedInt var count : SignedInt end record end record

Beispiel Set : Beispiel Set : var s : set of 0..2 var s : set of 0..2

Re-entrant/einspringend ? Re-entrant/einspringend ? Input/output nicht definiert? Input/output nicht definiert? Monitors? Monitors? Unter Unix verlinken? Unter Unix verlinken?

Ein Beispiel zum Abschluss var Example: var Example: module module include ‘%IO1’ include ‘%IO1’ { Print characters up to a period } { Print characters up to a period } initially initially imports( var IO ) imports( var IO ) begin begin var ch : Char var ch : Char IO.PutString( ‘Test starts$N$E’ ) IO.PutString( ‘Test starts$N$E’ ) loop loop IO.GetChar( ch ) IO.GetChar( ch ) IO.PutChar( ch ) IO.PutChar( ch ) exit when ch = $. exit when ch = $. end loop end loop end { of initially } end { of initially } end module end module