vrijdag 30 juli 2010

Aanpassingen

Volgende fouten zijn verwijderd uit de GUI:
- id's tussen tags in de default xml worden vervangen door de volledige xml. Bvb. <basisfunction>corrgauss</basisfunction> wordt vervangen door <basisfunction id="corrgauss" type="BasisFunction" name="corrgauss"><parameter name="theta" min="-2" max="2" scale="log" duplicate="true"/></basisfunction>
Dit gebeurt bij alles waarbij een id tussen de tags staat, behalve bij de elementen die vermeld staan in het plan of in een run.
- de default xml kan nu gerund worden als bestaande config file. Dit gaf een fout omdat er met relatieve paden gewerkt werd om de simulator file aan te duiden en daarom het bestand niet werd gevonden. Dit relatieve pad wordt nu omgezet in een absoluut pad.
- Bij de sample evaluator wordt nu nagekeken wat de mogelijkheden zijn. In de simulator xml staat vermeld of matlab, local, griddedDataset en scatteredDataset mogelijk zijn. Calcua wordt genegeerd.
- Wanneer bij de output parameters in de simulator xml voor complex handling iets anders vermeld staat dan 'complex' dan kan de complexhandling van die output of zijn duplicates niet aangepast worden.

Volgende checks zijn toegevoegd:
- Er wordt nagekeken of een plan element telkens minstens 1 measure heeft.
- Er wordt nagekeken of er minstens 1 run aanwezig is.
- Er wordt nagekeken of er minstens 1 default input is.
- Er wordt nagekeken of er minstens 1 output geselecteerd is.
- Bij het verwijderen van een output wordt nagekeken of er nog minstens 1 output overblijft.
- Als er bij een input een foutieve waarde wordt ingegeven, dan wordt de waarde gewoon gelijk gesteld aan de minimum waarde.

Toevoegingen:

- Het is dus ook mogelijk om outputs te verwijderen.
- De werking van de input tabel is aangepast. In plaats van een 'used' is er nu een 'Model' veld. Als dit aangevinkt staat wordt de input parameter 'gemodelleerd' en zal in de config xml <input name="x"/>
Als dit niet aangevinkt staat, wordt de waarde gebruikt uit de 'Value' kolom. In de config xml zal dan
<input name="x" value="y"/> gegenereerd worden.

dinsdag 27 juli 2010

Nieuwe stopping criteria tab

Het SUMO plan element heeft nu enkel de default id. Er zal geen nieuwe id default_0 aangemaakt worden en het is dus niet meer mogelijk om bij het SUMO element uit meerdere id's te kiezen.

Er is een nieuwe tab bij gekomen die de belangrijkste opties van het SUMO element bevat. Op deze manier kan de gebruiker op een snelle manier deze opties wijzigen. Er wordt ook getest op een geldige input. Wanneer bvb een negatief getal wordt ingegeven, wordt een foutmelding weergegeven.


Overal waar het SUMO element voorkomt, (plan, run en sumo tab) zal naar hetzelfde object verwezen worden. D.w.z. dat wanneer bvb. het SUMO element wordt aangepast in een run, dan zal deze aanpassing ook te zien zijn bij de plan elementen, de Sumo tab en bij andere runs

maandag 5 juli 2010

aanpassingen output tabel + gegenereerd xml

De knop voor het toevoegen van output rijen zijn toegevoegd:


Bij het genereren van een xml is nu de logging tag toegevoegd en er kan nu een werkende xml geconfigureerd worden. Deze zal waarschijnlijk nog wel moeten aangepast worden, maar dat wordt later besproken.
De gegenereerde xml kan nu ook in een gewone text-editor in een gestructureerde vorm bekeken worden (en dus niet op 1 lijn).

dinsdag 18 mei 2010

Documentatie

De documentatie van de code is hier terug te vinden. Deze link werkt echter alleen maar bij Internet Explorer en niet bij andere webbrowsers. Ik zal proberen dit probleem nog te verhelpen.

maandag 17 mei 2010

aapassingen + testen van programma

De focus voor alle vensters werkt. Het aanmaken van een nieuwe configuration file zou nu ook volledig moeten werken. Ik heb hiervoor reeds enkele tests gedaan en nog enkele bugs verwijderd. Het openen van een bestaande configuration file is ook werkend, maar dit moet nog wel goed getest worden.
De documentatie van de code is ook afgewerkt. Dit kan nog wel een klein beetje wijzigen als er bij het testen nog fouten worden gevonden.

maandag 3 mei 2010

verdere aanpasssingen + verbeteringen van fouten

- Het systeem is er op voorzien dat planElements ook id's van een speciale vorm kan hebben. Meestal is de id uit de default xml zoals bvb. 'local'. Er wordt dan een unieke id gegenereerd van de vorm 'local_0'. Het kan echter ook voorkomen dat een id uit de default xml reeds van de vorm 'local_0' is. In dat geval zal er gewoon een id gegenereerd worden van de vorm 'local_0_0', waardoor toch met een unieke id gewerkt wordt.
- De measures worden nu correct opgeslagen voor plan en run apart. Zowel in de preview als in de eigenlijke gegenereerde xml zelf.
- Als er in het run venster iets wordt aangepast en dan wordt afgesloten, dan zal bij het heropenen van dit venster alle informatie nog opgeslagen zijn. (dit was daarvoor niet het geval)
-Inputs worden enkel weergegeven in de gegenereerde xml als ze zijn aangepast. Als dit niet het geval is dan wordt gewoon een lege Inputs tag gegenereerd. Als de inputs wel worden weergegeven dan zijn het enkel diegene die als 'used' waren aangeduid. Voor elk van die inputs wordt telkens de naam als attribuut weergegeven en, indien deze is aangepast, de waarde.
- Bij het rechtstreeks aanpassen van de xml in het edit venster wordt alles in xml structuur weergegeven en niet op 1 lijn.


- Ongeveer de helft van de vensters is ook in orde met de focus. D.w.z. dat wanneer dat venster openstaat, het eerst moet afgesloten worden voor men aan de andere vensters kan verder werken.

zaterdag 1 mei 2010

Aanpassingen na bespreking 27/04

Ik heb al enkele van de opmerkingen van tijdens de bespreking aangepast/verbeterd.
- Bij het venster van de opties voor een run zullen alle elementen default gedisabled zijn. Bovendien worden nu alle elementen zoals deze bij het planElement zijn aangeduid gewoon overgenomen.
- Bij het rechtstreeks aanpassen van de xml in het edit venster wordt nu de correcte tag weergegeven i.p.v. telkens Measure
- Als in het edit venster tags worden toegevoegd, dan worden deze ook correct toegevoegd en de gegenereerde xml
- In de gegenereerde xml is de simulator tag met het pad van de gebruikte simulator file nu ook toegevoegd- Het errorForm is verwijderd. Er wordt nu gebruik gemaakt van een JOptionPane. Dit is speciaal gemaakt voor foutmeldingen weer te geven.

maandag 19 april 2010

measures + aanpassingen en testen

De measures kunnen nu ook correct toegevoegd en aangepast worden. Er kan nu dus een volledige xml gegenereerd worden. Zoals eerder vermeld is de klasse 'Measure' verwijderd, aangezien deze klasse mij overbodig leek. Een measure is dan gewoon een element waarbij de id null is. Op die manier kan de code voor de gewone opties van de planElementen bijna allemaal opnieuw gebruikt worden. Het klasse diagram ziet er nu als volgt uit:

Ik heb ook de code op linux (ubuntu) getest en daar werkte alles ook.


Verder zijn nog enkele kleine fouten opgelost en enkele aanvullingen gedaan:
- In het hoofdmenu werken de toetsencombinaties ctrl-S en ctrl-Q voor het aanpassen van de default xml en het afsluiten van de toepassing.
- Voor het opslaan van de gegenereerde xml is er in de filechooser een xml filter voorzien en er wordt nagegaan of de gebruiker zelf de '.xml' extensie heeft toegevoegd en indien nodig wordt die zelf toegevoegd.
- Het resize behaviour van de filechooser en het hoofdvenster is aangepast. Voor de andere vensters moet dit nog nagekeken worden.
- De xml die de locatie van de default xml bevat (location.xml) wordt niet meer in een aparte directory 'location' opgeslagen.

woensdag 14 april 2010

preview + measures

Heel de structuur en alle gegevens in de xml worden weergegeven in de boom structuur. Als men op save klikt, dan zal er weer een filechooser openen waar de gewenste locatie van de te genereren xml kan gekozen worden.


De klasse Measure zal verdwijnen en zal een gewoon element worden zonder id en met naam 'Measure'. De measures kunnen nu ook aangepast worden door de gebruiker en deze kan de xml dan rechtstreeks aanpassen.

zondag 11 april 2010

Preview + nieuw klasse diagram

Op de measures na, kan alles worden weggeschreven naar een xml bestand. Het venster hieronder is het venster dat een preview van de nieuwe xml zal geven in de vorm van een boomstructuur. De locatie waar het bestand moet weggeschreven worden kan worden geselecteerd met de knop in de rechter bovenhoek van het venster.


Het rechtstreeks aanpassen van de xml bij de opties planElementen wordt nu ook correct verwerkt. Als de xml bewerkt wordt dan wordt de boomstructuur aangepast en worden de gegevens dus correct opgeslagen.

Het nieuwe klasse diagram:

dinsdag 6 april 2010

Update klassediagram

Als een run wordt toegevoegd, zonder dat de elementen van die run worden gespecificeerd (dus zonder dat de 'edit' knop gebruikt wordt), dan wordt per planElement de default waarde gebruikt.
Verder is ook de klasse XmlMaker toegevoegd. Deze zal alle objecten naar een xml bestand wegschrijven. Momenteel is er al een functie om een planElement weg te schrijven.

maandag 5 april 2010

Update klassediagram

Alle nodige klassen zijn geïmplementeerd. Op de measures na wordt alle informatie correct weggeschreven naar het bijhorende object.
Het Id systeem voor nieuwe elementen werkt ook. Als er dus bvb. bij de sampleEvaluator 'local' geselecteerd staat en er wordt dan op opties geklikt, dan zal een nieuw element 'local_0' worden aangemaakt. Er zal dus telkens een nieuwe (unieke) id aangemaakt worden als de opties worden aangesproken (en worden opgeslagen). Deze id is steeds van de vorm 'local_x' waarbij x dus een unieke nummer is.

Het klassediagram ziet er momenteel als volgt uit:

maandag 15 maart 2010

Reeds geïmplementeerde klasses:

Alle elementen, input parameters en output parameters worden op een correcte manier in de objecten opgeslagen.

dinsdag 9 maart 2010

combobox + toevoeging klasse diagram

De output tabel is aangepast, zodanig dat in de complex handling kolom de combobox altijd zichtbaar is en dat het dus ook duidelijk is voor de gebruiker dat het er zich een combobox in die kolom bevindt.


Ik ben ook begonnen met de implementatie van de verschillende klassen. Ik heb een hulp klasse Pair toe gevoegd, die gelijkaardig is aan de pair structuur zoals deze in C++ voorkomt. Aangezien Java geen pair structuur heeft, heb ik dus zelf een eenvoudige klasse gemaakt, waar 2 bij elkaar horende elementen kunnen worden bijgehouden. Deze klasse wordt gebruikt om voor een element de verschillende attributen en bijhorende waarden op te slaan.

maandag 1 maart 2010

Aanpassingen na bespreking 25/02

Dit zijn nog enkele aanpassingen aan de het option venster. De verschillende attributen worden nu onder elkaar getoond i.p.v. naast elkaar en de tekstvakken hebben telkens een vaste lengte.
De referenties naar de optimizer tags worden telkens opgezocht in de default xml en vervangen door de volledige optimizer inhoud.


Verder is ook de knop voor het toevoegen van een output directory toegevoegd en werkend.

woensdag 24 februari 2010

klasse design

Het klasse design heeft volgende vorm:


Hierbij zijn de klasses DefaultXmlParser, SimulatorXmlParser en TreeAttributes

Description venster + xml editor

Het description venster geeft alle beschrijvende commentaar van de geselecteerde simulator xml weer en de naam van die xml wordt weergegeven:


Het optie venster voor de plan elementen is een klein beetje aangepast. Er is een tekstvak toegevoegd waar de automatisch gegenereerde id voor dat bepaalde element zal worden toegevoegd. Er is ook een 'edit' knop toegevoegd die voor als men de xml zelf wil aanpassen.


Het venster voor het aanpassen van de xml ziet er als volgt uit:


Ik heb op het internet al gezocht naar een xml-editor om de xml op een eenvoudigere wijze te kunnen aanpassen, maar de meeste toepassingen zijn niet gratis of niet OS onafhankelijk. Ik zal proberen om toch nog een geschikte editor te vinden, maar het venster zoals het nu is, kan ook gebruikt worden. Wanneer op save wordt geklikt zal ook nagegaan worden of de gemaakte xml geen syntax fouten bevat. Als bijvoorbeeld de eindtag van profiling vekeerd wordt geschreven dan zal volgende foutmelding getoond worden:

woensdag 10 februari 2010

Plan Element tab + aanpassingen na tussentijdse evaluatie

De plan Element tab (Figuur 1) is volledig ingevuld aan de hand van de default xml. Bij het openen van het programma worden alle tags ingelezen (op de Plan, Logging en Optimizer tags na) en zo aan het paneel toegevoegd. Als er aan de default xml ooit nog een extra element zou toegevoegd worden dan wordt dit dus ook weergeven zonder dat er aanpassingen aan het programma moeten gebeuren.
Figuur1

Het info scherm (Figuur 2) zal alle commentaar in de default xml die zich bevindt boven de betreffende tag weergeven. Overbodige spatie in de commentaar worden verwijderd.

Figuur 2

Het optie venster (Figuur 3) bevat een boomstructuur die alle elementen en attributen van een bepaald onderdeel (met bijhorende id) weergeeft. Bij het klikken op een bepaalde onderdeel zullen de attributen zichtbaar en aanpasbaar worden. In het geval van de Option tags zal de key gewoon weergeven worden in de boom, maar niet als attribuut verschijnen, aangezien deze niet mag aangepast worden.
Figuur 3

Verder zijn nog enkele kleine aanpassingen gebeurd die besproken waren op de tussentijdse evaluatie:
- In het menu van het hoofdvenster is "Change default location" veranderd naar "Change default"
- Als bij het openen van het 'Make simulator file' venster de default xml locatie niet gespecificeerd is dan zal rechtstreeks een file chooser openen i.p.v. een error venster
- Verder heeft elk venster ook een titel en wordt er 1 zin met uitleg over het openstaande venster weergegeven.
- Het verwijderen van runs en measures werkt nu zonder fouten.