Die Klasse AutoProd1 steuert den Produktionsprozess. Sie legt das Lager für die Einzelteile fest, definiert und startet die Lieferanten und den Hersteller mit den Fristen sowie den Auftragsvolumina. Im Beispiel sollen 10 Reifen, 9 Felgen und 5 Achsen geliefert werden und daraus 2 Autos produziert werden.
import java.awt.*; import java.applet.*; public class AutoProd1 extends Applet { Lager lager = new Lager(); public void init() { new Lieferant(0,2,10,lager).start(); //Reifen new Lieferant(1,3,9,lager).start(); //Felgen new Lieferant(2,5,5,lager).start(); //Achsen new Hersteller("Auto",10,2,lager).start(); } public void paint(Graphics g) { g.drawString("Programmablauf gestartet - siehe Systemfenster...",10,10); } }
Dabei werden die Prozesse der Klassen Lieferant und Hersteller alle in der init-Methode des Applets über ihren Konstruktor erzeugt.
Die paint-Methode gibt nur einen Statustext aus, da die eigentliche Ausgabe über System.out.println-Befehle in das Meldungsfenster erfolgen.
Jeder Ablauf der Klasse AutoProd1 erzeugt wegen der zufällig gewählten Lieferfristen und Herstellungszeiten bei jedem Ablauf ein anderes Protokoll. Die Ausgabe zeigt, dass alle bestellten Einzelteile geliefert und zwei Autos produziert wurden. Trotzdem ist diese Simulation unrealistisch. Das erste Auto wird bereits fertiggestellt, nachdem z.B. erst 3 Reifen, 2 Felgen und 2 Achsen geliefert sind. Auch die Produktion des zweiten Autos kann in der Realität so nicht funktionieren. Die Buchführung des Lagers wurde noch nicht komplett implementiert.
© Ralph-Erich Hildebrandt, 27. September 2004