Konvensi penamaan paket layanan

Nama paket layanan ditentukan dalam hierarki.

  • Setiap VM (diidentifikasi berdasarkan nama VM) adalah satu deployment sistem operasi profil SDV Core.

  • Setiap paket (diidentifikasi berdasarkan nama paket) dapat berisi beberapa paket layanan.

  • Setiap paket layanan (diidentifikasi berdasarkan nama paket layanan) dapat di-instance beberapa kali di VM yang sama.

  • Setiap instance paket layanan diidentifikasi berdasarkan nama instance paket layanan yang ditetapkan pada waktu pemuatan.

Nama VM SDV

Nama VM adalah ID nama unik yang dilampirkan ke setiap deployment profil SDV Core seperti yang ditentukan dalam Konfigurasi VM Kendaraan (vvmconfig). Nama VM digunakan dalam penamaan sebagai pemisahan logis layanan di sepanjang batas VM dalam kendaraan. Contohnya mencakup:

  • cdc
  • mechatronics
  • pcu
  • telematics-unit

Batasan penamaan ini berlaku.

  • Nama VM harus diawali dengan huruf [a-z]
  • Nama VM tidak boleh diakhiri dengan tanda hubung
  • Nama VM tidak boleh melebihi 31 karakter
  • Semua karakter harus berupa alfanumerik huruf kecil atau tanda hubung [a-z0-9\-]
  • Tanda hubung dalam nama tidak boleh muncul berturut-turut lebih dari sekali

Nama VM diverifikasi agar unik selama waktu kompilasi (analisis statis) dan booting sistem saat vvmconfig dimuat.

Error tingkat booting terjadi jika validasi pada waktu booting gagal.

Nama paket SDV

Mirip dengan Android standar, nama paket SDV secara unik mengidentifikasi paket yang di-deploy di sistem. APEX unik harus disediakan untuk setiap nama paket. Contoh:

  • com.android.sdv.datatunnel
  • com.android.sdv.sample.datatunnel
  • com.yourcompany.sdv.adas

Batasan berikut berlaku:

  • Semua APEX SDV milik partner harus diawali dengan com.<companyname>.sdv. (com.android.sdv. dicadangkan untuk APEX SDV milik Google).
  • Semua karakter harus berupa alfanumerik atau garis bawah, [a-z0-9_].
  • Nama paket harus berisi minimal empat segmen yang dibatasi oleh titik.
  • Nama paket tidak boleh diakhiri dengan titik.
  • Nama paket tidak boleh melebihi 127 karakter.
  • Setiap segmen harus diawali dengan huruf.
  • Tidak ada segmen yang dapat memiliki garis bawah berturut-turut, __.
  • Tidak ada segmen yang dapat diakhiri dengan garis bawah, _.
  • Segmen tidak boleh kosong (tidak ada titik berturut-turut).

Nama paket layanan

Mirip dengan Android standar, setiap paket layanan memiliki nama yang dapat dibaca manusia, yang diberi namespace dalam nama paket yang menjadi tempatnya. Contoh:

  • SomeService
  • ImportantService

Batasan penamaan ini berlaku:

  • Nama paket layanan HARUS diawali dengan huruf kapital
  • Nama paket layanan TIDAK BOLEH kosong
  • Nama paket layanan TIDAK BOLEH melebihi 47 karakter
  • Nama paket layanan TIDAK BOLEH memiliki garis bawah berturut-turut, __
  • Nama paket layanan TIDAK BOLEH diawali atau diakhiri dengan garis bawah, _
  • Semua karakter HARUS berupa alfanumerik atau garis bawah, [A-Za-z0-9_]

Nama instance paket layanan

Tidak seperti aplikasi Android standar, paket layanan di AAOS SDV dapat diinstal dan dimuat beberapa kali di VM yang sama. Akibatnya, paket layanan yang sama dapat memiliki beberapa instance yang berjalan dalam VM SDV AAOS yang sama. Instance ini diberi nama instance paket layanan yang dapat dibaca manusia. Contoh:

  • front-left
  • front-right
  • main
  • client
  • subscriber

Batasan ini berlaku:

  • Nama instance harus:

    • Diawali dengan huruf [a-z]
    • Tidak diakhiri dengan tanda hubung
    • Tidak melebihi 47 karakter
    • Unik di VM yang sama untuk layanan yang sama
  • Semua karakter harus berupa alfanumerik huruf kecil atau tanda hubung [a-z0-9\-]

  • Tanda hubung tidak boleh muncul berturut-turut

  • Setiap instance layanan harus memiliki Nama instance yang unik (disediakan atau dibuat saat layanan dimulai).

Nama instance paket layanan yang sepenuhnya memenuhi syarat (FQIN)

Nama VM SDV, nama paket, nama paket layanan, dan nama instance paket layanan digabungkan menjadi nama instance paket layanan yang sepenuhnya memenuhi syarat (FQIN). FQIN secara unik mengidentifikasi instance paket layanan di seluruh kendaraan.

Beberapa contohnya:

  • cdc:com.android.sdv.datatunnel.SomeService/instance1
  • cdc:com.android.sdv.datatunnel.SomeService/instance2
  • mechatronics:com.yourcompany.sdv.adas.TirePressure/front-left
  • mechatronics:com.yourcompany.sdv.adas.TirePressure/front-right
  • mechatronics:com.yourcompany.sdv.adas.TirePressure/rear-right
  • pcu:com.android.sdv.cluster.InfoProvider/acceleration

Paket layanan dalam paket yang berbeda dapat memiliki nama paket layanan yang sama. Misalnya, dua paket layanan ini (diidentifikasi berdasarkan FQIN masing-masing), yang di-deploy di VM SDV yang sama (mechatronics), memiliki nama paket layanan yang sama, yaitu TirePressure:

  • mechatronics:com.yourcompany1.sdv.adas.TirePressure/default
  • mechatronics:com.yourcompany2.sdv.adas.TirePressure/default

Dalam contoh ini, tidak ada konflik penamaan karena kedua paket layanan berada dalam paket yang berbeda (satu di com.yourcompany1.sdv.adas dan yang lainnya di com.yourcompany2.sdv.adas).

Nama topik

Topik diidentifikasi berdasarkan string yang unik di seluruh kendaraan untuk jenis pesan tertentu.

Contoh nama topik:

  • left-tire
  • front-window
  • engine-coolant-temp

Batasan:

  • Harus berupa alfanumerik atau tanda hubung, [a-z0-9\-].
  • Harus diawali dengan huruf.
  • Tidak boleh melebihi 127 karakter.

Nama channel

Channel diidentifikasi berdasarkan string nama.

Contoh nama channel:

  • main-control
  • high-priority
  • background

Batasan:

  • Harus berupa alfanumerik atau tanda hubung, [a-z0-9\-].
  • Harus diawali dengan huruf.
  • Tidak boleh melebihi 127 karakter.

Nama unit layanan

Developer paket layanan terutama berinteraksi dengan topik dan channel. Nama unit layanan adalah detail implementasi yang mendasar dan terutama ditemui saat menggunakan alat proses debug seperti dumpsys.

Unit layanan, saat didaftarkan ke Penemuan Layanan SDV, harus memberikan nama unit layanan. Nama unit layanan ini tersedia pada waktu Penemuan layanan. Contoh ini menunjukkan nama unit layanan dengan FQIN:

  • ( cdc:com.android.sdv.adas.Service1/default-inst , tp-provider )
  • ( cdc:com.yourcompany.sdv.adas.TirePressure/instance1 , tp-provider-1 )
  • ( mech:com.yourcompany.sdv.adas.TirePressure/instance2 , tp-instance )

Nama jenis unit

Nama jenis unit sama dengan nama jenis Protobuf (yang sepenuhnya memenuhi syarat). Contoh:

  • com.android.sdv.datatunnel.IComponentHandler
  • com.android.sdv.datatunnel.IComponentHandler
  • com.yourcompany.sdv.adas.TirePressure
  • com.android.sdv.cluster.IWheelInfoCallback
  • com.android.sdv.cluster.ISeatAlignmentCallback

Ringkasan

Persyaratan penamaan diringkas dalam tabel berikut:

Item Batas Karakter yang diizinkan Jenis kasus
FQIN 256 karakter Terdiri dari nama VM, nama paket, nama paket layanan, dan nama instance paket layanan. Huruf kecil
Nama VM SDV 30 karakter
  • Harus diawali dengan huruf a-z.
  • Tidak boleh diakhiri dengan tanda hubung (-).
  • Karakter harus berupa alfanumerik huruf kecil atau tanda hubung (a-z0-9\-).
  • Tanda hubung tidak boleh muncul berturut-turut lebih dari sekali.
Huruf kecil
Nama paket SDV 127 karakter
  • Harus berisi minimal empat segmen.
  • Harus diawali dengan huruf.
  • Tidak ada segmen yang dapat berisi garis bawah berturut-turut.
  • Tidak ada segmen yang dapat diakhiri dengan garis bawah.
  • Segmen tidak boleh kosong.
  • Karakter harus berupa huruf kecil atau tanda hubung (a-z0-9\-).
Huruf kecil
Nama paket layanan 30 karakter
  • Harus diawali dengan huruf kapital.
  • Tidak boleh kosong.
  • Tidak boleh berisi garis bawah berturut-turut (__).
  • Tidak boleh diawali atau diakhiri dengan garis bawah (_).
  • Karakter harus berupa alfanumerik atau garis bawah (A-Za-z0-9_).
Huruf besar/kecil
Nama instance paket layanan 48 karakter
  • Harus diawali dengan huruf (a-z).
  • Tidak boleh diakhiri dengan tanda hubung (-).
  • Harus unik di VM yang sama untuk layanan yang sama.
  • Karakter harus berupa huruf kecil atau tanda hubung (a-z0-9\-).
  • Tanda hubung tidak boleh muncul berturut-turut.
Huruf kecil
Nama topik 127 karakter
  • Harus diawali dengan huruf (a-z).
  • Karakter harus berupa alfanumerik huruf kecil atau tanda hubung (a-z0-9\-).
Huruf kecil
Nama channel 127 karakter
  • Harus diawali dengan huruf (a-z).
  • Karakter harus berupa alfanumerik huruf kecil atau tanda hubung (a-z0-9\-).
Huruf kecil
Nama unit layanan 48 karakter
  • Harus diawali dengan huruf (a-z).
  • Tidak boleh diakhiri dengan tanda hubung (-).
  • Karakter harus berupa huruf kecil atau tanda hubung (a-z0-9\-).
  • Tanda hubung tidak boleh muncul berturut-turut lebih dari sekali.
Huruf kecil