• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • En ny metod för att designa och implementera ett hybridsystemspråk

    Sammansättning av modeller som blandar diskreta och kontinuerliga block i Simulink (R2016b). (a) Grundmodell. (b) Simulering av grundmodell. Upphovsman:Benveniste et al.

    Hybridsystem är system som uppvisar både kontinuerligt och diskret dynamiskt beteende, möjliggör mer flexibilitet i modelleringen av dynamiska fenomen. Hybridsystemmodelleringsspråk används i stor utsträckning för utveckling av cyberfysiska system, i vilken styrprogramvara interagerar med fysiska enheter.

    Forskare vid Inria och ANSYS/Esterel Technologies har nyligen presenterat en ny metod för att designa och implementera hybridsystemspråk. Deras metod, beskrivs i ett papper i IEEE:s förfaranden , är baserat på synkrona språkprinciper och tillhörande sammanställningstekniker.

    Hybrid systemmodelleringsverktyg har utvecklats från att bara vara gränssnitt till numeriska lösare, blev sedan fullfjädrade språk för programmering av körbara modeller av dynamiska system. Dessa modeller simuleras i allmänhet, testad, felsökas och verifieras i olika skeden av deras utvecklingskedja.

    I toppmoderna metoder, kompilatorer kontrollerar vanligtvis källmodeller, producera mellanliggande representationer och generera sekventiell kod för antingen effektiv simulering eller körning på målplattformar. Dock, dessa sammanställningssteg är ofta svåra att utforma och genomföra.

    Den senaste studien fokuserade på designen, semantik och implementering av hybridsystemmodelleringsspråk. Det är baserat på antagandet att sådana språk är programmeringsspråk med hybridsystems semantik, därmed en rad nya utmaningar.

    "Slutsatsen är att komplexiteten hos faktiska hybridsystemmodelleringsspråk gör definitionen av en omfattande formell statisk och dynamisk semantik svår att uppnå, "skriver forskarna i sitt papper." Långt från att vara abstrakta filosofiska bekymmer, dessa svårigheter har praktiska konsekvenser. "

    För att hantera dessa utmaningar, forskarna bestämde sig för att identifiera en minimal språklig kärna av ortogonala programmeringskonstruktioner som är tillräckligt uttrycksfulla för att skriva realistiska hybridmodeller. De ville också definiera detaljerad statisk och dynamisk semantik för detta språk, samt dess sammanställningssteg.

    "Resultatet är ett hybridsystemmodelleringsspråk där synkrona programmeringskonstruktioner kan blandas med vanliga differentialekvationer (ODE) och nollkorsningshändelser, och en körtid som delegerar sin approximation till en numerisk lösare på hyllan, "förklarar forskarna i sin uppsats." Vi föreslår en idealisk semantik baserad på icke -standardiserad analys, som definierar utförandet av en hybridmodell som en oändlig sekvens av oändligt små tidssteg. "

    Det semantiska ramverk som forskarna föreslår kan användas för att specificera och bevisa tre väsentliga sammanställningssteg. Först, det leder till ett typsystem som garanterar att en kontinuerlig tidssignal aldrig används i situationer där en diskret tidssignal förväntas, och vice versa. Dessutom, det säkerställer frånvaron av kombinatoriska slingor, samt generering av statiskt schemalagd kod för effektivt körning.

    "Vår strategi har utvärderats i två implementeringar:det akademiska språket Zélus, som förlänger ett språk som påminner om Luster med Odes och zero-crossing-händelser, och den industriella prototypen Scade Hybrid, en konservativ förlängning av Scade 6, "skriver forskarna i sin artikel.

    Jämfört med andra verktyg och språk, som Ptolemaios, den metod som används av forskarna gynnar upptäckten av osäkra modeller vid kompileringstid. Konsekvensen av detta är att några bra modeller avvisas, främst för att de resulterande typsystemen inte är tillräckligt uttrycksfulla. Ytterligare experimentella studier kan hjälpa till att avgöra om dessa typsystem är alltför begränsande.

    "Upptäckten av numeriska svårigheter är relaterad till stelhet förblir körtid, och utesluter behovet av alltför restriktiva programmeringsdiscipliner i industriella sammanhang, "skriver forskarna i sitt papper." Utför rika analyser vid kompileringstid, samtidigt som användarna begränsas, kan upptäcka fel i modeller tidigt; det gör det också möjligt att ta bort körningskontroller och att statiskt schemalägga beräkningen av stegfunktionen och återställningsåtgärderna, vilket leder till mer effektiv kod. "

    © 2018 Science X Network




    © Vetenskap https://sv.scienceaq.com