Systeem modules

Systeem modules.
  Het totale programma bestaat uit verschillende modules die samen moeten werken om tot een goed eindproduct te komen. Een aantal modules zijn van cruciaal belang om dit systeem te laten slagen. De belangrijkste zullen zijn: Algoritme module, Visualiseer module, Webserver module, Opslaan module, Communicatie module, Rule-based Module. Hieronder zullen ze allemaal uitgewerkt worden wat de eisen aan de modules zullen zijn en de aandachtspunten.

Genetisch algoritme module.
  Omschrijving: Deze module zal ervoor zorgen dat het ontwerp steeds fitter wordt. Belangrijke eigenschappen zijn dat het algoritme zelf ruimtes doet aanmaken. Verder zorgt het algoritme ervoor dat ruimtes op verdiepingen worden geplaatst en dan dat sommige ruimtes bij elkaar in de buurt liggen of niet. Ook de vorm van de ruimtes wordt bepaald door het algoritme. Geoptimaliseerd kan worden op locatie ruimtes, afmetingen, prijs, en relatie tussen ruimtes. Het algoritme zal een aantal ontwerpen maken en deze dan elk waarderen alleen de meest fitte zullen overleven voor een volgende bewerking.

Input met: Alle gegevens zullen aangeleverd worden door de webserver die zijn gegevens weer verkrijgt van de website waarop de gebruiker zijn input kan ingeven. De gebruiker kan aangeven welke ruimtes hij wenst een aantal daarvan. Ook wat de maximale kosten hiervan zullen zijn. Al deze gegevens worden via de website naar de webserver gestuurd die het direct doorstuurt naar het algoritme en de database.

Output met: Het algoritme zal zijn gegevens doorsturen naar de webserver welke deze weer doorstuurt naar het visualisatie module. Die zal ervoor zorgen dat de string omgezet wordt naar een visueel plaatje.

Interactie: Gebruiker (website) en algoritme.

Eigenschappen: Maken van plattegronden en optimaliseren. Het optimaliseren zal gedaan worden door gebruik te maken van de gegevens van de gebruiker.

Visueel: Niets.

Aanvullingen: belangrijk zal zijn het kijken hoe de string opgebouwd moet worden en de volgorde van het maken van een plattegrond. Ook hoe gekeken wordt wat de gebruiker goed vind hoe dit terug vertaald moet worden voor de volgende plattegronden. In het begin zal het vooral testen zijn hoe groot de populatie moet zijn om tot een succesvol ontwerp te komen. Naar alle waarschijnlijkheid kan de populatie kleiner worden als de gebruiker enige goede ontwerpen heeft waarna deze vooral door cross-over verder evalueren.

Visualiseer module.
  Omschrijving: Ervoor zorgen dat de string omgezet wordt naar een visueel ontwerp. Hierbij zal de string gebruikt worden die door het genetisch algoritme berekend en verstuurd wordt via de webserver. Deze string zal alle informatie bevatten over op welke verdieping een ruimte ligt en wat de afmetingen en locatie van de ruimte zullen zijn. Deze numerieke gegevens zullen ingelezen worden en vertaald worden naar wanden. Deze wanden zullen later door de gebruiker zelf nog te verplaatsen moeten zijn waarna deze module deze gegevens weer terug moet kunnen vertalen naar een string. Tijdens het verplaatsen moet het mogelijk zijn om maatlijnen te zien zodat inzichtelijk gemaakt kan worden hoe groot ruimtes dan worden. Met deze string kan dan het algoritme ook weer verder werken.
Als keuze optie zou het ook mogelijk moeten zijn om alle plattegronden te tonen en deze te ordenen waarna de gebruiker kan bepalen welke plattegronden hem het best bevallen.

Input met: webserver – algoritme. Alle gegevens komen van het algoritme af. De gebruiker kan zelf handmatig wanden verplaatsen waardoor ruimtes groter dan wel kleiner worden.

Output met: webserver – algoritme. Het ontwerp wordt terug vertaald naar een string zodat het algoritme ermee kan verder kan werken of het ontwerp opgeslagen kan worden.

Interactie: Gebruiker, die wanden kan verplaatsen en een rangorde kan bepalen van welke plattegrond hem bevalt.

Eigenschappen: String omzetten naar een plattegrond en weer terug vertalen. De gebruiker laten kiezen van een plattegrond en kleine aanpassingen toe laten staan.

Visueel: Omzetten van een reeks getallen naar een plattegrond. Aandachtspunten: Belangrijk zal zijn hoe de numerieke gegevens vertaald worden naar een visueel plaatje. Ik denk dat het handig is om met een soort grid te werken waarop de plattegronden gebouwd worden, hierdoor is het ook makkelijker om afmetingen te berekenen. Ook zal het belangrijk zijn dat de gegevens in XML aangeleverd worden maar in flash door de gebruiker aangepast kunnen worden doordat een wand verplaatst wordt. Hierdoor is het weer van belang dat de flash applicatie het visuele plaatje weer terug kan vertalen naar een XML bestand die de webserver weer kan interpreteren.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *