Transcript SA-CIRCA
Selbstanpassende Software
Johannes Schick
&
Wolfram Urich
Referatsaufbau
Interpretation von
Luftaufnahmen
Packen in Echtzeit
2
Selbstanpassende Software
Interpretation von
Luftaufnahmen
Gliederung
Ansatz selbstanpassender Software
Typ-2 Berechnungen
Die GRAVA-Softwarearchitektur
Identifikation von Regionen
4
Ansatz
Definition
Selbstanpassende Software wertet ihr eigenes
Verhalten aus und ändert dieses Verhalten,
wenn die Auswertung anzeigt, daß sie nicht
das zustande bringt für was die Software
konzipiert ist oder wenn bessere
Funktionalität oder Leistungsfähigkeit erreicht
werden können.
DARPA, 1998
5
Ansatz
Probleme mit nicht fest umrissener
Umgebung können mit herkömmlichen
Mitteln nicht gelöst werden, z.B.
Bildinterpretation
Lösung: selbstanpassende Software
Ziel: Stabilität auch in unbekannten
Umgebungen
Programmiersprachen: Java,
objektorientiertes Lisp,...
6
Ansatz
Beispiele:
Raketen
Roboter zur Detektion von
Unterwasserminen
unbemannte
Aufklärungsflugzeuge
Roboter zur Erforschung von
Planetenoberflächen
Maschinelles Packen
Active Trust Management
NASA, Projekt Morphing:
selbstanpassende Flugsysteme
für Raumfahrtvehikel
7
Ansatz
Merkmale selbstanpassender Software
besteht i.a. nicht nur aus einem einzelnen
Programm, sondern aus verschiedenen,
spezialisierten Einzelprogrammen, hier durch
Agenten realisiert
Fähigkeit Zustand der Berechnungen zu
beobachten
Fähigkeit des Diagnostizierens von Problemen
Fähigkeit Änderungen vorzunehmen, um
Abweichungen vom verlangten Verhalten zu
korrigieren => erneute Annäherung an
Programmziel
8
Ansatz
Punkt 2 und 4 bekannt unter Stichwort
„Reflektierende Software“ (alter, bekannter
Ansatz)
Unterschied zwischen s.S. und Reflektion:
Reflektierende Software weiß nicht welche
Änderungen vorgenommen werden sollen
und wie auf bessere Ergebnisse hingearbeitet
werden kann
Reflektion = Mittel zur Selbstanpassung
9
Typ-2 Berechnungen
Unterteilung der Berechnungen nach
Vorhersagbarkeit der Umgebung
Typ-1 Berechnungen: Umgebung komplett
bekannt
Typ-2 Berechnungen: Umgebung nicht bis
ins letzte Detail vorhersagbar
10
Typ-2 Berechnungen
Klassische Informatik befaßt sich nur mit Typ1 Berechnungen
in der Natur vorkommende Berechnungen
durchgehend vom 2. Typus, trotzdem stabil
(Bsp.: Fliege: findet sich in Umgebung
zurecht)
wenn Erfolg einer Berechnung aufgrund der
Komplexität der Umgebung nicht
gewährleistet werden kann:
11
Typ-2 Berechnungen
Überprüfen wie gut die angestellten
Berechnungen waren
Änderungen vornehmen, die zu
hoffentlich besserem Ergebnis führen
Hier zeigt sich: Typ-2 Berechnungen =
Typ-1 Berechnungen eingeschlossen in
Kontrollsystem
12
Typ-2 Berechnungen
können also gesamtes Wissen über
Typ-1 Berechnungen übernehmen und
zusätzlich:
Programmintention muß bekannt sein
es muß gemessen werden inwiefern diese
Intention getroffen wurde
es muß „korrigierende Kraft“ existieren, die
Programmverhalten dem gewünschten
Verhalten annähert
13
Typ-2 Berechnungen
Selbstanpassende Software = Versuch
Typ-2 Berechnungen durch System mit
„korrigierender Kraft“ zu realisieren, die
Änderungen am Programm vornimmt
Spektrum reicht vom Anpassen der
Programmparameter bis hin zur
Umschreibung des Programmcodes
14
GRAVA-Architektur
Bildinterpretation = Paradeanwendung für
Selbstanpassung, da
Umwelt nie ganz vorhersagbar
diese meistens dynamischer Natur ist, z.B.
verschiedene Flugphasen: Höhe, Tageszeit
(->Lichintensität), Wetterbedingungen, Jahreszeit
(->Schnee)
Architektur dient zur gleichzeitigen
Segmentation und Interpretation von
Luftaufnahmen
15
GRAVA-Architektur
es existiert nicht die beste
Segmentierung, da Aufteilung und
Interpretation von Bedürfnissen des
Anwenders abhängen, z.B. Aufteilung und
Etikettierung nach Getreidearten >=<
Aufteilung nach bewohnten und
unbewohnten Gebieten
16
17
GRAVA-Architektur
Systemarchitekt: Paul
Robertson
University of Oxford, UK
Forschungsschwerpunkte:
AI, insb. „Computer Vision“
Selbstanpassende Software
Reflektierende Systeme
Höhere Programmierspachen,
hat z.B. erstes 32-Bit-Lisp
entwickelt
18
GRAVA-Architektur
Arbeiten über
Bildinterpretation gesponsert
vom DARPA und der Air Force
Präsident und Leiter der
Technologieabteilung der
Dynamic Object Language
Labs (-> Objektorientierte
Programmiertools,
z.B.Yolamba = obj.orient.
SCHEME)
19
Pool von
Agenten
Bilder
Herstellen eines Bildinterpretations und
-segmentationskreislaufs
Der Bilderkorpus:
Eine Datenbank mit
Bildern und Expertenanmerkungen
Segmentieren
und Interpretieren
der Bilder
Bilderwissen
Interpretation
Auswertung
20
GRAVA-Architektur
Innovationen der GRAVA-Architektur:
Meta-Agenten produzieren
Agentenkreisläufe zur Bildsegmentation
und –interpretation
benutzt Minimum Description LengthAnsatz
21
GRAVA-Architektur
Bildinterpretation beruht auf
Wahrscheinlichkeiten, gestehen den Dingen die
größte Wahrscheinlichkeit zu, die wir glauben
zu sehen („Optische Täuschungen“)
führt zu Ansatz der Minimum Description
Length (MDL)
Agenten werden auf Bereiche eines Bildes
angesetzt, ggf. mehrere Agenten auf selben Bereich
sie liefern Beschreibung, die dann codiert wird
Beschreibung, die kürzesten globalen Code liefert
gilt als wahrscheinlichste und wird übernommen
22
GRAVA-Architektur
Erklärung: die am häufigsten vorkommenden
Symbole (Häuser, Straßen, etc.) werden
durch die wenigsten Bits codiert => je kürzer
Code, desto wahrscheinlicher ist die
Korrektheit der Beschreibung
Code wird nicht übertragen! Dient nur dem
Auffinden der wahrscheinlichsten
Beschreibung
Metaagenten sollen Agenten auswählen, die
kürzeste globale Beschreibung liefern
23
GRAVA-Architektur
Problem: ggf. können mehrere Agenten die
Beschreibungslänge für Region verkürzen
keine Lösung: Wahl von Agent, der kürzeste
Beschreibung für Region liefert, denn lokale
Verbesserung der Beschreibung führt nicht
notwendig zu globaler Verbesserung
Lösung: Monte-Carlo-Algorithmus, der Agenten
(quasi-)zufällig auswählt; hierbei werden die
Wahrscheinlichkeiten der Agenten gewichtet mit
ihrer „Wahlstärke“, die sich aus Beitrag zur
Beschreibungslänge berechnet
24
Start
Initialisiere das
gesamte Bild als
eine einzige Region
1) Für jede Region
Finde Agenten, die neue
Regionen entdecken, welche
ihrerseits einige/alle Pixel der
Region fortnehmen; dies
reduziert die Beschreibungslänge
2) Für jede Region
Versuche die Beschreibungslänge
durch das Abgeben von Pixeln
an Nachbar- bzw. innere
Regionen zu verkürzen
Ende
wenn keine neuen
Regionen oder keine
Reduktion der
Beschreibungslänge
3) Für jede Region
Versuche die Beschreibungslänge durch das Verschmelzen
mit Nachregionen zu minimieren
25
GRAVA-Architektur
3 Regionen: 1x
Hintergrund und 2x
See
Beachte: Inseln
gehören noch zum
Hintergrund
26
GRAVA-Architektur
20 Iterationen später
Beachte: Inseln = neue
Regionen (Stufe 1)
in Inselregionen werden
von nun an keine neuen
Regionen gefunden =>
STOP für diese 2
Regionen
Hintergrundregion hat
Grenzpixel an
Seeregion abgegeben
(Stufe 2)
27
GRAVA-Architektur
neue Seeregion
oben links (Stufe 1)
durch Anwenden der
Stufen 1-3 ist große
Seeregion in
mehrere Regionen
aufgesplittet worden
28
GRAVA-Architektur
1 Iteration später
Seeregionen => eine
einzige Seeregion
(Verschmelzen, 3.
Stufe)
kürzere Kodierung, da
nicht für jede Seeregion
Strukturinformationen
gespeichert werden
müssen und weniger
Grenzinfos
29
GRAVA-Architektur
Repräsentation des Bildes
R0
A2
R1
S2
G2
R2
R3
Grenzpixel
Rn1
Pixelaufzählung
Ri : Region
G i : Anzahl der Grenzpunkte
Ai : Art der Region
Si : Startpixel der Grenze
30
GRAVA-Architektur
Grenzpixel: Beginn bei Startpixel, dann wird
jeder Pixel in Abhängigkeit von Vorgänger
angegeben
Anschließend werden innere Pixel von links
oben nach rechts unten angegeben
Datenstruktur liefert Position und Form der
Regionen
31
Regionenidentifikation
mdst. 3 Möglichkeiten zur Bestimmung des
Inhalts einer Region:
Vergleichen der Umrissform mit aus dem
Korpus gelernten Umrissformen
Mustervergleich der inneren Pixel mit aus der
Datenbank gelernten Grundmustern
Einbeziehung des Bildkontextes
32
Regionenidentifikation
En
I1
Im
E4
I2
...
E3
E1
E2
es werden Regeln aus Bildern
(aus dem Korpus) extrahiert, um
Zusammenhänge zwischen
Regionen miteinzubeziehen
Region1 wird als Tripel
beschrieben:
Region1, I1, I 2 ,, I m , E1, E2 ,, En
Repräsentation der Regionen ist
invariant bzgl. Rotation
sie kann mit „Verschleierung“
umgehen:
Bildrand
Nebel und Wolken
33
Regionenidentifikation
Verschleierung
E4
I2
E3
Im
I1
E2
En
E1
Verschleierung kann
mehrere interne und
externe Regionen
überdecken => „*“
Bildinterpretation sollte
Wahrscheinlichkeiten für
Inhalt der verdeckten
Regionen liefern
Region1 wird
beschrieben durch
Regel:
Region1, I1, I 2 ,*, E1, E2 , E3 , E4 ,*
34
Regionenidentifikation
Felder 2
Felder
3
Felder 1
Straße
1
Sumpf
2
W.
Feld (1), See,*, Straße,*
0.33
Feld (3), *, *,Straße,Stadt, Fluß
0.33
Feld (2), *, *,Fluß, Sumpf
Stadt
Sumpf
Regel
See
0.33
Sumpf (1), *, *,Feld, Fluß
0.50
Sumpf (2), *, *,Fluß, Stadt,Straße 0.50
Fluß, *, *,Feld,Stadt,Sumpf
1.00
Stadt, , Feld,Straße,Sumpf,Fluß 1.00
See, , Feld
1.00
35
Regionenidentifikation
aus Korpus werden Vielzahl von Regeln
gelernt
kommt Regel mehrfach vor wird
Wahrscheinlichkeit gemittelt =>
realitätstreuere Wahrscheinlichkeiten
36
Selbstanpassende Software
Packen in Echtzeit
Gliederung
Beispielanwendung
Systemübersicht
der Syntheseprozess
Fehleranalysen
Blick in die Zukunft
38
Die Modellumgebung
Die Modellumgebung besteht aus:
Puma Roboterarm
Fliessband
unterschiedlichen geometrischen
Objekten
Kisten für Objekte
Schalter
Alarmleuchte
39
Architekturübersicht
von SA-CIRCA
SA-CIRCA ist die
zentrale Komponente
Adaptive Mission
Planner (AMP)
Controller Synthesis
Module (CSM)
Real Time Subsystem
(RTS)
Real World
Adaptive
Mission
Planner
Controller
Synthesis
Module
Real
Time
System
40
Adaptive Mission
Planner (I)
Der Adaptive Mission Planner (AMP) ist für
folgendes zuständig:
Analyse von zeitlich längeren Prozessen
(im Beispiel betrachtet er den Vorgang vom Teile
auf das Band legen bis zum Verpacken)
Analyse von Problemstrukturen
(Auswahl des geeigneten
Verpackungsalgorithmus)
41
Adaptive Mission
Planner (II)
Mission
AMP Synthesis Control
(Negotiation)
AMP
Problem Konfiguration
Controller
Synthesis
Module
42
Ausführbares TAP Schedule
Controller Synthesis
Module (I)
Hauptaufgabe des CSM ist das Erstellen von
Handlungsplänen.
Das CSM ist aus den Komponenten:
State Space Planner (SSP)
Scheduler
TAP Compiler
aufgebaut.
43
Controller Synthesis
Module (II)
Problem Konfiguration
Controller Synthesis Module
Planner
TAP Compiler
Scheduler
44
Ausführbares TAP Schedule
SSP – State Space
Planner
ist Bestandteil des CSM
State Space Planner entwirft
Handlungsvorschriften
steht in Kommunikation mit dem AMP
und RTS
Handlungsvorschriften werden vom
RTS umgesetzt
45
Scheduler
der Scheduler ist Bestandteil vom CSM
verwaltet die TAPs
die TAPs werden eingeordnet um vom
RTS bearbeitet zu werden
46
Das Real Time
Subsystem
ist die Schnittstelle zur realen
Welt
ist für die Steuerung und
Wahrnehmung zuständig
Steuerung erfolgt in Hard
Realtime
führt TAPs aus
Real World
Controller
Synthesis
Module
Real Time
System
47
Transition Description
werden vom Benutzer eingegeben
damit wird ein zu steuerndes System
beschrieben
ein Transition Description definiert Ereignisse
um zu einem Endzustand zu kommen.
es dient als Grundlage für die Steuerung
eines Vorgangs
48
Transition Description Ereignisarten
Action Transitions:
stellen mögliche Aktionen dar, die auch ein
Resultat ergeben.
Event Transitions:
stellen unkontrollierbare und unverzögerbare
Ereignisse dar
49
Transition Description Ereignisarten
Temporal Transitions:
sind nicht kontrollierbare
Umgebungsprozesse, die sehr kurz sind
Reliable Temporal Transitions:
stellen Prozesse dar, die garantiert stattfinden
werden und etwas Zeit in Anspruch nehmen
Goals:
beschreiben Zustandsziele
50
Transition Descriptions Beispiel
Teilmodellierung der Puma-Umgebung
EVENT
emergency-alert
;; Emergency light goes on.
PRECONDS: ((emergency F))
POSTCONDS: ((emergency T))
TEMPORAL emergency-failure ;; Fail if don‘t attend to
PRECONDS: ((emergency T)) ;; light by deadline
POSTCONDS: ((failure T))
ACTION push-emergency-button ;; Pushing button cancels
;; emerg.
PRECONDS: ((part-in-gripper F)) ;; Requires
;;empty gripper
POSTCOND: ((emergency F))
WORST-CASE-EXEC-TIME: 2.0 [seconds]
51
Erstellen von
Handlungsplänen
der SSP generiert aus den Transition
Descriptions einen NFA
aus dem NFA werden Test Action Pairs
(TAPs) erstellt, die vom RTS ausgeführt
werden
Transition
Description
NFA
TAP wird
erstellt
52
Triggering Tradeoffs
ist ein Handlungsplan nicht
durchführbar, kommt es zu Triggering
Tradeoffs
dabei werden Handlungspläne korrigiert
53
Verschiedene Arten von
Tradeoffs
Folgende Tradeoffs werden
unterschieden:
Der SSP findet keinen durchführbaren
Handlungsplan
Wenn der SSP zu lange braucht, um einen
Handlungsplan zu erstellen, kommt es zum
Abbruch der Generierungsphase
54
Verschiedene Arten von
Tradeoffs
Es wird ein Handlungsplan erstellt, der Scheduler
kann dafür aber keinen durchführbaren
Handlungsablauf erstellen
Der Handlungsplan ist erstellbar, aber das RTS ist
nicht leistungsfähig genug
Backtracking
Real
Time
System
SSP
neuer Handlungsplan
der SSP muss einen modifizierten
Handlungsplan erstellen
55
Erstellen eines neuen
Handlungsplans
Der AMP erstellt einen neuen Plan und der
CSM generiert daraus einen neuen
Handlungsplan.
neuer Handlungsplan
neuer Plan
Adaptive
Mission
Planner
SSP
=> Die Tradeoffs können durch gewöhnliche
Prozeduren ausgeführt werden
56
Ignorieren eines TTF
TTF bedeutet Temporal Transition to
Failure
TTFs führen zu Fehlern
OK
Threatened
Safe
Failure
Ein wirkungsvoller Tradeoff ist es Temporal
Transitions zu ignorieren
57
Besonderer Effekte beim
Ignorieren eines TTF
Beim Ignorieren eines TTFs kann ein
Ereignis trotzdem modelliert werden
aber: ein möglicher Fehler kann nicht
mehr überwacht werden
andere mögliche Fehler können
bemerkt werden
58
Performanzeffekte durch das
Ignorieren eines TTF
wird ein alert/minute Grenzwert überschritten,
dürfte nicht mehr gescheduled werden
Abhilfe: Eine pickup-part-from-conveyor
Aktion wird durch ein if-time TAP modelliert,
ohne part-falls-off-conveyor TTF
das System bleibt schnell, auch wenn Teile verloren
gehen, da ein Herunterfallen der Teile ignoriert wird
unter Stressbedingungen bleibt das System
leistungsfähig und arbeitet weiter
59
Performanzeffekte durch das
Ignorieren eines TTF
Das Systemverhalten nach dem Ignorieren
des part-falls-off-conveyor TTF
8
fallengelassene Teile
7
6
5
4
3
2
1
0
0
2
4
6
8
10
Teile pro Minute
12
14
16
18
60
Nichtbeachten eines
Event Transition
Vorteile sind:
Die Planungszeit wird reduziert
Die Anzahl der TAPs wird weniger
Das Scheduling wird vereinfacht (durch die
Reduzierung der TAPs)
=> Es erfolgt eine Geschwindigkeitsoptimierung
des Systems
Nachteil:
weggelassene Transitionen werden nicht mehr
beachtet
61
Die Modifikation eines
Action Transitition
Der AMP kann Action Transitions
modifizieren
Beispiel ist die Veränderung des placepart-in-box Operators
Teile können so unterschiedlich schnell
und sauber verpackt werden
62
Place-part-in-box
Operatoren
Das RTS hat zwei Versionen des placepart-in-box Operators
Fine-motion Version
Coarse-motion Version
63
Place-part-in-box
Operatoren
Fine-motion Version:
die Teile können sehr eng
zusammengepackt werden
benötigt relativ lange
Coarse-motion Version
schneller
schlechter gepackte Kisten
64
Weitere Anwendungen
von SA-CIRCA
SA-CIRCA wird in
Multi-Aircraft
Systemen
verwendet
dient zur autonomen
Steuerung von
Flugzeugen
65
Aussichten - der PSSP
An der Universität von Michigan wird
am Probabilistic State Space Planner
(PSSP) gearbeitet
es werden wahrscheinlichkeitsbezogene
Teilpläne erstellt
das RTS ist beschränkender Faktor
bereits bei autonomen Flugzeugen
getestet
66
Schlußbemerkungen
Nachteile selbstanpassender Software:
selbstanpassende Software ist nicht so leicht
verständlich wie konventionelle Programme
kann man s.S. Dinge wie Lenken von Raketen
anvertrauen?
Robertson meint ja, denn:
Trifft konventionelle Lenksoftware auf Fehler =>
Totalausfall, während s.S. den Fehler mit größerer
Wahrscheinlichkeit auffängt, d.h. s.S. ist robuster
67
Schlußbemerkungen
zu entwickeln/erforschen ist noch:
Test- und/oder Beweisverfahren für s.S.
=> mehr Vertrauen, besseres Verständnis
Erforschung der Mächtigkeit/Möglichkeiten
selbstanpassender Software
68
Schlußbemerkungen
Fazit:
s.S. ist guter vielversprechender Ansatz, der
jedoch noch in Kinderschuhen steckt
noch viel Forschung in diesem Bereich notwendig,
dann ggf. größere Akzeptanz, bisher „Sache des
Glaubens“ (Robertson)
jedoch: DARPA, Air Force und NASA arbeiten
bereits intensiv an Erforschung dieses Ansatzes
=> gute Zukunftsprognose
69
70