English
نسخه ۳.۰ · انتشار سپتامبر ۲۰۲۶

روش BOUND نسخه ۳.۰

توسعه یکپارچه مبتنی بر مرز

روشی برای مهندسی نرم‌افزار موازی و قابل اعتماد.

BOUND مرزهای مسئولیت را صریح می‌کند، آنچه می‌تواند از این مرزها عبور کند را در قالب قرارداد رسمی می‌کند و به تیم‌های انسانی و عامل‌های هوش مصنوعی اجازه می‌دهد تحت اعتبارسنجی پیوسته، مستقل اجرا شوند.

مرزها را تعریف کنید. قراردادها را تثبیت کنید. مستقل اجرا کنید. پیوسته اعتبارسنجی کنید.

آزادی درون مرزها. انضباط در میان آن‌ها.

معماری نرم‌افزار مهندسی موازی قراردادهای اجرایی مهندسی با کمک هوش مصنوعی
مرزقرارداداجرااعتبارسنجی
مهندسی عامل‌محور / الگوی شکست

عامل‌های کدنویسی سریع‌اند؛ اما فرض‌های مشترک هنوز می‌توانند منحرف شوند.

Claude Code، Codex و دیگر عامل‌های کدنویسی می‌توانند بخش بزرگی از پیاده‌سازی را همزمان پیش ببرند. مسئله، خودِ توسعه عامل‌محور نیست. خطر زمانی ایجاد می‌شود که عامل‌ها، promptها، branchها یا sessionهای جداگانه اجازه داشته باشند برای یک پرسش مشترک سیستمی، پاسخ‌های متفاوت و ناسازگار بسازند.

۰۱

رانش زمینه

طولانی شدن session، خلاصه‌سازی context، handoff یا تغییر prompt می‌تواند فرض‌هایی را که هیچ‌وقت صریح نشده‌اند به‌تدریج تغییر دهد.

۰۲

واگرایی بین عامل‌ها

دو عامل توانمند ممکن است برای schema، خطا، مالکیت، زمان‌بندی، retry یا سازگاری، تصمیم‌های متفاوت اما به‌ظاهر منطقی بگیرند.

۰۳

موفقیت محلی، شکست سیستمی

هر ماژول می‌تواند compile شود و آزمون‌های خودش را پاس کند، اما همچنان فرض یکی از ماژول‌های همسایه را نقض کند.

۰۴

تغییر بی‌صدای قرارداد

یک عامل ممکن است برای باز کردن مسیر کار خود، رابط را «اصلاح» کند؛ در حالی که بخش‌های دیگر هنوز بر معنای قبلی تکیه دارند.

اینجا BOUND وارد می‌شود

BOUND ترمز هوش مصنوعی عامل‌محور نیست؛ سطح کنترلی برای استقلال قابل اعتماد است.

BOUND تصمیم‌های بین‌مرزی‌ای را که عامل نباید مجبور به حدس زدن آن‌ها باشد از ابهام خارج می‌کند. تیم انسانی و عامل کدنویسی هر دو در یک محدوده اجرایی پایدار کار می‌کنند: مالکیت صریح، قراردادهای کنترل‌شده، سند اجرایی تیم و اعتبارسنجی پیوسته.

مرز مسئولیتمشخص می‌کند عامل مالک چه تصمیم‌هایی است.
قراردادآنچه دیگران می‌توانند به آن تکیه کنند تثبیت می‌شود.
Team Briefعامل یک محدوده اجرای دقیق و قابل اقدام دریافت می‌کند.
اعتبارسنجیرانش پیش از تبدیل شدن به شکست یکپارچه‌سازی آشکار می‌شود.
مشاهده اینکه BOUND چگونه اجرای عامل‌محور را کنترل می‌کند ↓

BOUND برای اجرای عامل‌محور

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

مشاهده فاز ۳ →

مشکل، اجرای موازی نیست؛ ابهام در مرزهای مسئولیت است.

تیم‌های مهندسی مدرن می‌توانند نرم‌افزار را سریع‌تر از گذشته تولید کنند؛ اما ظرفیت بیشتر برای پیاده‌سازی، لزوماً به پیشرفت سیستمی منجر نمی‌شود. شکست معمولاً در نقاط اتصال میان بخش‌هایی رخ می‌دهد که به‌صورت مستقل توسعه یافته‌اند.

روش BOUND گفتگوهای مبهم را به مصنوعات مهندسی تبدیل می‌کند: مالکیت تصمیم‌گیری در مرز مسئولیت، تعهدات قابل اتکا در قرارداد فنی (Contract) و اثبات سازگاری در تابع یکپارچه‌سازی (Integration Function).
چه کسی تصمیم می‌گیرد؟
مرز مسئولیت

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

دیگران بر چه چیزی می‌توانند تکیه کنند؟
قرارداد فنی

تعهداتی که از یک مرز مسئولیت عبور می‌کنند؛ از ساختار داده تا زمان‌بندی، خطا و سازگاری.

چگونه سازگاری اثبات می‌شود؟
تابع یکپارچه‌سازی

مکانیزمی که بررسی می‌کند پیاده‌سازی مستقل همچنان با تعهدات قرارداد سازگار است.

“

مهندسی با هماهنگی محدودشده

— Coordination-Bounded Engineering

معماری از مالکیت آغاز می‌شود.

BOUND از تعریف رابط‌ها شروع نمی‌کند؛ ابتدا مشخص می‌کند مسئولیت هر بخش از سیستم متعلق به چه کسی است. یک مرز، حوزه‌های مالکیت را از هم جدا می‌کند؛ قرارداد، رفتار قابل اتکای میان آن‌ها را مشخص می‌سازد.

لایه ۰۱

Boundary · مرز مسئولیت

چه کسی اختیار تصمیم‌گیری دارد؟ مالکیت، اقتدار و پنهان‌سازی اطلاعات.

  • حقوق تصمیم‌گیری
  • اطلاعات خصوصی
  • قابلیت آزمون مستقل
لایه ۰۲

Contract · قرارداد فنی

همسایه‌ها واقعاً به چه چیزی می‌توانند تکیه کنند؟

  • نوع و قالب داده
  • معنای خطا
  • زمان‌بندی و همزمانی
  • راهبرد سازگاری
لایه ۰۳

Integration Function · تابع یکپارچه‌سازی

سازگاری چگونه اثبات می‌شود؟ با آزمون‌های قرارداد و کنترل پیوسته.

  • اعتبارسنجی ماشینی
  • آزمون‌های مصرف‌کننده/ارائه‌دهنده
  • گزارش مهندسی قابل ردیابی

قرارداد چیزی فراتر از امضای API است.

در BOUND، قرارداد هر تعهد قابل اتکایی است که از یک مرز مسئولیت عبور می‌کند. قرارداد شامل ساختار داده، رفتار خطا، زمان‌بندی، همزمانی، مالکیت داده، قالب سریال‌سازی و سازگاری نسخه‌هاست.

01

تثبیت قرارداد

تثبیت قرارداد به معنای غیرقابل‌تغییر بودن نیست؛ بلکه به معنای کنترل‌شده بودن تغییرات است.

02

اجرای مستقل

هر تیم می‌تواند با استفاده از قراردادهای منتشرشده و mockها، مستقل پیاده‌سازی و آزمون کند.

03

اعتبارسنجی پیوسته

مغایرت‌ها نزدیک به تغییری شناسایی می‌شوند که آن‌ها را ایجاد کرده است.

اصول عملیاتی روش BOUND

۰۱

مالکیت قبل از رابط

ابتدا مشخص کنید چه کسی مسئول یک قابلیت است؛ سپس نحوه ارتباط با آن را تعریف کنید.

۰۲

آزادی درون مرزها

تصمیم‌های داخلی آزادند؛ تعهدات عبوری باید صریح و قابل آزمون باشند.

۰۳

تثبیت قرارداد، نه توقف تغییر

تغییر معتبر است، اما باید با تصمیم سازگاری و مسیر مهاجرت همراه باشد.

۰۴

اعتبارسنجی به‌عنوان سازوکار کنترل کیفیت

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

چرخه حیات هفت‌مرحله‌ای BOUND

نام انگلیسی هر مرحله در کنار معادل فارسی حفظ شده است تا اصطلاحات فنی در تیم‌های چندزبانه قابل ردیابی بمانند.

آماده‌سازی حوزه و اجرا · مراحل ۱ تا ۴
اجرا و اعتبارسنجی · مراحل ۵ و ۶
تحویل و نگهداشت · مرحله ۷

BOUND کجا مناسب است و کجا مناسب نیست

مناسب است وقتی:

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

ممکن است زود باشد وقتی:

  • مسئله هنوز در مرحله کشف محصول است.
  • مرزها هر روز تغییر می‌کنند.
  • سیستم کوچک است و هزینه معماری توجیه ندارد.
“

روش BOUND یک قانون جهانی نیست؛ ابزاری برای کاهش ابهام در اجرای مستقل است.

مهندسی با کمک هوش مصنوعی

در BOUND، عامل هوشمند یا توسعه‌دهنده انسانی در یک محدوده اجرایی مشخص فعالیت می‌کند، اما اجازه تغییر بی‌صدا در قراردادهای مشترک را ندارد.

رابط‌ها از مرزهای مسئولیت شکل می‌گیرند.

BOUND ادامه و پالایش مفهومی Interface-First Execution Methodology (IFEM) است. IFEM بر رابط‌ها برای اجرای مستقل تأکید کرد؛ BOUND یک پرسش زودتر می‌پرسد: این رابط نماینده کدام مرز مسئولیت است؟

رابط‌ها از مرزهای مسئولیت شکل می‌گیرند؛ نه اینکه مرزها از روی رابط‌ها استخراج شوند.

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

BOUND ادامه و پالایش مفهومی IFEM است. تفاوت اصلی در ترتیب معماری است: IFEM بر رابط به‌عنوان سازوکار اجرای مستقل تأکید می‌کرد؛ BOUND همین سازوکار را حفظ می‌کند اما یک پرسش زودتر مطرح می‌کند: این رابط نماینده کدام مرز مسئولیت است؟

خیر. تثبیت قرارداد به معنای کنترل تغییر است، نه غیرقابل‌تغییر بودن دائمی. هر بازنگری باید تصمیم سازگاری، نسخه و مسیر مهاجرت مشخص داشته باشد.

بله. به‌ویژه وقتی چند تیم یا عامل هوشمند موازی کار می‌کنند. Team Brief زمینه اجرای محدود، قراردادها، تغییرات مجاز و شواهد پذیرش را مشخص می‌کند.

BOUND جایگزین این مفاهیم نیست. مرز BOUND الزاماً سرویس شبکه نیست؛ bounded context در DDD می‌تواند یک دامنه مسئولیت مناسب باشد و Design by Contract بخشی از رفتار رسمی را پوشش می‌دهد، در حالی که BOUND قرارداد را به schema، پروتکل، خطا، زمان‌بندی، سازگاری و versioning گسترش می‌دهد.

وقتی مسئله بسیار نامطمئن است، مرزها دائماً تغییر می‌کنند، سیستم بسیار کوچک است یا تجزیه معنادار ممکن نیست. اگر هزینه ابهام میان تیم‌ها از هزینه معماری پیشینی بیشتر باشد، BOUND متناسب‌تر است.

منابع و مسیرهای مرتبط

BOUND Method v3.0
توسعه یکپارچه مبتنی بر مرز
Soheil Mozaffari · DOI: 10.5281/zenodo.22257583
Interface-First Execution Methodology
پیشینه مفهومی BOUND
Earlier IFEM publication · DOI: 10.5281/zenodo.20621561