Peter Bunus is an Associate Professor (Universitetslektor) at the Programming

Environments Laboratory, Department of Computer and Information Science, SWEDEN.

View Peter Bunus's profile on LinkedIn My LinkedIn Profile
My web page at NASA Dash link (Discovery in Aeronautics Systems Health)
My web page at NASA NEX Earth Exchange

Contact Address:

Dept. of Computer and Informations Science, Linköping University, 581-83, Linköping, Sweden
Email: peter.bunus@liu.se
Office B 3B:446 Building B, First Floor (Level 3)
Member of the: Division for Software and System (SaS)Programming Environment Laboratory (Pelab)

Statement of Research Interest

The ultimate goal of my research is to facilitate practical software tools and environments for developing, testing, debugging, and maintaining of simulation models as well as developing new techniques for diagnosing physical systems. My research interest is mostly focused on the following areas:

 

Popular Description of my Research (Swedish)

En stor del av kostnaden för att utveckla simuleringsprogram består av att hitta avvikelser från specifikationen och att hitta källan till sådana fel. Dessa aktiviteter kallas debugging eller felsökning, det finns ingen vedertagen svensk översättning utöver det humoristiska avlusning. Enligt vissa studier står debugging för 60-70% av all utvecklingstid och är orsaken till 80% av alla förseningar av programvaruprojekt. Dessa fakta talar för att vi borde satsa på debugging under hela utvecklingsprocessen. Detta kräver i sin tur att vi måste utveckla både förbättrade debuggingtekniker och nya utvecklingsomgivningar och verktyg för programmerarna. Inom modellering och simulering används deklarativa ekvationsbaserade språk och de behöver förbättrad debugging precis som andra språk.

De misstag som programmerare begår beror till stor del på att de inte kan komma ihåg alla detaljer som behövs för att skriva korrekta program och på den stora mängd information som de måste hålla reda på samtidigt. Den som programmerar med ekvationsbaserade språk måste dessutom ha de matematikkunskaper som krävs för att specificera ekvationssystem på ett konsekvent sätt och kunskaper om hur dessa system löses. Naturligtvis har alla ingenjörer och programmerare en matematisk grundutbildning, men när många ekvationer (ibland flera tusen) är inblandade får även de mest erfarna ingenjörerna problem med att genomföra en konsekvent specifikation av ekvationssystemen.

Under utvecklingen av program och modeller behöver programmerarna skriva nya ekvationer för att förbättra de utvecklade komponenterna och man behöver integrera flera komponenter och skriva helt nya. Programmering innebär inte bara att man producerar kod inom de begränsningar som programspråket medger, man måste också göra en övergripande design där man beskriver de objekt som skall modelleras i överensstämmelse med de matematiska reglerna. För slutanvändarnas del av sådana system består arbetet mest av att sätta ihop redan färdiga komponenter men alla komponenter är inte möjliga att kombinera. Det finns definitivt ett behov av datorstöd för såväl programmerare som slutanvändare när det gäller att välja rätt komponenter och att skriva korrekta och konsistenta ekvationssystem.

Under det föreslagna forskningsprojektet kommer vi att besvara några viktiga frågor: Är det möjligt att skapa en programmeringsomgivning som hjälper programmerare att lösa frågor om språksyntax och matematiska detaljer om de fysiska system som skall modelleras? Är det möjligt att stödja användare i att välja rätt komponent från ett bibliotek när de skapar nya simuleringsmodeller? Är det möjligt att ge detaljerade förklaringar när något blir fel så att misstagen kan undvikas i framtiden? Kanske kan vi också svara på frågor som varför ett ihopkomponerat system fungerar som det gör och förklara för användaren vad som verkligen sker.

Med vår erfarenhet om programmeringsomgivningar kommer vi att anta utmaningen att svara på dessa frågor genom att bygga utökade förklarings- och debugging-system. Dessa delar integreras sedan till simuleringsomgivningar som använder objektorienterade ekvationsbaserade språk. Genom att använda avancerade debugging-verktyg kommer de som bygger simuleringsmodeller att kunna bygga bättre modeller på kortare tid. Dessutom kan de känna bättre förtroende för att de modeller de bygger avspeglar systemkomplexiteten på det sätt som var avsett.

Det är ingen brist på problem inom debugging av deklarativa ekvationsbaserade språk. Den växande användningen av dessa språk inom praktisk simulering gör debugging-verktyg till ett angeläget och akut ärende.