<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Fatemeh Yahyaei</title>
        <link>https://virgool.io/feed/@f.yahyaei94</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-15 01:37:02</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/4005681/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Fatemeh Yahyaei</title>
            <link>https://virgool.io/@f.yahyaei94</link>
        </image>

                    <item>
                <title>تحلیل مدل انتشار ایمنی خود-تطبیق در شبکه‌های پیچیده و پویای خودروهای خودران</title>
                <link>https://virgool.io/@f.yahyaei94/%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%D9%85%D8%AF%D9%84-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%DB%8C%D9%85%D9%86%DB%8C-%D8%AE%D9%88%D8%AF-%D8%AA%D8%B7%D8%A8%DB%8C%D9%82-%D8%AF%D8%B1-%D8%B4%D8%A8%DA%A9%D9%87-%D9%87%D8%A7%DB%8C-%D9%BE%DB%8C%DA%86%DB%8C%D8%AF%D9%87-%D9%88-%D9%BE%D9%88%DB%8C%D8%A7%DB%8C-%D8%AE%D9%88%D8%AF%D8%B1%D9%88%D9%87%D8%A7%DB%8C-%D8%AE%D9%88%D8%AF%D8%B1%D8%A7%D9%86-teyhfz99shgy</link>
                <description>فاطمه یحیائی رودبارکیچکیدهدر سال‌های اخیر با گسترش کاربرد خودروهای خودران (Self-Driving Cars) در محیط‌های پیچیده شهری، تضمین اولویت بخشی ایمنی (Safety) در کنار حفظ عملکرد (Performance) مطلوب به یکی از چالش های مهم پژوهشی تبدیل شده است. به همین خاطر انتشار به‌موقع و قابل‌اعتماد پیام‌های ایمنی (مانند هشدارهای تصادف یا شرایط ترافیکی) در این شبکه‌ها به‌ویژه در محیط‌های شهری با تراکم بالا، همچنان یک موضوع بسیار اساسی محسوب می‌شود. ماهیت پویا و غیرقطعی محیط، از جمله تغییرات شرایط آب‌وهوایی، رفتار غیرقابل پیش‌بینی کاربران جاده و محدودیت‌های ذاتی حسگرها به دلیل مواردی شامل تحرک بالا، تغییرات سریع توپولوژی و شرایط بحرانی غیر قابل‌ پیش‌بینی موجب می‌شود، مدل‌های مرسوم انتشار مانند مدل‌های اپیدمی کلاسیک SIR و SIS که بر پایه فرض ثبات پارامترها طراحی شده‌اند، دیگر کارایی لازم را نداشته و اغلب دچار تاخیر بالا و اتلاف منابع می‌شوند و به همین خاطر پایداری لازم و توان سازگاری با شرایط متغیر شبکه را ندارند.این پژوهش با هدف پرکردن شکاف ذکر شده، یک مدل انتشار ایمنی خود-تطبیق Self-Adaptive Safety) Dissemination) برای شبکه‌های پیچیده و پویای خودروهای خودران ارائه می‌دهد که در آن هر خودرو به‌عنوان یک عامل تصمیم‌گیرنده محلی، نرخ انتشار پیام را به‌ صورت پویا و متناسب با وضعیت شبکه تنظیم می‌کند. این مدل با درنظرگرفتن عواملی نظیر چگالی ترافیک، پایداری لینک‌های ارتباطی و شدت شرایط بحرانی، مکانیزمی تطبیقی برای کنترل بار شبکه و افزایش قابلیت اطمینان انتشار فراهم می‌آورد. ساختار انتشار به‌ صورت خوشه‌ای طراحی شده و تعاملات درون‌خوشه‌ای (Intra‑Cluster) و بین‌خوشه‌ای (Inter‑Cluster) به‌ طور مجزا مدیریت می‌شوند تا از بروز پدیده‌هایی نظیر طوفان پخشی (Broadcast Storm) و ازدحام ارتباطی جلوگیری شود.مدل پیشنهادی، علاوه بر قابلیت تحلیل نظری، بستری مناسب برای ارزیابی شبیه‌سازی و توسعه‌های آینده مبتنی بر یادگیری تقویتی (Reinforcement Learning) فراهم می‌کند.کلیدواژه‌ها: شبکه‌های پیچیده پویا، انتشار پیام ایمنی، سیستم های خود-تطبیق، خودروهای خودران، یادگیری تقویتیمقدمهبا پیشرفت سریع سامانه‌های حمل‌ونقل هوشمند و گسترش خودروهای خودران، شبکه‌ی اد-هاک وسایل نقلیه (Vehicular Ad-hoc Networks – VANETs) به‌ عنوان یکی از زیرساخت‌های کلیدی ارتباطی در محیط‌های شهری مطرح شده‌اند. همانطور که در شکل شماره 1 قابل مشاهده است، در این شبکه‌ها، خودروها به‌ عنوان گره‌هایی متحرک و مستقل به‌ صورت پیوسته اطلاعاتی نظیر وضعیت ترافیک، شرایط جاده و پیام‌های ایمنی را از طریق ارتباطات خودرو-به-خودرو (Vehicle-to-Vehicle – V2V) و خودرو-به-زیرساخت (Vehicle-to-Infrastructure – V2I) مبادله می‌کنند. هدف اصلی این تعاملات، افزایش ایمنی، کاهش تصادفات و واکنش سریع به شرایط ایمنی-بحرانی (Safety- Critical) است؛ با این حال، تحقق این اهداف در عمل با چالش‌های بنیادینی همراه است و گاها غیرممکن به نظر می‌رسد.شبکه‌های خودرویی به طور ذاتی پویا و ناپایدار هستند. جابجایی خودروها در هر مقطع زمانی سبب تغییرات سریع توپولوژی شده و همچنین نوسانات شدید چگالی ترافیک و کیفیت متغیر لینک‌های ارتباطی موجب می‌شود ساختار شبکه در بازه‌های زمانی بسیار کوتاه دستخوش تغییرات بسیاری شود. این ویژگی‌ها به‌ویژه در محیط‌های شهری پرتراکم، مانند تقاطع‌ها، بزرگراه‌های چند مسیره و شرایط اضطراری تشدید می گردد. در چنین شرایطی، انتشار به‌موقع و قابل‌اعتماد پیام‌های ایمنی نقشی حیاتی در جلوگیری از بروز حوادث زنجیره‌ای ایفا می‌کند.شکل شماره 1 - شبکه‌ی اد-هاک وسایل نقلیه VANETsبسیاری از روش‌های متداول انتشار پیام ایمنی در VANET، مبتنی بر پخش سراسری (Broadcast-based Dissemination) یا مدل‌های کلاسیک انتشار با پارامترهای ثابت هستند. هرچند این رویکردها از منظر پیاده‌سازی ساده به‌نظر می‌رسند، اما در شبکه‌های پرتراکم و پویا با مشکلاتی نظیر طوفان پخشی ، افزایش تصادم بسته‌ها، اتلاف منابع ارتباطی و کاهش نرخ تحویل پیام مواجه می‌شوند. علاوه بر این، مدل‌های کلاسیک انتشار مانند SIR/SIS توانایی انطباق با تغییرات لحظه‌ای محیط، تصمیم‌گیری مستقل گره‌ها و تفاوت شرایط محلی هر خودرو را ندارند. در نتیجه، کارایی این روش‌ها در سناریوهای ایمنی‌ـ‌بحرانی به‌طور قابل‌توجهی کاهش می‌یابد.از سوی دیگر، تحلیل شبکه‌های خودرویی از منظر شبکه‌های پیچیده نشان می‌دهد که این سامانه‌ها دارای ویژگی‌هایی نظیر ناهمگونی گره‌ها، وابستگی‌های غیرخطی و تعاملات محلی با پیامدهای جهانی هستند. در چنین شبکه‌هایی، رفتار کلی سیستم نه‌تنها به ساختار توپولوژی شبکه، بلکه به نحوه‌ی تصمیم‌گیری محلی هر گره و واکنش آن به شرایط محیطی وابسته است. این مسئله ضرورت حرکت از مدل‌های ایستا و از پیش‌ تعریف‌ شده به‌سوی رویکردهایی خود-تطبیق را برجسته می‌سازد؛ رویکردهایی که در آن‌ها هر گره بتواند رفتار ارتباطی خود را متناسب با وضعیت لحظه‌ای شبکه تنظیم کند. این سازوکار تطبیقی، پویایی انتشار را از یک الگوی ساده به یک رفتار چندحالته تبدیل کرده و باعث عملکرد بهینه می‌شود.در این راستا، ایده‌ی اصلی این پژوهش بر طراحی یک مدل انتشار پیام ایمنی خود-تطبیق در شبکه‌های پیچیده و پویای خودروهای خودران استوار است. در این مدل، هر خودرو به‌عنوان یک عامل هوشمند محلی، نرخ و نحوه‌ی انتشار پیام‌های ایمنی را بر اساس اطلاعات محیطی نظیر چگالی ترافیک، پایداری لینک‌های ارتباطی و شدت شرایط بحرانی تنظیم می‌کند. تصمیم‌گیری‌ها به‌ صورت غیرمتمرکز انجام شده و هدف آن‌ها ایجاد توازن میان قابلیت اطمینان انتشار و کنترل بار شبکه است. به‌منظور افزایش پایداری و کاهش ازدحام، ساختار شبکه به‌ صورت خوشه‌ای مدل‌سازی شده و فرآیندهای انتشار درون‌خوشه‌ای و بین‌خوشه‌ای به‌طور مجزا مورد بررسی قرار می‌گیرند.تمرکز این پژوهش بر ارائه‌ی یک مدل مفهومی و تحلیلی است که بتواند شکاف موجود میان روش‌های کلاسیک انتشار پیام و نیازهای شبکه‌های خودرویی مدرن را پوشش دهد. مدل پیشنهادی، با تکیه بر مفاهیم شبکه‌های پیچیده و سیستم‌های خود-تطبیق، بستری مناسب برای تحلیل، توسعه و ارزیابی روش‌های هوشمند انتشار پیام ایمنی فراهم می‌آورد و می‌تواند به‌عنوان مبنایی برای تحقیقات آینده در حوزه‌ی شبکه‌های خودرویی و سامانه‌های حمل‌ونقل هوشمند مورد استفاده قرار گیرد.ادبیات موضوع / کارهای گذشتهشبکه‌های پیچیده، به‌ویژه شبکه‌های مقیاس-آزاد (Scale-Free) و شبکه‌های دنیای کوچک (Small-World)، چارچوبی قوی برای درک رفتار انتشار (مانند ویروس یا اطلاعات) فراهم می‌کنند. در VANETها، ساختار شبکه به‌طور مداوم به دلیل حرکت خودروها تغییر می‌کند. این پویایی باعث می‌شود که میانگین طول مسیر (Average Path Length) و خوشه‌بندی‌ها به‌طور لحظه‌ای تغییر کنند. خوشه‌بندی یک راهکار متداول برای مدیریت این پویایی است که در آن خودروها برای تسهیل ارتباطات محلی و کاهش سربار کنترل گروه‌بندی می‌شوند.مدل‌های متعددی برای حل این چالش ارائه شده‌اند، اما هر یک با محدودیت‌های ساختاری روبرو هستند که کارایی آن‌ها را در شرایط واقعی زیر سوال می‌برد.مدل‌های انتشار پیام ایمنی اغلب باید قابلیت اطمینان (Reliability) و تاخیر (Latency) را بهینه کنند. مدل‌های متداول شامل دو دسته زیر می‌باشد:مدل‌های مبتنی بر احتمال (Probabilistic Models) که احتمال موفقیت انتقال را بر اساس SNR یا ضریب تضعیف کانال تعیین می‌کنند.مدل‌های مبتنی بر رویداد (Event-Driven Models) که انتشار را تنها در زمان وقوع یک رویداد خاص فعال می‌کنند.یکی از مدل‌های مطرح برای بهبود قابلیت اطمینان انتشار پیام‌های اضطراری، مدل REMD (Reliable Emergency Message Dissemination) است (شکل شماره 2). مدل انتشار پیام اضطراری قابل اعتماد که در سال 2022 ارائه شد، با بهینه سازی تعداد دفعات ارسال مجدد پیام تلاش می‌کند که قابلیت اطمینان را افزایش دهد به همین خاطر با هدف کاهش ارسال‌های غیرضروری و بالابردن قابلیت اعتماد، از یک رویکرد احتمال‌محور برای انتخاب گره‌های ارسال‌کننده استفاده می‌کند. این مدل کیفیت دریافت سیگنال هر خودرو را مورد ارزیابی قرار داده و بر اساس آن، تعداد تكرار بهینه را تعیین می‌نماید.شکل شماره 2 - مدل انتشار پیام اضطراری قابل اعتماد (REMD)REMD، بر تضمین رسیدن پیام به تعداد معینی از گیرندگان تمرکز دارد. این مدل‌ها اغلب بر اساس آستانه‌هایی مانند برد ارتباطی یا تعداد دفعات تکرار تنظیم می‌شوند. کیفیت دریافت به‌ صورت تابعی از نرخ از‌ دست‌رفتن بسته‌ها تعریف می‌شود (تعریف شماره 1):تعریف شماره 1 - محاسبه کیفیت دریافت به کمک تابع نرخ از‌ دست‌رفتن بسته‌های پیامدر تعریف بالا، صورت کسر نشانگر تعداد بسته‌های از‌ دست‌ رفته‌ی خودرو موردنظر و مخرج کسر نمایانگر کل بسته‌های ارسالی/دریافتی آن است. سپس، احتمال انتخاب هر خودرو به‌ عنوان ارسال‌کننده، متناسب با این کیفیت تنظیم می‌شود. در نتیجه پیام‌های اضطراری با بیشترین دقت ممکن و حداقل تکرار موردنیاز منتشر می‌شوند. اگر چه REMD نسبت به پخش سراسری ساده، نرخ تحویل پیام بالاتری دارد، اما وابستگی آن به مدل‌های آماری (مانند توزیع Nakagami‑m) موجب می‌شود در شرایط واقعی شهری، با تاخیرهای غیر قابل‌ پیش‌بینی مواجه شود. علاوه بر این، REMD توانایی انطباق سریع با تغییرات شدید توپولوژی و تراکم را ندارد.مدل انتشار پیام‌های اضطراری مبتنی بر موقعیت مکانی PBE (Position-Based Emergency Dissemination) یکی دیگر از رویکردهای مهم در انتشار پیام‌های ایمنی است که تمرکز آن بر محیط‌های شهری پرتراکم با مسیرهای چندجهته می‌باشد (شکل شماره 3). در این روش، خودروها بر اساس مکان، سرعت و جهت حرکت در قالب خوشه‌هایی سازماندهی می‌شوند. هر خوشه شامل یک سرخوشه (Cluster  Head - CH) و تعدادی اعضای خوشه (Cluster  Member - CM) است که ارتباط بین خوشه‌ها با یک تابع احتمالی کنترل شده در فرآیند انتشار پیام را تعیین می‌نماید و فرض بر این است که اولویت انتشار با رویدادهایی است که در فاصله نزدیک‌تری به خودروها رخ داده‌اند.شکل شماره 3 - مدل انتشار پیام‌های اضطراری مبتنی بر موقعیت مکانی (PBE)این مدل‌ها به خوبی پویایی محیطی را در نظر می‌گیرند اما ممکن است در محیط‌های متراکم دچار ازدحام شوند. به‌ صورت کلی، احتمال موفقیت انتشار پیام می‌تواند به شکل زیر مدل شود (تعریف شماره 2):تعریف شماره 2 - احتمال موفقیت انتشار پیام در مدل PBEکه در آن d فاصله ی بین دو خودروی j و i بوده و v نشان دهنده سرعت و θ نیز جهت خودرو را نشان می‌دهد. مزیت اصلی PBE، کاهش ارسال‌های تکراری و کنترل بهتر طوفان پخشی است. با این حال، این مدل پایداری خوشه‌ها را به‌ صورت کامل در نظر نمی‌گیرد و در مواجهه با خروج ناگهانی خودروها از خوشه (که در محیط‌های شهری با تراکم بالا بسیار رایج است)، کارایی آن کاهش محسوسی می‌یابد. همچنین، PBE تمرکز محدودی بر نقش زیرساخت‌های کنار جاده (RSU) دارد.برخی پژوهش‌ها تمرکز خود را بر استفاده از واحدهای کنار جاده (Road‑Side  Unit - RSU) برای بهبود انتشار پیام ایمنی قرار داده‌اند. مدل زمان‌بندی تطبیقی ​​واحدهای کنار جاده‌ای که در سال 2021 مطرح گردید که به بررسی معماری‌های ترکیبی (V2X) پرداخت (شکل شماره 4).شکل شماره 4 - مدل زمان‌بندی تطبیقی ​​واحدهای کنار جاده‌ای (RSU Adaptive Scheduling)در این دسته از مدل‌ها ایستگاه‌های مرجع به عنوان نقاط ثابت برای مدیریت ترافیک و زمان‌بندی ارسال شناخته می‌شوند. در این رویکردها، به‌طور معمول تابعی برای زمان‌بندی پیام‌ها تعریف می‌شود (تعریف شماره 3):تعریف شماره 3 - تابع زمان‌بندی پیام‌ها در مدل RSU Adaptive Schedulingیک مثال شاخص، مدل زمان‌بندی تطبیقی ​​واحدهای کنار جاده‌ای (RSU Adaptive Scheduling) است که با در نظر گرفتن محدودیت پهنای باند و بار پردازشی RSU، تلاش می‌کند توزیع پیام‌ها را بهینه کند. اگرچه این روش‌ها در محیط‌های دارای پوشش زیرساختی مناسب عملکرد خوبی دارند، اما وابستگی شدید آن‌ها به RSU باعث می‌شود در مناطق فاقد پوشش یا در شرایط ازدحام شدید، کارایی شبکه به‌شدت افت کند. همچنین، تصمیم‌گیری متمرکز با ماهیت غیرمتمرکز VANET تطابق کامل ندارد.برای جمع‌بندی کارهای گذشته، جدول شماره 1، مقایسه‌ای تحلیلی میان مهم‌ترین مدل‌های انتشار پیام ایمنی ارائه می‌دهد:جدول شماره 1 -  تحلیل ویژگی‌ها، مزایا و محدودیت‌های مدل‌های پیشین ارائه شدهنکته مشترک همه این رویکردها این است که برای دنیایی نیمه‌ایستا یا با پویایی محدود طراحی شده‌اند. در حالی که شبکه خودروهای خودران به طور ذاتی کاملا پویا و غیرمتمرکز است.بررسی کارهای گذشته نشان می‌دهد که هر یک از مدل‌های موجود، تنها بخشی از چالش‌های انتشار پیام ایمنی در شبکه‌های خودرویی پویا را پوشش می‌دهند. مدل‌های احتمال‌محور فاقد انطباق‌پذیری سریع، مدل‌های خوشه‌ای با مشکل پایداری مواجه‌اند و رویکردهای متمرکز به زیرساخت وابستگی بالایی دارند. این شکاف پژوهشی، ضرورت ارائه‌ی یک مدل انتشار خود-تطبیق، غیرمتمرکز و سازگار با پویایی شبکه‌های پیچیده را برجسته می‌سازد؛ مدلی که بتواند تصمیم‌گیری محلی، پایداری انتشار و کنترل بار شبکه را به‌ صورت هم‌زمان در نظر بگیرد. مدل پیشنهادی علاوه بر کاهش تلفات بسته‌ها (Packet  Loss)، می‌بایست تعداد  درخواست‌های غیرضروری به زیرساخت را نیز کاهش دهد.روش پیشنهادیدر این پژوهش، تمرکز اصلی بر طراحی و تحلیل یک مدل انتشار پیام ایمنی در شبکه‌های خودرویی شهری بوده است که بتواند با ماهیت پویا، پرتراکم و غیر قابل‌ پیش‌بینی VANET مورد تطابق قرار گیرد. نقطه‌ی حائز اهمیت برای انجام این کار، مشاهده‌ی کلیدی شکاف تحقیقاتی مورد نظر است که در بسیاری از روش‌های موجود، اگرچه از نظر مفهومی صحیح هستند، اما در عمل به دلیل اتکای بیش از حد به پارامترهای ثابت، فرض پایداری خوشه‌ها یا وابستگی به زیرساخت، در سناریوهای واقعی شهری دچار افت عملکرد می‌شوند. بنابراین، هدف ما علاوه بر بهبود یک پارامتر خاص، طراحی و تحلیل یک مدل خود-تطبیق، غیرمتمرکز و مبتنی بر تصمیم‌گیری محلی بود که بتواند نقص مورد نظر را پوشش داده و رفتار انتشار پیام را در لحظه و متناسب با وضعیت شبکه تنظیم کند.تحلیل یک شبکه جاده‌ی واقعی (مانند شبکه جاده‌ای کالیفرنیا) می‌تواند کمک شایانی به طراحی مدل پیشنهادی نماید. این شبکه با داشتن ۱,۹۶۵,۲۰۶ تقاطع و ۲,۷۶۶,۶۰۷ جاده، نمونه‌ای ایده‌آل برای شبیه‌سازی شرایط ترافیکی و محدودیت‌های جغرافیایی یک سیستم حمل و نقل واقعی را ارائه می‌دهد. میانگین درجه (Average Degree) ۲.۸۱ و قطر شبکه (Diameter) برابر با ۸۵۲ است و این اعداد نشانگر آن است که انتشار پیام در چنین محیطی نیاز به پرش‌های متوالی و استفاده هوشمند از گلوگاه‌های حیاتی دارد. همچنین محاسبه شاخص‌های مرکزیت مانند مرکزیت درجه (Degree Centrality)، بینابینی (Betweenness Centrality) و نزدیکی (Closeness Centrality) سبب شناسایی نقاط حساس شبکه می‌شود، نقاطی که اگر در مدل انتشار در نظر گرفته شوند، کارایی سیستم به شدت افزایش می‌یابد.برای رسیدن به این هدف، VANET به‌ صورت یک شبکه‌ی پیچیده‌ی وابسته به زمان مدل‌سازی شد که در آن، هر خودرو به‌عنوان یک گره پویا و هوشمند به طور دائم در حال جابه‌جایی بوده و یال‌ها (لینک‌های ارتباطی) با تغییر موقعیت، تراکم و شرایط کانال شکل می‌گیرند و یا ممکن است از بین بروند. در چنین مدلی، رفتار کلان شبکه حاصل برهم‌کنش تصمیم‌های محلی خودروهاست، بدون آن‌ که به یک نهاد متمرکز وابسته باشد. بر همین اساس، هر خودرو به‌عنوان یک عامل مستقل می‌تواند بر اساس اطلاعات محلی خود، درباره‌ی ارسال یا عدم ارسال مجدد پیام ایمنی تصمیم‌گیری کند.شبکه موردنظر بدین شکل است (تعریف شماره 4):تعریف شماره 4 - شبکه مدل پیشنهادی به‌ صورت یک گراف پویادر این گراف، V(t) مجموعه خودروهای حاضر در زمان t و E(t) لینک‌های ارتباطی فعال بین خودروها (V2V) یا خودرو و زیرساخت ها (V2I) است.این گراف دارای ویژگی‌های زیر است:تغییر مداوم درجه‌ی گره‌هاخوشه‌بندی محلی ناشی از جریان ترافیکوابستگی رفتار کلی شبکه به تصمیم‌های محلی گره‌هانقطه قوت روش پیشنهادی ذکر شده نسبت به کارهای گذشته، تعریف یک نرخ انتشار پویا و خود-تطبیق برای هر خودرو است. برخلاف مدل‌های کلاسیک که نرخ انتشار را ثابت یا صرفا تابعی از یک توزیع احتمالاتی از پیش‌ تعریف‌ شده در نظر می‌گیرند، در این کار نرخ انتشار تابع مستقیم از وضعیت لحظه‌ای خودرو و محیط پیرامون آن است.برای آن‌که هر خودرو بتواند رفتار انتشار خود را متناسب با شرایط محیطی تنظیم کند، وضعیت آن در هر لحظه با سه متغیر کلیدی توصیف می‌شود: متغیر اول، چگالی محلی شبکه در اطراف هر خودرو است. این پارامتر نشان می‌دهد که خودروی مورد نظر در یک محیط کم تراکم است یا در ناحیه‌ای قرار دارد که با تعداد همسایگان زیادی در ارتباط بوده و خودروهای زیادی در اطراف آن حرکت می‌کنند. به‌ صورت ریاضی، چگالی محلی خودرو i در زمان t به شکل زیر تعریف می‌شود (تعریف شماره 5):تعریف شماره 5 - چگالی محلی خودروکه در آن N(t) مجموعه‌ی همسایگان خودرو i در زمان مورد نظر و R برد ارتباطی و یا به عبارت دیگر شعاع موثر ارتباط بی‌سیم است. این متغیر نقش مهمی در کنترل طوفان پخشی دارد، زیرا افزایش بیش از حد چگالی، به طور مستقیم احتمال برخورد بسته‌ها و ازدحام کانال را افزایش می‌دهد.متغیر دوم، پایداری لینک‌های ارتباطی خودرو است. این پارامتر برای آن در نظر گرفته شد که صرف تعداد همسایگان معیار مناسبی برای تصمیم‌گیری نیست؛ بلکه کیفیت ارتباط با آن‌ها نیز بسیار حائز اهمیت است. پایداری لینک به‌ صورت میانگین کیفیت لینک‌های خودرو با همسایگانش تعریف می‌شود (تعریف شماره 6):تعریف شماره 6 - پایداری لینک‌های ارتباطی خودرومطابق با فرمول مورد نظر L(t) نشان‌دهنده کیفیت لینک بین خودروهای i و j است و می‌تواند نمایانگر معیارهایی مانند نرخ دریافت موفق بسته یا کیفیت کانال باشد. این متغیر باعث می‌شود خودروهایی که ارتباطات پایدارتری دارند، نقش فعال‌تری در انتشار پیام ایفا کنند.متغیر سوم، شدت شرایط بحرانی پیام ایمنی است. همانطور که واضح است، قطع به یقین همه‌ی پیام‌های ایمنی از نظر فوریت یکسان نیستند؛ برای مثال، هشدار تصادف زنجیره‌ای یا حضور ناگهانی مانع در تقاطع، اهمیت بسیار بیشتری نسبت به یک پیام اطلاع‌رسانی عمومی دارد. این شدت C(t) به‌ صورت یک پارامتر نرمال‌ شده در بازه [0,1] تعریف می‌شود که هرچه مقدار آن بالاتر باشد بدین معناست که پیام مورد نظر از فوریت و اهمیت بیشتری برخوردار است.بر اساس این سه متغیر، نرخ انتشار خود-تطبیق برای هر خودرو به‌ صورت زیر تعریف شد (تعریف شماره 7):تعریف شماره 7 - نرخ انتشار خود-تطبیق برای هر خودرودر این رابطه، β0​ نرخ پایه‌ی انتشار و α، δ و λ ضرایب وزنی هستند که میزان تاثیر هر مولفه را مشخص می‌کنند که قابل تنظیمی و یادگیری است. این فرمول، پایه ی اصلی روش پیشنهادی است؛ زیرا به هر خودرو اجازه می‌دهد بر اساس شرایط واقعی و لحظه‌ای شبکه، رفتار انتشار خود را تنظیم کند، بدون آن‌که نیاز به هماهنگی سراسری یا اطلاعات جهانی داشته باشد و می‌توان گفت برخلاف REMD و PBE که از پارامترهای ثابت یا مدل‌های آماری ایستا استفاده می‌کنند، نرخ انتشار ثابت یا صرفا آماری نبوده و در این مدل βi(t) به‌ صورت لحظه‌ای و محلی تنظیم می‌شود.از سوی دیگر، برای افزایش مقیاس‌ پذیری و کنترل بهتر انتشار، ساختار شبکه به‌ صورت خوشه‌ای در نظر گرفته شد. خوشه‌ها به‌طور پویا و بر اساس ویژگی‌هایی نظیر موقعیت خودرو، جهت حرکت آن و سرعت نسبی مدنظر شکل می‌گیرند و برخلاف بسیاری از مدل‌های کلاسیک، فرض پایداری بلندمدت برای آن‌ها در نظر گرفته نمی‌شود. این موضوع باعث تطابق مدل با محیط شهری واقعی می‌شود به گونه ای که جابه‌جایی‌ های ناگهانی و فروپاشی خوشه‌ها کمترین تاثیر را بر روی عملکرد مدل می‌گذارد.انتشار پیام ایمنی در این مدل به دو سطح تفکیک می‌شود: تعاملات درون‌خوشه‌ای (Intra-Cluster Interactions) و تعاملات بین‌خوشه‌ای (Inter-Cluster Interactions). در انتشار درون‌خوشه‌ای، هدف این مرحله، پوشش سریع اعضای خوشه با حداقل ارسال تکراری است. هر گره، داده‌های محلی خود و همچنین وضعیت خوشه را محاسبه کرده و به CH ارسال می‌کند. CH با جمع‌آوری داده‌ها، نرخ انتشار متوسط را توسط پارامترهای موردنظر را محاسبه کرده β intra را تعیین می‌کند (مطابق با تعریف شماره 8). به عبارت دیگر، درون هر خوشه، رهبر خوشه (سرخوشه) وظیفه دریافت پیام‌های اولیه و تصمیم‌گیری در مورد نرخ انتشار محلی را دارد.تعریف شماره 8 - انتشار درون‌خوشه‌ایγ intra​ یک ضریب کنترلی کمتر از یک است. اگر مقدار محاسبه شده زیاد باشد، پیام مشابه رویکرد REMD برای اطمینان از رسیدن پیام به تمام اعضا، به سرعت در خوشه پخش می‌شود اما اگر مقدار آن پایین باشد به منزله ی فروپاشی خوشه مدنظر است و CH ممکن است بنا به صلاحدید شبکه، به‌طور موقت نرخ را افزایش داده تا پیام را قبل از فروپاشی به محیط اطراف برساند.در مقابل، انتشار پیام ایمنی خارج از مرزهای خوشه یک چالش کلیدی است. در این قسمت، نقش گره‌های مرزی (Boundary Nodes) و RSU ها بسیار حائز اهمیت است. RSU Scheduling ها به عنوان نقاط اتصال پایدار عمل می‌کنند و هنگامی که یک پیام ایمنی از یک خوشه به RSU می‌رسد، RSU با استفاده از روش های زمان‌بندی، زمان و نرخ انتشار (برای جلوگیری از تداخل با دیگر ارتباطات V2I/V2V) را تنظیم می‌کند. از سوی دیگر، انتقال از یک خوشه به خوشه مجاور از طریق گره‌های مرزی انجام می‌شود. گره مرزی با محاسبه نرخ انتشار متوسط نسبت به مرکز خوشه همسایگان، نرخ انتشار β inter را تنظیم می‌کند (مطابق با تعریف شماره 9). اگر گره مرزی تشخیص دهد که رویداد بسیار مهم است اما پایداری ارتباط با خوشه مبدا ضعیف است، نرخ را به سمت مقدار بالاتر سوق می‌دهد تا از شکاف ارتباطی ایجاد شده، جلوگیری کند.تعریف شماره 9 - انتشار بین‌خوشه‌ایاین تفکیک، امکان کنترل دقیق‌تر تعادل میان پوشش پیام و سربار شبکه را فراهم می‌کند و همچنین سبب کاهش تلفات بسته‌ها و افزایش کنترل‌پذیری انتشار می‌شود.الگوریتم انتشار به‌ صورت کاملا غیرمتمرکز اجرا می‌شود (شکل شماره 5). هر خودرو پس از دریافت پیام ایمنی، ابتدا وضعیت محلی خود را ارزیابی کرده، نرخ انتشار را محاسبه کرده و سپس بر اساس یک فرآیند تصمیم‌گیری احتمالاتی، تصمیم به ارسال یا عدم ارسال پیام می‌گیرد. این منطق تصمیم‌گیری به‌گونه‌ای طراحی شده که حتی در شرایط تراکم بسیار بالا نیز از انفجار تعداد پیام‌ها جلوگیری شود، در حالی که در شرایط بحرانی یا لینک‌های پایدار، انتشار سریع و قابل‌اعتماد حفظ گردد.شکل شماره 5 - پیاده سازی اولیه مدل پیشنهادیارزیابی و تحلیل روش پیشنهادیپس از طراحی مدل انتشار خود-تطبیق و پیاده‌سازی منطق تصمیم‌گیری غیرمتمرکز برای خودروها، گام بعدی ارزیابی عملکرد این روش در شرایطی نزدیک به محیط‌های واقعی شهری بود. هدف از این ارزیابی، صرفا نمایش بهبود یک شاخص خاص نیست، بلکه به بررسی رفتار کلی مدل در مواجهه با پویایی شبکه، تغییرات تراکم و سناریوهای مختلف ایمنی می پردازد؛ به‌گونه‌ای که مشخص شود آیا مدل پیشنهادی می‌تواند به‌عنوان یک راه‌حل عملی و مقیاس‌پذیر در VANET در نظر گرفته شود یا خیر؟سناریوی شبیه‌سازی و محیط آزمایشبرای راستی آزمایی مدل پیشنهادی، فاز شبیه‌سازی بر مبنای یک محیط پویا و پیچیده مورد طراحی قرار گرفته است. از نظر پیاده‌سازی و ارزیابی، برای نزدیک شدن هرچه بیشتر به شرایط واقعی، از یک چارچوب شبیه‌سازی چندلایه استفاده شده و حرکت خودروها و سناریوهای ترافیکی شهری با استفاده از (Simulation of Urban MObility - SUMO) شبیه‌سازی گردید تا الگوهای جابه‌جایی و تقاطع‌های شلوغ تا حدامکان به سناریوی واقعی شبیه شوند. همچنین ساختار گراف شبکه و تحلیل ویژگی‌های شبکه پیچیده (مانند وضعیت ارتباطی لحظه‌ای شبکه (بر اساس برد ارتباطی)) به صورت دوره‌ای استخراج شده و منطق تصمیم‌گیری، محاسبه متغیرها و اجرای الگوریتم انتشار به عنوان یک گراف پویا به کتابخانه NetworkX در محیط Python پیاده‌سازی گشت. این کار سبب می‌شود تا محاسبه معیارهای شبکه‌های پیچیده مانند ضریب خوشه‌بندی محلی، مرکزیت بینابینی برای شناسایی گره‌های حیاتی و همچنین پویایی درجه اتصال (Degree Dynamics) فراهم شده و به کمک متریک های نامبرده شناسایی شبکه راحت تر شود. این ترکیب ابزارها امکان تحلیل دقیق رفتار مدل در سناریوهای مختلف شهری را فراهم کرد. در نهایت، روش پیشنهادی به‌گونه‌ای طراحی شده است که قابلیت توسعه نیز داشته باشد و می‌توان گفت، به‌طور خاص برای دستیابی به بهترین تنظیم برای وزن‌ها و پارامترهای آستانه، از چارچوب یادگیری تقویتی استفاده شد که براساس بازخورد عملکرد گذشته در نظر گرفته شده است، به‌طوری که خودرو بتواند در طول زمان رفتار انتشار خود را بهینه‌تر کند. این ویژگی، مدل را از یک روش صرفا تحلیلی به یک مدل تطبیقی و هوشمند ارتقا می‌دهد.معیارهای ارزیابیبرای ارزیابی جامع عملکرد روش پیشنهادی در انتشار پیام‌های ایمنی، می‌بایست مجموعه‌ای از معیارهای کمّی انتخاب گردد تا هر یک، یکی از ابعاد کلیدی کارایی، پایداری و مقیاس‌پذیری سیستم را پوشش دهد. انتخاب این معیارها به‌گونه‌ای انجام شده است که هم کیفیت انتشار پیام و هم بار هزینه‌های متحمل شده توسط شبکه را به‌ صورت هم‌زمان نشان دهد.نرخ تحویل پیام (Packet Delivery Ratio – PDR) : نرخ تحویل موفق پیام، نسبت تعداد خودروهایی که پیام ایمنی را در بازه‌ی زمانی مجاز دریافت کرده‌اند به کل خودروهای هدف در سناریو است . این معیار نشان‌دهنده‌ی قابلیت اطمینان انتشار پیام بوده و بالاخص در سناریوهای ایمنی-بحرانی اهمیت بسزایی دارد؛ چرا که بروز هرگونه نقص در دریافت پیام و یا تاخیر می‌تواند منجر به تصمیم‌گیری نادرست یا از دست رفتن فرصت واکنش شود و خسارات جبران ناپذیری را رقم بزند.تاخیر متوسط انتشار (Average Dissemination Delay) به میانگین زمانی ای اطلاق می‌شود که طول می‌کشد پیام ایمنی از منبع به سایر خودروها برسد.تاخیر انتشار، به طور مستقیم با کارایی واکنش سیستم در سناریوهای بحرانی مرتبط است و نقش تعیین‌ کننده‌ای در جلوگیری از تصادف‌های ثانویه و زنجیره‌ای دارد.سربار شبکه (Network Overhead) به تعداد کل پیام‌های ارسال‌شده (شامل پیام‌های تکراری و بازپخش‌ها) در طول فرآیند انتشار گفته می‌شود. این معیار، میزان احتمال بروز ازدحام، مصرف منابع شبکه و برخورد بسته‌ها را نشان می‌دهد و برای ارزیابی مقیاس‌پذیری روش در تراکم‌های بالا ضروری است.علاوه بر معیارهای عددی فوق، پایداری رفتاری سیستم در سناریوهای پرتراکم نیز باید مورد بررسی قرار گیرد. این معیار به‌صورت کیفی و کمّی رفتار روش پیشنهادی را در جلوگیری از طوفان پخشی، افت ناگهانی نرخ تحویل موفق پیام و نوسان شدید تاخیر مورد ارزیابی قرار می‌دهد.این معیارها امکان مقایسه‌ی درست میان روش پیشنهادی و رویکردهای کلاسیک را فراهم می‌کنند.برای آن‌ که ارزیابی معنادار باشد، عملکرد روش پیشنهادی با سه دسته رویکرد مرجع مورد مقایسه قرار می‌گیرد:۱) انتشار مبتنی بر Broadcast ساده که به عنوان baseline و بیانگر آسان ترین و پرکاربرد ترین شیوه‌ی انتشار پیام در VANET است که فاقد هرگونه کنترل تطبیقی بر نرخ بازپخش می‌باشد.۲) مدل‌های احتمالاتی کلاسیک مشابه REMD که تلاش می‌کنند با استفاده از احتمال بازپخش، سربار شبکه را کاهش دهند اما به طور معمول از پارامترهای ثابت یا نیمه‌ثابت استفاده می‌کنند.۳) روش‌های خوشه‌محور با نرخ انتشار ایستا که با تکیه بر ساختار خوشه‌ای، انتشار پیام را کنترل می‌کنند اما اغلب فرض پایداری خوشه‌ها را در طول زمان در نظر می‌گیرند.نکته‌ی حائز اهمیت برای مقایسه‌ی رویکردهای موجود یکسان نگه داشتن پارامترهای شبیه‌سازی تا حد امکان است تا تفاوت نتایج صرفا ناشی از منطق انتشار بوده و تنظیمات محیط تاثیری بر روی آن نگذارد.تحلیل نتایجنتایج شبیه‌سازی نشان می‌دهد که روش پیشنهادی در اغلب سناریوها، تعادل بهتری میان پوشش پیام و سربار شبکه برقرار می‌کند به گونه ای که در شرایط پرتراکم، مدل خود-تطبیق با کاهش هوشمند نرخ انتشار در نواحی شلوغ از انفجار پیام‌ها جلوگیری می‌کند، در حالی که Broadcast ساده با افزایش نمایی تعداد پیام‌ها و برخورد بسته‌ها مواجه می‌شود. این رفتار تطبیقی موجب شد که نرخ تحویل موفق پیام در تراکم‌های بالا پایدارتر و با افت کمتر نسبت به روش‌های کلاسیک باقی بماند. از نظر تاخیر انتشار، در برخی سناریوهای کم‌تراکم تفاوت معناداری میان روش‌ها مشاهده نشد اما در سناریوهای بحرانی شهری و پرتراکم، روش پیشنهادی توانست پیام‌های ایمنی را سریع‌تر و با نوسان کمتر به خودروهای هدف برساند.همچنین تحلیل سربار شبکه نشان می‌دهد که تفکیک انتشار درون‌خوشه‌ای و بین‌خوشه‌ای تاثیر بسیار قابل‌ توجهی در کاهش پیام‌های تکراری دارد. این قضیه در حالی است که مدل‌های خوشه‌محور کلاسیک به دلیل فرض پایداری خوشه‌ها در شرایط تغییر سریع ساختار شبکه دچار افت عملکرد می‌شوند اما روش پیشنهادی با خوشه‌بندی پویا و تصمیم‌گیری محلی، انعطاف‌پذیری بیشتری از خود نشان می‌دهد.در شرایط بحرانی، مدل پیشنهادی تا 30 درصد سریع‌تر از روش‌های مبتنی بر تکرار پیام عمل کرد و همچنین با جلوگیری از ارسال پیام‌های تکراری غیرضروری، بار شبکه تا 40 درصد کاهش یافت.رفتار مدل در سناریوهای پویایکی از بخش‌های مهم ارزیابی، بررسی واکنش مدل به تغییرات ناگهانی مانند ورود ناگهانی خودروها به یک تقاطع، بروز تصادف زنجیره‌ای یا افزایش لحظه‌ای تراکم بود در چنین سناریوهایی نتایج نشان می‌دهد که مدل پیشنهادی بدون نیاز به تنظیم مجدد دستی پارامترها، به‌ صورت طبیعی خود را با شرایط جدید وفق می‌دهد پس می‌توان گفت این ویژگی، نشان‌ دهنده‌ی هم‌خوانی مدل با ماهیت خودسازمان‌ یافته‌ی شبکه‌های پیچیده و پویا است.به‌طور کلی، ارزیابی‌ها نشانگر آن است که روش پیشنهادی نه‌تنها از نظر عددی در معیارهایی مانند PDR و سربار شبکه بهبود ایجاد می‌کند، بلکه از نظر رفتاری نیز پایدارتر و قابل‌ اعتمادتر از رویکردهای کلاسیک عمل می‌کند. نکته‌ی مهم‌تر آن است که مدل توانسته بدون تکیه بر کنترل متمرکز یا پارامترهای ثابت، رفتار انتشار پیام را با شرایط واقعی شبکه تطبیق دهد. این ویژگی، روش پیشنهادی را به گزینه‌ای مناسب برای توسعه‌ی مسیرهای پژوهشی آینده و کاربردهای عملی در VANET تبدیل می‌کند.جمع‌بندی و نتیجه‌گیریدر این پژوهش، مسئله انتشار بهینه پیام‌های ایمنی در شبکه‌های خودرویی شهری به عنوان یکی از چالش‌های اساسی در حوزه شبکه‌های پیچیده پویا مورد بررسی قرار گرفته و ماهیت شبکه‌های VANET که با تحرک دائمی خودروها در معابر شهری، تغییر سریع توپولوژی شبکه و نوسانات شدید تراکم ترافیکی همراه است، طراحی یک روش انتشار قابل اعتماد را به مسئله‌ای چندبعدی و دشوار تبدیل کرده است. در چنین محیط پویایی، یک سیستم انتشار پیام ایمنی باید بتواند به صورت همزمان پوشش مناسب پیام، تاخیر کم و سربار شبکه قابل کنترل را تضمین کند؛ موضوعی که روش‌های سنتی مانند SIS/SIR قادر به حل آن نیست.نتایج این پژوهش نشان می‌دهد که رویکردهای کلاسیک، چه روش‌های مبتنی بر انتشار ساده و چه مدل‌های احتمالاتی ایستا، اگرچه پیاده‌سازی ساده‌ای دارند و پیچیدگی چندانی ندارند، اما در سناریوهای واقعی شهری عملکرد پایدار و قابل قبولی از خود نشان نمی‌دهند. این روش‌ها در شرایط پرتراکم با افزایش ناگهانی حجم پیام‌های ارسالی، برخورد بسته‌ها و افت شدید نرخ تحویل پیام مواجه می‌شوند و در نتیجه قابلیت اطمینان سیستم‌های ایمنی را به میزان قابل توجهی کاهش می‌دهند. این مسئله به خوبی نشان می‌دهد که استفاده از قوانین ثابت و غیر انعطاف‌پذیر با ویژگی‌های شبکه‌های خودرویی سازگار نیست.به همین دلیل، در این مقاله یک مدل انتشار خود-تطبیق، غیرمتمرکز و مبتنی بر تصمیم‌گیری محلی ارائه شد و هدف این مدل علاوه بر پوشش نقاط ضعف رویکردهای پیشین، تطبیق رفتار انتشار پیام با وضعیت لحظه‌ای شبکه است. در این مدل، هر خودرو به عنوان یک عامل مستقل عمل کرده و نرخ انتشار پیام ایمنی را بر اساس اطلاعات محلی خود تنظیم می‌کند. این رویکرد نیاز به کنترل متمرکز یا دید سراسری از شبکه را حذف کرده و با ساختار توزیع‌شده شبکه‌های خودرویی سازگاری کامل دارد. در مدل پیشنهادی، نرخ انتشار پیام ایمنی به صورت پویا و به عنوان تابعی از چگالی محلی شبکه، پایداری لینک‌های ارتباطی و شدت شرایط بحرانی پیام تعریف می‌شود. این تعریف پویا باعث می‌شود که سیستم در شرایط پرتراکم، به صورت طبیعی نرخ بازپخش پیام را کاهش داده و از بروز طوفان پخشی جلوگیری کند. در مقابل، در شرایط اضطراری یا سناریوهای کم‌تراکم، سیستم با افزایش نرخ انتشار، پیام‌های ایمنی را سریع‌تر به خودروهای هدف منتقل می‌سازد. این رفتار نشان می‌دهد که مدل پیشنهادی به جای کاهش بی‌ضابطه پیام‌ها، تصمیم‌گیری آگاهانه و وابسته به شرایط محیطی انجام می‌دهد.از دیگر ویژگی‌های مهم روش پیشنهادی، تفکیک فرآیند انتشار پیام به دو سطح درون‌خوشه‌ای و بین‌خوشه‌ای است. در این طراحی، خوشه‌بندی شبکه به صورت پویا انجام می‌شود و هیچ پیش‌فرضی درباره پایداری بلندمدت خوشه‌ها در نظر گرفته نمی‌شود. سیستم می‌تواند خود را با فروپاشی یا شکل‌گیری مجدد خوشه‌ها تطبیق دهد، بدون اینکه دچار افت شدید عملکرد شود. همین رویکرد باعث می‌شود مدل در محیط‌های شهری با تحرک بالا و تغییر سریع ساختار شبکه، عملکرد پایدارتری نسبت به روش‌های خوشه‌محور کلاسیک داشته باشد.از سوی دیگر، وابستگی حداقلی مدل پیشنهادی به زیرساخت‌های ارتباطی ثابت و عدم اتکا به تجهیزات کنار جاده‌ای، کاربردپذیری آن را در سناریوهایی که پوشش زیرساختی کامل وجود ندارد افزایش می‌دهد. این ویژگی باعث می‌شود روش پیشنهادی نه تنها برای محیط‌های شهری ایده‌آل، بلکه برای شرایط واقعی و غیرایده‌آل نیز مناسب باشد.نتایج ارزیابی مبتنی بر شبیه‌سازی که با استفاده از SUMO برای مدل‌سازی حرکت خودروها و NetworkX برای تحلیل ساختار شبکه انجام شده، نشان می‌دهد که مدل پیشنهادی در مقایسه با روش‌های مرجع، به ویژه در شرایط پرتراکم، سربار شبکه و تعداد پیام‌های تکراری را به طور معناداری کاهش می‌دهد. در عین حال، نرخ تحویل موفق پیام و تاخیر انتشار در سطحی پایدار حفظ می‌شوند. این نتایج نشان می‌دهد که بهبود عملکرد مدل صرفا ناشی از کاهش تعداد پیام‌ها نیست، بلکه نتیجه مدیریت هوشمندانه فرآیند انتشار است به گونه ای که می‌توان گفت مدل ذکر شده تا 30 درصد سریع‌تر از روش‌های مبتنی بر تکرار پیام عمل کرده و سبب کاهش بار شبکه تا 40 درصد شده است.نکته حائز اهمیت این است که رفتار تطبیقی مدل در مواجهه با تغییرات ناگهانی شبکه، مانند افزایش لحظه‌ای تراکم یا وقوع رخدادهای بحرانی، بدون نیاز به تنظیم مجدد دستی پارامترها حفظ می‌شود. این ویژگی نشان می‌دهد که مدل پیشنهادی با اصول شبکه‌های پیچیده و خودسازمان‌یافته همخوانی دارد؛ جایی که رفتار کلان سیستم از تعاملات محلی اجزا شکل می‌گیرد.در مجموع، این پژوهش نشان می‌دهد که استفاده از مفاهیم خود-تطبیقی و تصمیم‌گیری محلی می‌تواند مسیر مناسبی برای طراحی الگوریتم‌های انتشار پیام ایمنی در شبکه‌های خودرویی شهری فراهم کند. مدل ارائه‌شده علاوه بر قابلیت پیاده‌سازی عملی، بستر مناسبی برای توسعه‌های آینده نیز ایجاد می‌کند. در ادامه این مسیر، می‌توان از روش‌های یادگیری تقویتی برای تنظیم هوشمند پارامترها استفاده کرد و عملکرد مدل را در مقیاس‌های بزرگ‌تر و سناریوهای واقعی‌تر مورد ارزیابی قرار داد.منابع و مآخذLi, Y., Liu, J., &amp; Wang, F.-Y. (2020). Modeling information propagation in connected vehicle networks: A complex network perspective. منتشر شده در مجله IEEE Transactions on Intelligent Transportation SystemsHartenstein, H., &amp; Laberteaux, K. P. (2010). A tutorial survey on vehicular ad hoc networks: Communications, applications, and security. منتشر شده در مجله IEEE Communications MagazineLim, J., Pyun, D., Choi, D., Bok, K., &amp; Yoo, J. (2023). Efficient dissemination of safety messages in vehicle ad-hoc network environments. منتشر شده در PreprintsSanti, P., Braginsky, D., &amp; Bai, F. (2021). Modeling and simulation of routing in vehicular ad-hoc networks: A survey. منتشر شده در مجله IEEE Transactions on Intelligent Transportation Systems.Zhou, H., Ma, X., &amp; Peng, L. (2024). Adaptive reliability mechanism for emergency message dissemination in VANETs. منتشر شده در مجله IEEE AccessBiswas, S., &amp; Tatchikou, R. (2006). Vehicle-to-vehicle wireless communication protocols for enhancing highway traffic safety. منتشر شده در مجله IEEE Communications MagazineYang, Q., Lim, A., &amp; Zhang, K. (2017). Reliable emergency message dissemination in vehicular ad hoc networks. منتشر شده در مجله IEEE Transactions on Vehicular TechnologyTorrent-Moreno, M., Mittag, J., Santi, P., &amp; Hartenstein, H. (2009). Vehicle-to-vehicle communication: Fair transmit power control for safety-critical information. منتشر شده در مجله IEEE Transactions on Vehicular TechnologyHagberg, A., Swart, P., &amp; Chult, D. S. (2008). Exploring network structure, dynamics, and function using NetworkX. منتشر شده به صورت گزارش فنی در Los Alamos National LaboratoryStanford Network Analysis Project. (—). California Road Network. منتشر شده به صورت منبع آنلاین.</description>
                <category>Fatemeh Yahyaei</category>
                <author>Fatemeh Yahyaei</author>
                <pubDate>Fri, 13 Feb 2026 00:10:39 +0330</pubDate>
            </item>
                    <item>
                <title>ضرورت معماری‌های خودتطبیق‌پذیر در دنیای مدرن</title>
                <link>https://virgool.io/@f.yahyaei94/%D8%B6%D8%B1%D9%88%D8%B1%D8%AA-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%D9%87%D8%A7%DB%8C-%D8%AE%D9%88%D8%AF%D8%AA%D8%B7%D8%A8%DB%8C%D9%82-%D9%BE%D8%B0%DB%8C%D8%B1-%D8%AF%D8%B1-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D9%85%D8%AF%D8%B1%D9%86-ze1i1dup9tca</link>
                <description>در عصر حاضر، نقش نرم‌افزار در سیستم‌های حیاتی بیش از پیش گسترش یافته است. از خودروهای هوشمند گرفته تا زیرساخت‌های ابری، شبکه‌های ارتباطی، سامانه‌های سلامت، و حتی ابزارهای خانگی در خانه هوشمند، همگی وابسته به نرم‌افزارهایی هستند که باید با تغییرات پیوسته و گاه غیرقابل پیش‌بینی محیط روبه‌رو شوند.در چنین شرایطی، سیستم‌هایی که تنها بر اساس قوانین از پیش تعریف‌شده عمل می‌کنند، ناکارآمد یا حتی خطرآفرین خواهند بود.در این صورت یک مفهوم تحت عنوان سیستم‌های خودتطبیق‌پذیر (Self-Adaptive Systems) مطرح می‌شود. این نوع سیستم‌ها طوری طراحی می‌شوند که بتوانند در زمان اجرا (runtime)، رفتار و ساختار خود را بدون دخالت مستقیم انسان با شرایط جدید سازگار نمایند. چنین سیستم‌هایی نه‌تنها خطاها را شناسایی و اصلاح می‌کنند، بلکه در برخی موارد عملکردشان را بهینه می‌کنند و در برابر اختلالات یا تهدیدات واکنش نشان می‌دهند.سیستم‌های خودتطبیق‌پذیر با هدف افزایش پایداری (Stability) و انعطاف‌پذیری (Flexibility) نرم‌افزار در برابر ناپایداری‌های محیطی طراحی می‌شوند. این قابلیت معمولا در سیستم‌هایی حیاتی است که:       منابعشان محدود و ناپایدار است.       داده‌های ورودی همیشه کامل یا قابل اعتماد نیست.       نیاز به تصمیم‌گیری سریع و دقیق وجود دارد.       اهداف سیستم ممکن است در زمان اجرا تغییر کند.معماری چنین سیستم‌هایی، دیگر نمی‌تواند تنها متکی بر الگوهای سنتی طراحی نرم‌افزار باشد. بلکه باید از ابتدا طوری طراحی شوند که چرخه‌های بازخورد، تصمیم‌گیری در زمان اجرا، و مدیریت تطبیق در ساختار آن‌ها تعبیه شده باشد.شکل شماره 1 - معماری مفهومی یک سیستم نرم‌افزاری خود-تطبیق‌پذیر* هدف پروژه و دامنه کاربرد در سیستم‌های خود تطبیق پذیردر عصر حاضر، بسیاری از سیستم‌های نرم‌افزاری دیگر فقط برای اجرای مجموعه‌ای از وظایف ثابت طراحی نمی‌شوند، بلکه باید بتوانند در شرایط گوناگون، خود را تنظیم کرده و عملکرد خود را حفظ و بهینه کنند. این توانایی به‌ویژه در سیستم‌هایی که با شرایط متغیر محیطی یا منابع محدود روبه‌رو هستند، اهمیت بیشتری دارد. سیستم‌های خود تطبیق پذیر که باید در بازه‌های زمانی محدود و دقیق تصمیم‌گیری کنند، از جمله‌ی این موارد هستند.هدف اصلی این پروژه، طراحی یک مدل مفهومی معماری نرم‌افزاری خودتطبیق‌پذیر است که توانایی واکنش مناسب و سریع به شرایط بحرانی و تغییرات ناگهانی را داشته باشد. این مدل برای کاربرد در محیط‌های بلادرنگ مانند خودروهای خودران در نظر گرفته شده است، جایی که تصمیم‌گیری نادرست یا تاخیر در سازگاری با محیط می‌تواند عواقب جبران‌ناپذیری داشته باشد. برای دستیابی به این هدف، تمرکز بر ایجاد مدلی بوده که هم از نظر تئوری در چارچوب‌های علمی ، دارای اعتبار بوده و هم از نظر کاربردی قابل انطباق با محیط‌های عملیاتی واقعی مانند خودروهای خودران باشد.* سه گام کلیدی برای طراحی معماری پیشنهادیبه همین خاطر به منظور دستیابی به هدف ذکر شده ، پروژه بر اساس سه گام اساسی شکل گرفته است:    1 - مرور چارچوب‌های نظری موجود و مفاهیم بنیادین معماری‌های تطبیقی    2 - تحلیل نیازها و چالش‌های سیستم‌های بلادرنگ، به‌ویژه خودروهای خودران    3 - طراحی یک مدل مفهومی پیشنهادی و مقایسه آن با چارچوب‌های موجود1 - مرور چارچوب‌های نظری موجود و مفاهیم بنیادین معماری‌های تطبیقی* رفتارهای کلیدی در سیستم‌های خودتطبیق‌پذیرپیش از آنکه با چارچوب های نظری موجود در حوزه سیستم های خودتطبیق پذیر آشنا شویم، باید بدانیم برای اینکه یک سیستم را « خودتطبیق پذیر » تلقی شود، رفتارهایی وجود دارند که باید در سطح عملکرد سیستم مشاهده شوند. خودروهای خودران یکی از مثال های خوب و کاربردی برای سیستم‌های خودتطبیق پذیر نام برده می‌شود. برخی از این رفتارها که در مطالعات مختلف به‌عنوان ویژگی‌های کلیدی شناخته شده‌اند، عبارت‌اند از :خودپیکربندی (Self-configuration): به قابلیت تنظیم خودکار اجزای سیستم هنگام شروع به کار یا در مواجهه با تغییرات خودپیکربندی گفته می شود. به عنوان مثال در خودروهای خودران به صورت اتصال یک سنسور جدید یا تغییر محل اجرای یک سرویس مشاهده می شود.خودترمیمی(Self-healing): خودترمیمی به معنای شناسایی و بازیابی از خطاها به‌صورت خودکار می باشد. در نظر داشته باشید، به عنوان نمونه اگر ارتباط با GPS قطع شود، سیستم به داده‌های جایگزین سوئیچ کند یا مسیر را به حالت ایمن تغییر دهد.خودبهینه‌سازی(Self-optimization): توانایی سیستم در بهبود عملکرد، کاهش مصرف منابع، یا بهینه‌سازی رفتار بر اساس شرایط عملیاتی، خودبهینه سازی می گوییم. مانند کاهش مصرف انرژی در صورت کاهش بار پردازش.خودمحافظتی(Self-protection): خودمحافظتی نیز به معنای هرگونه مقابله با تهدیدهای امنیتی یا شرایط خطرناک است. در خودروهای خودران، این می‌تواند به معنی تشخیص شرایط لغزندگی و فعال کردن کنترل پایداری باشد.* مروری بر چارچوب‌های معماری مطرحدر طول سال‌های گذشته، پژوهشگران متعددی سعی کرده‌اند راه‌حل‌هایی معماری برای ساخت سیستم‌های خودتطبیق‌پذیر ارائه دهند. نتیجه‌ی این تلاش‌ها به شکل چارچوب‌هایی کارآمد درآمده که هریک با دیدگاهی متفاوت به مسئله‌ی مورد نظر نگاه کرده‌اند. در این پروژه، چهار چارچوب اصلی مورد بررسی قرار گرفتند که بیشترین استناد و استفاده را در حوزه پژوهش و صنعت داشته‌اند:چارچوب MAPE-K : پایه‌گذار معماری‌های تطبیقییکی از اولین مفاهیمی که باید درین حوزه فرا گرفت، چرخه MAPE-K است. این چرخه ساده‌ترین و پایه‌ای‌ترین چارچوب نامبرده می شود که ساختار آن به عنوان، پیشنهادی برای طراحی سیستم‌هایی است که نیاز به انطباق دارند، نام برده می شود. این چارچوب توسط IBM در زمینه Autonomic Computing ارائه شد و به‌سرعت به عنوان الگویی استاندارد در طراحی سیستم‌های تطبیقی پذیرفته شد.چرخه MAPE-K از پنج مولفه اصلی تشکیل شده است:1. Monitoring (پایش)2. Analysis (تحلیل)3. Planning (برنامه‌ریزی)4. Execution (اجرا)5. Knowledge (پایگاه دانش)+ در مرحله ی نخست همانطور که از نام آن پیداست، این مولفه وظیفه دارد که داده‌های مرتبط با عملکرد سیستم و شرایط محیطی را به‌صورت مستمر جمع‌آوری و پایش کند. این داده‌ها می‌توانند شامل اطلاعاتی از منابع سخت‌افزاری (CPU، حافظه)، شبکه، سنسورها، و حتی ورودی‌های کاربر باشند.+ سپس در این مرحله دوم ، سیستم بررسی می‌کند که آیا داده‌های جمع‌آوری‌شده نشان‌دهنده‌ی تغییری در وضعیت مورد نظر هستند یا خیر. به عبارت دیگر، داده ها را مورد تحلیل قرار می دهد. اگر تغییری مشاهده شود، این ماژول باید تعیین کند که چه اقدامی صورت بپذیرد. تحلیل می‌تواند بر پایه ی قوانین از پیش تعیین شده، مدل‌محور یا مبتنی بر یادگیری ماشین باشد.نکته مهم در این میان این است که تحلیل در MAPE-K در سیستم‌های کلاسیک معمولا ایستا بوده، اما در مدل پیشنهادی پروژه، به کمک یادگیری ماشین ارتقا یافته تا تطبیق‌پذیری بیشتری ایجاد شود.+ در مرحله سوم، سیستم گزینه‌های مختلف واکنش را مورد بررسی قرار می دهد و مناسب‌ترین تصمیم را بر اساس وضعیت موجود و سیاست‌های تعریف‌شده انتخاب می‌کند. در صورت فراگیری ماشین، برنامه‌ریزی ممکن است شامل استفاده از الگوریتم‌هایی نظیر بهینه‌سازی، جست‌وجوی چند گزینه‌ای یا روش‌های سلسله‌مراتبی باشد.+ در نهایت، در مرحله چهارم، ماژول اجرا، تصمیم نهایی را عملی می‌کند. این می‌تواند شامل فعال‌سازی یا غیرفعال‌سازی مولفه‌های موجود، تنظیم پارامترهای داخلی، یا حتی بازآرایی مجدد(reconfiguration) ساختار سیستم باشد.+ همه مراحل بالا نیازمند اطلاعات، قوانین و تجربه هستند. این اطلاعات در مولفه‌ی دانش نگهداری شده و ممکن است به صورت دستی تعریف شده یا از طریق یادگیری در طول زمان به‌روزرسانی شوند.شکل شماره 2 - مدل مرجع MAPE-K شرکت IBMRainbow:  توسعه‌یافته‌تر و با تمرکز بر معماری سیستممعماری Rainbow توسط Garlan و همکاران وی پیشنهاد شد. این چارچوب بر پایه MAPE-K ساخته شده اما با افزودن یک زبان خاص به نام Stitch، امکان تعریف سیاست‌های انطباق‌پذیر را نبز فراهم می‌کند. مزیت بزرگ این چارچوب، پشتیبانی از بازپیکربندی معماری در زمان اجرا است، که در شرایط تغییر گسترده در ساختار سیستم بسیار حیاتی و ضروری تلقی می شود.شکل شماره 3 - مروری بر معماری چارچوب RainbowDiVA:  مبتنی بر مدل رانه (Model-Driven)چارچوب DiVA بیشتر در فاز طراحی مورد استفاده قرار می‌گیرد. در این رویکرد، مدل‌هایی از رفتار سیستم تعریف می‌شوند و تطبیق به‌عنوان بخشی از تحلیل مدل انجام می‌گیرد. مزیت DiVA در فرمال‌سازی بالا و قابلیت شبیه‌سازی دقیق پیش از پیاده‌سازی است، اما در مواجهه با شرایط ناپایدار زمان اجرا عملکرد مناسبی ندارد.شکل شماره 4 - مروری بر معماری چارچوبDiVAZanshin:  مبتنی بر اهداف (Goal-Oriented)Zanshin رویکردی هدف‌محور (goal-oriented) دارد و برخلاف دیگر چارچوب‌ها، روی «انحراف از اهداف» به‌عنوان محرک اصلی انطباق تمرکز می نماید. این معماری در مواقعی که اهداف سیستم قابل فرموله شدن هستند و ممکن است اولویت‌ها تغییر کنند، بسیار مفید است. به عنوان مثال اگر هدف اولیه «کاهش مصرف انرژی» باشد ولی در وضعیت اضطراری، «افزایش ایمنی» در اولویت قرار گیرد.شکل شماره 5 - مروری بر معماری چارچوب Zanshin* مقایسه تطبیقی چارچوب‌هابرای درک بهتر نقاط قوت و ضعف هر یک از این چارچوب‌ها و انتخاب مناسب‌ترین گزینه برای کاربردهای مختلف، خوب است یک جدول تحلیلی کنیم. این جدول با بیان ویژگی‌های کلیدی، قابلیت‌ها و محدودیت‌های هر چارچوب را در چند معیار مهم با هم و مقایسه آن ها به ما کمک می کند که در مدل پیشنهادی نکات حائز اهمیت را ذکر نماییم.جدول شماره 1 - جدول مقایسه تطبیقی چارچوب‌هاهمانطور که در جدول بالا قابل مشاهده است، بر اساس تحلیل‌های نظری، بررسی معماری‌های موجود، و مطالعه موردی سیستم‌های خودروهای خودران، معماری پیشنهادی این پروژه بر پایه چارچوب MAPE-K طراحی شده است.چراکه ، با توجه به بررسی چارچوب‌های موجود و نقاط قوت و ضعف هرکدام، نیاز به یک معماری خودتطبیق‌پذیر خاص با ویژگی‌های منحصر به فرد در حوزه کاربردی مورد نظر احساس می‌شود.2 - تحلیل نیازها و چالش‌های سیستم‌های بلادرنگ، به‌ویژه خودروهای خودران* نیازهای خاص معماری برای خودروهای خودرانپیش از پرداختن به اجزای اصلی معماری پیشنهادی خوب است نیاز های کلیدی معماری در سیستم‌های خودرو خودران را بیان کنیم. بر اساس تحلیل منابع و مقالات معتبر و بررسی ویژگی‌های سیستم‌های واقعی، معماری طراحی‌شده برای خودروهای خودران باید مجموعه‌ای از ویژگی‌های کلیدی را در بر داشته باشد. نخست آن‌که، تحلیل داده‌ها باید به‌صورت بلادرنگ و با حداقل تاخیر انجام شود، که این امر می‌تواند از طریق به‌کارگیری ماژول‌های تحلیل سریع یا یادگیری ماشینی تحقق یابد. همچنین، سیستم باید قادر به واکنش خودکار و مستقل از مداخله انسانی باشد تا در مواجهه با موقعیت‌های اضطراری، عملکردی با ایمنی بالا و سریع ارائه دهد. ویژگی مهم دیگر، توانایی بازیابی خودکار در شرایط بحرانی یا به اصطلاح Self-healing است که تضمین‌کننده‌ی پایداری عملکرد سیستم در زمان بروز خطا خواهد بود. علاوه بر این، معماری باید به گونه‌ای طراحی شود که حتی در شرایط عدم قطعیت یا در مواجهه با داده‌های ناقص، بتواند تصمیم‌گیری منطقی و قابل اعتماد انجام دهد. شاید برای شما جالب باشد که بدانید، در خودروهای خودران شاهد پارامتر هایی هستیم، که گاها اطلاعاتی از آن ها در دسترس نبوده و تنها به کمک عملکرد ماشین، متوجه تغییرات آن ها می شویم. در نهایت، قابلیت توسعه‌پذیری و انعطاف‌پذیری بالا در برابر شرایط متنوع محیطی، از دیگر الزامات ضروری در طراحی چنین سیستم‌هایی محسوب می‌شود.شکل شماره 6 - عکس تزئینی خودرو خودران3 - طراحی یک مدل مفهومی پیشنهادی و مقایسه آن با چارچوب‌های موجودنکته‌ی حائز اهمیت که در طراحی مدل مفهومی باید در نظر گرفته شود، این است که معماری پیشنهادی این پروژه بر پایه چارچوب MAPE-K می تواند باشد اما برخلاف نسخه‌ی کلاسیک آن، این مدل باید دارای ماژول‌های تقویت‌شده و هوشمندتر است تا بتواند در محیط‌های پیچیده، مانند جاده‌های شهری یا شرایط اضطراری (مانند شرایط بد جوی)، عملکرد پایداری ارائه دهد. مدل مفهومی پیشنهادی بر اساس تحلیل دقیق نیازهای سیستم‌های خودران طراحی شده است و تلاش می‌کند محدودیت‌های چارچوب‌های پیشین را پوشش دهد و قابلیت‌هایی مانند یادگیری، خودترمیمی و تطبیق را به صورت یکپارچه فراهم کند. به عبارت دیگر، متناسب با اطلاعات موجود در کتاب Self-Adaptive Systems نوشته ی Danny Weyns ، ترکیب شدن موج پنجم (عدم قطعیت) و موج هفتم (یادگیری) از هفت موج موجود در این سیستم ها، می تواند کمک شایانی به بهبود عملکرد و ایمنی سیستم های بلادرنگ کند. در ادامه، اجزای اصلی معماری پیشنهادی و نحوه عملکرد چرخه تطبیق آن تشریح خواهد شد.* توضیح اجزای معماری پیشنهادی به تفکیک:1. پایش پیشرفته (Monitoring)در این معماری، ماژول مانیتورینگ نه‌تنها داده‌های پایه را دریافت می‌کند، بلکه با کمک زیرسیستم‌های پردازشی، داده‌ها را از منابع مختلف به‌صورت هم‌زمان ترکیب و پالایش می‌کند. این مانیتورینگ چندمنظوره به سیستم اجازه می‌دهد تا از داده‌های حسگرها، لاگ‌ها و منابع بیرونی (به عنوان مثال سیستم‌های ابری) استفاده کند.2. تحلیل تطبیقی با یادگیری (Analysis)ماژول تحلیل در مدل پیشنهادی یک ماژول ساده rule-based نیست. بلکه ترکیبی از:تحلیل وضعیت فعلیتحلیل روندهای قبلی (رفتار گذشته سیستم)پیش‌بینی وضعیت آیندهاین تحلیل با کمک الگوریتم‌های یادگیری ماشین (مثل random forest یا شبکه‌های عصبی سبک) انجام می‌شود. هدف این است که سیستم بتواند الگوهای پنهان در داده‌ها را شناسایی کرده و پیش‌بینی وقوع خطا یا شرایط بحرانی را ممکن کند.برای مثال: اگر عمل ترمز و میزان فاصله از خودرو جلویی در شرایط خاص از الگو خارج شود، سیستم قبل از برخورد واکنش نشان دهد.3. برنامه‌ریزی چند‌هدفه (Planning)در معماری کلاسیک، برنامه‌ریزی به طور معمول با مجموعه‌ای از if-then‌های از پیش‌تعریف‌شده انجام می‌شود. اما در این مدل، برنامه‌ریز با توجه به شرایط:چند گزینه‌ی مختلف را در نظر می‌گیرداثر هر گزینه را روی چند هدف مختلف (ایمنی، مصرف انرژی، زمان پاسخ) ارزیابی می‌کنداز بین آن‌ها بهترین گزینه را انتخاب می‌کنداین فرآیند در برخی موارد به کمک الگوریتم‌های تصمیم‌گیری چند‌هدفه (Multi-objective decision-making) پیاده‌سازی می‌شود.4. اجرا به کمک قابلیت خودترمیمی (Execution)ماژول اجرایی نه‌تنها تصمیم‌ها را اجرا می‌کند، بلکه اگر خطا، هرگونه تاخیر یا اختلال در اجرا رخ دهد، به کمک زیرماژول «Self-Healing» تلاش می‌کند وضعیت را پایدار نگه دارد. این ممکن است شامل:سوییچ‌کردن بین ماژول‌های سخت‌افزاریبازیابی از نسخه‌ی پشتیبانیا ورود به حالت safe mode باشد5. Knowledge (پایگاه دانش پویا)پایگاه دانش در این معماری فقط یک منبع ایستا از قوانین نیست. بلکه با به روز رسانی خود به کمک یادگیری از داده‌ها در زمان اجرا، عملکرد بهتری به نمایش می گذارد.. در واقع، این پایگاه دارای دو بخش است:بخش ایستا (قوانین پایه و اهداف اولیه)بخش پویا (نتایج یادگیری و تجربه‌های گذشته)شکل شماره 7 - دیاگرام مدل مفهومی پیشنهادی* ویژگی‌های کلیدی معماری پیشنهادی:معماری پیشنهادی این پروژه با تمرکز بر نیازهای خاص سیستم‌های خودتطبیق‌پذیر بلادرنگ، به‌ویژه در حوزه‌ی خودروهای خودران، طراحی شده است. یکی از ویژگی‌های برجسته این معماری، پشتیبانی از تحلیل پیش‌بینانه (Predictive Analysis) است؛ به این معنا که سیستم نه‌تنها وضعیت فعلی را پایش می‌کند، بلکه با تحلیل روندها و داده‌های گذشته، قادر است وضعیت‌های بحرانی آینده را پیش‌بینی و برای آن‌ها آماده‌سازی لازم را انجام دهد. دومین ویژگی مهم، سازگاری کامل با الزامات بلادرنگ است؛ اجزای این معماری به‌گونه‌ای طراحی شده‌اند که تصمیم‌گیری و انطباق با تغییرات محیطی در کمترین زمان ممکن و بدون وقفه صورت گیرد. همچنین، این معماری از قابلیت بازیابی خودکار (Self-healing) بهره‌مند است؛ در نتیجه، سیستم می‌تواند در صورت بروز خطا یا خرابی، به‌طور خودکار اقدام به ترمیم و بازگشت به حالت پایدار نماید. نکته قابل توجه دیگر، انعطاف‌پذیری بالای معماری پیشنهادی است که امکان گسترش آن به سایر حوزه‌ها مانند ربات‌های مستقل یا شبکه‌های ارتباطی پویا را نیز فراهم می‌کند. این ویژگی‌ها، معماری پیشنهادی را به گزینه‌ای مناسب برای طیف وسیعی از سامانه‌های هوشمند و حیاتی تبدیل می‌کند و این معماری دقیقا مطابق با نیاز های خاص معماری برای خودرو های خودران نیز می باشد.* ارزیابی معماری در شرایط عدم قطعیت با ابزارهای مدل‌محوردر طراحی معماری‌های نرم‌افزار، به خصوص سیستم‌های خودتطبیق‌پذیر، تحلیل و ارزیابی معماری تنها در سطح طراحی ایستا کافی نیست. زیراکه این سیستم‌ها در زمان اجرا با شرایط متغیر و غیرقطعی مواجه‌اند، و تصمیم‌گیری آن‌ها ممکن است بر پایه‌ی احتمالات، محدودیت‌های زمانی، یا عدم قطعیت محیطی باشد. ابزارهایی مانند PRISM Model Checker و Storm به معماران نرم‌افزار این امکان را می‌دهند که مدل رفتاری سیستم خود را در قالب ساختارهایی مانند Markov Decision Process (MDP) یا CTMC ساخته و سپس احتمال موفقیت سناریوها را بررسی کرده و به دنبال آن، زمان رسیدن به یک وضعیت ایمن را محاسبه کنند. در نهایت بهترین سیاست تصمیم‌گیری را از میان چند گزینه مقایسه کرده و به آن تصمیم عمل نمایند. به عنوان نمونه در این پروژه، از PRISM برای مدل‌سازی یک سناریوی بحرانی در سیستم خودرو خودران استفاده شده است. این مدل امکان تحلیل این موضوع را فراهم می‌کند که معماری پیشنهادی چگونه و با چه احتمالی می‌تواند در شرایط بحرانی رفتار پایدار ارائه دهد.استفاده از PRISM نه‌تنها به تحلیل کمی (probabilistic) سیستم‌ها کمک می‌کند، بلکه امکان مقایسه سیاست‌های تصمیم‌گیری، محاسبه احتمال رسیدن به اهداف سیستم، و تحلیل trade-offها در رفتار تطبیقی را فراهم می‌سازد.به‌منظور نمایش کاربردی بودن این رویکرد در پروژه، در ادامه یک سناریوی نمونه در زمینه‌ی سیستم‌های خودرو خودران طراحی و با استفاده از PRISM مدل‌سازی شده است. هدف از این مدل، تحلیل واکنش معماری پیشنهادی در مواجهه با یک خطای بحرانی — یعنی از کار افتادن سیستم GPS — و بررسی احتمال رسیدن به وضعیت ایمن با استفاده از سه مسیر واکنشی مختلف است. این سناریو نه‌تنها نشان‌دهنده‌ی قابلیت معماری در مدیریت تطبیقی خطاهاست، بلکه امکان ارزیابی دقیق‌تر سیاست‌های خودترمیمی و تحلیل تصمیم‌گیری در زمان اجرا را فراهم می‌کند.تحلیل سناریوی بحرانی (اختلال GPS)برای ارزیابی عملی یکی از رفتارهای معماری پیشنهادی در شرایط بحرانی، یک سناریو نمونه با استفاده از ابزار PRISM مدل‌سازی و تحلیل شد. در این مدل، فرض بر این بود که خودرو در حین حرکت با اختلال در GPS مواجه می‌شود و باید بین سه مسیر واکنشی یکی را انتخاب کند:استفاده از حسگرهای جایگزینورود به حالت ایمن (Safe Mode)تلاش برای بازیابی GPSشکل شماره 8 - مدلسازی سناریو سناریوی بحرانی (اختلال GPS) با استفاده از ابزار PRISMشکل شماره 9 - خروجی و تحلیل مدلسازی سناریو سناریوی بحرانی (اختلال GPS)تحلیل کمینه احتمال رسیدن به وضعیت ایمن، با استفاده از عبارت Pmin=? [ F \&quot;safe\&quot; ]، عدد ۰.۶ (۶۰٪) را برگرداند. این یعنی اگر سیستم بدترین مسیر ممکن را انتخاب کند (مثلاً مسیر بازیابی GPS)، احتمال رسیدن به وضعیت ایمن تنها ۶۰٪ است، که برای یک سیستم بحرانی مثل خودرو خودران، قابل قبول نیست.این تحلیل نشان می‌دهد که انتخاب واکنش مناسب در طراحی ماژول «Planning» نقش حیاتی دارد. معماری باید به‌گونه‌ای طراحی شود که تصمیمات آن نه بر اساس انتخاب تصادفی، بلکه با تحلیل شرایط و سیاست‌های اطمینان‌پذیر (reliability-aware) گرفته شود.همچنین، این خروجی نشان می‌دهد که اگر سیستم از قابلیت یادگیری در زمان اجرا برخوردار باشد، می‌تواند به مرور بفهمد که مسیرهایی مانند «ورود به حالت ایمن» موفق‌تر هستند و سیاست‌های خود را مطابق آن تغییر دهد.استفاده از PRISM در این پروژه، نه‌فقط به‌عنوان ابزار شبیه‌سازی، بلکه به‌عنوان مکمل معماری نرم‌افزار برای تحلیل رفتار زمان اجرا، نقش مهمی در ارزیابی تطبیق‌پذیری معماری پیشنهادی ایفا کرده است.* نتیجه‌گیری و مسیرهای آیندهتحول سریع فناوری‌های نرم‌افزاری و افزایش پیچیدگی محیط‌های عملیاتی، سیستم‌هایی را می‌طلبد که بتوانند در زمان اجرا، بدون مداخله‌ی انسانی و با به کمک توانمندی‌های درونی، رفتار خود را تحلیل و اصلاح کنند. معماری‌های خودتطبیق‌پذیر یکی از مهم‌ترین پاسخ‌ها به این چالش هستند که با ادغام رفتارهای هوشمند، چرخه‌های بازخورد و قابلیت‌های تصمیم‌گیری پویا، بنیان سیستم‌های آینده را شکل می‌دهند.مسیرهای آینده تحقیقاین پروژه، نقطه شروعی برای ادامه‌ی مسیر تحقیقاتی در حوزه‌ی معماری‌های تطبیق‌پذیر است. پیشنهادهایی برای گسترش آینده‌ی پژوهش به شرح زیر است:شبیه‌سازی گسترده معماری پیشنهادیبا استفاده از ابزارهایی مانند PRISM، MATLAB Simulink، یا Unity-based simulators می‌توان رفتار معماری را در سناریوهای متنوع و واقع‌گرایانه بررسی و اصلاح کرد.پیاده‌سازی پروتوتایپ و ارزیابی آنتوسعه‌ی یک نمونه‌ی اولیه (Prototype) از معماری در یک محیط نرم‌افزاری واقعی می‌تواند نتایج مدل مفهومی را به واقعیت نزدیک‌تر کند.استفاده از الگوریتم‌های یادگیری تقویتی (Reinforcement Learning)برای بهبود ماژول برنامه‌ریزی و تحلیل در زمان اجرا، استفاده از RL می‌تواند به سیستم امکان دهد با یادگیری از تجربه‌های قبلی، تصمیمات هوشمندانه‌تر بگیرد.گسترش معماری برای تطبیق چندلایه‌ای (Multi-layer Adaptation)در معماری‌های پیچیده، تطبیق می‌تواند در سطوح مختلف (معماری، داده، شبکه) انجام شود. طراحی معماری‌هایی که این سطوح را یکپارچه مدیریت کنند، از مهم‌ترین موضوعات آینده است.در نهایت، این پروژه نشان داد که پیوند میان طراحی معماری تطبیق‌پذیر و تحلیل رفتاری مبتنی بر ابزارهای رسمی، نه‌تنها امکان‌پذیر است، بلکه می‌تواند به توسعه‌ی سیستم‌های هوشمند و مقاوم در برابر تغییرات کمک بسیاری نماید. چنین رویکردی می‌تواند مسیر توسعه‌ی سیستم‌های هوشمند آینده را هموارتر، قابل اعتمادتر و انعطاف‌پذیرتر کند. آینده‌ی این حوزه وابسته به توانایی ما در درک عمیق‌تر از «یادگیری، تصمیم‌گیری، و خودمدیریتی نرم‌افزار» خواهد بود.* منابع و مآخذWeyns, D. (2019). An Introduction to Self-Adaptive Systems. انتشارات Springer.Garlan, D., Cheng, S.-W., &amp; Schmerl, B. (2004). Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. در مجله IEEE Computer.Salehie, M., &amp; Tahvildari, L. (2009). Self-Adaptive Software: Landscape and Research Challenges. منتشر شده در مجله ACM Transactions on Autonomous and Adaptive Systems.Morandini, M., Penserini, L., &amp; Perini, A. (2009). Towards Goal-Oriented Development of Self-Adaptive Systems. در کارگاه SEAMS، همایش ICSE.Oliveira, D. de, Rubira, C. M. F., &amp; de Lemos, R. (2021). A Conceptual Framework for Behavioral Maps in Self-Adaptive Systems. در مجله Journal of Systems and SoftwareTaheri, S., Ashraf, A., &amp; Jalili, P. (2024). A Survey of Decision-Making and Planning Methods for Self-Driving Vehicles. منتشر شده در مجله ACM Computing Surveys.Zhao, Y., Chen, K., &amp; Wang, H. (2022). World Models for Autonomous Driving: An Initial Survey. در مجله IEEE Access.Souza, R., Reinehr, R. H., &amp; Malucelli, A. (2015). Zanshin: A Requirements-based Monitoring and Adaptation Framework for Self-Adaptive Systems. در مجله Journal of Systems and Software.«این مطلب، بخشی از تمرینهای درس معماری نرم‌ افزار در دانشگاه شهیدبهشتی است»</description>
                <category>Fatemeh Yahyaei</category>
                <author>Fatemeh Yahyaei</author>
                <pubDate>Tue, 15 Jul 2025 20:19:58 +0330</pubDate>
            </item>
                    <item>
                <title>۱۵ مفهوم کلیدی معماری نرم‌افزار</title>
                <link>https://virgool.io/@f.yahyaei94/%DB%B1%DB%B5-%D9%85%D9%81%D9%87%D9%88%D9%85-%DA%A9%D9%84%DB%8C%D8%AF%DB%8C-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-cxlcyb4caxkm</link>
                <description>در دنیای امروز، همانطور که می‌دانید، معماری نرم‌افزار به یکی از رکن‌های اساسی برای ساخت سیستم‌های پیچیده و مقیاس‌پذیر تبدیل شده است. مفاهیمی که در ادامه به آن‌ها اشاره می‌شود، به‌طور مستقیم با عملکرد، مقیاس‌پذیری و کارایی سیستم‌ها در ارتباط هستند. اگر مثل من، به دنبال درک عمیق‌تر و جامع‌تر از اصول معماری نرم‌افزار هستید، این مقاله به معرفی و بررسی 15 مفهوم کلیدی پرداخته و می‌تواند به شما در این راستا کمک کند. چراکه، سعی من بر این بوده که شما را با ابزارها و الگوهای مفید در این حوزه آشنا کنم.مفهوم شماره 1 : Infrastructure as Code (IaC)مفهوم IaC  به معنای مدیریت زیرساخت‌های فناوری اطلاعات (مثل سرورها، شبکه‌ها و دیتابیس‌ها) با استفاده از فایل‌های متنی قابل نسخه‌بندی و به صورت کد به جای تنظیمات دستی است. در این صورت، به‌جای تنظیم دستی منابع و سخت‌افزارها، کافیست  شما این منابع رو با استفاده از زبان‌های برنامه‌نویسی مشخصی (مثل YAML یا JSON) تعریف ‌کنید. ابزارهایی مانند Terraform، Ansible و AWS CloudFormation مورد استفاده قرار گرفته تا زیرساخت به‌شکل خودکار و نسخه‌پذیر مستقر شود. از سری مزیت‌های این رویکرد می‌توان به مواردی نظیر تکرارپذیری بالا ، کاهش خطاهای انسانی ، دقت بیشتر و افزایش سرعت استقرار اشاره کرد.‌‌ با IaC، می‌توانید زیرساخت‌ها را به‌راحتی در محیط‌های مختلف بازسازی کنید و در DevOps، پروژه‌های ابری (Cloud)، و استقرار خودکار سیستم‌ها کاربرد آن را مشاهده کنید.مفهوم شماره 2 : API Gateway &amp; Service Meshدو مفهوم مهم و کلیدی در معماری میکروسرویس‌ها تحت عنوان API Gateway و Service Mesh وجود دارد.  API Gateway همانند یک دروازه ورودی ایفای نقش می‌کند و تمام درخواست‌ها از طریق آن عبور کرده و سپس از طریق آن به سرویس مناسب هدایت می‌شود. همچنین، Service Mesh یه لایه ارتباطی بین سرویس‌هاست که به‌طور خودکار عملکرد سرویس‌ها را نظارت کرده و باعث حل مشکلاتی مثل کشف سرویس‌ها و امنیت ارتباطات می‌گردد. این دو ابزار به‌طور هماهنگ عمل می‌کنند و باعث بهبود سیستم‌های میکروسرویسی می‌شوند. API Gateway از سوی دیگر مواردی نظیر احراز هویت و تجزیه و تحلیل ترافیک را نیز انجام می‌دهد. در حالی که Service Mesh یک لایه اضافی است که مدیریت ارتباطات بین میکروسرویس‌ها را بر عهده دارد. این لایه وظایفی چون load balancingو مانیتورینگ را نیز انجام می‌دهد. مزیت‌هایی مانند بهبود قابلیت مشاهده نیز وجود دارد. البته در این حین افزایش پیچیدگی سیستم به عنوان یک مشکل اصلی و اساسی است. به دلیل وجود دو لایه (API Gateway و Service Mesh)، ممکن است زمان بیشتری برای تنظیم و نگهداری سیستم صرف شود و از سوی دیگر به‌کارگیری همزمان این دو معماری می‌تواند سبب ایجاد سربار پردازشی در شبکه شود.مفهوم شماره 3 : CQRS (Command Query Responsibility Segregation)یک الگوی طراحی به نام CQRS در معماری نرم افزار وجود دارد که به‌طور خاص برای جداسازی وظایف فرمان‌ها (Command) و پرس‌وجوها (Query) طراحی شده است. این الگو به جای استفاده از یک مدل داده برای همه عملیات ها، دو مدل جدا و مجزا برای دو عملیات خواندن و نوشتن تعریف می‌کند. این موضوع به عبارت ساده‌تر می‌تواند به جداسازی عملیات‌هایی که سبب تغییر داده‌ها (مثل افزودن، حذف یا ویرایش) از عملیات‌هایی که فقط اطلاعات رو می‌خوانند، بشوند. از همین‌رو این روش در سیستم‌های پیچیده و مقیاس‌پذیر کاربرد فراوانی دارد. این کار باعث افزایش کارایی و مقیاس‌پذیری می‌گردد، به‌ویژه در سیستم‌هایی که بار خواندن بسیار بیشتر از نوشتن است. از دیگر فواید این مدل طراحی می‌توان به کمک شایان این مدل به  توسعه‌دهندگان برای طراحی مدل‌های پیچیده‌تر برای نوشتن و مدل‌های ساده‌تر برای خواندن اشاره نمود. رویکرد ذکر شده باعث می‌شود تا بتوانیم عملکرد سیستم رو بهینه‌تر کنیم. زیرا عملیات‌های نوشتن و خواندن به‌طور جداگانه مدیریت شده و به همین دلیل سبب ساده‌تر شدن کد‌ها می‌شود. یکی از معایب CQRS ، پیچیدگی پیاده‌سازی و نگهداری این الگو است. هم‌چنین، به هماهنگی دقیق بین دو مدل نیاز است چراکه در صورت عدم پرداختن به این موضوع ، ممکن است منجر به مشکلاتی در همگام‌سازی داده‌ها شود.مفهوم شماره 4 : Event-Driven Architecture (EDA)یک رویکرد طراحی نرم‌افزاری به نام  Event-Driven Architecture (EDA) وجود دارد که همانطور که از نام آن پیداست در آن، سیستم‌ها بر اساس رویدادهایی که در محیط رخ می‌دهند، واکنش نشان می‌دهند. به عبارت دیگر، معماری رویدادمحور بر پایه منتشر شدن رویدادها میان اجزای سیستم هاست. هر جز به‌صورت مستقل به رخدادها واکنش نشان می‌دهد. به‌جای اینکه درخواست‌های همزمان به‌طور مستقیم به سرویس‌ها ارسال شود، سیستم‌های EDAبه‌صورت غیرهمزمان و به تفکیک به رویدادهای خاص واکنش نشان می‌دهند. سرویس‌ها به‌طور مستقل و با به حداقل رساندن وابستگی مستقیم (coupling) به هم کار می‌کنند. به همین خاطر می توان گفت، یکی از مزایای اصلی معماری EDA مقیاس‌پذیری و انعطاف‌پذیری بالای آن است. البته این مدل معماری ، چالش هایی نیز به همراه دارد. یکی از چالش‌های اصلی مدیریت رویدادها و اطمینان از پردازش صحیح آن‌ها می‌باشد. در صورت نداشتن طراحی مناسب، ممکن است با مشکلاتی مثل دوباره‌کاری یا از دست دادن داده‌ها مواجه شوید.مفهوم شماره 5 : Serverless Architectureدر معماری Serverless، شما هیچ نگرانی‌ای برای مدیریت سرورها ندارید. در عوض، هر تابع یا کدی که نوشته می‌شود، در یک محیط ابری به‌طور خودکار اجرا می‌شود. به‌عنوان مثال، در AWS Lambda، شما فقط هزینه پردازش بر اساس تعداد دفعات اجرای تابع را پرداخت می‌کنید، نه برای خود سرورها. این معماری به‌ویژه برای اپلیکیشن‌هایی که نیاز به پردازش‌های کوتاه‌مدت و غیرمداوم دارند، مناسب است. همانطور که واضح است این معماری هزینه‌ها را بر اساس مصرف واقعی کاهش می‌دهد. همچنین مقیاس‌پذیری بالایی نیز در این مدل معماری دیده می‌شود که علت آن وجود توابع به‌طور خودکار به تعداد مورد نیاز است. از دیگر مزایای اصلی آن می توان به توسعه سریع و عدم نیاز به نگهداری زیرساخت اشاره نمود. در مقابل، محدودیت زمانی اجرای توابع، اشکال‌زدایی دشوار و vendor lock-in از جمله معایب آن محسوب می‌شوند.مفهوم شماره 6  : API-first Approachمفهوم API-first Approach به معنای طراحی و توسعه API‌ ها به عنوان اولین گام در فرآیند توسعه نرم‌افزار است. در این روش، همانطور که پیش تر به آن اشاره شد، ابتدا API‌ ها طراحی می‌شوند و تمام سرویس‌ها و قابلیت‌ها روی این API‌ ها ساخته می‌شوند. یعنی به‌جای اینکه ابتدا برنامه و رابط کاربری توسعه پیدا کند، همه چیز بر اساس API‌ های مورد نیاز شکل می‌گیرد. این روش به تیم‌ها این امکان را می‌دهد که به‌طور مستقل و موازی در توسعه سرویس‌ها کار کنند. به‌طور مثال، توسعه‌دهندگان می‌توانند  APIها را به‌طور جداگانه بسازند و بعد از آن با سایر تیم‌ها ادغام کنند. این رویکرد به‌ویژه در معماری میکروسرویسی بسیار مهم تلقی می‌گردد، چون تمامی میکروسرویس‌ها باید با هم ارتباط داشته باشند و API‌ ها نقش اصلی در این ارتباط رو دارند. یکی از مهم‌ترین مزایای این رویکرد این است که توسعه‌دهندگان می‌توانند از ابتدا بر روی  API‌ها تمرکز لازم و کافی را داشته و با طراحی دقیق و مدون API‌ ها، احتمال بروز مشکلات در آینده کاهش پیدا می‌کند. همچنین این رویکرد به توسعه‌دهندگان این امکان رو می‌دهد که رابط کاربری و سرویس‌ها رو به‌طور جداگانه توسعه یابند، چراکه، API‌ ها از ابتدا مشخص شده اند. ولی این موضوع بسیار حساس است. زیرا درصورتی که طراحی اولیه API‌ها دقیق نباشد یا نیازهای پروژه به‌طور کامل در نظر گرفته نشده باشد، ممکن است مشکلاتی در هماهنگی بین سرویس‌ها رخ دهد. همچنین ممکن است در پروژه‌های بزرگ، مدیریت و تغییرات در API‌ ها پیچیده باشد و دشواری در تغییرات پس از شروع توسعه وجود دارد.مفهوم شماره 7  : Domain Driven Designرویکرد Domain Driven Design (DDD) یک رویکرد طراحی نرم‌افزاری است که تاکید زیادی بر مدل‌سازی دقیق و نزدیک به دنیای واقعی دامنه ی مورد نظر دارد. در DDD، تیم‌های توسعه‌دهنده باید از اصطلاحات و مفاهیم خاص دامنه‌ی مورد نظر استفاده کنند تا مدل‌های نرم‌افزاری به‌طور دقیق‌تری با نیازهای واقعی منطبق باشند. پس به همین منظور باید نیاز های دامنه ی کسب و کار به درستی شناسایی شود. این روش کمک می‌کند که پیچیدگی‌های یک سیستم بزرگ و پیچیده به بخش‌های کوچکتر و قابل فهم تقسیم شده و از سوی دیگر طراحی بر اساس دامنه (Domain) باعث شکل‌گیری موثرتر ارتباطات بین تیم‌ها و ذینفعان پروژه می‌شود. همچنین، DDD می‌تواند به کاهش گسستگی‌های اطلاعاتی و بهبود کیفیت مدل‌ها کمک کند. قطع به یقین، این رویکرد نیاز به درک عمیق و جامع از دامنه پروژه و تعاملات پیچیده بین تیم‌ها دارد. پس نیازمند به تمرکز بالا، داشتن تجربه و درک کافی از تمام ابعاد دامنه ی مورد نظر می‌باشد. چرا که بدون موارد ذکر شده، ممکن است پیچیدگی‌های اضافی به سیستم وارد شود که همین موضوع سبب عملکرد ضعیف در ادامه می‌گردد. همچنین، ممکن است به‌طور اولیه زمان زیادی برای طراحی مدل‌ها و توافق روی مفاهیم دامنه صرف شود.مفهوم شماره 8 : Hexagonal Architectureدر معماری نرم افزار ، مفهومی به نام Hexagonal Architecture یا Ports and Adapters، وجود دارد که هدف آن جدا کردن لایه‌های مختلف یک سیستم از هم و برقراری ارتباط میان آن‌ها از طریق درگاه‌ها (Ports) و مبدل‌ها (Adapters) است. در این معماری، سیستم به‌طور مرکزی در یک هسته قرار گرفته و تمام تعاملات با آن از طریق درگاه‌ها و مبدل‌ها انجام می‌شود. این کار به توسعه‌دهندگان این امکان رو می‌دهد که اجزای مختلف سیستم (مثل دیتابیس، سرویس‌های خارجی، یا رابط‌های کاربری) را به‌راحتی تغییر یا به‌روزرسانی کنند بدون اینکه بر روی هسته اصلی سیستم تاثیر گذاشته شود. پس یکی از اصلی‌ترین مزایای این مدل معماری، انعطاف‌پذیری بالای آن است. در این مدل شما به‌راحتی می‌توانید اجزای مختلف سیستم رو تغییر داده یا حتی جایگزین کنید، بدون اینکه به هسته اصلی کد آسیب برسانید. این ویژگی باعث شده که سیستم‌ها به‌راحتی مقیاس‌پذیر بوده و با تغییرات بیرونی به‌خوبی سازگار شوند. مفهوم شماره 9 : Event Sourcingرویکرد Event Sourcing رویکردی است که در آن تغییرات سیستم به‌طور مستقیم به‌عنوان رویدادها (Events) به‌جای وضعیت نهایی داده‌ها ذخیره می شوند، در این معماری، هر تغییری که در سیستم ایجاد شود، به‌صورت یک رویداد ثبت شده و به‌طور دائم نگهداری می‌شود. برای بازسازی وضعیت سیستم در هر لحظه از زمان، فقط کافیست شما رویدادهای مربوطه رو دوباره پردازش کنید. این رویکرد معمولا در سیستم‌های پیچیده و نیازمند به‌دقت بالا استفاده می‌گردد که باید تمام تغییرات و تاریخچه‌ی آن‌ها رو برای پیگیری یا بازیابی اطلاعات داشته باشیم. یکی از بزرگترین مزایای Event Sourcing اینه که به‌راحتی می‌تونید تاریخچه کامل تغییرات سیستم رو داشته باشید و در صورت نیاز، به‌راحتی سیستم رو به هر نقطه‌ای از زمان برگردانیم و اطلاعات را از آن لحظه مورد پیگیری قرار دهیم. به همین خاطر می‌توان گفت، این رویکرد می‌تواند به کاهش خطاها و بهبود شفافیت سیستم کمک شایانی بنماید. در مقابل، نگهداری تعداد زیادی رویداد ممکن است در طولانی مدت باعث بروز مشکلاتی در کارایی سیستم شده و همچنین برای تیم‌های توسعه، مدیریت و نگهداری این رویدادها می‌تواند پیچیده باشد و باعث ایجاد دشواری در گزارش‌گیری مستقیم شود. مفهوم شماره 10 : Low-code/No-code platformsپلتفرم Low-code/No-code به پلتفرم‌هایی اطلاق می‌گردد که به کاربران اجازه می‌دهند بدون نیاز به نوشتن کد پیچیده، برنامه‌های کاربردی را بسازند. در این پلتفرم‌ها، بیشتر کارها با استفاده از رابط‌های گرافیکی انجام شده و کاربران می‌توانند از بلوک‌های آماده برای ساخت اپلیکیشن‌های مختلف استفاده کنند. این پلتفرم‌ها به‌ویژه برای کسانی که تجربه کدنویسی ندارند، مثل افراد کسب‌وکار یا طراحان، مناسب هستند. همانطور که از نام آن‌ها پیداست، بسته به میزان بهره‌مندی کاربر از کدنویسی، پلتفرم مربوطه تغییر می‌کند. ساختن  اپلیکیشن‌های نرم‌افزاری با حداقل میزان کدنویسی تحت پلتفرمی به نام (Low-code) شناخته می‌شود و درصورتی عدم استفاده از هرگونه کدنویسی ، از پلتفرم ذکر شده به عنوان (No-code) نام برده می‌شود. مهم‌ترین مزیت این پلتفرم‌ها، سرعت بالا در توسعه و دسترسی به افراد غیرتخصصی است. با این پلتفرم‌ها، تیم‌های مختلف می‌توانند به‌راحتی اپلیکیشن‌ها رو بسازند و تغییرات رو پیاده‌سازی کنند، بدون اینکه نیاز به توسعه‌دهندگان حرفه‌ای داشته باشند. در مقایسه با کدنویسی سنتی، این پلتفرم‌ها ممکن است محدودیت‌هایی از نظر انعطاف‌پذیری و قابلیت‌های پیچیده داشته باشند. پس اگر پروژه نیاز به ویژگی‌های خاص یا مقیاس‌پذیری بالا داشته باشد، این پلتفرم‌ها ممکن است کارایی لازم رو نداشته باشند.مفهوم شماره 11 : Business Process Management Systems (BPMS)سیتسم های Business Process Management Systems (BPMS) به سیستم هایی گفته می‌شود که برای مدلسازی، پیاده‌سازی، نظارت و بهینه‌سازی فرایندهای کسب‌وکار استفاده می‌شوند. این سیستم‌ها به سازمان‌ها کمک می‌کنند تا فرایندهای داخلی‌ خود را به‌طور کارآمدتر مدیریت کرده، خطاها رو کاهش  و از منابع بهینه استفاده نمایند. یکی از بزرگ‌ترین مزایای BPMSاین است که به سازمان‌ها کمک می‌کند تا فرایندهای پیچیده به‌طور خودکار و بهینه انجام داده شود. این سیستم‌ها باعث افزایش بهره‌وری و کاهش زمان چرخه کاری می‌شوند. همچنین، توانایی نظارت بر وضعیت و عملکرد فرایندها، تصمیم‌گیری بهتر و سریع‌تر را فراهم می‌کند. به‌عنوان مثال، در صنعت بانکداری، BPMSمی‌توان برای مدیریت فرایندهای مربوط به وام‌دهی یا درخواست‌های مشتریان مورد استفاده قرار بگیرد و سبب انجام اتومات و کارآمد فعالیت های مورد نظر گردد. ولی نکته‌ی بسیار مهم در این زمینه امکان زمان‌بر و هزینه‌بر بودن آنهاست. علاوه بر این، برای موفقیت در استفاده از این سیستم‌ها، سازمان‌ها باید فرهنگ و فرآیندهای داخلی خود رو به‌طور جدی تغییر دهند، که در بسیاری از موارد شاهد مقاومت افراد سازمان بوده ایم.مفهوم شماره 12 : Message Queue (such as Kafka and RabbitMQ)سیستم هایی تحت عنوانMessage Queue  هستند که برای انتقال پیام‌ها بین اجزای مختلف نرم‌افزار یا سیستم‌های توزیع‌شده استفاده می‌شوند. پیام‌ها به‌طور asynchronous  در این سیستم‌ها ذخیره شده و بعد توسط گیرنده‌ها مصرف می‌شوند. دو نمونه معروف از این سیستم‌ها Kafkaو RabbitMQ هستند. این سیستم‌ها برای مدیریت بارهای کاری سنگین، مقیاس‌پذیری، و ارتباطات asynchronousمیان سیستم‌ها به کار می‌روند. برای مثال، در یک سیستم وب‌سایت با حجم ترافیک بالا، پیام‌ها می‌تونند برای پردازش‌های بعدی در صف قرار بگیرند.این سیستم‌ها برای پردازش‌های مقیاس‌پذیر بسیار مفید بوده و می‌توانند درخواست‌ها رو به‌طور غیرهمزمان پردازش کنند. همچنین باعث کاهش وابستگی میان سیستم‌ها می‌شوند. یکی از معایب این سیستم‌ها این است که گاها پیچیدگی‌هایی در مدیریت صف‌ها و خطاهای احتمالی بوجود می‌آید. همچنین برای استفاده صحیح از این سیستم‌ها، نیاز به پیکربندی و نگهداری دقیق‌تری وجود دارد. مفهوم شماره 13 : Container orchestration (such as Kubernetes)مفهومContainer Orchestration  به فرایند مدیریت و خودکارسازی استقرار، مقیاس‌پذیری و مدیریت کانتینرها در محیط‌های توزیع‌شده اشاره دارد. یکی از ابزارهای معروف در این زمینه Kubernetesاست که برای مدیریت کانتینرهای Docker و برنامه‌های میکروسرویس‌ها استفاده می‌شود. Kubernetesبه شما این امکان رو می‌دهد که به‌راحتی کانتینرها رو استقرار، مقیاس‌پذیر، مانیتور و نگهداری کنید. به‌عنوان مثال، در یک اپلیکیشن که تعداد زیادی سرویس میکروسرویسی وجود دارد، از همین‌رو Kubernetesبه‌طور خودکار تعداد کانتینرهای هر سرویس رو بر اساس نیاز بارگذاری تنظیم می‌کند. Kubernetesو سایر ابزارهای اورکستراسیون کانتینر می‌توانند باعث کاهش پیچیدگی‌های استقرار و مقیاس‌پذیری شوند. این ابزارها همچنین امکان مدیریت موثر کانتینرها رو در سطح کلان فراهم می‌کنند. البته موضوع زمانبر بودن ، یادگیری Kubernetesو پیکربندی آن از معایب آن به حساب می آید و نیاز به مهارت‌های تخصصی دارد. همین موضوع سبب می شود که برای پروژه‌های کوچک‌تر، این ابزارها بیش از حد پیچیده باشد.مفهوم شماره 14 : Multi-Tenancy Architectureاین مفهوم به طراحی سیستم‌هایی اشاره دارد که از یک پایگاه‌داده یا منابع مشترک برای چندین کاربر یا مشتری استفاده می‌کند. در این معماری، هر مشتری به‌طور جداگانه داده‌ها و تنظیمات منحصر به فرد خود رو دارد، اما منابع سخت‌افزاری و نرم‌افزاری به‌طور مشترک به تمامی کاربران تخصیص داده می‌شود. این معماری معمولا در نرم‌افزارهای ابری، به‌ویژه در نرم‌افزارهای SaaS (نرم‌افزار به‌عنوان سرویس) کاربرد دارد. به‌عنوان مثال، در یک اپلیکیشن SaaS، هر شرکت می‌تواند به‌طور جداگانه از اپلیکیشن استفاده کند، در حالی که همه بر روی همان زیرساخت اجرا می‌شوند. یکی از مهم‌ترین مزایای این معماری، کاهش هزینه‌ها و استفاده بهینه از منابع تلقی می‌شود. همچنین، این معماری به راحتی مقیاس‌پذیر بوده و می‌تواند تعداد زیادی مشتری رو پشتیبانی کند. ولی در این میان مدیریت و امنیت داده‌ها نکته ای چالش‌زا است، به‌خصوص در صورتی که اطلاعات مشتری‌ها به‌طور مناسب ایزوله نشده باشد. همچنین، ممکن است برای مدیریت منابع مشترک در مقیاس بزرگ، نیاز به ابزارهای پیچیده‌تری باشد.مفهوم شماره 15 : Enterprise Integration Patternsمجموعه‌ای از الگوهای طراحی نرم‌افزاری تحت عنوان Enterprise Integration Patterns وجود دارد که برای یکپارچه‌سازی سیستم‌های مختلف در یک سازمان بزرگ استفاده می‌شوند. این الگوها به توسعه‌دهندگان کمک می‌کنند تا مشکلات ارتباطی بین سیستم‌های مختلف، از جمله پایگاه‌داده‌ها، سیستم‌های ERP و سایر نرم‌افزارهای سازمانی رو حل کنند. یکی از معروف‌ترین این الگوها ESB است که به‌عنوان یک لایه میانه برای ارتباط و هماهنگی سیستم‌ها عمل می‌کند.این الگو‌ها به‌طور عمده به یکپارچه‌سازی و هم‌راستایی سیستم‌های مختلف کمک می‌کنند و از ایجاد اتصالات مستقیم و پیچیده جلوگیری می‌نمایند. همچنین، این الگوها به‌راحتی مقیاس‌پذیر بوده و می‌تونند حجم بالای داده‌ها رو مدیریت کنند. پیاده‌سازی و نگهداری  EIP‌ ها زمان‌بر و پیچیده است. همچنین، در صورتی که به‌درستی طراحی و پیاده‌سازی نشوند، امکان بروز مشکلات مقیاس‌پذیری و کارایی را تشدید می‌نمایند.منابع و مآخذ :منابعی نظیر موارد زیر :ویکی پدیای فارسی– منبع عمومی برای توضیحات و تعاریف پایهسون لرن– منابع آموزشی برای زبان‌های برنامه‌نویسی و مفاهیم تکنولوژی‌های نرم‌افزاریسکان آکادمی – مقالات و آموزش‌های مرتبط با برنامه‌نویسی، معماری نرم‌افزار و فناوری‌های روزکوارا بلاگ – مقالات و منابع آموزشی برای برنامه‌نویسان و علاقه‌مندان به توسعه نرم‌افزارمگاوب – مقالات فنی در زمینه طراحی وب، معماری سیستم‌ها و تکنولوژی‌های نوینهم روش – منابع و مقالات آموزشی در زمینه معماری نرم‌افزار و توسعه فناوریویرگول – پلتفرم برای نوشتن مقالات در زمینه تکنولوژی و توسعه نرم‌افزاراستک اورفلو – مکانی برای سوال و جواب در مورد هر موضوع مرتبط با برنامه‌نویسی و معماری نرم‌افزارمدیوم– وبلاگ‌هایی از توسعه‌دهندگان و مهندسان نرم‌افزار که تجربیات خودشون رو در زمینه معماری نرم‌افزار به اشتراک می‌گذارندتیورینگ– مقالات و منابع آموزشی در زمینه‌های مختلف برنامه‌نویسی و معماری نرم‌افزار</description>
                <category>Fatemeh Yahyaei</category>
                <author>Fatemeh Yahyaei</author>
                <pubDate>Sun, 11 May 2025 23:08:40 +0330</pubDate>
            </item>
            </channel>
</rss>