BDL - زبان تعریف برسا
BDL یا Barsa Definition Language یک زبان ساختیافته و مبتنی بر JSON برای تعریف سیستمهای برسا بهشکل کنترلشده و ماشینخوان است.
بهجای آنکه یک سیستم از طریق تنظیمات دستی و پراکنده توصیف شود، BDL میتواند اجزای اصلی یک سیستم را بهصورت تعاریف ساختیافته نمایش دهد؛ تعاریفی که میتوان آنها را ایجاد، بررسی، اعتبارسنجی، نسخهبندی و با کمک هوش مصنوعی تولید کرد.
BDL برای چه کاری طراحی شده است؟
BDL برای کمک به تیمها در تعریف و توسعه سریعتر سیستمهای برسا طراحی شده است، در حالی که ساختار صریح و قواعد حاکم بر سیستم حفظ میشوند.
یک پروژه BDL میتواند مصنوعاتی مانند موارد زیر را توصیف کند:
- موجودیتها و فیلدها
- فرمها و چیدمانها
- گزارشها
- گردشکارها
- قواعد کسبوکار و فرمانها
- مجوزها و ناوبری
- اعلانها و دادههای اولیه
- کد سیستم
- سایر مصنوعات کنترلشدهای که در نسخه فعال BDL پشتیبانی میشوند
یک پروژه حداقلی BDL
{
"schema": "barsa.definition.v1",
"project": {
"code": "SAMPLE",
"caption": "Sample",
"systemId": "${RESOLVE_SYSTEM_ID}",
"version": "1.0.0"
},
"references": {},
"artifacts": []
}
هر تعریف BDL باید بر اساس مستندات و قراردادهای مربوط به نسخه فعال آن تفسیر شود.
قابلیتها بر اساس لایه بررسی میشوند
در مستندات BDL، مفهوم «پشتیبانی» به یک مقدار ساده بله یا خیر خلاصه نمیشود. وضعیت یک قابلیت ممکن است در چهار لایه مستقل متفاوت باشد:
| لایه | پرسش |
|---|---|
| Native Barsa | آیا خود پلتفرم برسا از این قابلیت پشتیبانی میکند؟ |
| Runtime Support | آیا Runtime فعال میتواند آن را اجرا کند؟ |
| BDL Expressibility | آیا BDL میتواند آن را توصیف کند؟ |
| BDL Authoring Availability | آیا تألیف کنترلشده این قابلیت در دسترس است؟ |
این تفکیک هم برای مؤلفان انسانی و هم برای سامانههای هوش مصنوعی اهمیت دارد.
اهداف مستندات
هدف این مستندات، ارائه مرجع رسمی و معتبر برای موضوعات زیر است:
- نحو و ساختار BDL
- تعریف مصنوعات
- وضعیت دسترسپذیری قابلیتها
- الزامات اعتبارسنجی
- رفتار Runtime
- محدودیتهای تألیف
- تشخیص خطا و عیبیابی
- شکافها و محدودیتهای شناختهشده
- تغییرات وابسته به نسخه
- راهنمای تألیف با هوش مصنوعی
مرحله بعد
برای آشنایی با ساختار سطح بالای یک تعریف BDL و نحوه سازماندهی مصنوعات، به بخش نمای کلی زبان ادامه دهید.