Essay:

Essay details:

  • Subject area(s): Engineering
  • Price: Free download
  • Published on: 7th September 2019
  • File format: Text
  • Number of pages: 2

Text preview of this essay:

This page is a preview - download the full version of this essay above.

Voorafgaand aan de afstudeerperiode is er een afstudeeropdracht overeengekomen tussen de

belanghebbende partijen. In dit geval zijn dat de volgende drie partijen:

 Altran Netherlands B.V.

 Fontys Hogeschool Eindhoven.

 Ondergetekende, de Afstudeerder.

Deze scriptie is geschreven in het kader van mijn afstuderen tijdens de opleiding ICT & Technology aan de

Fontys Hogeschool ICT (FHICT) te Eindhoven. De afstudeeropdracht is uitgevoerd bij Altran Netherlands B.V.

en is gemaakt in de laatste fase van mijn studie. Met deze opdracht zal de studie worden afgerond.

Mijn stage bij Altran Netherlands B.V. begon op 1 Maart, waar ik ben begonnen met een onderzoek naar Low-

Power Profiling voor embedded apparaten. Voor de stage heb ik 3,5 jaar gewerkt bij Simac Quadcore B.V.

waar ik in november 2013 ben begonnen als Junior Automation Engineer bij de afdeling Factory Automation.

De functie Junior Automation Engineer was een leuke functie om te starten, maar niet een die ik nog een

lange tijd wilde uitvoeren.

Na 1 jaar ben ik doorgegroeid in de functie Service Engineer en Developer bij de afdeling ID Solutions. Maar

omdat ook deze functie niet helemaal aansloot op mijn ambities heb ik begin 2017 de keuze gemaakt om

voltijd te gaan afstuderen en in het bedrijf waar ik deze stage heb gelopen door te groeien.

Bij Altran Netherlands B.V. vervul ik een rol in de afdeling Intelligent Systems, waar ze werken aan embedded

systemen met hoge connectiviteit en processing-kracht waarop complexe applicaties draaien. Het onderwerp

van mijn afstudeeropdracht, “Ultra Low Power” is ook een aspect waar aan wordt gewerkt.

Tijdens de colleges op het FHICT heb ik nooit eerder te maken gehad met het onderwerp Low-Power. Het is

een onderwerp waarvan de opgedane kennis in de toekomst mogelijk een grote rol gaat spelen. Daarom was

ik erg geïnteresseerd om op dit onderwerp af te studeren bij Altran Netherlands B.V.

De opdracht die in dit onderwerp naar boven was gekomen, was het onderzoeken van een mogelijkheid van

het voorspellen van energieverbruik van embedded apparaten via een emulator op basis van code, wat in

deze scriptie verder is uitgewerkt.

Ik wil graag iedereen bedanken die mij heeft geholpen met mijn studie en afstuderen. In het bijzonder wil ik

Altran Netherlands B.V. en mijn bedrijfsbegeleiders daar, Bas Stottelaar en Herman Roebbers bedanken voor

de goede ondersteuning en coaching tijdens mijn afstuderen. Ook wil ik Renáta Frenken bedanken voor de

goede sturing tijdens het afstudeerproces.

Nikita van Oorschot

Eindhoven, juni 2017

Voor u ligt de scriptie van de afstudeeropdracht “Energy Consumption Profiling”, waarin beschreven staat hoe

voor Altran Netherlands B.V. onderzoek is gedaan naar de mogelijkheid van het voorspellen van

energieverbruik van een embedded apparaat, via een emulator op basis van code. Zodat hiermee deze code

geoptimaliseerd kan worden zodat de microcontroller zo min mogelijk energie verbruikt.

Altran Netherlands B.V. houdt zich bezig met haar expertise in alle aspecten van embedded systemen met

een ultralaag energieverbruik, gericht op energieverbruik en energiebesparing.

De aanleiding voor het project is dan ook de visie van Altran Netherlands B.V. In hun visie worden in de

toekomst vrijwel alle apparaten, verbonden apparaten. Het gevolg hiervan is echter dat apparaten die

voorheen nooit verbonden waren, van elektrische stroom voorzien moeten worden. In veel gevallen is het

gebruik van een stopcontact niet uitvoerbaar en het om de paar weken vervangen van de batterijen is ook

geen optie.

Daarom zou een mogelijkheid om te voorspellen hoeveel energie een embedded apparaat verbruikt op basis

van code, uitkomst kunnen bieden.

In de eerste fase van het project, de “initiatiefase”, is het PID opgesteld en is er literatuuronderzoek gedaan

naar de onderzoeksstrategie die het beste bij dit project zou passen. Dit is uiteindelijk de strategie CMD

(HAN - University of Applied Sciences, 2017) geworden, omdat deze ook behandeld is tijdens de opleiding.

In de tweede fase “Definitiefase” is doormiddel van literatuuronderzoek en overleg met de product owner,

geïnventariseerd welke microcontroller er gebruikt is. Ook is er overlegd welke emulator er gebruikt moest

worden om energie te gaan voorspellen. Dit zijn uiteindelijk de EFM32 Giant Gecko STK3700 Microcontroller

en de Emul8 Emulator geworden, vanwege de ondersteuning van de juiste platformen en de

gebruiksvriendelijkheid. Ook is er onderzocht op welke wijzen er getest en gemeten moest worden. Zo is in

deze fase van het project de informatiebehoefte in kaart gebracht wat heeft geresulteerd in een werkindeling

en planning via de agile ontwikkelmethode “Scrum”.

In de derde fase “Ontwerpfase” is doormiddel van de agile ontwikkelmethode “Scrum” een applicatie

ontwikkeld. Omdat er meerdere embedded apparaten op de markt bestaan is de applicatie alleen tot recht

gebracht op het onderzochte apparaat, omdat tijdsduur een factor was in dit project. De applicatie zorgt dus

ook alleen voor een model: de platformspecificaties en de manier om energieverbruik te kunnen voorspellen,

die zich uit in een berekening, van het onderzochte apparaat.

In de vierde en laatste fase “Realisatiefase” is er een evaluatie van het project uitgevoerd. Het in productie

uitrollen van de applicatie en het in beheer nemen hiervan valt buiten de scope van dit project.

Na het doorlopen van het project is duidelijk geworden dat het voorspellen van energieverbruik van een

embedded apparaat op basis van code, via een emulator mogelijk is. Het bevat de juiste mogelijkheden die

ervoor kunnen zorgen dat de informatiebehoefte kan worden berekend en worden weergeven. Tevens is

ondervonden dat het ‘Tien Stappen Plan’ een zeer geschikte projectmanagementmethode is voor projecten

die via de scrum-methode worden onderhouden, vanwege de mogelijkheid tot structureel werken.

Een van de aanbevelingen voor dit project is om het verder uit te breiden door onderzoek te doen naar

meerdere microcontrollers en emulators. Ook wordt er aangeraden onderzoek te doen naar andere

meetinstrumenten en de nauwkeurigheid hiervan.

Als afstudeeropdracht is door Nikita van Oorschot en de afdeling Intelligent Systems van Altran Netherlands

B.V. gekozen om onderzoek te doen op een low-power embedded apparaat. Zo kunnen de resultaten hierna

in een model van dit apparaat: de platformspecificaties en de manier om zijn energie te kunnen voorspellen,

die zich uit in een berekening, verwerkt worden. Hierna kan dit model geëmuleerd worden en een vergelijking

worden gemaakt tussen de resultaten van de voorspelling van de emulator en het fysieke hardware platform

ook wel embedded apparaat genoemd.

Momenteel is het namelijk niet mogelijk om het energie verbruik van embedded apparaten te voorspellen en

op te vragen. Door dit model te maken, is het mogelijk beter inzicht te krijgen over het energieverbruik van

code op embedded apparaten.

\"Energy Consumption is een belangrijk aspect voor embedded systems. Dit omdat embedded apparaten vaak

op locaties terecht komen waar niet direct energievoorzieningen aanwezig zijn, zoals

luchtkwaliteitsensoren langs een snelweg, lichtvervuilingsmeters in de bossen, rookmelders op batterijen of

een weerstation bij iemand in zijn achtertuin. ” (Altran, 2017)

Het voorspellen van energieverbruik is daarom erg belangrijk kunnen voor Altran, om een zo energiezuinig

mogelijk apparaat te kunnen construeren.

Om wat meer te weten te kunnen komen over Altran Netherlands B.V. is er in hoofdstuk 2 een beschrijving

gemaakt van de organisatie van Altran Netherlands B.V.

Daarna is in hoofdstuk 3 de opdracht die is uitgevoerd beknopt beschreven. In hoofdstuk 4 is de uitvoering

van het project te vinden, waarbij de deelvragen worden beantwoord.

Hoofdstuk 5 beschrijft de conclusies en de aanbevelingen en in hoofdstuk 6 is de persoonlijke reflectie

samen met te behaalde competenties te vinden.

In dit hoofdstuk zal de organisatie nader worden toegelicht. Er wordt eerst ingegaan op de algemene info

over de organisatie en erna zal er dieper worden ingegaan op de afdeling Intelligent Systems waar de

afstudeeropdracht is uitgevoerd.

2.1 Algemeen

Altran Netherlands B.V. is wereldwijd leider op het gebied van innovatie en hightech engineering consulting

en ondersteunt bedrijven bij het creëren en ontwikkelen van nieuwe producten en diensten. De Innovation

Makers van Altran verlenen al meer dan dertig jaar diensten aan belangrijke spelers in de sectoren:

Luchtvaart

Automotive

Energie

Spoorwegen

Financiën

Gezondheidszorg

Telecommmunicatie

Altran staat bij in elke fase van projectontwikkeling, van strategische planning tot productie. Bij het leveren

van diensten maken zij gebruik van de technologische kennis van de Altran Group in de volgende vijf

kerngebieden:

Intelligent Systems

Product Development

Lifecycle Experience

Mechanical Engineering

Information Systems

Altran heeft ruim 30.000 werknemers in dienst in meer dan 20 landen. In Nederland telt Altran meer dan

1.000 werknemers.

2.2 Missie en visie

Altran is een internationale consulting groep op het gebied van innovatie en hightech-engineering en is

toonaangevend in Europa. De missie van de Altran Groep is het ondersteunen van bedrijven bij het creëren en

ontwikkelen van nieuwe producten en diensten.

Elke dag brengen ze de meest complexe projecten van hun klanten tot leven en zetten ze de expertise op het

gebied van technologie en innovatieprocessen in om hun prestaties te verbeteren. Creatieve ideeën worden

door de consultants van Altran getransformeerd tot innovatieve oplossingen die technologische vooruitgang

mogelijk maken. Zo heeft Altran bijgedragen aan een aantal van de belangrijkste technologische innovatie

gebieden op basis van applicaties en systemen in de afgelopen decennia:

Snelheid, precisie, veiligheid, communicatie, uitvoerbaarheid, interoperabiliteit, kunstmatige intelligentie, etc.

Voor meer informatie over Altran Netherlands B.V. verwijs ik naar de website www.altran.nl

Intelligent Systems is de naam voor de nieuwe generatie embedded en real-time systemen met een hoge

connectiviteit en een hoge verwerkingscapaciteit die complexe applicaties aankunnen. Doordat deze

systemen overal aanwezig zijn, verandert de dagelijkse praktijk in alle sectoren en ziet Altran een

verschuiving in hoe consumenten communiceren.

Intelligent Systems is de gespecialiseerde afdeling van Altran die pakketoplossingen biedt aan klanten in alle

sectoren. Klanten worden ondersteund bij het creëren van nieuwe zakelijke kansen en gebruikservaringen op

het gebied van applicaties, zoals autonome systemen, smartphones, smartmeters, medische apparatuur,

connected cars, geavanceerde luchtverkeerscontrole en smart sensoren.

Intelligent Systems gelooft dat er drie belangrijke eisen zijn die intelligente systemen moeten vervullen om

succesvol te kunnen zijn in de markt;

Technologie: oplossen van applicatiecomplexiteit, systeemintegratie en de behoefte van de

maatschappij aan veiligheid en beveiliging.

Gebruik: om gebruikersacceptatie en marktaandeel te krijgen, moeten Intelligent Systems

aantrekkelijk en efficiënt zijn en een probleemloze ervaring bieden.

Winstgevendheid: Intelligent Systems moeten kostenefficiënt en duurzaam zijn, en nieuwe

bedrijfsmodellen ondersteunen in een wereld waarin de grenzen tussen spelers in de branche steeds

meer vervagen.

In dit hoofdstuk wordt de afstudeeropdracht in detail beschreven, zodat duidelijk wordt wat de aanleiding is

van de opdracht, wat het doel is van dit afstudeerproject en wat het gerealiseerde eindresultaat is.

3.1 Aanleiding

Zoals eerder aangegeven is energieverbruik een belangrijk aspect voor embedded systemen. Dit omdat

embedded apparaten vaak op locaties terecht komen waar niet direct energievoorzieningen aanwezig zijn,

zoals luchtkwaliteitssensoren langs een snelweg, lichtvervuilingsmeters in de bossen, rookmelders op

batterijen of een weerstation bij iemand in zijn achtertuin. Het meten van energie verbruik is daarom erg

belangrijk voor Altran om een zo energiezuinig mogelijk apparaat te kunnen construeren.

Het idee daarvoor is het energieverbruik van programma’s op embedded apparaten en de mogelijkheid tot

het berekenen hiervan te onderzoeken. Zodat er van dit apparaat en de manier van energie voorspellen, een

model gemaakt kan worden wat aansluit op de werkelijkheid. Met dit model kan dan het energieverbruik via

een emulator, berekend en voorspeld worden.

Als de voorspelde waarden van het energieverbruik op de emulator weinig afwijken van de fysieke hardware,

is het mogelijk energieverbruik van een ander stuk code op een embedded apparaat te voorspellen, zonder

dit apparaat fysiek te gebruiken.

Daardoor is het mogelijk om tijdens de ontwikkeling van code, informatie over het energieverbruik terug te

koppelen naar de ontwikkelaars, door dit proces bijvoorbeeld op te nemen in een bouwstraat.

3.1.1 Hoofdvraag

Binnen deze opdracht staat één vraag centraal, namelijk de hoofdvraag:

“Hoe kom ik aan een model dat de realiteit van het energieverbruik van een embedded device zo goed

mogelijk weerspiegelt?”

Om deze hoofdvraag te kunnen beantwoorden zullen er een aantal deelvragen worden opgesteld die

een bijdrage leveren aan het beantwoorden van de hoofdvraag. De deelvragen luiden als volgt:

 Wat is het energieverbruik van het fysieke hardware platform met zijn fabrieks-instellingen?

Een programma op een embedded apparaat verbruikt energie, om te berekenen hoeveel energie dit

programma verbruikt, is het nodig om te weten hoeveel het huidige energieverbruik van het embedded

apparaat is. Dit omdat er een startpunt nodig is voor de berekeningen.

 Wat is het energieverbruik van het geëmuleerde hardware platform met zijn fabrieks-instellingen?

Omdat het idee is om het energieverbruik te voorspellen moet ervan uit gegaan kunnen worden dat het

energieverbruik vermenigvuldigd naar mate van een bepaalde tijd en of het reproduceerbaar is. Dit

energieverbruik kan dan gebruikt worden als startpunt voor de emulator.

 Wat is het energieverbruik van een baseline van functies?

Om energie te kunnen meten van instructies (zie hieronder), is het nodig om te weten wat het baselineenergieverbruik

is. Het verschil tussen de metingen van de functies en de baseline geven dan aan wat het

verbruik is geweest. Hiervoor is het nodig functies te kiezen die onderzocht kunnen worden, een baseline

van functies dus.

 Wat is het energieverbruik van een baseline van één enkele instructie?

Als het mogelijk is om energieverbruik te meten van functies, is het belangrijk te weten of het

energieverbruik van instructies ook gemeten kan worden. En wat voor impact dit heeft op code zodat met

resultaten van dit onderzoek code geoptimaliseerd kan worden.

 Wat zijn de gemeten verschillen tussen het energie verbruik van een gegeven programma via een

emulator en een fysiek hardware platform?

Om tot een model te komen om energieverbruik te voorspellen mogen er geen tot weinig verschillen zijn

tussen een voorspelling van het energieverbruik en het daadwerkelijke energieverbruik, daarom wordt er

een tijdsduur van een aantal iteraties gebruikt om de verschillen met de factor tijd te onderzoeken. Als er

veel grote verschillen zijn, kan het energieverbruik namelijk niet worden berekend omdat dit dan niet

overeenkomt met de werkelijkheid.

In het Plan van Aanpak, wat te vinden is in Bijlage A, is te zien in welke stap(pen) in het traject de producten

voor de verschillende deelvragen vergaard zullen worden.

In het hoofdstuk “Conclusies en aanbevelingen” zullen de hoofd- en deelvragen samengevat en uitgewerkt

worden.

3.2 Doelstelling

Samengevat is het doel om, gegeven een programma, een voorspelling te doen van het energieverbruik van

een microcontroller via een emulator zodat hiermee dit programma geoptimaliseerd kan worden en de

microcontroller zo min mogelijk energie verbruikt.

De afstudeeropdracht omtrent low-power heeft een breed spectrum aan onderzoeksrichtingen, derhalve is

hier gekozen voor een bottleneck strategie en heeft zich daarom alleen bezig gehouden met een bepaald

embedded apparaat en onderzoek specificering. De methode die gevolgd is en ook is beschreven in het plan

van aanpak en zal onder anderen het tien stappenplan bevatten en scrum voor de realisatie. Er is hiervoor

gebruik gemaakt van de tool Atlassian Jira.

3.3.1 Methoden en Technieken

Voor de opzet van het project is het tienstappenplan gebruikt:

Het Tienstappenplan is een generieke werkmethode voor afstudeerprojecten en is ontworpen door Piet

Kempen en Jimme Keizer. Het bestaat uit de oriëntatie-, onderzoeks- en invoeringsfase (Kempen & Keizer,

2010). Voor dit project is het voornamelijk in de oriëntatiefase gebruikt, om zo tot een studieovereenkomst

(PID) te komen. Het TSP is daar waar nodig geraadpleegd om te kijken of de richting van het onderzoek nog

juist is.

In de beginfase van het project is voornamelijk het oriëntatie aspect naar voren gekomen. Er is namelijk eerst

een PID opgesteld in samenspraak met de bedrijfsbegeleiders waarin de opdrachtformulering tot stand is

gekomen. Daarna is er literatuuronderzoek dat onder de ‘Bieb’-methode valt, uitgevoerd. Dit, om een kader

te vormen voor het project.

Het literatuuronderzoek is voornamelijk uitgevoerd op het kennisgebied EFM32 Cortex-M3 embedded

apparaten, omdat dit het onderwerp is van de afstudeeropdracht. In het project wordt er dieper ingegaan op

de belangrijkste begrippen die voor dit onderzoek van belang zijn.

Hierdoor ontstaat er een verdieping in de doelstelling van het onderzoek. Vervolgens is tijdens het Tien

Stappen Plan door middel van analyse, die valt onder de ‘Lab’-methode, de informatiebehoefte in kaart

gebracht.

Binnen Altran Netherlands B.V. is er gekozen om de werkmethode Agile te gebruiken om software te

programmeren en te documenteren. Dit houdt in dat het ontwikkelen, oplossen van eventuele bugs en

documenteren gelijklopen. Hier is voor gekozen zodat alleen de informatie die van belangrijk is wordt

gedocumenteerd. Ze doen dit doormiddel van de scrum werkmethode.

Tijdens de ontwikkelfase zal het project overgaan op de systeemontwikkeling, waarbij een deel van de

blauwdruk via ‘Veld’-werk wordt gerealiseerd door het maken van een detailontwerp en het bouwen van de

applicatie voor het model. Daarom is voor het project dezelfde werkmethode aanhouden wat valt onder

‘Werkplaats’-omgeving. Het proces gaat als volgt:

In sprints van twee weken wordt er gewerkt aan een nieuwe iteratie, ofwel story, van het eindproduct. Na

iedere sprint wordt deze story opgeleverd aan de product owner en andere stakeholders. Daarnaast neemt de

opdrachtnemer iedere werkdag deel aan een Daily Scrum Stand Up. Hierbij worden de volgende drie vragen

beantwoord:

Wat is er gedaan voor het behalen van de sprint-doelstelling?

Wat gaat er vandaag gebeuren om de sprint-doelstelling te behalen?

Welke problemen zijn opgedaan tijdens de acties om de sprint-doelstelling te behalen?

Als er andere zaken of problemen zich hebben voorgedaan die geen betrekking hebben op de daily stand up

dan kan dit aan de Scrum Master worden doorgegeven. De Scrum Master zal dan deelnemen aan een

brainstorm met de afstudeerder, hoe het probleem het beste aangepakt en verholpen kan worden.

Het voordeel van deze werkmethode is dat eisen en wensen samen met kleine veranderingen altijd kunnen

worden meegenomen gedurende het project.

De gehele cyclus bestaat uit 4 fasen, waarvan er twee steeds worden herhaald, zoals hieronder te zien:

Omdat de productowner en Altran Netherlands B.V. ook meer wilde weten over het energieverbruik van

assembly-instructies, is deze deelvraag beantwoord om meer verdieping te geven aan de eerder verkregen

informatie van de eerdere deelvragen.

Omdat code uit een programma bestaat uit een aantal assembly-instructies als deze is geconverteerd naar

assembly machinecode is informatie over het energieverbruik van deze machinecode belangrijk om te weten.

Zo kan er gebruik gemaakt worden van deze informatie om software te optimaliseren.

Hiervoor zijn de onderzoekstrategieën Veld, Bieb en Lab gebruikt om te inventariseren wat de baseline scope

van de instructies moet zijn en wat voor effect deze hebben op de microcontroller zodat er een vergelijking

van de resultaten van deze effecten gemaakt kon worden.

De Assembly-code, in dit geval bestaande uit ARM-instructies, is op een logische manier gekozen, namelijk

instructies op basis van hun functionaliteit. De instructies bevinden zich in één categorie:

Rekenkundige en logische gegevens.

Op de volgende instructies is onderzoek gedaan:

Adds

Sdiv

Subs

Mul

Meer informatie over deze functies is te vinden in Bijlage C – Onderzoeksdocument.

Het blijkt dat het energieverbruik van verschillende instructies van de EFM32 Giant Gecko STK3700 bij

logische operaties drastisch kan verschillen.

Het energieverbruik bij de drie logische functies, optellen, aftrekken en delen is nagenoeg gelijk en ligt rond

de 0,20/0,30μ J. Het energieverbruik van het vermenigvuldigen daarentegen is 0,65μ J. Tijdens het

vermenigvuldigen wordt namelijk meer hardware aangesproken dan bij de andere instructies, daarom is het

energieverbruik van deze instructie hoger dan bij de andere instructies. Het energieverbruik voor het delen

blijft gelijk per cyclus maar het aantal cycli van deze instructie kan variëren tussen 2 en 12 afhankelijk van de

operanden.

...(download the rest of the essay above)

About this essay:

This essay was submitted to us by a student in order to help you with your studies.

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, . Available from:< https://www.essaysauce.com/essays/engineering/2017-6-12-1497259908.php > [Accessed 24.10.19].