realizacija podrške za prikaz multimedijalnih elemenata na ... fileposrednici između operativnih...
TRANSCRIPT
25th Telecommunications forum TELFOR 2017 Serbia, Belgrade, November 21-22, 2017.
978-1-5386-3073-0/17/$31.00 ©2017 IEEE
Sadržaj — U poslednje vreme pametna vozila se sve više
koriste. Jedan od bitnijih aspekata je bezbednost, kako ljudi,
tako i vozila. Funkcionalna sigurnost se uvodi kao poseban
pojam, gde je potrebno definisati rizik kao i neželjene efekte
određenih opasnosti. Poseban izazov je da se dve aplikacije,
jedna za klaster a druga za glavni ekran, izvršavaju na jednoj
platformi sa dva operativna sistema preko hipervizora.
Glavni problem je u komunicaiji između klastera i glavnog
ekrana, jer klaster potpada pod ISO26262 standard koji je
napisan posebno za automobilsku industriju. Ovaj rad
prezentuje rešenje problema kroz implementaciju srednjeg
sloja za kontrolu i slanje poruka od glavnog ekrana ka
klasteru.
Ključne reči — Android, ASIL, Hipervozor, In-Vehicle
Infotainment, ISO26262, Klaster, QNX
I. UVOD
ANAŠNJA moderna vozila sadrže razne sisteme za
pomoć vozaču (eng. ADAS – Advanced Driver
Assistance Systems), digitalne instrument table (eng.
cluster) i info-zabavne sisteme (eng. infotainment). Da bi
bezbednost bila na visokom nivou, uveden je poseban
standard ISO26262 [1]-[2], koji je adaptacija standarda
Funkcionalne sigurnosti IEC61508 za automobilske
sisteme. Standard se odnosi na sigurnosnu stranu
elektronskih i električnih sistema u vozilu, na greške koje
mogu da izazovu nesreće, isključujući nominalne
performanse aktivnih i pasivnih sigurnosnih sistema. Na
osnovu ASIL (Automotive Safety Integrity Level) [3] nivoa
se definiše rizik na neželjene efekte. Da bi se uopšte
pričalo o trenutnom ASIL nivou, standard mora da bude
primenjen na sve hardverske i softverske komponente u
sistemu.
U proizvodnji se posebna pažnja posvećuje kvalitetu
softvera, a problemi koji mogu da se jave pri
projektovanju su:
loša revizija
slaba uključenost odeljenja za garanciju kvaliteta
Miloš Ilić, Fakultet Tehničkih Nauka u Novom Sadu, Trg Dositeja
Obradovića 6, 21000 Novi Sad, Srbija (telefon: 381-62-358530, e-mail:
Tihomir Anđelić, Institut RT-RK, Narodnog Fronta 23a, 21000 Novi
Sad, Srbija (e-mail: [email protected]).
Ninoslav Žmukić, Institut RT-RK, Narodnog Fronta 23a, 21000 Novi
Sad, Srbija; (e-mail: [email protected])
Milan Z. Bjelica, Institut RT-RK, Narodnog Fronta 23a, 21000 Novi
Sad, Srbija; (e-mail: [email protected])
nedovoljna izveštavanja o trenutnom statusu.
Sve ovo dovodi do sledećih posledica:
povlačenje iz prodaje zbog softverskih problema
gubitak reputacije proizvođača i dobavljača
uključujući i finansijske posledice
ekstremno visoki troškovi ispravljanja kasnijih
grešaka
prebacivanje krivice na odeljenje za garanciju
kvaliteta.
Najbolji primer je Toyota, koja je u periodu od 2010. do
2013. godine imala 22 miliona povučenih vozila iz prodaje
u Sjedinjenim Američkim Državama. Razlozi su bili
eksplozija vazdušnih jastuka i blokirane pedale za gas.
Direktna šteta je 2,6 milijardi američkih dolara, dok
indirektna nije poznata.
Što se akademske strane tiče, u radu [4] su objašnjene
potencijalne opasnosti u interakciji dve aplikacije u
vozilima. Predložen je model koji definiše i kontroliše šta
će se prikazati na ekranima. Pored bezbednosti, uvodi se i
novi koncept sa dva operativna sistema na platformi preko
hipervizora kao što je i objašnjeno u radu [5] gde su
opisane prednosti i izazovi u realizaciji sistemske
virtuelizacije.
II. KONCEPT REŠENJA
U ovom poglavlju je cilj da se opiše arhitektura
softvera. Na Sl. 1 je prikazan koncept rešenja. Rešenje
ovog rada je označeno zelenom bojom.
Sl. 1. Koncept rešenja.
Što se hardvera tiče, u pitanju je Qualcomm platforma,
sa Snapdragon S820A čipom za automobilsku industriju.
Na njemu je instaliran hipervizor na kojem su aktivna dva
operativna sistema: QNX [6]-[7] sistem za rad u realnom
Realizacija podrške za prikaz multimedijalnih
elemenata na klaster ekranu vozila
Miloš Ilić, Fakultet Tehničkih Nauka, Univerzitet u Novom Sadu, Novi Sad, Tihomir Anđelić,
Ninoslav Žmukić, Milan Z. Bjelica, RT-RK Institut za sisteme zasnovane na računarima, Novi Sad
D
vremenu i Android za potrošačku elektroniku. Glavni
posrednici između operativnih sistema i aplikacija su
srednji slojevi (eng. middleware). Preko njih se obavlja
celokupna komunikacija između dva operativna sistema
odnosno između dve aplikacije (klaster i glavni ekran), kao
i ulaznih uređaja (volan, pedale, jog-shuttle, touch-screen).
Za drugi koncept koji bi bio u skladu sa ASIL
standardom, je potrebno spustiti implementaciju na niži
nivo i iskoristiti sve prednosti hipervizora. Na Sl. 2 je dat
primer deljenja radne memorije između dve virtuelne
mašine na hipervizoru. Da bi se iskoristila deljena radna
memorija, potrebno je:
mapirati region deljene radne memorije
obavestiti ostale korisnike regiona deljene radne
memorije da se taj region ažurirao, uz pomoć
hardverskog prekida.
Na taj način nema potrebe za direktnom komunikacijom
između klastera i glavnog ekrana jer se podaci i
signali/komande dele na hardverskom nivou.
Sl. 2. Prikaz deljenja radne memorije.
III. SOFTVERSKA ARHITEKTURA
U ovom poglavlju je predstavljena sprega i
komunikacija između dve aplikacije srednjeg sloja. Na Sl.
3 je prikazana softverska arhitektura QNX srednjeg sloja.
Sl. 3. Softverska arhitektura QNX srednjeg sloja.
IPC – komunikacija između procesa.
IVC – komunikacija između procesa koji se izvršavaju
na različitim operativnim sistemima (virtuelnim
mašinama).
Event Manager – kontrolni modul srednjeg sloja.
Uzima ulazne podatke od drugih modula i koristi druge
module za delegiranje posla drugim aplikacijama.
Screen Manager – služi za deljenje grafičkih
elemenata između dva operativna sistema i veoma se
oslanja na funkcionalnost hipervizora.
Na Sl. 4 je prikazana softverska arhitektura Android
srednjeg sloja.
Sl. 4. Softverska arhitektura Android srednjeg sloja.
Od ostalih modula koji nisu zajednički za obe aplikacije
srednjeg sloja su:
HMI Manager – modul za prikupljanje podataka sa
ulaznih uređaja.
HMI Interface – modul za rukovanje ulaznih uređaja.
Touch Screen Interface – modul za rukovanje ekrana
osetljivog na dodir.
IV. REZULTATI
Ispitivanje je izvršeno na demonstratoru (Sl. 5) koji
sadrži Qualcomm platformu sa Snapdragon S820A čipom,
dva ekrana, volan, pedale i jog-shuttle.
Sl. 5. Prikaz testnog okruženja.
Qualcomm platforma ima sledeću specifikaciju:
Quad-core CPU
4x Qualcomm Kryo CPU
Hexagon 680 DSP
Adreno 530 GPU
Max display support: 4K Ultra HD
LPDDR4 3GB
Bluetooth 4.1
Wi-Fi 802.11ac and 802.11n
TABELA 1: TESTNI SLUČAJEVI.
Testni
slučaj
Opis
koraka
Očekivani rezultat Uspešnost
Pokrenuti
aplikaciju
ako već
nije
pokrenuta
Otvoriti
izvršni fajl
aplikacije
Aplikacija je u
inicijalnom stanju
Uspešno
Pustiti
narednu
stanicu na
FM radiju
Pritisnuti
next
dugme na
glavnom
ekranu
Trenutna radio
stanica se
promenila, kao i
informacija o
trenutnoj pesmi na
klasteru
Uspešno
Ponoviti
korak 2
Pritisnuti
next
dugme na
glavnom
ekranu
Trenutna radio
stanica se
promenila, kao i
informacija o
trenutnoj pesmi na
klasteru
Uspešno
Obavljeno je 100 ponavljanja iz Tabele 1, sa merenjem
broja slika u sekundi na klasteru. U Tabeli 2. je prikazana
prosečna vrednost broja slika u sekundi. Prvi red
predstavlja prosečnu vrednost kada klaster obavlja svoju
funkcionalnost bez dolaznih signala i komandi sa glavnog
ekrana, a drugi red predstavlja prosečnu vrednost kada
glavni ekran šalje informaciju klasteru da se trenutna
pesma promenila i da ažurira naziv nove pesme (Sl. 6).
Treba napomenuti da 18,7 slika u sekundi nije
zadovoljavajuće zbog ograničenja same platforme, ali da
sama interakcija glavnog ekrana i klastera nije bitnije
uticala na smanjenje broja slika u sekundi.
TABELA 2: BROJ SLIKA U SEKUNDI.
Opis slučaja Prosečna
vrednost
Bez interakcije 18,7 [FPS]
Sa interakcijom 17,1 [FPS]
V. ZAKLJUČAK
Trenutno rešenje nije namenjeno za proizvodnju u
automobilskoj industriji, ali služi kao dokaz da je ovaj
koncept realan. Da bi rešenje bilo u skladu sa ISO26262
standardom, potrebno je logiku spustiti na niži nivo,
odnosno na deljenje radne memorije, kao što je i
objašnjeno u drugom konceptu.
ZAHVALNICA
Ovaj rad je delimično finansiran od strane Ministarstva
za prosvetu, nauku i tehnološki razvoj Republike Srbije, na
projektu broj: 32041.
LITERATURA
[1] Elmar Cochlovius: Automotive Software Practice, Hochschule
Furtwangen University, 2016
[2] ISO26262. Dostupno na: https://en.wikipedia.org/wiki/ISO_26262
Pristupljeno oktobar 2017.
[3] ASIL. Dostupno na:
https://en.wikipedia.org/wiki/Automotive_Safety_Integrity_Level
Pristupljeno oktobar 2017.
[4] S. Gansel, S. Schnitzer, A. Gilbeau-Hammoud, V. Friesen, F. Durr,
K. Rothermel, C. Maihofer, „An access control concept for novel
automotive HMI systems“, Proceedings of the 19th ACM
symposium, New York, 2014.
[5] A. Gavrilovska, S. Kumar, H. Raj, K. Schwan, V. Gupta, R.
Nathuji, R. Niranjan, A. Ranadive, P. Saraiya, “High-Performance
Hypervisor Architectures: Virtualization in HPC Systems“, 1st
Workshop on System-level Virtualization for High Perfomance
Computing (HPCVirt 2007).
[6] QNX. Dostupno na: https://en.wikipedia.org/wiki/QNX
Pristupljeno oktobar 2017.
[7] QNX Hypervisor. Dostupno na:
https://www.qnx.com/content/dam/qnx/products/hypervisor/hyperv
isor-product-brief.pdf Pristupljeno oktobar 2017.
Sl 6. Prikaz klastera pri interakciji sa glavnim ekranom.
ABSTRACT
Smart cars have become increasingly used lately. One of
the most important aspects is safety, both people and
vehicles. Functional safety is introduced as a special term,
where it is necessary to define the risk as well as the
undesirable effects of certain hazards. The particular
challenge is that two applications, one for the cluster and
the other for the head-unit, are executed on single board
with two operating systems via hypevisor. The main
problem is in the communication between the cluster and
the head-unit, because the cluster falls under the ISO26262
standard which is specifically written for the automotive
industry. This paper presents the solution of the problem
through the implementation of a middleware for
controlling and sending messages from head-unit to
cluster.
SUPPORT FOR RENDERING MULTIMEDIA AT
DIGITAL VEHICLE INSTRUMENT CLUSTER
Milos Ilic, Tihomir Andjelic, Ninoslav Zmukic, Milan
Z. Bjelica