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

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

‫VSIDL מספק את הממשק ליצירת אינטראקציה עם שירותים ברמה נמוכה יותר במערכת האקולוגית של SDV. אפשר להשתמש ב-VSIDL כדי לציין יחידות שירות שמתקשרות באמצעות קריאות לפרוצדורות מרוחקות (RPC), (כולל unary,‏ client streaming ו-server streaming), מנהור נתונים או מיפוי שירותי 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.

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

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

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