Promotie D.C. Harkes: business logic

26 maart 2019 15:00 - Locatie: Aula, TU Delft - Door: webredactie

Declarative Specification of information System Data Models and Business Logic. Promotor: Prof.dr. E. Visser (EWI).

Informatiesystemen zijn systemen voor het verzamelen, organiseren, opslaan en communiceren van informatie. Deze systemen zijn gericht op het ondersteunen van activiteiten, management en besluitvorming. Voor deze ondersteuning, filteren en verwerken deze systemen gegevens, hetgeen resulteert in nieuwe gegevens. Typisch bevatten deze informatiesystemen grote hoeveelheden gegevens en worden deze gegevens frequent gewijzigd. In de loop van de tijd veranderen de eisen voor informatiesystemen, van de verwerkingslogica tot het aantal gebruikers dat met het systeem communiceert. Kortom, wanneer organisaties veranderen, moeten informatiesystemen mee veranderen.

Onze afhankelijkheid van informatiesystemen om beslissingen te nemen en de steeds veranderende eisen creëren de volgende uitdagingen voor het ontwikkelen van informatiesystemen. Valideerbaarheid: hoe gemakkelijk is het voor ontwikkelaars van informatiesystemen om vast te stellen dat een systeem 'doet wat het moet doen'? Traceerbaarheid: kan de oorzaak van door het systeem genomen beslissingen worden gecontroleerd? Betrouwbaarheid: kunnen we erop vertrouwen dat het systeem consequent beslissingen neemt en onze gegevens niet verliest? Prestaties: kan het systeem prompt reageren op gebruikers? Beschikbaarheid: kunnen we erop vertrouwen dat het systeem de functionaliteit altijd uitvoert? En tot slot, veranderbaarheid: hoe gemakkelijk is het om de systeemspecificatie te veranderen wanneer de eisen veranderen?

In dit proefschrift tonen we de haalbaarheid en het nut van declaratief programmeren voor informatiesystemen aan in het licht van deze uitdagingen.

Onze onderzoeksmethode is ontwerponderzoek. Deze iteratieve methode heeft vier fasen: analyse, ontwerp, evaluatie en verspreiding. We analyseren de uitdagingen van het ontwikkelen van informatiesystemen, ontwerpen een nieuwe programmeertaal om deze uitdagingen aan te pakken, evalueren onze nieuwe programmeertaal in de praktijk, en verspreiden onze kennis door het publiceren van wetenschappelijke artikelen. Dit heeft geresulteerd in vier nieuwe declaratieve talen: de Relaties taal, IceDust, IceDust2 en PixieDust.

Onze contributies kunnen worden samengevat door de nieuwe onderdelen van deze talen. Taaleigen multipliciteiten, bidirectionele relaties en beknopte navigatie verbeteren de valideerbaarheid en modificeerbaarheid van informatiesystemen ten opzichte van objectgeoriënteerde en relationele benaderingen. Afgeleide attribuut waarden verbeteren de traceerbaarheid. Incrementele en uiteindelijke berekeningen op basis van paden analyse en het omschakelen van berekeningsstrategieën verbetert de modificeerbaarheid van informatiesystemen zonder in te boeten op prestaties en beschikbaarheid ten opzichte van objectgeoriënteerde en relationele benaderingen. Compositie van berekeningsstrategieën verbetert de valideerbaarheid, aanpasbaarheid en betrouwbaarheid ten opzichte van reactieve programmeertechnieken. En ten slotte verbeteren afgeleide bidirectionele relaties de valideerbaarheid van informatiesystemen ten opzichte van relationele benaderingen.

De resultaten van dit proefschrift kunnen in de praktijk worden toegepast. We hebben IceDust2 toegepast op het e-learning informatiesysteem WebLab. Dit heeft de valideerbaarheid, traceerbaarheid, betrouwbaarheid en modificeerbaarheid aanzienlijk verbeterd terwijl de prestaties en beschikbaarheid behouden zijn gebleven. Bovendien suggereert het feit dat IceDust en PixieDust in verschillende domeinen gebruikt worden, verwerkingslogica en gebruikersinterfaces respectievelijk, dat onze nieuwe taal onderdelen op meer domeinen kunnen worden toegepast.

Meer informatie?

Voor inzage in proefschriften van de promovendi kunt u kijken in de TU Delft Repository, de digitale vindplaats van openbare publicaties van de TU Delft. Proefschriften zullen binnen een paar weken na de desbetreffende promotie in de Repository te vinden zijn.