A DECOS fejlesztési környezet Csertán György Balogh András Tartalom Fejlesztési környezet áttekintés PM-PSM editor bemutatás Ellenőrzési tesztkörnyezet bemutatása 2 Célkitűzés Módszerek és eszközök specifikáció, tervezés, megvalósítás, ellenőrzés. Fejlesztési környezet nyílt, bővíthető, szabványos. 3 1
Tartalom Fejlesztési környezet áttekintés PM-PSM editor bemutatás 4 Funkcionalitás 5 1. Specifikáció (DAS) PM editálás funkciók megbízhatóság teljesítmény 6 2
PM metamodell fő csomag Functionality Performance Dependability OCL expressions 7 Funkciók csomag StateVariable longname[0..1] : String description[0..1] : String type[1..1] : String fixedlength[0..1] : Boolean length[0..1] : nteger initialvalue[0..1] : Object averagable[0..1] : Boolean 0..n 0..n 0..n Actuat or Sensor +ownernterface nterface +ownedport Port 1 longname[0..1] : String 1..nhasPort longname[0..1] : String 0..n description[0..1] : String +receiver Resource +ownednterface direction[1..1] : Enum 0..n longname[0..1] : String 0..1 buffer[0..1] : nteger communicat e +sender description[0..1] : String typerda[0..1] : Enum externaldescriptor[0..1] : String 0..1 0..n 0..n 1..n 1..n +thettresource +theetresource 0..n hasnterface needstt needset +thettjob 0..1 0..n+theETJob ReadMessagendex TTSensorActuatorJob ETSensorActuatorJob index[1..1] : nteger +readmessage 0..n 0..n TimeTriggeredJob Message EventTriggeredJob +interfaceownerjob longname[0..1] : String 1 description[0..1] : String +parent transmissiontype[1..1] : Enum Job senderstatus[0..1] : Boolean functionbreakdown longname[0..1] : String GatewayJob 0..n description[0..1] : String +ownedmessage +child externaldescriptor[0..1] : String 0..1 1..n +statevariableownerjob hasjob DAS longname[0..1] : String +jobownerdas description[0..1] : String +ownedjob type[1..1] : String versionpm[1..1] : String hasmessage +messageownerdas versionmetamodel[1..1] : String = "3.1w" 8 1. Specifikáció (HW) CRD editálás klaszter definiálás hálózat definiálás erőforrások definiálása érzékelők / beavatkozók megadása 9 3
HSM (CRD metamodell) Cluster, SubSystem, Component, ApplicationComputer ConnectorUnit, BCU Resources Communicationnterface, CommunicationController, Connector, Feature, FPGA, HardwareElement, HWProperty, Memory, Processor, Resource, NonVolMemory, VolMemory Network LegacyNetwork, CoreNetwork, ConnectorNetwork, Fieldbus, PhysicalNetwork, PNetwork 10 2. Tervezés (architektúra) Modell vezérelt architektúra PM-ek, PM-ek jelölések hozzárendelés PSM 11 PM-PSM mapping mport: PMs, CRDs Replication PM-oFTL type mapping nterface protocol definition Job type marking Non-DECOS job allocation DAS interconnection mapping Resource allocation Job compatibility definition Job allocation PL code and configuration generation Scheduling input generation 12 4
2. Tervezés (viselkedés) Modell vezérelt fejlesztés Matlab támogatás UML támogatás Formálisan precíz modellezés 13 modellezés «StateVariable» SpeedValue_BFC «StateMessage» CarSpeed «StateMessagePort» BFC_from_SC «SRLF» BFC_SRLF «TTJob» BrakeForceComputation UML Gateway Simulink Gateway 14 3. mplementálás (kód generálás) Taszk kód (viselkedés) Wrapper kód (felület) 15 5
3. mplementálás (konfiguráció és architektúra kód generálás) PL ütemezés deployment 16 4. Ellenőrzés (V&V) Konzisztencia és teljessség ellenőrzés (Racer) Model checking ( MTC) Forráskód analízis (LDRA) Szimuláció () SWF (PROPANE) Repository CRD PM model Marked PM.VSW PSM PL, HL services Config. data TEXT Job & wrapper V-plan definition V-plan TEXT V-plan execution V&V activity description TEXT Model transformation V&V tool 17 Eszközök S P E C F C A T O N D V E Matlab E VATRA GME S RationalRose DOORS Simulink R G F N C A T PM CRD UML model Matlab model E-mail O XM.m N & V-plan Python TTP-Plan VATRA Marked PM UML GW Simulink GW model SCD V A L D A T O N WebSphere MQ TTP-Build PL Wrapper KCG Job code M P L E M E N T A T O N VATRA FTP server Racer PM PROPANE LDRA MTC model SCD Compiler Legend: Commercial licence Code libraries.obj Linker Executable EXE TTP-Load Open source licence Free academic licence 18 6
Tartalom Fejlesztési környezet áttekintés PM-PSM editor bemutatás Ellenőrzési tesztkörnyezet bemutatása 19 Célkitűzés MDA támogató eszköz Platform független modellből platform függő modellre Platform független: DECOS PM Platform: TTTech DECOS platform TTP gerinc hálózat TriCore kártya EEE operációs rendszer C nyelv 20 MDA PM Marks marked PM Transformation Mapping Platform PSM 21 7
mportálás PM-ek, CRD-k beolvasása összevetés a metamodellel PM-ek, CRD-k hozzáadása a PSM-hez Érzékelők, beavatkozók és jobok többszörözése nformáció a PM-ben Dependability csomag redundancydegree attribútum 22 PM-oFTL típus egyeztetés PM típusok logikai típusok nteger, Float, Character, stb. oftl típusok a platform típusai nem hardware típus float4, sbyte1, sbyte2, sbyte4, ubyte1, ubyte2, ubyte4 ezekből komplex típusok 23 Üzenet protokoll jelölés Küldő oldali protokoll definíció Új job-okra alap a DECOS Eltérő lehet már létező job-okra ADFX, CAN, FlexRay, LN, TTP/A nem DECOS üzenetekhez köztesréteg szükséges automatikusan bekerül a PSM-be 24 8
Job elhelyezés jelölés külső buszok támogatása ADFX, CAN, FlexRay, LN, TT a job a DECOS klaszteren vagy külső buszon nincs ütemezés 25 Nem DECOS jobok jelölése a nem DECOS job-okat külső buszhoz kell rendelni job típusuk alapján a külső buszhoz meghajtó kellhet automatikusan bekerül a PSM-be arra a csomópontra kerül, ahova a külső busz csatlakozik 26 DAS összeköttetés jelölés DAS-ok összekötésére Küldő és fogadó GatewayJob-ok párosítása Üzenetpárok alapján Push elven ütemezés a küldőnek megfelelően Típus transzformáció kasztolás (PM-PSM folyamat során) a küldő partíció GW job-ja végzi automatikusan bekerül a PSM-be a kódot a felhasználónak kell fejleszteni 27 9
Erőforrás hozzárendelés A PM-beli érzékelők/beavatkozók CRD-hez rendelése kézzel kell végezni CRD érzékelő Featurenstance Név: Sensor_xxx CRD beavatkozó Featurenstance Név: Actuator_xxx Többszörözést az eszköz automatikusan figyelembe veszi 28 Job elhelyezés A PM-beli jobok kézi hozzárendelése a CRD-beli számítógépekhez Elő-elhelyezés Többszörözést figyelembe veszi Kényszerek méret teljesítmény kód típus 29 struktúra generálás A kimenet egy PM Az összes PM DECOS job-jait tartalmazza A -nek kell Modellezéshez Szimulációhoz Wrapper kód generáláshoz Az UML- gateway importálja be -be 30 10
PL kód és konfiguráció generálás A PL.c és.h fájljainak generálása Platform független AP az üzenetküldéshez Felület a job és az EEE között C nyelv támogatása EEE támogatása Nem támogatott TTx OS más programozási nyelvek 31 Ütemezés bemenetének előállítása Python fájlok generálása Üzenet ütemezés TTP-Plan Automatikus ütemezés lehetséges Taszk ütemezés TTP-Build A partíciók ütemezését kézzel kell megadni 32 Demonstráció 33 11
Tartalom Fejlesztési környezet áttekintés PM-PSM editor bemutatás Ellenőrzési tesztkörnyezet bemutatása 34 Architektúra 35 Példa szolgálatatás PM ellenőrzése RACER-el VATRA2 PM - RACER transzformáció RACER ontologia alapú teljesség és konzisztencia ellenőrzés Egy erőforrás többszörözési foka meg kell egyezzen a hozzá tartozó ÉrzékelőBeavatkozóJob többszörözési fokával. Automatikus ellenőrzési folyamattá integrálva: E-mail küldés: samplepimcheck@daniel.mit.bme.hu 36 12
Összefoglalás DECOS fejlesztési környezet legfontosabb fejlesztési eszközök integrálása PM-PSM editor működő példa MDD-re beágyazott rendszerek terén Ellenőrzési tesztkörnyezet szabvány vezérelt integrált, automatizált ellenőrzés 37 13