Fraunhofer-Gesellschaft ontwerpt hulpprogramma’s voor het ontwikkelen van software voor embedded multicore processoren. Omdat multicore-processoren een grote rekenkracht bezitten bij een relatief gering energieverbruik, worden ze steeds meer gebruikt voor ingebedde systemen. Bij multicore worden processen parallel uitgevoerd, waarbij de huidige ontwikkelingstools voor de embedded software onvoldoende ondersteuning bieden.
Een consortium van acht firma’s, waaronder producenten van hulpprogramma’s en gebruikers en drie onderzoeksinstituten, ontwikkelt onder leiding van Fraunhofer ESK de bestaande instrumenten verder en zorgt voor integratie tot een efficiënte keten van tools. In het project worden drie aspecten onderzocht: modellering en simulatie, analyse en tracing en een softwaretest. De gebruikers testen binnen het project aan de hand van casestudies de praktische bruikbaarheid.
Voor de projectpartners is het belangrijk,dat in 2014 aan het eind van het project niet alleen losse verbeterde instrumenten voor de ontwikkeling van embedded multicore-software ter beschikking komen, maar dat deze geïntegreerd zijn in een keten van instrumenten. Met deze keten bieden ze de ontwikkelaars de mogelijkheid om de resultaten van de eerste tools naadloos te verwerken in een tweede, zodat tijd wordt gespaard en fouten worden geëlimineerd.
Modellering en simulatie
Prof. dr. Bernhard Bauer van de universiteit Augsburg is coördinator binnen het project, dat de partitionering en verdeling van taken op multicore-systemen optimaliseert. Door model analyse wordt berekend, welke afhankelijkheid er bestaat tussen de verschillende taken en hoe deze parallel geschakeld kunnen worden. Deze causale en temporale afhankelijkheid tussen verschillende taken wordt verwerkt in een optimaliseringstool.
Met gemodelleerde simulatie instrumenten worden verschillende partitioneringen en allocaties van de software gegenereerd en bekeken op Real Time en efficiëntiecriteria. In de optimaliseringstool worden deze resultaten verder verwerkt tot verandering in de systeemarchitectuur om de multicore processoren optimaal te benutten. Om de informatie, verkregen uit de modellen, in het latere ontwikkelingsproces met de werkelijke resultaten te vergelijken wordt een interface gemaakt voor het hardware tracing proces.
Tracing en analyse
Voor het opsporen van sporadisch voorkomende en moeilijk reproduceerbare fouten specialiseerde het team van Fraunhofer ESK zich op debugging door het opnemen en aansluitend analyseren en weergeven van de parallelle sporen. Software ontwikkelaars krijgen daardoor in een oogopslag overzicht over het gehele systeem, zodat ze deze fouten snel kunnen herkennen. Bovendien kunnen bij de nieuw te ontwikkelen tools meetwaarden worden geëxporteerd en in een simulatie tool worden geïmporteerd.
Softwaretest
Door testen gebaseerd op modellen kan de kwaliteit van de software sterk verbeteren. Bepaalde statistieken zoals code coverage, kunnen voor software van multicore-processoren niet ongewijzigd worden gebruikt. Door het parallelle procesverloop stijgt het aantal systeemtoestanden, dat getest moet worden, exponentieel. De onderzoekers van de Friedrich-Alexander Universität Erlangen-Nürnberg ontwikkelen methoden om het aantal testprocedures te reduceren.
Het onderzoeksproject wordt gefinancierd door het Bayerische Staatsministerium für Wirtschaft, Infrastruktur, Verkehr und Technologie en loopt tot eind 2014. De wetenschappers testen in 2014 in casestudies bij de auto-, automatisering- en telecommunicatie-industrie hun verbeterde instrumenten voor software ontwikkeling.
Project partners:
– GLIWA GmbH embedded systems
– Infineon Technologies AG
– Lantiq Deutschland GmbH
– Lauterbach GmbH
– sepp.med GmbH
– Siemens AG
– Timing-Architects Embedded Systems GmbH
– TWT GmbH Science & Innovation
Onderzoeksinstituten:
– Fraunhofer ESK
– Universität Augsburg, Lehrstuhl für Softwaretechnik und Programmiersprachen
– Friedrich-Alexander Universität Erlangen-Nürnberg, Lehrstuhl für Programmiersysteme


