Onderzoek naar nieuwe ontwikkelingen op het gebied van simulatie: Java applets

Door Rik Min

De volgende onderdelen komen aan de orde: simulatie, web, web-technolgie, Java, Java applets, multi-windowing, parallellisme, de PI theorie en eerste prototypes.

Inleiding

Computersimulatieprogramma's kunnen worden gebruikt als leermiddel. Dergelijke leermiddelen kunnen worden ingezet in het onderwijs op school, bij bedrijfstrainingen of bij het buitenschoolse leren in het algemeen, zoals bij 'leerfabrieken' als het LOI , de Open Universiteit of gewoon thuis op CD-i of opgehaald van de electronische snelweg. De computersimulatieprogramma's hebben tegenwoordig veelal het uiterlijk van een volwaardig multimedia product; in die zin dat graphics, animaties, hyperteksten, video en andere digitale dynamische elementen daarbij een grote rol spelen. Simulatiesystemen die dit type programma's kunnen maken, dienen al deze elementen aan te kunnen. In dit onderzoek willen we ons vooralsnog beperken tot de simulator zelf: de kale simulatieprogramma's zonder de instructie-elementen en zonder synchronisatie.
Kale simulatieprogramma's wil men kunnen gebruiken in een leeromgeving waar gevraagd wordt opdrachten uit te voeren of casussen c.q. problemen, die op het beeldscherm worden aangeboden, op te lossen. Naast zo'n kale simulatie in een leeromgeving dienen er bij dit type leeromgevingen handige instructie-onderdelen te bestaan. Het te allen tijde ter beschikking hebben van simulaties is logistiek-technisch een moeilijke zaak. Vanwege al de eisen die het moderne onderwijs aan de leerkrachten stelt, dient een volwaardige leeromgeving voor simulaties op een specifieke manier te worden ontworpen, gerealiseerd en gedistribueerd. We komen dan uit op leeromgevingen - op het net - die gebaseerd zijn op de inzichten uit de PI-theorie van Min. Het net heeft echter zijn beperkingen. Onderzoek is nodig om te kijken of deze beperkingen desondanks tot het type leeromgevingen kunnen leiden die wij willen hebben. We hebben daartoe een ontwerp-gericht onderzoek gestart.

Binnen dit ontwerp-gericht onderzoek hebben we gekeken naar de mogelijkheden van Java applets, de Java-compiler en de performance van Java applets bij executie op het WEB en de mogelijkheid om parallellisme toe te passen en af te tasten. Het speuren heeft geleid tot een prototype van een simulatie-systeem voor het WEB: JavaTHESIS. De producten die dit systeem kan aanleveren (applets) zijn platformonafhankelijk en kunnen derhalve op elke computer worden gedraaid.

METHODEN

Pascal georiënteerde ontwerp-systemen
De universiteit Twente is op het gebied van programmeren jarenlang Pascal-georienteerd geweest. Studenten, zowel als research-medewerkers programmeerden in TurboPascal of MPW-Pascal, naar gelang het platform dat men gebruikte. En omdat simulaties met interpreters - vanwege snelheidsproblemen - (nog) niet voldoen is er voortgebouwd op systemen die gecompileerd kunnen worden. Dat gaf ook de gelegenheid om open systemen te maken, waar de wetenschapper zelf ook nog iets aan toe kon voegen. Anno 1986 zag het eerste volwaardige op Pascal georiënteerde simulatie-ontwerp-systeem voor zeer grote wiskundige modellen het licht (het MacTHESIS systeem). In 1996 werden experimenten met het MacTHESIS systeem, versie 5.0x, voor intelligente simulaties, met videofragmenten als onderwijskundig verantwoorde feedback, succesvol afgerond. Programma's ontworpen en gemaakt met dat systeem kunnen nu, technisch gesproken, als een soort interactieve video (IV) worden opgevat. Er zijn met deze laatste versie, versie 5.0x, vooralsnog twee programma's gemaakt. Een daarvan is de simulatie van het cardiovasculaire systeem van een proefpersoon: CARDIO, versie 5.0x. Met deze ge simuleerde proefpersoon c.q. patiënt kunnen allerlei onderwijskundig verantwoorde experimenten worden uitgevoerd. Zie eerdere publicaties van Min over dit simulatie-model o.a. in 1986, 1992 en 1996. Het belangrijkste kenmerk van deze multimediale videoversie van CARDIO is dat als het verstoorde wiskundig model van de fysiologie van deze persoon daar aanleiding toe geeft, er videofragmenten van de patiënt worden getoond over hoe hij eruit ziet en worden er gesproken teksten ('messages') bij gegenereerd.

Java georiënteerde ontwerp-systemen
Dit type simulaties, zoals hierboven getypeerd, willen we ook op het net, wereldwijd, tot onze beschikking krijgen. Momenteel geschiedt de verspreiding van onze producten al via world wide web, maar via de onsympathieke manier van down-loading terwijl er - uit de aard van haar ontstaansgeschiedenis - nog steeds platform-afhankelijkheid is. Om onze WEB-site bekend te maken, hebben we op grote schaal een publiciteitcampagne gevoerd in het internationale tijdschrift Byte en met een gerichte e-mail campagne.

Het simulatieprogramma zelf, maar ook het ontwerpsysteem, moet met afbeeldingen, geluid en videofragmenten kunnen omgaan. Het world wide web kan het lezen en presenteren van losse mono-multimediale elementen wel aan. Maar de performance van het WEB is momenteel nog erg laag. Toch zijn de voordelen momenteel groter dan de nadelen. Iedereen kan met je producten werken. Dat is en blijft zeer aantrekkelijk.

Het programmeren en het implementeren van het (wiskundige) model en de eventuele rule-bases is een ander probleem. Een pilot-onderzoek van onze groep, toonde vrijwel onmiddellijk aan dat de programmeertaal Java en Java-scripts een enorme platformonafhankelijke potentie hadden. Dat wisten we eigenlijk ook wel. Als ontwerpers op Macintosh computers sprak dat aan. Je kunt in een keer een groot marktsegment veroveren met Macintosh-producten en Macintosh-kwaliteit. Natuurlijk bleef het probleem van het interpreteren door een browser recht overeind, maar het simpele feit om te gaan programmeren in java, loste twee andere problemen op het gebied van simulatie-omgevingen radicaal op: een soepele en natuurlijke wijze van verspreiding van eigengemaakte software en de relatieve afhankelijkheid van platforms.

We wilden ook geen groot, veelomvattend en duur geïntegreerd systeem bouwen. We wilden aansluiten bij de trend van losse simultane onderdelen waarbij - als het mogelijk zou blijken - ook geen al te ingewikkelde interactie zal hoeven plaats te vinden. Interactie zou op het WEB - zoals het er nu naar uit ziet - overigens prima plaats kunnen vinden, maar wij willen dat pas in een later stadium op de rails zetten.

Java applets
Ons team ontwikkelde een aantal programma's in Java: interactieve applets voor model-driven simulaties, zoals AORTA, FARMA, PLANET en ENZYM met het karakter van animatie. We gebruikten de Java Developers Kit Version 1.0.2, ontwikkeld door Sun Microsystems Inc. (1992-96) voor de Macintosh computer om onze applets te ontwikkelen en te compileren. Netscape3.0 werd gebruikt om de WEB -pages met de applets af te kunnen spelen. De pages werden zowel op een Macintosh als op een Wintel platform getest.

EXPERIMENTEN

Vanaf het begin gebruikten we reële en beproefde simulatie-modellen, zodat we precies wisten waar we mee bezig waren. Maar wel kleine voorbeelden. Zo gebruiken we hier de wiskundige modellen waar we veel onderzoeks- en onderwijservaring mee hebben opgedaan. De grote modellen, zoals CARDIO, FLUIDS en BRINE PURIFICATION, bewaren we voor een latere fase in ons onderzoek. We willen daar onze eigen studenten bij betrekken en hen het implementeren van grotere modellen laten uitzoeken in het kader van een onderzoeks- of onderwijsproject en/of in het kader van een vierde jaars vak: 'computersimulatie als leermiddel', een vak waar de onderzoekers zelf ook verantwoordelijk voor zijn en waar het prima lijkt in te passen.

De uitgekozen modellen voor dit onderzoek kenden we door en door. De onderwijskundige implicaties ook.

Vooraf hadden we als doel gesteld dat het ontwikkelen van applets zou moeten leidden tot een universeel simulatie-systeem waarmee anderen - en wij zelf niet op de laatste plaats - simulatie in Java voor het WEB kunnen gaan ontwikkelen. De promotie van het product zouden we op een op het WEB gebruikelijke manier doen, namelijk door producten onmiddellijk op het WEB aan te prijzen en te beproeven. Iedereen zou er mee kunnen werken en ons onmiddellijke feedback geven. Dat hebben we dan ook vanaf het begin van dit project gedaan. En met succes. We hebben een groot aantal positieve en opbouwende reacties gehad.

Experiment 1
We startten met het uitzoeken hoe animatie op het WEB met Java zou moeten verlopen. We hebben veel gehad aan het gericht rondsnuffelen op het WEB. Veel inspireerden ons onmiddellijk, en we zijn aan de slag gegaan om wat wij noemen een model-driven animatie te maken. We wilden bijvoorbeeld uitzoeken hoe we een bitmapped object over een achtergrond konden laten bewegen. Het object legt dan een traject af dat volledig wordt gecontroleerd door een wiskundig model dat op zijn beurt weer wordt gestuurd door de vooraf ingestelde parameters en de initiële waarden van alle andere grootheden van het model. Dit resulteerde na een aantal dagen in de applet PLANET, waarbij een planeet in een ellips om de zon draait. De planeet is hierbij een in principe willekeurig bitmapped object. Het traject dat het object over een achtergrond aflegt wordt bepaald door de keuze van de parameters en de toestandsvariabelen van het wiskundige model.

Experiment 2
De volgende proef was te kijken of wij een 'groeiende grafiek' in java konden maken. Een 'groeiende grafiek' is in principe een klein lijnelementje (een animatie-object) dat een 'spoor op het scherm moet nalaten' (Min, 1993). Het tekenen moet op elk gewenst moment kunnen worden onderbroken. We wilden niet zomaar een 'grafieken-teken-programma' (een 'function-display' programma), daar zijn er honderden van, maar een langzaam groeiende grafiek, zoals op een monitor in een ziekenhuis boven het bed van een patiënt pleegt te hangen, en waarop bijvoorbeeld zijn ECG en bloeddruk grafisch is af te lezen. We wilden ook de werkelijke waarde van variabelen en de actuele tijd, in getallen, af kunnen lezen. Dat is in een simulatie-omgeving heel belangrijk. We deden een experiment met het wiskundige model aangaande aderverkalking in de bloedvaten: AORTA. Het programma AORTA van de Universiteit Maastricht (voorheen Rijksuniversiteit Limburg) werd omgezet naar java. Dit experiment resulteerde in ons eerste sjabloon, in Java, en werd daarmee ons eerste 'systeem', in java: JavaTHESIS, versie 0.0x.

Experiment 3
Van de eerste versie van het programma AORTA hebben we vervolgens een interactieve versie gemaakt. Daartoe zijn aan de applet twee 'schuifpotentiometers' (scroll bars) toegevoegd. Hiermee kan de gebruiker tijdens de simulatiesessie interveniëren in het model. De interventiewaarden (de waarden van de betreffende parameters) werden samen met de waarden van de belangrijkste variabelen geplot. Onze 'groeiende grafiek' bleek vijf waarden te kunnen presenteren zonder noemenswaardige vertragingen. De performance van het systeem bleek op dit punt voldoende voor onze doelstellingen.

Experiment 4
Van dit programma hebben we vervolgens een multi-window versie gemaakt. Daartoe werd de applet in een extra window gesitueerd. Dat is een eenvoudige techniek met HTML en java-script. Hiermee kan de gebruiker tijdens de simulatiesessie switchen tussen de ene window en het andere (deels) (overlappende) window. Het window met het belangrijkste proces - op een bepaald moment - kan dan naar voren worden geklikt. De hanteerbaarheid en de snelheid van deze constructie bleek op dit punt voldoende voor onze doelstellingen.

Experiment 5
Het laatste experiment was om te kijken of het mogelijk was om afzonderlijke applets ('dochters') af te leiden uit het hoofdobject: AORTA (het 'moederobject'). Elke afzonderlijke 'dochter' een aparte behandeling te geven en als mutant - als 'probleemgeval' - op het WEB aan te bieden. Dit is een door ons gekozen methode om casussen te maken en aan te bieden. Deze casussen kunnen de gebruikers dan interactief proberen op te lossen. De gebruikers kunnen op hun page de casus runnen; kijken naar het fenomeen en trachten de juist diagnose te stellen. Terwijl kunnen ze elders op het WEB informatie lezen en trachten het probleem op te lossen.

RESULTATEN

De resultaten, die we met java als programmeermethode hebben behaald, is een aantal applets. Die applets hebben we direct ook op het WEB gezet. De URL van de centrale WEB-page staat onderaan deze pagina. We vinden het van belang dat anderen met ons meekijken en meedenken. We hebben een animatieprototype en enkele simulatieprototypen (pre-prototypen).

Tabel 1 De eerste resultaten

naam

Soort

bijzonderheden

     
     

PLANET

een oneindige animatie

xxx

AORTA, versie 1

een applet in de page

xx

AORTA, versie 2

een interactieve applet

xxx

AORTA, versie 3

een multi-windowing systeem

xxx

     

AORTA, c1

een kloon van AORTA

(als geprogrammeerde casus)

AORTA, c2

een kloon van AORTA

(idem)

AORTA, c3

een kloon van AORTA

(idem)

De drie verschillende versies van AORTA - 0.0x, 1.0x en 2.0x - hebben allen bepaalde voor- en nadelen. De multi-windowing versie - versie 2.0x - heeft als voordeel dat er op het beperkte beeldschermoppervlak van een PC een grote informatiedichtheid kan worden verkregen. Het effectieve werkoppervlak van deze parallelle vorm van dimensionering van een leeromgeving wordt groter. De gebruiker kan door een zodanige manipulatie met de twee windows steeds alleen die informatie naast elkaar leggen die hij op dat moment voor dat experiment nodig heeft.

Figuur 1. Deze screendump van AORTA, versie 3.3x, laat de multi-windowing gedachte en de parallelle instructie gedachte zien. Aan de ene kant de kale simulator (met allerlei vormen van visuele en andere feedback) en aan de andere kant de instructies (de opdrachten, de casusbeschrijvingen, etc.)

Het zorgvuldig toepassen van deze ontwerpvariabele, binnen het geheel van vrijheidsgraden die de ontwerper heeft, binnen Netscape, heeft een enorme potentie. Veel gebruikers stellen de mogelijkheden die parallellisme biedt, op prijs. Er komen - voor de gebruiker die daar gevoelig voor is - enkele vrijheidsgraden van werken bij, welke bij een traditioneel vormgegeven werkomgeving niet bestaan. Hij heeft bijvoorbeeld tijdens een simulatiesessie - du moment - een opdrachtsbeschrijving nodig. Die plukt hij uit het WEB; leest hem en doet vervolgens in de interactieve applet naast hem op een andere WEB-page wat hij doen moet. Volgens de PI-theorie is dit een gebruikersmethode die vele voordelen biedt. De nadelen zijn dat een gebruiker moet wennen aan deze vorm van werken en doen. Als een gebruiker hiermee vertrouwd is geraakt, blijken de voordelen van deze werkwijze voor bepaalde groepen gebruikers de overhand te hebben. Zie elders (Min, 1994; Groenewoud, 1996).

Tabel 2. Tweede serie prototypen.

naam

soort

bijzonderheden

     
     

FARMA

javaTHESIS versie 3.3x

jan '98

BOILER

javaTHESIS versie 3.3x

febr. '98

TRANSISTOR

javaTHESIS versie 3.3x

studenten

LEMMINGEN

javaTHESIS versie 3.3x

studenten

CARDIO

javaTHESIS versie 3.3x

mei '98

VOORLOPIGE CONCLUSIES

De kracht van het in Java geschreven systeem is dat het een ontwikkelmethode is geworden, waarbij met een sjabloon gewerkt kan worden. Programma's gemaakt met het systeem - het multimediale simulatieproduct - hebben een redelijke performance. Niet alleen is de simulator ingebed in een HTML-page bij middelgrote wiskundige modellen redelijk snel, maar ook de integratie met de instructie-materialen in relatie tot andere processen, zoals bij volwaardige leeromgevingen voor simulatie een belangrijke rol speelt, is door deze methode redelijk.

We zijn momenteel bezig te overwegen om onze studenten met java kennis te laten maken. We weten alleen nog niet hoe en wanneer, maar twee vakken komen daarvoor in aanmerking: 'multimedia programmeren' (193517) en 'computersimulatie als leermiddel' (193510); mogelijk het volgend studiejaar al. Voor het vak 'computersimulatie als leermiddel' kunnen we JavaTHESIS gebruiken. Als opdrachten kunnen onze studenten kiezen uit wiskundige modellen naar keuze. Hun taak is dan een compleet leermiddel op het WEB te maken, dus inclusief met opdrachten, casussen, instructiematerialen, toets-vragen of zelf-instructie-vragen, etc.

Enschede, 4 april 1997; updated 7 jan 2002; updated 2005.

REFERENTIES

Min, F.B.M. (1997)
Het WEB als werk-, doe- en leeromgeving en de kracht van applets. Paper ten behoeve van het congres: 'Studeren in digitale leeromgevingen'; Organiseren van hoger onderwijs voor de kennismaatschappij;. te Utrecht, op 11 en12 december 1997. Gepubliceerd in de Hoger Onderwijs Reeks van Wolters-Noordhoff Groningen. Titel: 'De Digitale Leeromgeving'. Ed. M. Mirande, J. Riemersma & W. Veen. 1997 ISBN 90-01-88662-0. Hst. 10. pp. 149-159.

Min, F.B.M. (1994) Parallellisme in open learning and working environments. Britsh Journal of Educational Technology; Vol. 25, No. 2, pp. 108-112. ISSN 0007-1013.

Min, F.B.M. (1995) Simulation Technology & Parallelism in Learning Environments; Methods, Concepts, Models and Systems. Academic Book Center, De Lier. ISBN 90-5478-036-3

Min, F.B.M. (1996) Parallelism in working-, learning- and doing-environments; The Parallel Instruction Theory for Coaching in Open Learning Environments for Simulation; Proceedings of EuroMedia 96; Telematics in a multimedia environment, dec.19-21, 1966; A publication of the Society for Computer Simulation International (SCS) (Eds. A. Verbraeck & P. Geril)