Produktionskod

Automatgenererad Produktionskod

Handskriven kod tar oftast lång tid att utveckla och innehåller trots det många fel. Med produktionskodsgeneratorn dSPACE TargetLink undviks en onödig manuell översättning från modell till kod och koncentrationen kan läggas på väsentligare problem. Automatgenerering av produktionskod innebär att mindre testning i målsystemet krävs, eftersom överensstämmelse med en tidigare verifierad modell erhålls. Med TargetLink genereras effektiv och optimerad produktionskod i C direkt från Simulink®- eller Stateflow®-modellen – i vissa fall även från MATLAB®-kod – och simulering av koden sker direkt på PC för verifiering av att skalningseffekter mm. inte påverkar funktionaliteten.

Optimering kan automatiskt göras med avseende på till exempel exekveringstid eller minne (footprint). Kodens effektivitet och exekveringstid hålls lika bra – eller bättre – än vid manuell programmering, vilket har verifierats av flera studier.

Back-to-back-testning och Verifiering

Det är viktigt att kontinuerligt testa och verifiera sin kod redan från första kodraden. Innan ECU-hårdvaran överhuvudtaget finns tillgänglig kan man börja testa sin applikationskod på olika nivåer, vanligtvis benämnda Model-In-the-Loop (MIL), Software-In-the-Loop (SIL) och Processor-In-the-Loop (PIL).

I MIL testar man den rent logiska implementationen. Man använder stora flyttalsdatatyper för att komma så nära utvecklarens ideella miljö som möjligt. Simuleringen används som referensimplementation och tar därmed inte hänsyn till kvantiseringseffekter eller liknande problem.

SIL-simuleringen görs med TargetLink-genererad produktionskod i vilken primitiva datatyper och eventuellt skalningar ofta används – så att man kan fånga upp kvantiseringsfel, till exempel.

PIL testar slutligen direkt mot målprocessorn, oftast i form av ett utvecklingskort från processortillverkaren. I detta steg får man även med eventuella kompilatorbuggar och prestandaproblem som kommer av att koden körs direkt på en mikroprocessor.

TargetLink möjliggör insamling av mätningar från alla steg, så att man sedan kan jämföra sina resultat i MIL, SIL och PIL för att säkerställa att den slutgiltiga koden fungerar som utvecklaren tänkt sig. Att genomföra samma tester i flera steg och jämföra deras resultat på detta vis kallas för back-to-back-testning.

AUTOSAR Classic/Adaptive

Standarden AUTomotive Open System ARchitecture (AUTOSAR) finns i två varianter:

  • Classic för klassiska, tidskritiska inbyggda styrsystem där ECU-mjukvaran är statiskt konfigurerad för en specifik hårdvaruplattform
  • Adaptive för tjänsteorienterade mjukvaruarkitekturer med ett större fokus på flexibilitet och möjlighet att uppdatera ECU-mjukvaran i efterhand

dSPACE TargetLink kan generera produktionskod anpassad för både AUTOSAR Classic och Adaptive.

Modellkvalitet

dSPACE strategiska partner Model Engineering Solutions GmbH (MES) är experter på kvalitetssäkring inom modellbaserad utveckling och erbjuder en rad verktyg för att se till att modellen – och därmed den genererade produktionskoden – håller en hög kvalitet.

Modellen används både som dokumentationen för mjukvaran och som grund för generering av produktionskoden. Därför är det mycket viktigt att modellen följer vedertagna standarder och riktlinjer, till exempel ISO26262, DO 178B/C eller MISRA  ®, såväl som företagsspecifika riktlinjer.

För kontroll av att riktlinjer följs i utvecklingen av Simulink®- och TargetLink-modeller, finns MES Model Examiner® (MXAM). MXAM är marknadsledare för kontroll av riktlinjer (guideline checking) av Simulink®- och TargetLink-modeller.

Eftersom modellen utgör kodens dokumentation bör den hålla så låg komplexitet som möjligt. MES M-XRAY® (MXRAY) som kan visualisera modellens arkitektur och känna igen till exempel subsystemskloner och ge ett mått på komplexitet i olika delar av modellen.

I vissa fall krävs det många åtgärder för att minska modellens komplexitet eller för att anpassa den efter nya eller befintliga riktlinjer. Många av dessa åtgärder innebär monotona uppgifter som flytt av signalflöden genom subsystemshierarkier och kan istället automatiseras för att underlätta arbetet. Även här finns hjälp att få, i form av MES Model & Refactor® (MoRe). MoRe kan till exempel slå ihop subsystem, lägga till signaler över flera hierarkinivåer samtidigt eller skapa busstrukturer.

Hantering av Specifikationer

Koden blir aldrig bättre än specifikationen. dSPACE strategiska partner BTC Embedded Systems erbjuder verktyget Embedded Tester för automatgenerering av testvektorer för strukturell testning och för verifiering av funktionella krav. I ett arbetsflöde enligt ISO 26262 är det inte bara viktigt med verifiering utan också spårbarhet. Med hjälp av BTC:s Embedded Specifier kopplas krav mot test för att på så sätt maskinellt påvisa att resultatet uppfyller kraven.

Mjukvaruarkitektur

Komplexiteten i stora styrsystem är en stor utmaning för tillverkare och deras leverantörer. När funktioner är utvecklade för en styrenhet (ECU) eller ett nätverk av flera styrenheter så kan kommunikationen underlättas av formella systemmodeller. För att möta denna utmaning har dSPACE integrerat ett systemarkitekturverktyg i sin verktygskedja: SystemDesk.

SystemDesk har två huvudtillämpningar. Som arkitekturverktyg erbjuds brett och sofistikerat stöd för att modellera system enligt AUTOSAR. Ett grafiskt gränssnitt ger användaren en intuitiv väg in till AUTOSARs komplexa värld och minskar risken att fel begås i större projekt.

Den andra huvudtillämpningen är att skapa virtuella styrsystem (V-ECU:er) för att kunna validera styrsystemens mjukvara, inklusive eventuell busskommunikation, tidigt i utvecklingsprocessen. V-ECU:erna innehåller produktionskod för funktionerna som skall testas, antingen med eller utan AUTOSAR Basic Software (maskinnära komponenter, till exempel drivrutiner). Dessa kan sedan testas på dSPACE simuleringsplattformar, till exempel den PC-baserade plattformen VEOS.

Kontakta oss

Våra Tjänster

Vi hjälper er att snabbt komma igång med er dSPACE-utrustning och ställer vår kompetens till förfogande i alla delar av ett utvecklingsprojekt – från kravframtagning och design till test och verifiering.

Våra Tjänster

Läs Mer