שפת ההגדרה לבניית ממשק שירותי רכב (VSIDL) היא שפה ספציפית לתחום שמבוססת על מאגרי פרוטוקולים. שפת VSIDL נועדה להגדיר את הממשקים והאינטראקציות בין חבילות שירותים ברכב מוגדר תוכנה (SDV). מידע על חבילות שירות זמין במאמר יחידות שירות וחבילות שירות.
VSIDL מספק את הממשק ליצירת אינטראקציה עם שירותים ברמה נמוכה יותר במערכת האקולוגית של SDV. אפשר להשתמש ב-VSIDL כדי לציין יחידות שירות שמתקשרות באמצעות RPC (כולל unary, client streaming ו-server streaming) או מנהור נתונים. הקוד שנוצר על ידי VSIDLC מטפל ברישום של יחידת שירות ב-SDV Service Discovery.
אפשר לארוז את הקוד ש-VSIDLC יוצר לחבילות שירות כקובצי APEX באמצעות קובצי הגדרה נוספים. אפשר לשלוט בקובצי APEX באמצעות Orchestrator ו-SDV Lifecycle Manager.
הטמעה של שירותי SDV
אלה השלבים ברמה גבוהה להגדרת הממשקים והאינטראקציות בין חבילות שירותים ב-SDV וליצירת חבילות APEX לפריסה:
- מגדירים מבני נתונים בקובצי protobuf (קבצים עם הסיומת
.proto). משתמשים ב-protobuf כדי להגדיר את מבני הנתונים שמועברים בין יחידות השירות שמוגדרות על ידי VSIDL. - מגדירים את ארכיטקטורת השירות בקובצי VSIDL (קובצים עם הסיומות
.vsidl). ה-VSIDL משמש להגדרת חבילות שירות ויחידות שירות. הפניות ל-VSIDL הן לסוגים שהוגדרו על ידי protobuf (שלב 1). - ליצור תוכנת ביניים. תוכנת הביניים מספקת דרך סטנדרטית לשירותים לתקשר ולקיים אינטראקציה זה עם זה.
- הטמעה של לוגיקה עסקית מותאמת אישית ב-Rust.
- אורזים את חבילות השירות, כולל קוד לוגיקת העסק שנוצר או מותאם אישית, בחבילת APEX לפריסה.
- הגדרת הקטלוג לעדכונים אוטומטיים ולתמיכה ב-IDE.
מערכת הטיפוסים של VSIDLC פועלת בשתי רמות: Protobuf ו-VSIDL. הפורמט Protobuf משמש להגדרת מבני נתונים שמועברים בין יחידות השירות שמוגדרות על ידי VSIDL. בקטע הזה מוסבר איך מוגדרים מבני נתונים ב-VSIDL וב-protobuf.
המאמרים הבאים
הנה מסמכים שכדאי לקרוא:
- כדי ללמוד איך להגדיר מבני נתונים ב-protobuf, אפשר לעבור אל הגדרת מבני נתונים.
- כדי להבין את הרכיבים העיקריים של שפת VSIDL, אפשר לעיין במפרט השפה.