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.