סקירה כללית על VSIDL ותוכנת ביניים

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

‫VSIDL מספק את הממשק ליצירת אינטראקציה עם שירותים ברמה נמוכה יותר במערכת האקולוגית של SDV. אפשר להשתמש ב-VSIDL כדי לציין יחידות שירות שמתקשרות באמצעות קריאות לפרוצדורות מרוחקות (RPC), (כולל קריאות unary, סטרימינג של לקוח וסטרימינג של שרת), מנהור נתונים או מיפוי שירותים של SOME/IP לצורך אינטראופרביליות עם יחידות בקרה אלקטרוניות (ECU) של AUTOSAR ומחסניות SOME/IP (כמו COVESA vsomeip). הקוד שנוצר על ידי VSIDLC מטפל ברישום של יחידות שירות ב-SDV Service Discovery.

אפשר לארוז את קוד ה-VSIDLC שנוצר עבור חבילות שירות כקובצי APEX, שמנוהלים על ידי Orchestrator,‏ Update Manager וסוכני Vehicle Mode and Power Management (VPM).

הטמעה של שירותי SDV

אלה השלבים ברמה גבוהה להגדרת הממשקים והאינטראקציות בין חבילות שירות ב-SDV וליצירת חבילות APEX לפריסה:

  1. מגדירים מבני נתונים בקובצי protobuf (קבצים עם הסיומת .proto). משתמשים ב-protobuf כדי להגדיר את מבני הנתונים שמועברים בין יחידות השירות שהוגדרו על ידי VSIDL.
  2. מגדירים את ארכיטקטורת השירות בקובצי VSIDL (קבצים עם הסיומות .vsidl). משתמשים ב-VSIDL כדי להגדיר חבילות שירות ויחידות שירות. הפניות ל-VSIDL הן לסוגים שהוגדרו על ידי protobuf (שלב 1).
  3. ליצור תוכנת ביניים. תוכנת הביניים מספקת דרך סטנדרטית לשירותים לתקשר ולקיים אינטראקציה זה עם זה.
  4. הטמעת לוגיקה עסקית מותאמת אישית ב-Rust.
  5. אורזים את חבילות השירות, כולל קוד לוגיקת העסק שנוצר או מותאם אישית, בחבילת APEX לפריסה.
  6. מגדירים את הקטלוג לעדכונים אוטומטיים ולתמיכה בסביבת פיתוח משולבת (IDE) ב-Android Studio for Platform‏ (ASfP).

מערכת הטיפוסים של VSIDLC פועלת בשתי רמות: Protobuf ו-VSIDL. ‫Protobuf משמש להגדרת מבני נתונים שמועברים בין יחידות השירות שמוגדרות על ידי VSIDL. בקטע הזה מוסבר איך מוגדרים מבני נתונים ב-VSIDL וב-protobuf.

המאמרים הבאים

הנה מסמכים שכדאי לקרוא בהמשך: