A Multi-Paradigm Modelling Approach for Engineering Model Debugging Environments

Datum: 12 maart 2018

Locatie: Campus Middelheim, G.005 - Middelheimlaan 1 - 2020 Antwerpen (route: UAntwerpen, Campus Middelheim)

Tijdstip: 17 uur

Organisatie / co-organisatie: Departement Wiskunde-Informatica

Promovendus: Simon Van Mierlo

Promotor: Hans Vangheluwe

Korte beschrijving: Doctoraatsverdediging Simon Van Mierlo - Faculteit Wetenschappen, Departement Wiskunde-Informatica



Abstract

De complexiteit van systemen die door de mens worden ontwikkeld stijgt continu. Dit komt doordat er hoge eisen worden gesteld aan de veiligheid van deze systemen, hun autonomie, en hun intercommunicatie. Om deze systemen succesvol te kunnen ontwikkelen, moeten de methodes om deze systemen te ontwerpen, analyseren, en uitrollen mee evolueren. Belangrijk hierbij is dat het systeem als geheel wordt beschouwd, inclusief de mogelijke mechanische en software aspecten, en de interactie met de omgeving. Model-Driven Engineering (MDE) is een methode voor het ontwikkelen van systemen, waarbij modellen die het gedrag en de structuur van systemen beschrijft centraal staan. Ingenieurs bouwen modellen (abstracties) van de verschillende delen van het systeem in (grafische) modelleertalen. Deze talen laten de ingenieurs toe om te focussen op wat het systeem moet doen, in plaats van hoe het systeem zijn taken moet volbrengen.

Binnen MDE beschrijft Multi-Paradigm Modelling (MPM) een methode waarbij alle relevante aspecten van systemen expliciet gemodelleerd worden, op het (de) meest geschikte niveau(s) van abstractie, gebruik makende van de meest geschikte modelleertaal (of -talen), waarbij de ontwikkelprocessen expliciet gemodelleerd worden. Dit laat domeinexperts toe om hun systemen te ontwikkelen met notaties waar zij vertrouwd mee zijn. Maar, hoewel dit het ontwikkelproces vergemakkelijkt, is er geen garantie dat het ontwerp van het systeem geen fouten bevat. Die fouten komen overeen met eigenschapen die werden gespecifieerd voor het systeem, maar waaraan het geïmplementeerde systeem niet voldoet. Het is noodzakelijk, eens een fout geobserveerd wordt, dat de oorzaak van deze fout ontdekt wordt. In het domein van programmeertalen zijn zogenoemde “debug” technieken uitvoerig onderzocht, maar voor MDE en MPM zijn ze vaak onbestaande, of geïmplementeerd op een ad-hoc manier. Deze thesis breidt de state-of-the-art in het ontwerpen van talen en hun geassocieerde tools uit, waarbij het mogelijk wordt gemaakt om debugoperaties toe te voegen aan eender welke modelleertaal. Hiervoor worden drie bijdragen gemaakt:

  • een proces om de simulator van de taal te instrumenteren met debugoperaties;
  • een architectuur, die de simulator verbindt met een (grafische) debugomgeving, waarin de domeinexpert modellen kan debuggen, gebruik makende van de abstracties van de modelleertaal;
  • een workflow die tool ontwikkelaars helpt om debugoperaties toe te voegen aan hun tool(s).

De technieken worden gevalideerd door ze toe te passen op een verzameling modelleertalen waarvan het gedrag sterk uiteenloopt. Dit toont aan dat de technieken generiek zijn en ook op andere modelleertalen kunnen toegepast worden. Bovendien worden twee technieken, live modelling en omniscient debugging, geïmplementeerd voor modelleertalen.



Link: http://www.uantwerpen.be/wetenschappen