מוסכמות למתן שמות לחבילות שירותים

השמות של חבילות השירות מוגדרים בהיררכיה.

  • כל מכונה וירטואלית (שמזוהה באמצעות שם המכונה הוירטואלית) היא פריסה יחידה של מערכת ההפעלה של פרופיל SDV Core.

  • כל חבילה (שמזוהה לפי שם החבילה) יכולה להכיל כמה חבילות שירותים.

  • אפשר ליצור כמה מופעים של כל חבילת שירותים (שמזוהה באמצעות שם חבילת השירותים) באותה מכונה וירטואלית.

  • כל מופע של חבילת שירותים מזוהה באמצעות שם מופע של חבילת שירותים שמוקצה בזמן הטעינה.

שם מכונת ה-VM של SDV

שם מכונת ה-VM הוא מזהה שם ייחודי שמצורף לכל פריסה של פרופיל SDV Core, כפי שמצוין בהגדרת מכונת ה-VM של הרכב (vvmconfig). שם המכונה הוירטואלית משמש בשמות כהפרדה לוגית של שירותים לאורך גבולות המכונה הוירטואלית ברכב. דוגמאות:

  • cdc
  • mechatronics
  • pcu
  • telematics-unit

ההגבלות האלה חלות על השמות.

  • שם המכונה הווירטואלית חייב להתחיל באות [a-z]
  • שם המכונה הווירטואלית לא יכול להסתיים במקף
  • שם המכונה הווירטואלית לא יכול להיות ארוך מ-31 תווים
  • כל התווים חייבים להיות אלפאנומריים באותיות קטנות או מקף [a-z0-9\-]
  • אסור שיופיעו יותר מפעם אחת מקפים ברצף בשם

שם ה-VM מאומת כייחודי בזמן ההידור (ניתוח סטטי) ובזמן אתחול המערכת כשקובץ 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. שמורה לקובצי SDV APEX שבבעלות Google).
  • כל התווים חייבים להיות אלפאנומריים או קו תחתון, [a-z0-9_].
  • שם החבילה חייב להכיל לפחות ארבעה מקטעים שמופרדים בנקודות.
  • שם החבילה לא יכול להסתיים בנקודה.
  • שם החבילה לא יכול להיות ארוך מ-127 תווים.
  • כל מקטע חייב להתחיל באות.
  • אי אפשר להשתמש בקו תחתון ברצף בפלח, __.
  • אף פלח לא יכול להסתיים בקו תחתון, _.
  • המקטעים לא יכולים להיות ריקים (אסור להשתמש בנקודות ברצף).

שם חבילת השירות

בדומה ל-Android רגיל, לכל חבילת שירות יש שם שקריא לבני אדם, שהוא מרחב שמות בשם החבילה שאליה היא שייכת. לדוגמה:

  • SomeService
  • ImportantService

יש הגבלות על השמות:

  • שם חבילת השירות חייב להתחיל באות רישית
  • חובה להזין שם לחבילת השירות
  • האורך המקסימלי של שם חבילת השירות הוא 47 תווים
  • שם חבילת השירות לא יכול להכיל קווים תחתונים עוקבים, __
  • שם חבילת השירות לא יכול להתחיל או להסתיים בקו תחתון, _
  • כל התווים חייבים להיות אלפאנומריים או קו תחתון, [A-Za-z0-9_]

שם מופע חבילת השירות

שלא כמו באפליקציות רגילות ל-Android, אפשר להתקין ולטעון חבילות שירות ב-AAOS SDV כמה פעמים באותה מכונת VM. כתוצאה מכך, יכולים להיות כמה מופעים של אותה חבילת שירות שפועלים באותה מכונה וירטואלית של AAOS SDV. למופעים האלה מוקצה שם מופע של חבילת שירות שקריא לבני אדם. לדוגמה:

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

ההגבלות האלה חלות על:

  • שם המכונה צריך:

    • מתחילים באות [a-z]
    • לא מסתיים במקף
    • לא לחרוג מ-47 תווים
    • להיות ייחודיים באותה מכונה וירטואלית עבור אותו שירות
  • כל התווים חייבים להיות אלפאנומריים באותיות קטנות או מקף [a-z0-9\-]

  • אסור להשתמש במקפים ברצף

  • לכל מופע של שירות צריך להיות שם מופע ייחודי (שמסופק או נוצר כשהשירות מופעל).

שם מופע של חבילת שירות שמוגדר במלואו (FQIN)

שם מכונת ה-VM של 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 Service Discovery, צריך לספק שם של יחידת שירות. השם של יחידת השירות הזו זמין בזמן גילוי השירות. בדוגמאות הבאות מוצגים שמות של יחידות שירות עם 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

סיכום

בטבלה הבאה מפורטות הדרישות לשמות:

פריט הגבלה תווים מותרים סוג בקשת התמיכה
FQIN ‫256 תווים מורכב משם מכונת ה-VM, שם החבילה, שם חבילת השירות ושם המופע של חבילת השירות. אותיות קטנות
שם מכונת ה-VM של SDV ‫30 תווים
  • הוא חייב להתחיל באות a-z.
  • השם לא יכול להסתיים במקף (-).
  • התווים צריכים להיות אלפאנומריים באותיות קטנות או מקף (a-z0-9\-).
  • אי אפשר להשתמש במקפים ברצף יותר מפעם אחת.
אותיות קטנות
שם החבילה של SDV 127 תווים
  • צריך להכיל לפחות ארבעה פלחים.
  • חייב להתחיל באות.
  • אף פלח לא יכול להכיל קווים תחתונים עוקבים.
  • שום פלח לא יכול להסתיים בקו תחתון.
  • אי אפשר להשאיר את הקטע ריק.
  • התווים צריכים להיות באותיות קטנות או מקף (a-z0-9\-).
אותיות קטנות
שם חבילת השירות ‫30 תווים
  • חייב להתחיל באות גדולה.
  • השדה לא יכול להיות ריק.
  • לא יכולות להכיל רצף של קווים תחתונים (__).
  • השם לא יכול להתחיל או להסתיים בקו תחתון (_).
  • התווים חייבים להיות אלפאנומריים או קו תחתון (A-Za-z0-9_).
אותיות רישיות וקטנות
שם מופע חבילת השירות ‫48 תווים
  • חייב להתחיל באות (a-z).
  • השם לא יכול להסתיים במקף (-).
  • חייב להיות ייחודי באותה מכונה וירטואלית עבור אותו שירות.
  • התווים צריכים להיות באותיות קטנות או מקף (a-z0-9\-).
  • אסור להשתמש במקפים ברצף.
אותיות קטנות
שם הנושא 127 תווים
  • חייב להתחיל באות (a-z).
  • התווים צריכים להיות אלפאנומריים באותיות קטנות או מקף (a-z0-9\-).
אותיות קטנות
שם הערוץ 127 תווים
  • חייב להתחיל באות (a-z).
  • התווים צריכים להיות אלפאנומריים באותיות קטנות או מקף (a-z0-9\-).
אותיות קטנות
שם יחידת השירות ‫48 תווים
  • חייב להתחיל באות (a-z).
  • השם לא יכול להסתיים במקף (-).
  • התווים צריכים להיות באותיות קטנות או מקף (a-z0-9\-).
  • אי אפשר להשתמש במקפים ברצף יותר מפעם אחת.
אותיות קטנות