השמות של חבילות השירות מוגדרים בהיררכיה.
כל מכונה וירטואלית (שמזוהה באמצעות שם המכונה הוירטואלית) היא פריסה יחידה של מערכת ההפעלה של פרופיל SDV Core.
כל חבילה (שמזוהה לפי שם החבילה) יכולה להכיל כמה חבילות שירותים.
אפשר ליצור כמה מופעים של כל חבילת שירותים (שמזוהה באמצעות שם חבילת השירותים) באותה מכונה וירטואלית.
כל מופע של חבילת שירותים מזוהה באמצעות שם מופע של חבילת שירותים שמוקצה בזמן הטעינה.
שם מכונת ה-VM של SDV
שם מכונת ה-VM הוא מזהה שם ייחודי שמצורף לכל פריסה של פרופיל SDV Core, כפי שמצוין בהגדרת מכונת ה-VM של הרכב (vvmconfig). שם המכונה הוירטואלית משמש בשמות כהפרדה לוגית של שירותים לאורך גבולות המכונה הוירטואלית ברכב. דוגמאות:
cdcmechatronicspcutelematics-unit
ההגבלות האלה חלות על השמות.
- שם המכונה הווירטואלית חייב להתחיל באות
[a-z] - שם המכונה הווירטואלית לא יכול להסתיים במקף
- שם המכונה הווירטואלית לא יכול להיות ארוך מ-31 תווים
- כל התווים חייבים להיות אלפאנומריים באותיות קטנות או מקף
[a-z0-9\-] - אסור שיופיעו יותר מפעם אחת מקפים ברצף בשם
שם ה-VM מאומת כייחודי בזמן ההידור (ניתוח סטטי) ובזמן אתחול המערכת כשקובץ vvmconfig נטען.
שגיאה ברמת האתחול מתרחשת כשאימות בזמן האתחול נכשל.
שם החבילה של SDV
בדומה ל-Android רגיל, שם החבילה של SDV מזהה באופן ייחודי חבילה שנפרסה במערכת. צריך לספק קובץ APEX ייחודי לכל שם חבילה. לדוגמה:
com.android.sdv.datatunnelcom.android.sdv.sample.datatunnelcom.yourcompany.sdv.adas
ההגבלות הבאות חלות:
- כל קובצי ה-SDV APEX שבבעלות שותפים צריכים להתחיל בקידומת
com.<companyname>.sdv.(הקידומתcom.android.sdv.שמורה לקובצי SDV APEX שבבעלות Google). - כל התווים חייבים להיות אלפאנומריים או קו תחתון,
[a-z0-9_]. - שם החבילה חייב להכיל לפחות ארבעה מקטעים שמופרדים בנקודות.
- שם החבילה לא יכול להסתיים בנקודה.
- שם החבילה לא יכול להיות ארוך מ-127 תווים.
- כל מקטע חייב להתחיל באות.
- אי אפשר להשתמש בקו תחתון ברצף בפלח,
__. - אף פלח לא יכול להסתיים בקו תחתון,
_. - המקטעים לא יכולים להיות ריקים (אסור להשתמש בנקודות ברצף).
שם חבילת השירות
בדומה ל-Android רגיל, לכל חבילת שירות יש שם שקריא לבני אדם, שהוא מרחב שמות בשם החבילה שאליה היא שייכת. לדוגמה:
SomeServiceImportantService
יש הגבלות על השמות:
- שם חבילת השירות חייב להתחיל באות רישית
- חובה להזין שם לחבילת השירות
- האורך המקסימלי של שם חבילת השירות הוא 47 תווים
- שם חבילת השירות לא יכול להכיל קווים תחתונים עוקבים,
__ - שם חבילת השירות לא יכול להתחיל או להסתיים בקו תחתון,
_ - כל התווים חייבים להיות אלפאנומריים או קו תחתון,
[A-Za-z0-9_]
שם מופע חבילת השירות
שלא כמו באפליקציות רגילות ל-Android, אפשר להתקין ולטעון חבילות שירות ב-AAOS SDV כמה פעמים באותה מכונת VM. כתוצאה מכך, יכולים להיות כמה מופעים של אותה חבילת שירות שפועלים באותה מכונה וירטואלית של AAOS SDV. למופעים האלה מוקצה שם מופע של חבילת שירות שקריא לבני אדם. לדוגמה:
front-leftfront-rightmainclientsubscriber
ההגבלות האלה חלות על:
שם המכונה צריך:
- מתחילים באות
[a-z] - לא מסתיים במקף
- לא לחרוג מ-47 תווים
- להיות ייחודיים באותה מכונה וירטואלית עבור אותו שירות
- מתחילים באות
כל התווים חייבים להיות אלפאנומריים באותיות קטנות או מקף
[a-z0-9\-]אסור להשתמש במקפים ברצף
לכל מופע של שירות צריך להיות שם מופע ייחודי (שמסופק או נוצר כשהשירות מופעל).
שם מופע של חבילת שירות שמוגדר במלואו (FQIN)
שם מכונת ה-VM של SDV, שם החבילה, שם חבילת השירות ושם המופע של חבילת השירות משולבים לשם מופע של חבילת שירות שמוגדר במלואו (FQIN). הוא מזהה באופן ייחודי מופע של חבילת שירותים בכל הרכב.
הנה כמה דוגמאות:
cdc:com.android.sdv.datatunnel.SomeService/instance1cdc:com.android.sdv.datatunnel.SomeService/instance2mechatronics:com.yourcompany.sdv.adas.TirePressure/front-leftmechatronics:com.yourcompany.sdv.adas.TirePressure/front-rightmechatronics:com.yourcompany.sdv.adas.TirePressure/rear-rightpcu:com.android.sdv.cluster.InfoProvider/acceleration
לחבילות שירות שונות יכול להיות שם זהה של חבילת שירות. לדוגמה, לשני חבילות השירות האלה (שמזוהות על ידי ה-FQIN המתאים שלהן), שנפרסו באותה מכונה וירטואלית של SDV (mechatronics), יש אותו שם של חבילת שירות: TirePressure:
mechatronics:com.yourcompany1.sdv.adas.TirePressure/defaultmechatronics:com.yourcompany2.sdv.adas.TirePressure/default
בדוגמה הזו, לא מתרחשת התנגשות בשמות כי שני חבילות השירות נמצאות בחבילות שונות (אחת ב-com.yourcompany1.sdv.adas והשנייה ב-com.yourcompany2.sdv.adas).
שם הנושא
נושאים מזוהים על ידי מחרוזות שהן ייחודיות ברחבי הרכב עבור סוג הודעה נתון.
דוגמאות לשמות של נושאים:
left-tirefront-windowengine-coolant-temp
הגבלות:
- חייב להיות אלפאנומרי או מקף,
[a-z0-9\-]. - חייב להתחיל באות.
- הערך לא יכול לחרוג מ-127 תווים.
שם הערוץ
הערוצים מזוהים באמצעות מחרוזת של שם.
דוגמאות לשמות של ערוצים:
main-controlhigh-prioritybackground
הגבלות:
- חייב להיות אלפאנומרי או מקף,
[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.IComponentHandlercom.android.sdv.datatunnel.IComponentHandlercom.yourcompany.sdv.adas.TirePressurecom.android.sdv.cluster.IWheelInfoCallbackcom.android.sdv.cluster.ISeatAlignmentCallback
סיכום
בטבלה הבאה מפורטות הדרישות לשמות:
| פריט | הגבלה | תווים מותרים | סוג בקשת התמיכה |
|---|---|---|---|
| FQIN | 256 תווים | מורכב משם מכונת ה-VM, שם החבילה, שם חבילת השירות ושם המופע של חבילת השירות. | אותיות קטנות |
| שם מכונת ה-VM של SDV | 30 תווים |
|
אותיות קטנות |
| שם החבילה של SDV | 127 תווים |
|
אותיות קטנות |
| שם חבילת השירות | 30 תווים |
|
אותיות רישיות וקטנות |
| שם מופע חבילת השירות | 48 תווים |
|
אותיות קטנות |
| שם הנושא | 127 תווים |
|
אותיות קטנות |
| שם הערוץ | 127 תווים |
|
אותיות קטנות |
| שם יחידת השירות | 48 תווים |
|
אותיות קטנות |