Hizmet paketi adlandırma kuralları

Hizmet paketi adları bir hiyerarşi içinde tanımlanır.

  • Her VM (VM adı ile tanımlanır), SDV Core profil işletim sisteminin tek bir dağıtımıdır.

  • Her paket (paket adıyla tanımlanır) birden fazla hizmet paketi içerebilir.

  • Her hizmet paketi (hizmet paketi adıyla tanımlanır) aynı sanal makinede birden çok kez oluşturulabilir.

  • Her hizmet paketi örneği, yükleme sırasında atanan bir hizmet paketi örneği adı ile tanımlanır.

SDV sanal makine adı

VM adı, Vehicle VM Config (vvmconfig) dosyasında belirtildiği gibi, SDV Core profilinin her dağıtımına eklenen benzersiz bir ad tanımlayıcısıdır. Sanal makine adı, bir araçtaki sanal makine sınırları boyunca hizmetlerin mantıksal olarak ayrılması için adlandırmada kullanılır. Örnekler:

  • cdc
  • mechatronics
  • pcu
  • telematics-unit

Aşağıdaki adlandırma kısıtlamaları geçerlidir.

  • Sanal makine adı bir harfle başlamalıdır. [a-z]
  • Sanal makine adı kısa çizgiyle bitmemelidir
  • Sanal makine adı 31 karakteri aşmamalıdır.
  • Tüm karakterler küçük harfli alfanümerik veya tire [a-z0-9\-] olmalıdır.
  • Addaki kısa çizgiler art arda birden fazla kez görünmemelidir.

Derleme süresi (statik analiz) ve vvmconfig yüklendiğinde sistem başlatma sırasında VM adının benzersiz olduğu doğrulanır.

Önyükleme sırasında doğrulama başarısız olduğunda önyükleme düzeyinde bir hata oluşur.

SDV paketi adı

SDV paket adı, standart Android'e benzer şekilde sisteme dağıtılan bir paketi benzersiz olarak tanımlar. Her paket adı için benzersiz bir APEX sağlanmalıdır. Örneğin:

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

Aşağıdaki kısıtlamalar geçerlidir:

  • İş ortağına ait tüm SDV APEX'leri com.<companyname>.sdv. ile başlamalıdır (com.android.sdv., Google'a ait SDV APEX'leri için ayrılmıştır).
  • Tüm karakterler alfanümerik veya alt çizgi ([a-z0-9_]) olmalıdır.
  • Paket adı, noktayla ayrılmış en az dört segment içermelidir.
  • Paket adı nokta ile bitemez.
  • Paket adı 127 karakteri geçmemelidir.
  • Her segment bir harfle başlamalıdır.
  • Hiçbir segmentte ardışık alt çizgi (__) bulunamaz.
  • Hiçbir segment alt çizgiyle bitemez, _.
  • Segmentler boş olmamalıdır (ardışık nokta olmamalıdır).

Hizmet paketi adı

Standart Android'e benzer şekilde, her hizmet paketi, ait olduğu paket adında ad alanı oluşturulmuş, insanlar tarafından okunabilir bir ada sahiptir. Örneğin:

  • SomeService
  • ImportantService

Aşağıdaki adlandırma kısıtlamaları geçerlidir:

  • Hizmet paketi adı BÜYÜK HARFLE başlamalıdır.
  • Hizmet paketi adı BOŞ BIRAKILAMAZ
  • Hizmet paketi adı 47 karakteri AŞMAMALIDIR.
  • Hizmet paketi adı, art arda alt çizgi içermemelidir. __
  • Hizmet paketi adı alt çizgiyle başlamamalı veya bitmemelidir. _
  • Tüm karakterler alfanümerik veya alt çizgi olmalıdır. [A-Za-z0-9_]

Hizmet paketi örneği adı

AAOS SDV'deki hizmet paketleri, standart Android uygulamalarından farklı olarak aynı sanal makineye birden çok kez yüklenebilir ve yüklenebilir. Sonuç olarak, aynı hizmet paketinin aynı AAOS SDV VM'sinde birden fazla örneği çalışabilir. Bu örneklere, kullanıcılar tarafından okunabilen bir hizmet paketi örneği adı atanır. Örneğin:

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

Aşağıdaki kısıtlamalar geçerlidir:

  • Örnek adı:

    • Harfle başlayın [a-z]
    • Kısa çizgiyle bitmemelidir.
    • 47 karakteri aşmamalıdır.
    • Aynı hizmet için aynı sanal makinede benzersiz olmalıdır.
  • Tüm karakterler küçük harfli alfanümerik veya tire [a-z0-9\-] olmalıdır.

  • Kısa çizgiler art arda görünmemelidir.

  • Her hizmet örneğinin benzersiz bir örnek adı olmalıdır (hizmet başlatıldığında sağlanır veya oluşturulur).

Tam nitelikli hizmet paketi örneği adı (FQIN)

SDV VM adı, paket adı, hizmet paketi adı ve hizmet paketi örneği adı, tam nitelikli hizmet paketi örneği adı (FQIN) olarak birleştirilir. Bu ad, hizmet paketi örneğini araç genelinde benzersiz şekilde tanımlar.

Birkaç örnek:

  • 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

Farklı paketlerdeki hizmet paketleri aynı hizmet paketi adına sahip olabilir. Örneğin, aynı SDV VM'de (mechatronics) dağıtılan bu iki hizmet paketi (ilgili FQIN'leriyle tanımlanır) TirePressure hizmet paketi adına sahiptir:

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

Bu örnekte, iki hizmet paketi farklı paketlerde (biri com.yourcompany1.sdv.adas, diğeri com.yourcompany2.sdv.adas) olduğundan ad çakışması oluşmaz.

Konu adı

Konular, belirli bir mesaj türü için araç genelinde benzersiz olan dizelerle tanımlanır.

Örnek konu adları:

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

Kısıtlamalar:

  • Alfanümerik veya kısa çizgi ([a-z0-9\-]) olmalıdır.
  • Harfle başlamalıdır.
  • 127 karakteri aşmamalıdır.

Kanal adı

Kanallar, bir ad dizesiyle tanımlanır.

Örnek kanal adları:

  • main-control
  • high-priority
  • background

Kısıtlamalar:

  • Alfanümerik veya kısa çizgi ([a-z0-9\-]) olmalıdır.
  • Harfle başlamalıdır.
  • 127 karakteri aşmamalıdır.

Servis birimi adı

Hizmet paketi geliştiriciler öncelikli olarak konular ve kanallarla etkileşim kurar. Hizmet birimi adları temel bir uygulama ayrıntısıdır ve öncelikle dumpsys gibi hata ayıklama araçları kullanılırken karşılaşılır.

SDV Hizmet Keşfi'ne kaydedilen hizmet birimlerinin hizmet birimi adı sağlaması gerekir. Bu hizmet birimi adı, hizmet keşfi sırasında kullanılabilir. Aşağıdaki örneklerde FQIN'lere sahip hizmet birimi adları gösterilmektedir:

  • ( 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 )

Birim türü adları

Birim türü adları, Protobuf türü adlarına (tam nitelikli) eşittir. Örneğin:

  • 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

Özet

Adlandırma koşulları aşağıdaki tabloda özetlenmiştir:

Öğe Sınır İzin verilen karakterler Destek kaydı türü
FQIN 256 karakter VM adı, paket adı, hizmet paketi adı ve hizmet paketi örneği adından oluşur. Küçük harf
SDV sanal makine adı 30 karakter
  • Harfle başlamalıdır a-z.
  • Kısa çizgiyle (-) bitmemelidir.
  • Karakterler küçük harf alfanümerik veya tire (a-z0-9\-) olmalıdır.
  • Kısa çizgiler art arda birden fazla kez görünmemelidir.
Küçük harf
SDV paketi adı 127 karakter
  • En az dört segment içermelidir.
  • Harfle başlamalıdır.
  • Hiçbir segmentte ardışık alt çizgiler bulunamaz.
  • Hiçbir segment alt çizgiyle bitmemelidir.
  • Segmentler boş olamaz.
  • Karakterler küçük harf veya tire (a-z0-9\-) olmalıdır.
Küçük harf
Hizmet paketi adı 30 karakter
  • Büyük harfle başlamalıdır.
  • Boş bırakılamaz.
  • Ardışık alt çizgiler (__) içermemelidir.
  • Alt çizgiyle (_) başlayamaz veya bitemez.
  • Karakterler alfanümerik veya alt çizgi (A-Za-z0-9_) olmalıdır.
Büyük/küçük harf karışımı
Hizmet paketi örneği adı 48 karakter
  • Harfle (a-z) başlamalıdır.
  • Kısa çizgiyle (-) bitmemelidir.
  • Aynı hizmet için aynı sanal makinede benzersiz olmalıdır.
  • Karakterler küçük harf veya tire (a-z0-9\-) olmalıdır.
  • Kısa çizgiler art arda görünmemelidir.
Küçük harf
Konu adı 127 karakter
  • Harfle (a-z) başlamalıdır.
  • Karakterler küçük harf alfanümerik veya tire (a-z0-9\-) olmalıdır.
Küçük harf
Kanal adı 127 karakter
  • Harfle (a-z) başlamalıdır.
  • Karakterler küçük harf alfanümerik veya tire (a-z0-9\-) olmalıdır.
Küçük harf
Servis birimi adı 48 karakter
  • Harfle (a-z) başlamalıdır.
  • Kısa çizgiyle (-) bitmemelidir.
  • Karakterler küçük harf veya tire (a-z0-9\-) olmalıdır.
  • Kısa çizgiler art arda birden fazla kez görünmemelidir.
Küçük harf