Udviklingsplatform og programmeringssprog til indlejrede systemer

 

Gruppen omkring fokusområdet Embedded Systems Engineering mødtes den 30. marts 2016 for at diskutere og finde inspiration blandt kollegaer om udviklingsplatforme og programmeringssprog til indlejrede systemer. 


Vi har her samlet et par pointer fra dagens oplæg:


1. Udviklingsplatform og programmeringssprog

Kristian Bay, Senior Software Engineer ved GomSpace gav en introduktion til GomSpace, deres produkters SW og HW-arkitektur og firmaets udviklingsplatform.

I 2007 oprettede 3 mand fra AAU et firma, som har udviklet sig til det, der i dag er GomSpace med nu 35 ansatte. De ansatte er en blanding af folk fra sikkerhedsbranchen, space-verdenen og med andre baggrunde. Firmaet eksporterer til 45 lande spredt over hele verden.

GomSpace kan stå for konstruktion af en komplet satellitplatform. Et centralt produkt er design af cube satellitter opbygget i moduler på 10x10x10 cm3. Firmaet laver produkter, som skal indgå i satellit, fx radiosystemer, antenner, strømforsyning, batterier, solpaneler, computere, attitudestyring, kameraer. GomSpace forventer sig meget af de kommende år. De deltager i universitetsprojekter og andre projekter, hvor de undersøger og måske ender med at fremstille mere avancerede produkter indbygget i deres cubes, eksempelvis produkter, der kan holde øje med flytrafik. Sådanne produkter skal udvikles gennem større projekter. GomSpace taler om, at sådanne projekter er udtryk for firmaets 3. bølge, der er kommercielle satellitter.

2. Programmeringssprog som et værktøj under produktudvikling

Daniel Lux, fra Seluxit fortalte om deres overvejelser og brug af programmeringssprog som et værktøj under produktudvikling.

Seluxit begyndte at arbejde med IoT i 2006 og har i dag sin egen IoT platform, der er Linux baseret. Daniel Lux gav et par stikord om denne platform:

  • XML, til server
  • tjek af gateway, hver gateway
  • flere servere mod servere
  • distribueret database over mange servere
  • flere vpn servere
  • round robin database, men også database til big data, Java script, programmeret i C.


Seluxit har opbygget en IoT protocol med fysisk radio, MAC, IP, Distance Vector Routing, UDP + DTLS, COAP & other, Application layer. Deres ide er Micro services og simpelt design:

  • Specificeret i XSD, content XML, EXI, JSON
  • XSD parsed by Java
  • XSD parsed by Ruby
  • Flere servere anvendes, bl.a. data på en server

 

3. Embedded software quality, challenges & possibilities

Stephan Korsholm fra ViaUC fortalte om sit arbejde med softwarekvalitet og forbedring af softwarekvalitet med speciel fokus på indlejrede systemer.

Han understregede, at det kræver uforholdsmæssig stor energi at skabe stigende funktionalitet. Målet er, at værdiskabende aktiviteter sker løbende. Værdiskabende aktiviteter over tid kan mod sin hensigt være faldende værdiskabelse, mens debugging måske stiger.

For at opnå værdiskabende aktiviteter ser Stephan to teknikker træde frem: Adskil hardwarenær og forretningsbærende software, og brug testdreven udvikling (TDD) af indlejrede systemer. Han anbefaler at anvende TDD og i den forbindelse at indføre automatiseret test. Automatiseret test er dog svær at opbygge og svær at vedligeholde.

 

4. Værktøjer udviklet på AAU til analyse af SCJ programmer

Bent Thomsen, Datalogisk Institut, AAU gav er overblik over de værktøjer han forsker i.
 
Modeldrevet udvikling (MDD) kræver dygtige folk, som alligevel finder det svært at udvikle modellen. Der er tendens til, at model og software drifter i forhold til hinanden og det er hårdt arbejde at programmere i Assesembler og C. I stedet for at skrive i C, kan man øge produktivitet ved at bruge nye metoder og værktøjer, men de giver kun 10 % forøgelse. Ved at skifte sprog fx fra C++ til Java kan produktivitet øges 200 %.

Der er nu universitetsværktøjer til rådighed inden for SCJ programmer for firmaer samt flere kommercielle værktøjer. Han fremlagde nogle af de problematikker, han vil se på i sit kommende forskningsarbejde: Hierarkisk skedulerbarhed, analyse af non-SCJ program, loadable safelets, verificerbar tool chain.

Kontakt

Faglig koordinator
Bent Thomsen
Aalborg Universitet
Tlf.: +45 99 40 88 97
E-mail

 

Faglig koordinator
Jan Madsen
Danmarks Tekniske Universitet
Tlf.: +45 72 18 52 79
E-mail

 

Facilitator
Jørgen Biegel
Aalborg Universitet
Tlf.: +45 96 35 45 65
E-mail

 

 

Deltagerne siger:

Da vi blandt andet også arbejder med sikkerhedskritisk kode, IoT-løsninger og selvfølgelig også kigger på, hvordan vi kan udvikle mere effektivt, var dagens indlæg meget relevante og inspirerende. Tak for et rigtig godt møde.
JE electronic

Vi ønsker inspiration gennem at møde kolleger. Det er vigtigt at se verden uden for sin egen, måske har vi behov for at bryde med nogle af vores metoder.
NN

 

 

Se slides fra fokusgruppens arrangementer her

 

InfinIT er finansieret af en bevilling fra Styrelsen for Forskning og Uddannelse og drives af et konsortium bestående af:
Alexandra Instituttet . BrainsBusiness . CISS . Datalogisk Institut, Københavns Universitet . DELTA . DTU Compute, Danmarks Tekniske Universitet . Institut for Datalogi, Aarhus Universitet . IT-Universitetet . Knowledge Lab, Syddansk Universitet . Væksthus Hovedstadsregionen . Aalborg Universitet