بسته‌های ثابت: قیمت نوشته‌شده، تحویل تاریخ‌دار
← GridSight

IEC 61850 · صفحهٔ فنی

شواهد، معماری و محدودیت‌ها — بدون گرد کردن گوشه‌ها.

این صفحه برای کسی است که می‌خواهد بداند چه چیزی اندازه‌گیری شده، چه چیزی اثبات نشده، و ابزار چگونه آزموده می‌شود. معرفی کوتاه‌تر و کم‌فنی‌تر در صفحهٔ محصول است.

آخرین به‌روزرسانی: ۲۳ آبان ۱۴۰۵

01 / چطور کار می‌کند

چطور کار می‌کند.

چهار گام، از فایل پیکربندی تا گزارش. هر گام یک ورودی روشن دارد و خروجی‌اش همان چیزی است که گام بعد مصرف می‌کند.

  1. 01

    پیکربندی را باز کن

    فایل پیکربندی شبکه را می‌خواند و دستگاه‌ها و ارتباط‌هایشان را نشان می‌دهد — پیش از هر اتصال فیزیکی.

  2. 02

    ترافیک را تحلیل کن

    پیام‌های ثبت‌شدهٔ شبکه را می‌خواند و با همان پیکربندی مقایسه می‌کند.

  3. 03

    تفاوت را ببین

    هر یافته به شاهد خودش وصل است: فریم، فیلد و محل متناظر در پیکربندی.

  4. 04

    گزارش را تحویل بده

    از تحلیل جاری، گزارش HTML می‌سازد: فهرست ایراد و بستهٔ تست، آمادهٔ تحویل.

گزارش تا وقتی ترافیکی تحلیل نشده باشد ساخته نمی‌شود؛ گزارش از چیزی که سنجیده شده ساخته می‌شود.

02 / شاهد

عددی که اندازه گرفته شده، ادعایی که نشده.

همهٔ عددهای این صفحه از یک اندازه‌گیری ثبت‌شده می‌آیند. آزمون‌های پروتکل بدون مقایسه با یک پیاده‌سازی مستقل، فقط خودشان را تأیید می‌کنند؛ پس آزمون‌های GridSight روی بایت‌های کپچر ثالث بسته شده‌اند.

  • ۸۰۴آزمون سبز۰ شکست · ۰ خطا · ۰ رد‌شده
  • ۷۳٫۶٪پوشش خط در کل پروژه۹۲٫۵٪ در ماژول MMS · کف هر ماژول اعمال می‌شود
  • ۵نقص سیم‌فرمت پیدا و رفع‌شدهفقط با مقایسهٔ کپچر ثالث دیده شدند
  • ۰ادعای تعامل‌پذیری بی‌شاهدبدون نشست زنده، هیچ ادعایی نوشته نمی‌شود

اندازه‌گیری ۲۹ اکتبر ۲۰۲۶ روی شاخهٔ کاری interop، با JDK 17 و Gradle 9.3.1؛ هنوز در شاخهٔ اصلی ادغام نشده است.

آنچه هنوز اثبات نشده

  • هیچ نشست زنده‌ای بین GridSight و یک تجهیز واقعی انجام نشده؛ هیچ دستگاهی درخواست GridSight را نپذیرفته است.
  • کپچرهای آزمون، سازنده و نسخهٔ تولیدکنندهٔ خود را اعلام نمی‌کنند؛ پس «کار می‌کند با X» نوشته نمی‌شود.
  • جهت پاسخ (سرور به کلاینت) در کپچرها به‌عنوان دادهٔ مرجع معتبر قابل استفاده نیست و جداگانه آزموده نشده.
  • ثبت و پایش ترافیک MMS عمداً خارج از دامنه است.

03 / معماری

پشتهٔ پروتکل از صفر نوشته شده، بسته‌بندی نشده.

هر لایه یک ماژول Kotlin است. دلیلش ساده است: برای اجرای آفلاین، کنترل روی ASN.1 و نداشتن وابستگی اجرایی بیرونی، نمی‌شود یک کتابخانهٔ سی و یک لایهٔ ناشناخته را بسته‌بندی کرد و اسمش را محصول گذاشت.

  • iec61850-asn1کدک ASN.1/BER و انواع دادهٔ پایه
  • iec61850-mmsMMS روی ISO: COTP، Session، Presentation، ACSE
  • iec61850-gooseناشر و مشترک GOOSE
  • iec61850-svنمونه‌برداری SV (9-2LE)
  • iec61850-sclپارسر و اعتبارسنجی SCL
  • core · capture · diagnosticsمدل، ثبت بسته و موتور تشخیص
  • simulator · ui · cliتجهیز مجازی، رابط دسکتاپ و خط فرمان

نه همهٔ این لایه‌ها کامل‌اند و نه همه یکسان آزموده شده‌اند. وضعیت اندازه‌گیری‌شدهٔ هر کدام در مخزن مستندات ثبت است، نه در این صفحه.

04 / وضعیت عرضه

مسیر عرضه، گام‌به‌گام و بدون تاریخ‌وعده.

ترتیب عمدی است: تا تعامل‌پذیری اثبات نشود، رابط کامل‌تر نمی‌شود. هیچ تاریخی برای عرضه اعلام نشده است.

از هشت گیت عرضه: یک گیت بسته، دو گیت در جریان، پنج گیت پیش‌رو.

  1. G0

    تنظیم و یکدست‌سازیبسته

    درخت تمیز، بیلد سبز، عدد آزمون‌ها ثبت‌شده.

  2. G1

    اثبات تعامل‌پذیریدر جریان

    شواهد کپچر ثالث ثبت شد؛ نشست زنده و نام بردن پیاده‌سازی طرف مقابل باقی است.

  3. G2

    اجرای رابطدر جریان

    پوستهٔ دسکتاپ کامپایل می‌شود و ۲۶۰ آزمون رابط دارد؛ اجرای کامل با یک پیکربندی واقعی هنوز معیار بسته‌شده ندارد.

  4. G3

    گزارشپیش‌رو

    یک پیکربندی، یک گزارش خروجی با فهرست ایراد و بستهٔ تست.

  5. G4

    بسته‌بندی و لایسنسپیش‌رو

    فایل لایسنس، نسخهٔ برچسب‌خورده و بستهٔ نصب.

  6. G5

    دموپیش‌رو

    یک داستان ده‌دقیقه‌ای روی پیکربندی ساختگی، بدون دادهٔ مشتری.

  7. G6

    اولین استفادهٔ پولیپیش‌رو

    یک کاربر بیرونی اجرا کند و پول بدهد — خدمت یا صندلی.

  8. G7

    عرضهٔ عمومیپیش‌رو

    یادداشت انتشار، صفحهٔ محدودیت‌ها و مسیر پشتیبانی.

05 / روش آزمون

چرا آزمون متقارن کافی نیست.

اگر GridSight یک فیلد را اشتباه بنویسد و همان فیلد را اشتباه بخواند، آزمون رفت‌وبرگشت سبز می‌شود و کد غلط است. یک تجهیز واقعی جواب نمی‌دهد و مهندس «پاسخی نیامد» می‌بیند، بدون توضیح.

به همین دلیل آزمون‌های پروتکل روی بایت‌هایی بسته شده‌اند که یک پیاده‌سازی دیگر نوشته است. پنج نقص سیم‌فرمت — از جمله جای اشتباه شناسهٔ درخواست و تگ‌های جابه‌جاشده در فهرست نام‌ها — فقط با همین مقایسه پیدا شد.

یک آزمون گفت‌وگوی ترکیبی هم وجود دارد: پیوند، فهرست نام‌ها، خواندن و آزادسازی، از دو کپچر یک طرف مقابل. هر بایتش ثالث است، ولی دنبالهٔ آن یک نشست ثبت‌شدهٔ واحد نیست و همین در مستندات نوشته شده است.

یادداشت کامل: یک کپچر GOOSE چه چیزی را اثبات می‌کند و چه چیزی را نه ↗

06 / مستندات

همه‌چیز، مکتوب و قابل بررسی.

وضعیت هر گیت، شواهد تعامل‌پذیری، روش آزمون، واژه‌نامه و همهٔ محدودیت‌های شناخته‌شده — از جمله نقص بازی که عمداً رفع نشده — در مخزن مستندات عمومی است.

گام بعدی

اگر تصمیم فنی است، از یک فایل شروع کنیم.

یک پیکربندی نمونه بفرستید؛ همان را باز می‌کنیم، مغایرت‌ها را فهرست می‌کنیم و می‌گوییم GridSight برای این کار چه دارد و چه ندارد.

ترجیح می‌دهید مستقیم پیام بدهید؟

کوتاه بنویسید به چه چیزی نیاز دارید؛ قدم بعدی را با هم روشن می‌کنیم.