مروری بر VSIDL و میان افزار

زبان تعریف رابط خدمات خودرو (VSIDL) یک زبان مختص دامنه است که بر روی بافرهای پروتکل ساخته شده است. VSIDL برای تعریف رابط‌ها و تعاملات بین بسته‌های خدماتی در یک وسیله نقلیه تعریف‌شده توسط نرم‌افزار (SDV) طراحی شده است. برای اطلاعات در مورد بسته‌های خدماتی، به واحدهای خدماتی و بسته‌های خدماتی مراجعه کنید.

VSIDL رابطی برای تعامل با سرویس‌های سطح پایین‌تر در اکوسیستم SDV فراهم می‌کند. می‌توانید از VSIDL برای مشخص کردن واحدهای سرویسی که با استفاده از RPC (شامل unary، جریان کلاینت و جریان سرور) یا یک تونل داده ارتباط برقرار می‌کنند، استفاده کنید. کد تولید شده توسط VSIDLC، ثبت واحدهای سرویس را با SDV Service Discovery مدیریت می‌کند.

با استفاده از فایل‌های پیکربندی اضافی، کدی که VSIDLC برای بسته‌های سرویس تولید می‌کند، می‌تواند به صورت APEX بسته‌بندی شود که توسط Orchestrator و SDV Lifecycle Manager قابل کنترل است.

پیاده‌سازی سرویس‌های 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 را توضیح می‌دهد.

قدم بعدی چیست؟

اسنادی که ممکن است در ادامه بخوانید عبارتند از: