• Keine Ergebnisse gefunden

Raum-Zeit-Constraints als Programmierabstraktion für Anwendungen in mobilen verteilten Systemen

N/A
N/A
Protected

Academic year: 2022

Aktie "Raum-Zeit-Constraints als Programmierabstraktion für Anwendungen in mobilen verteilten Systemen"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Raum-Zeit-Constraints als Programmierabstraktion f¨ ur Anwendungen in mobilen verteilten Systemen

Martin D¨aumler Dirk M¨uller Matthias Werner

Lehrstuhl Betriebssysteme Fakult¨at f¨ur Informatik Technische Universit¨at Chemnitz

19. November 2009

(2)

Inhaltsverzeichnis

1. Einleitung Motivation

Anwendungsbeispiele

2. Programmierabstraktion Anforderungen

Raum-Zeit-Constraints

3. Zusammenfassung & Ausblick Zusammenfassung

Ausblick

(3)

Einleitung Motivation

Motivation

Generische Unterst¨utzung f¨ur Anwendungen in mobilen verteilten Systemen durch:

1. Abstraktion der Verteiltheit eines verteilten System (System-Sicht)

2. Explizite Behandlung von r¨aumlichen, zeitlichen und bewegungsspezifischen Sachverhalten innerhalb einer Anwendung (reale Raum-Zeit)

I Arbeitstitel:FlockOS

(Federation of linkedobjects withcommon tasksOperatingSystem)

(4)

Einleitung Anwendungsbeispiele

Anwendung: Kartographie mittels kooperierender Satelliten

I Knoten-Sicht: Explizite Programmierung der Migration der Anwendung sowie der Kommunikation der Daten zwischen den Satelliten

I System-Sicht: Programmierung einer Gesamtanwendung, die die Beobachtung eines r¨aumlichen Gebiets beschreibt

Erde s0

s1 s2

90°

180°

270°

Abbildung:Anwendung Kartographie mittels Satellitensystem

(5)

Einleitung Anwendungsbeispiele

Anwendung: Roboterfußball

I Knoten-Sicht: Alternative Realisierungen eines Spielzuges m¨ussen explizit programmiert werden um angemessen reagieren zu k¨onnen.

I System-Sicht: Der Programmierer muss nur die Bewegung bez¨uglich des Balls beschreiben. Die Umsetzung erfolgt implizit.

S1 B G S2

Passspiel

Dribbeln

Abbildung:Anwendung Roboterfußball

(6)

Einleitung Anwendungsbeispiele

Herausforderung

Alle genannten Anwendungen werden inrealer Raum-Zeitausgef¨uhrt:

I Es m¨ussen zeitliche und r¨aumliche Bedingungen ber¨ucksichtigt werden.

I Der Begriff der realen Raum-Zeit meint die Erweiterung des g¨angigen Echtzeitbegriffs um r¨aumliche Dimensionen.

Problem:Wie kann ein Programmierer Anwendungen in realer Raum-Zeit entsprechend einer System-Sicht beschreiben?

(7)

Programmierabstraktion Anforderungen

Anforderungen an eine Programmierabstraktion

A1: Reale Raum-Zeit:Formulierung von r¨aumlichen, zeitlichen und

bewegungsspezifischen Eigenschaften und Beziehungen von bzw. zwischen Objekten

A2: System-Sicht:Beschreibung von Anwendungen f¨ur ein System, von dessen Verteiltheit abstrahiert wird

A3: Einfache intuitive Handhabung

=⇒ Ansatz:Erweiterung des konventionellen Anwendungscodes durch so genannteRaum-Zeit-Constraints(RZCs)

(8)

Programmierabstraktion Anforderungen

Anforderungen an eine Programmierabstraktion

A1: Reale Raum-Zeit:Formulierung von r¨aumlichen, zeitlichen und

bewegungsspezifischen Eigenschaften und Beziehungen von bzw. zwischen Objekten

A2: System-Sicht:Beschreibung von Anwendungen f¨ur ein System, von dessen Verteiltheit abstrahiert wird

A3: Einfache intuitive Handhabung

=⇒ Ansatz:Erweiterung des konventionellen Anwendungscodes durch so genannteRaum-Zeit-Constraints(RZCs)

(9)

Programmierabstraktion Raum-Zeit-Constraints

Raum-Zeit-Constraints

I Constraint (engl.): (Neben-) Bedingung, Beschr¨ankung, Einschr¨ankung

I RZCs beschreiben Einschr¨ankungen in Raum, Zeit oder Bewegungen (Beispiel: 4-dimensionale H¨ullkurve).

I Rein zeitliche RZCs sind bereits aus Echtzeitsystemen bekannt:

I Periodendauer

I Sollzeitpunkte

I Pr¨azedenzgraphen

I . . .

I RZCs r¨ucken die Programmierungder Anwendungin den Vordergrund, anstatt der Programmierung des mobilen verteilten Systems.

(10)

Programmierabstraktion Raum-Zeit-Constraints

Herk¨ ommlicher Anwendungscode:

i n t i ;

i n t s e n d t o e a r t h (i n t a c c u ) ; i n t main ( ) {

s t a t i c i n t a c c u ; a c c u = 0 ;

w h i l e (t r u e) {

a c c u = a c c u + r e a d s e n s o r ( ) ; i = ( i ++)%1000;

i f ( i == 0 ) s e n d t o e a r t h ( a c c u ) ; s l e e p ( 1 ) ;

}

r e t u r n 0 ; }

(11)

Programmierabstraktion Raum-Zeit-Constraints

Annotierter Anwendungscode: (Auszug)

c o n s t r a i n t p o l c1( p h i , p s i , r , t ) = { ( (i n t( p h i ) % 360)> CONST A ) &&

( (i n t( p h i ) % 3 6 0 ) < CONST B ) };

c o n s t r a i n t p o l c2( p h i , p s i , r , t ) = { ( (i n t( p h i ) % 360)> CONST C ) &&

( (i n t( p h i ) % 3 6 0 ) < CONST D) }; int i@c1;

int send to earth(int accu)@c2;

i n t main ( ) { static int accu@c1;

a c c u = 0 ; w h i l e (t r u e) {

a c c u = a c c u + r e a d s e n s o r ( ) ; i = ( i ++)%1000;

i f ( i == 0 ) s e n d t o e a r t h ( a c c u ) ; s l e e p ( 1 ) ;

}

r e t u r n 0 ; }

(12)

Programmierabstraktion Raum-Zeit-Constraints

System-Sicht

(13)

Programmierabstraktion Raum-Zeit-Constraints

Demonstration

(14)

Zusammenfassung & Ausblick Zusammenfassung

Zusammenfassung

Einf¨uhrung vonRaum-Zeit-Constraintsals eine Programmierabstraktion f¨ur Anwendungen in mobilen verteilten Systemen, die . . .

I . . . es erlaubt, Anwendungen an r¨aumliche & zeitliche Sachverhalte zu kn¨upfen.

=⇒A1 X

I . . . von der Verteilung des ausf¨uhrenden Systems abstrahiert und somit f¨ur den Programmierer transparent macht.

=⇒A2X

I . . . eine Erweiterung konventionellen Codes darstellt.

=⇒A3X

(15)

Zusammenfassung & Ausblick Zusammenfassung

Zusammenfassung

Einf¨uhrung vonRaum-Zeit-Constraintsals eine Programmierabstraktion f¨ur Anwendungen in mobilen verteilten Systemen, die . . .

I . . . es erlaubt, Anwendungen an r¨aumliche & zeitliche Sachverhalte zu kn¨upfen.=⇒A1 X

I . . . von der Verteilung des ausf¨uhrenden Systems abstrahiert und somit f¨ur den Programmierer transparent macht.

=⇒A2X

I . . . eine Erweiterung konventionellen Codes darstellt.

=⇒A3X

(16)

Zusammenfassung & Ausblick Zusammenfassung

Zusammenfassung

Einf¨uhrung vonRaum-Zeit-Constraintsals eine Programmierabstraktion f¨ur Anwendungen in mobilen verteilten Systemen, die . . .

I . . . es erlaubt, Anwendungen an r¨aumliche & zeitliche Sachverhalte zu kn¨upfen.=⇒A1 X

I . . . von der Verteilung des ausf¨uhrenden Systems abstrahiert und somit f¨ur den Programmierer transparent macht.=⇒A2X

I . . . eine Erweiterung konventionellen Codes darstellt.

=⇒A3X

(17)

Zusammenfassung & Ausblick Zusammenfassung

Zusammenfassung

Einf¨uhrung vonRaum-Zeit-Constraintsals eine Programmierabstraktion f¨ur Anwendungen in mobilen verteilten Systemen, die . . .

I . . . es erlaubt, Anwendungen an r¨aumliche & zeitliche Sachverhalte zu kn¨upfen.=⇒A1 X

I . . . von der Verteilung des ausf¨uhrenden Systems abstrahiert und somit f¨ur den Programmierer transparent macht.=⇒A2X

I . . . eine Erweiterung konventionellen Codes darstellt.=⇒A3X

(18)

Zusammenfassung & Ausblick Ausblick

Ausblick

I Formalisierung r¨aumlicher, zeitlicher und bewegungsspezifischer Sachverhalte in einem (geschlossenen) Modell

I Festlegung der genauen Syntax der Raum-Zeit-Constraints

I Integration der Erweiterungen in g¨angige Programmiersprachen

I Entwickeln von generischen Methoden zum Finden eines Ablaufplanes f¨ur komplexere Anwendungen

(19)

Zusammenfassung & Ausblick Ausblick

Ende des Vortrags

Vielen Dank f¨ur Ihre Aufmerksamkeit.

Fragen?

(20)

Zusammenfassung & Ausblick Ausblick

Codegenerierung

Anwendung.csr

#include RZC.h

#include SYS.h SYS.h

Präprozessor

RZC.h Anwendung.cpp

#include RZC.h

#include SYS.h

Anwendung.

app

Kompilierer

Systemprogrammierer Anwendungsprogrammierer

Anwendungscode Zwischencode Betriebssystemcode

Code-Generator

Abbildung:Generierung des verteilten Anwendungscodes

(21)

Zusammenfassung & Ausblick Ausblick

Laufzeitumgebung

Kommunikationsschicht Ausführungsumgebung Raumzeit-Lokalisierung

Nutzt Dienste von ... Anwendungs-/Steuerungsdaten Laufzeitsystem

Komponenten Anwendung

Abbildung:Laufzeitumgebung von FlockOS

Referenzen

ÄHNLICHE DOKUMENTE

Bei der initialen Zuweisung wird aufgezeichnet, welcher Avatar zu welchem Zeitpunkt, welchen Server zugewiesen bekommen hat, nachdem dieser sich initial zur Spielwelt angemeldet

Ein Disput zwischen Alice und Bob soll durch einen elektronischen M¨ unzwurf entschieden werden.. Kann Bob keinen Faktor

Eine ungeregelte Peer-Abwanderung bedeutet einen Abbruch von laufen Opera- tionen der Anwendung und/oder Datenverlust. Die Notwendigkeit von erneuter Ausf¨uhrung von Operationen

eine Zerlegung der Menge aller Pro- zesse derart bestimmen, daß die Prozesse einer Teilmenge mit- einander kommunizieren (direkt oder indirekt) und Prozesse

I Problem: Wir haben eine elastische, reaktive Anwendung aber nicht genug Geld um eine unbegrenzt große Server Farm zu betreiben. I Lösung: Bei Überlastung sollten Anfragen nicht

Kommunikation einer Softwarekomponente über Netzwerke wird für diese transparent gemacht.. Organisiert Transport komplexer Daten (Messaging) Stellt Software –Schnittstellen und

Skizzieren Sie analoge Zustandsdiagramme f¨ur Implementierungen der at most once und exactly once Semanti- ken, wobei wie oben eintreffende Nachrichten und Timeout-Ereignisse

- Wie beweist man, dass One-Time Pads garantiert sicher sind. - Wie knackt man One-Time Pads bei endlichem,