Соглашения об именовании пакетов услуг

Названия пакетов служб определяются в иерархическом порядке.

  • Каждая виртуальная машина (идентифицируемая по имени виртуальной машины ) представляет собой отдельное развертывание операционной системы профиля SDV Core.

  • Каждый пакет (обозначаемый именем пакета ) может содержать несколько пакетов услуг.

  • Каждый пакет служб (идентифицируемый по имени пакета служб ) может быть создан несколько раз на одной и той же виртуальной машине.

  • Каждый экземпляр пакета служб идентифицируется именем экземпляра пакета служб, присвоенным во время загрузки.

Имя виртуальной машины SDV

Имя виртуальной машины — это уникальный идентификатор, присваиваемый каждому развертыванию профиля SDV Core, как указано в конфигурации виртуальной машины транспортного средства (vvmconfig) . Имя виртуальной машины используется в именовании как логическое разделение служб по границам виртуальных машин в транспортном средстве. Примеры:

  • cdc
  • mechatronics
  • pcu
  • telematics-unit

Действуют данные ограничения на наименование.

  • Имя виртуальной машины должно начинаться с буквы [az]
  • Имя виртуальной машины не должно заканчиваться дефисом.
  • Имя виртуальной машины не должно превышать 31 символ.
  • Все символы должны быть строчными буквенно-цифровыми или представлять собой дефис [a-z0-9\-]
  • Дефисы в имени не должны встречаться подряд более одного раза.

Уникальность имени виртуальной машины проверяется во время компиляции (статический анализ) и при загрузке системы, когда загружается файл vvmconfig .

Ошибка на уровне загрузки возникает, когда проверка во время загрузки завершается неудачей.

Название пакета SDV

Как и в стандартном Android, имя пакета SDV однозначно идентифицирует пакет, развернутый в системе. Для каждого имени пакета необходимо указать уникальный APEX-код. Например:

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

Действуют следующие ограничения:

  • Все принадлежащие партнерам SDV APEX должны иметь префикс com.<companyname>.sdv. ( com.android.sdv. зарезервирован для принадлежащих Google SDV APEX).
  • Все символы должны быть буквенно-цифровыми или представлять собой символ подчеркивания, [a-z0-9_] .
  • Название пакета должно содержать не менее четырех сегментов, разделенных точкой.
  • Название пакета не должно заканчиваться точкой.
  • Название пакета не должно превышать 127 символов.
  • Каждый сегмент должен начинаться с буквы.
  • В одном сегменте не может быть последовательных подчеркиваний, __ .
  • Ни один сегмент не может заканчиваться нижним подчеркиванием, _ .
  • Сегменты не должны быть пустыми (не должно быть последовательных периодов).

название пакета услуг

Подобно стандартному Android, каждый пакет служб имеет удобочитаемое имя, которое находится в пространстве имен пакета, к которому он принадлежит. Например:

  • SomeService
  • ImportantService

Действуют следующие ограничения на наименование:

  • Название пакета услуг ДОЛЖНО начинаться с заглавной буквы.
  • Название пакета услуг НЕ ДОЛЖНО быть пустым.
  • Название пакета услуг НЕ ДОЛЖНО превышать 47 символов.
  • Название пакета услуг НЕ ДОЛЖНО содержать последовательные символы подчеркивания, __
  • Название пакета услуг НЕ ДОЛЖНО начинаться или заканчиваться нижним подчеркиванием, _
  • Все символы ДОЛЖНЫ быть либо буквенно-цифровыми, либо представлять собой символ подчеркивания, [A-Za-z0-9_]

имя экземпляра пакета служб

В отличие от стандартных приложений Android, пакеты служб в AAOS SDV могут быть установлены и загружены несколько раз на одной и той же виртуальной машине. В результате один и тот же пакет служб может иметь несколько запущенных экземпляров в рамках одной виртуальной машины AAOS SDV. Этим экземплярам присваивается удобочитаемое имя экземпляра пакета служб . Например:

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

Действуют следующие ограничения:

  • Имя экземпляра должно:

    • Начните с буквы [az]
    • Не заканчивать дефисом
    • Не более 47 символов
    • Обеспечьте уникальность на одной и той же виртуальной машине для одной и той же службы.
  • Все символы должны быть строчными буквенно-цифровыми или представлять собой дефис [a-z0-9\-]

  • Дефисы не должны стоять подряд.

  • Каждый экземпляр службы должен иметь уникальное имя экземпляра (указанное или созданное при запуске службы).

Полное имя экземпляра пакета услуг (FQIN)

Имя виртуальной машины SDV, имя пакета, имя пакета услуг и имя экземпляра пакета услуг объединяются в полное квалифицированное имя экземпляра пакета услуг (FQIN). Оно однозначно идентифицирует экземпляр пакета услуг в масштабах всего транспортного средства.

Несколько примеров:

  • 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

Пакеты услуг в разных наборах могут иметь одинаковое имя. Например, эти два пакета услуг (идентифицированные по соответствующим FQIN), развернутые в одной и той же виртуальной машине SDV ( mechatronics ), имеют одинаковое имя пакета услуг TirePressure :

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

В этом примере конфликт имен не возникает, поскольку два пакета служб находятся в разных папках (один в com.yourcompany1.sdv.adas , а другой в com.yourcompany2.sdv.adas ).

Название темы

Темы идентифицируются строками, уникальными для данного типа сообщения в рамках одного транспортного средства.

Примеры названий тем:

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

Ограничения:

  • Должен быть буквенно-цифровым символом или дефисом, [a-z0-9\-] .
  • Начинается с буквы.
  • Не должно превышать 127 символов.

Название канала

Каналы идентифицируются строковым именем.

Примеры названий каналов:

  • main-control
  • high-priority
  • background

Ограничения:

  • Должен быть буквенно-цифровым символом или дефисом, [a-z0-9\-] .
  • Начинается с буквы.
  • Не должно превышать 127 символов.

Название сервисного подразделения

Разработчики пакетов сервисов в основном взаимодействуют с темами и каналами . Имена модулей сервисов являются деталью базовой реализации и встречаются преимущественно при использовании инструментов отладки, таких как dumpsys .

При регистрации в системе обнаружения сервисов SDV необходимо указать имя сервисного блока . Это имя сервисного блока доступно во время обнаружения сервисов. В приведенных примерах показаны имена сервисных блоков с полными квалифицированными идентификационными номерами (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 )

Названия типов единиц

Названия типов модулей соответствуют (полностью указанным) названиям типов Protobuf. Например:

  • 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

Краткое содержание

Требования к именованию суммированы в следующей таблице:

Элемент Лимит Разрешенные символы Тип дела
ФКИН 256 символов Состоит из имени виртуальной машины, имени пакета, имени пакета служб и имени экземпляра пакета служб. строчные буквы
Имя виртуальной машины SDV 30 символов
  • Должно начинаться с буквы az .
  • Не должно заканчиваться дефисом ( - ).
  • Символы должны быть строчными буквенно-цифровыми или представлять собой дефис ( a-z0-9\- ).
  • Дефисы не должны встречаться подряд более одного раза.
строчные буквы
Название пакета SDV 127 символов
  • Должен содержать не менее четырех сегментов.
  • Начинается с буквы.
  • Ни один сегмент не может содержать последовательные символы подчеркивания.
  • Ни один сегмент не может заканчиваться нижним подчеркиванием.
  • Сегменты не могут быть пустыми.
  • Символы должны быть написаны строчными буквами или дефисом ( a-z0-9\- ).
строчные буквы
название пакета услуг 30 символов
  • Начинается с заглавной буквы.
  • Не должно быть пустым.
  • Не должно содержать последовательных символов подчеркивания ( __ ).
  • Не должен начинаться или заканчиваться нижним подчеркиванием ( _ ).
  • Символы должны быть буквенно-цифровыми или представлять собой символ подчеркивания ( A-Za-z0-9_ ).
Смешанный случай
имя экземпляра пакета служб 48 символов
  • Должно начинаться с буквы ( az ).
  • Не должно заканчиваться дефисом ( - ).
  • Должен быть уникальным на одной и той же виртуальной машине для одной и той же службы.
  • Символы должны быть написаны строчными буквами или дефисом ( a-z0-9\- ).
  • Дефисы не должны стоять подряд.
строчные буквы
Название темы 127 символов
  • Должно начинаться с буквы ( az ).
  • Символы должны быть строчными буквенно-цифровыми или содержать дефис ( a-z0-9\- ).
строчные буквы
Название канала 127 символов
  • Должно начинаться с буквы ( az ).
  • Символы должны быть строчными буквенно-цифровыми или содержать дефис ( a-z0-9\- ).
строчные буквы
Название сервисного подразделения 48 символов
  • Должно начинаться с буквы ( az ).
  • Не должно заканчиваться дефисом ( - ).
  • Символы должны быть написаны строчными буквами или дефисом ( a-z0-9\- ).
  • Дефисы не должны встречаться подряд более одного раза.
строчные буквы