Technische Universiteit Delft
Faculteit Werktuigbouwkunde, Maritieme Techniek en Technische Materiaalwetenschappen
Transporttechnologie / Logistieke Techniek



M. Frumau De ontwikkeling van TRACES-Workbench-2
Doctoraalopdracht, Rapport 98.3.LT.5119, Transporttechnologie, Logistieke Techniek.


De architectuur is gebaseerd op de gedachtengang van de agile-logistics en richt zich op de logistiek die betrekking heeft op vervoer, bevoorrading, distributie, opslag, overslag en coördinatie van dienstverlening ten behoeve van een klant. Deze logistieke systemen dienen plooibaar en flexibel te zijn, zodat er snel en efficiënt op veranderingen in de markt kan worden gereageerd.

Bij het opstellen van de besturingsarchitectuur is uitgegaan van het object-georiënteerd paradigma, omdat het paradigma goed aansluit de bij de gedachtengang van de agile-logistics.

Een object-georiënteerde programmeertaal heeft de volgende kenmerken: het sluit goed aan bij de menselijke denkwijze, het biedt de mogelijkheid tot data-hiding en encapsulatie, het is polymorfistisch, de programma's zijn goed onderhoudbaar, het leent zich voor parallel programmeren en het leent zich uitstekend voor visueel programmeren.

Voor de implementatie van de besturingssystemen van de besturingsarchitectuur is Java gekozen. Java beschikt over alle kenmerken van een object-georiënteerde taal, maar heeft hiernaast de bijzondere eigenschap dat het platform-onafhankelijk is. Multiple inheritance is in Java echter niet toegestaan. Java is wel multi-threaded waardoor het mogelijk is dat besturingsprocessen parallel worden uitgevoerd. Verder zijn er een aantal programmeeromgevingen voor Java ontwikkeld waadoor het mogelijk is geworden om visueel te programmeren.

Voor de implementatie van besturingssystemen is er gebruik gemaakt van de programmeeromgeving JBuilder. De keuze is op JBuilder gevallen omdat JBuilder op dat moment de beste eigenschappen en recensies had. De werking van JBuilder is in het rapport kort toegelicht.

De besturingsarchitectuur is in een aantal segmenten onder te verdelen. De nadruk bij de bespreking is op het segment van het interne informatie- en besturingssysteem gelegd.
In dit segment zijn vier besturingsniveaus onderscheiden: de 'Client-world' als niveau van de klant, de 'Service-provision' als het niveau van de dienstverlening, de 'Event-processes' als het niveau van de coördinatie van de fysieke processen, 'Physical-operations' als het niveau waarop de fysieke processen zich afspelen.
De uitgifte van opdrachten verloopt in deze opzet 'verticaal', van client-world tot aan physical-operations. De terugmelding gaat in tegengestelde richting. Voor de communicatie tussen de verschillende niveaus zijn speciale interfaces ontwikkeld.
Ieder besturingsniveau is voorzien van een bijbehorend sub-besturingssysteem.

Het autonoom besturingssysteem van het interne info- en besturingssysteem wordt ACES (Agile Coordination Engineering System) genoemd. ACES is het integrerend systeem bestaande uit de sub-besturingssystemen: SERVICES (SERVIce Control Engineering System) als subsysteem voor service-provision, TRACES (TRAffic Control Engineering System) als subsysteem voor de besturing van event-processen en FORCES (Function ORientated Configuration Engineering System) als subsysteem voor de physical-operations.

De processen onder SERVICES, TRACES en FORCES functioneren zelfstandig en reageren op de gebeurtenissen uit de externe omgeving. De sub-systemen zijn door middel van interfaces met elkaar en de externe wereld verbonden.

Omdat de sub-besturingssystemen SERVICES en FORCES nog in ontwikkeling zijn, worden de beide systemen in het rapport slechts kort toegelicht.
Op de structuur van TRACES is dieper ingegaan. De opzet van TRACES is in tegenstelling tot de twee andere besturingssystemen wel grotendeels uitontwikkeld. Van TRACES bestaan reeds twee in Java geïmplementeerde workbenches, die aangeduid zijn als TRACES-Workbench 0 en TRACES-Workbench 1, die elk zijn gebaseerd op dezelfde eerste versie van de control language.

Uitgaande van TRACES, de mogelijkheden van Java en JBuilder en de bevindingen die bij de opzet en de test met TRACES-Workbench 0 en 1 zijn opgedaan, is de TRACES-Workbench 2 opgezet.

TRACES-Workbench 2 biedt de mogelijkheid om een logistiek besturingsysteem voor de coördinatie van fysieke processen op een grafische wijze op te stellen en te ondersteunen. TRACES-Workbench 2 bestaat uit de een control language, een visualisation function en een engineering tool.

De control language is gebaseerd op de eerste versie van de control language, waarin de structuur van de besturing met de bijbehorende regels en methodieken van TRACES zijn vastgelegd. De eerste versie van de control language heeft z'n beperkingen. Zo is de control language niet geschikt om gedistribueerd programmeren te ondersteunen. Een besturing die gebruik wil maken van een TRACES-Workbench, gebaseerd op deze versie van de control language, dient dus op één processor te draaien. Verder zijn er een aantal kleine punten in de implementatie ontdekt die in latere versies moeten worden aangepast. Ondanks de beperkingen is gebleken dat de control language geschikt is om een besturingssysteem voor het coördineren van fysieke processen te kunnen ondersteunen.

De visualisation function verzorgt de visualisatie van de scenes en event-processen van een besturingssysteem. In de visualisation function worden de TRACES-objecten middels verschillende gekleurde rechthoeken en vierkanten gerepresenteerd. De visualisatie van de scenes en event-processen is aan de hand van deze vormen opgebouwd. De verschillende toestanden van het systeem wordt met behulp van specifieke kleuren weergegeven, waardoor de gebruiker een goed beeld krijgt van de event-processen die zich in het besturingssysteem afspelen.
De wijze waarop de scene en de event-processen worden weergegeven stemt tot tevredenheid. De visualisation function biedt de gewenste ondersteuning aan de engineering tool waardoor de gebruiker in staat is om de layout van de scenes en event-processen naar wens te kunnen opzetten.

De engineering tool dient om een besturingssysteem, voor de coördinatie van de fysieke processen op een grafische wijze te kunnen opbouwen. De engineering tool maakt gebruikt van zogenaamde snippets, waarmee de meeste objecten van het specifieke deel van de besturing automatisch kunnen worden gegenereerd. Slechts enkele specifieke TRACES en FORCES objecten dienen handmatig te worden ingevoerd. Een minpunt van de engineering tool is dat er in sommige objecten enkele regels code handmatig moeten worden toegevoegd. Afgezien hiervan werkt de engineering tool goed.
De engineering tool kan worden toegepast voor het implementeren van diverse besturingssystemen, die de fysieke processen van een logistiek systeem moeten coördineren. Of de engineering tool daadwerkelijk universeel is zal in de praktijk moeten blijken.

Om de TRACES-Workbenches te testen en te demonstreren is er een speciale testapplicatie opgezet. De testapplicatie stelt een verkeersgeleidingssysteem voor, waarvan de fysieke processen van een aantal Automatisch Geleide Voertuigen (AGV's) dienen te worden gecoördineerd.

Mede aan de hand van de applicatie kan worden geconcludeerd dat de opzet van de TRACES-Workbench 2 geslaagd is. Afgezien van de genoemde beperkingen functioneert de workbench goed. Met TRACES-Workbench 2 beschikt men over een tool waarmee makkelijk en relatief snel een logistiek besturingssysteem, dat gebaseerd is op de eerste versie van de control language van TRACES, kan worden opgezet.

De workbench en de opgedane ervaring dragen bij aan de inzichten en kennis die nodig zijn voor de ontwikkeling van de specifieke TRACES-Workbenches en ontwikkeling van de workbenches voor de overige sub-besturingssystemen. Zo is er vastgesteld dat de huidige opzet van de engineering tool TRACES-Workbench 2 niet geschikt is om te worden toegepast in workbenches die gebaseerd zijn op de tweede versie van de control language.


Rapporten studenten Logistieke Techniek
Gewijzigd: 1999.03.12; logistics@3mE.tudelft.nl , TU Delft / 3mE / TT / LT.