\chapter{Inleiding} Het merendeel van de mensen gebruikt tegenwoordig een computer, zowel op persoonlijk als op werk niveau. Het is een platform dat ge\"integreerd is in onze samenleving. Andere ge\"integreerde platformen zijn de GSM, de smartphone en de Personal Digital Assistant (PDA). Op al deze platformen of apparaten draaien software programma's die ervoor zorgen dat de uiteindelijke gebruiker gemakkelijk met het platform kan interageren. Er is dus een brede waaier aan keuzemogelijkheden als het er op een aankomt een persoonlijk apparaat aan te schaffen. Als we aan de kant van de software ontwikkelaar gaan kijken, ligt het allemaal een stuk moeilijker. Meerdere platformen wil zeggen meer programmeertalen, meer veranderingen, meer problemen. Er is nood aan user interface (UI) tools die multi-device UI ontwikkeling toelaten\cite{generic_approach}. De bedoeling van dit eindwerk is het uitbreiden van UIML.NET zodat het de UIML standaard beter ondersteunt. UIML is een \textit{High Level User Interface Description Language} en kan bekeken worden als een metataal die kan gebruikt worden om de vier verschillende aspecten van een UI (structure, style, content en behavior) te beschrijven\cite{generic_approach}. De nadruk van dit eindwerk ligt vooral op het vierde aspect (behavior), namelijk het implementeren van conditionele testen. Om te beginnen zal eerst een beschrijving gegeven worden van \textit{User Interface Description Languages} (UIDL) en \textit{High-Level User Interface Description Languages} (HLUIDL) met enkele voorbeelden. Vervolgens zal er verder uitgeweid worden over de HLUIDL taal UIML. Er wordt uitgelegd hoe deze taal in elkaar zit en wat de mogelijkheden ervan zijn. Omdat dit eindwerk vooral over het gedrag van een \textit{User Interface} (UI) naar de eindgebruiker gaat, zal dit het volgende punt zijn dat meer in detail besproken wordt. Verder zullen enkele details over de implementatie besproken worden en als laatste volgt er een uitgebreid voorbeeld.