Post on 05-Apr-2015
transcript
1
SWT-Praktikum 2005Gruppe 13Murphy‘s Train
Frederik Eichler
Andreas Kumlehn
2
Das Team
Michael Battenfeld Tools Jendrik Bertram Test Anne Brückner Analyse Frederik Eichler Webauftritt Arthur Haag Reverse Engineering Holger Hagedorn Präsentation Christian Haupt Lastenheft Thomas Kemmerich Projektleitung Andreas Kumlehn Implementierung Dirk Meister Qualität Markus Reketat Pflichtenheft
3
Inhalt MurphyShuttle
Offer berechnenOrder ausführen
MurphyGUIControlPanelParameterPanelCompany Development
Softwarequalitäten Ausblick Demonstration
4
Offer berechnen
Selbstkosten berechnen
Interne Verhandlungen im Ring
Offer abgeben
5
Selbstkosten berechnen
Eigenschaften von Load- und UnloadTasksan Stations gebunden
frühesten Startzeitpunkt
spätesten Startzeitpunkt
Alle anderen Tasks können neu berechnet werden
Einsortieren einer neuen Order mit First-Fit-Strategie
6
Selbstkosten berechnen
L4L3L2 U1U3U2L4 M D MMR M D M
LN
L1
Auktionsdeadline
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen
7
Selbstkosten berechnen
L4L3L2 U1U3U2M D MMR M D M
LN
L4L1
Auktionsdeadline
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen• unrelevante Tasks ausblenden
CurrentTaskPlan RawTaskPlan
8
Selbstkosten berechnen
U4L2 U1U3L3U2M D
LN
L4L1
Auktionsdeadline
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen• unrelevante Tasks ausblenden
CurrentTaskPlan RawTaskPlan
9
Selbstkosten berechnen
L2 U4U1U3L3U2M D
LN
L4L1
Auktionsdeadline
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen• unrelevante Tasks ausblenden• LoadTask versuchen einzufügen
CurrentTaskPlan RawTaskPlan
10
Selbstkosten berechnen
L2M D
Auktionsdeadline
L4L1 U4U1U3L3U2LNM M M R
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen• unrelevante Tasks ausblenden• LoadTask versuchen einzufügen• TaskPlan vervollständigen• Deadlines prüfen
CurrentTaskPlan RawTaskPlan
11
Selbstkosten berechnen
L2 U3L3U2M D LN
Auktionsdeadline
L4L1 M M M R U4U1
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen• unrelevante Tasks ausblenden• LoadTask versuchen einzufügen• TaskPlan vervollständigen• Deadlines prüfen• nächtste Position testen
CurrentTaskPlan RawTaskPlan
12
Selbstkosten berechnen
L2M D
Auktionsdeadline
L4L1 L3LNU2M M M U3 U4U1RUN
Legende
• Move• Load• Unload• DoNothing• Repair
• LoadTask erstellen• unrelevante Tasks ausblenden• LoadTask versuchen einzufügen• TaskPlan vervollständigen• Deadlines prüfen• nächtste Position testen• UnloadTask analog einfügen
13
Offer berechnen
Selbstkosten berechnen
Interne Verhandlungen im Ring
Offer abgeben
14
Interne Verhandlungen im Ring Funktion des Masters
Initiiert Negotiation-Prozess für Suche nach den geringsten Selbstkosten
Beendet Suche durch Benachrichtigung des günstigsten Shuttles
Vorteile der gewählten StrukturKein interner Wettbewerb
Gleichmäßige Auslastung der Shuttles
15
Offer berechnen
Selbstkosten berechnen
Interne Verhandlungen im Ring
Offer abgeben
16
Offer abgeben
Aufschläge berechnenRisikoaufschlag
Berechnung anhand empirischer DatenGewinnaufschlag
Statisch Dynamisch
Berücksichtigung des bisherigen Erfolges des Shuttles
Zusammenhangskomponenten der Topologie
Offer absenden
17
Inhalt MurphyShuttle
Offer berechnenOrder ausführen
MurphyGUIControlPanelParameterPanelCompany Development
Softwarequalitäten Ausblick Demonstration
18
Order ausführen
Ausgefallene Connections behandeln:Warten vs. Umfahren
19
Order ausführen
Zeit ist Entscheidungskriterium
warten Umweg fahren
20
Inhalt MurphyShuttle
Offer berechnenOrder ausführen
MurphyGUIControlPanelParameterPanelCompany Development
Softwarequalitäten Ausblick Demonstration
21
MurphyCompanyControl zentrales GUI Fenster
Shuttles kaufen und verkaufen
Anzeige aller relevanten Daten
22
ParameterPanel Strategieentscheidungen Einstellungen für
bestimmtes Shuttle Einstellungen für
gesamte Flotte
23
Company Development Überblick über
Kontoentwicklung Einstellungsmöglichkeiten
der Zeitspanne Erste Instanz bei Validierung
von Strategieentscheidungen
24
Inhalt MurphyShuttle
Offer berechnenOrder ausführen
MurphyGUIControlPanelParameterPanelCompany Development
Softwarequalitäten Ausblick Demonstration
25
Softwarequalitäten
CheckstylesGut lesbarer Quellcode
Wartbarkeit
Zentraler Buildmanagement Server
Informiert über Compilier-, Checkstyle- und JUnit-Fehler sowie Coverage
JUnit Tests
26
Inhalt MurphyShuttle
Offer berechnenOrder ausführen
MurphyGUIControlPanelParameterPanelCompany Development
Softwarequalitäten Ausblick Demonstration
27
Ausblick
Shuttle-ControlInterne Wakeupverwaltung
Shuttle-NegotiationVerzögerte Selbstkostenberechnung
Shuttle-ExecutionRaumverteilung
StrategieoptimierungFinden optimierter Default-WerteAnalyse der dynamischen Strategie
28
Inhalt MurphyShuttle
Offer berechnenOrder ausführen
MurphyGUIControlPanelParameterPanelCompany Development
Softwarequalitäten Ausblick Demonstration