جمعه, ۲۱ اردیبهشت, ۱۴۰۳ / 10 May, 2024
مجله ویستا

سیستم‌های بلادرنگ به کمک انسان می‌آیند


سیستم‌های بلادرنگ به کمک انسان می‌آیند
شاید تا حالا به این موضوع فکر کرده باشید که کنترل چراغ‌های راهنمایی که در صدها چهار راه، در سطح شهرهای بزرگ وجود دارند چگونه و به وسیله چه دستگاه‌هایی انجام می‌شوند و یا زمانی که کارکنان یک نیروگاه هسته‌ای بی‌تفاوت به نوسان دمای نیروگاه رفتار می‌کنند، علت چیست و چه کسی مراقب اوضاع اضطراری آن نیروگاه خواهد بود؟ پاسخ به این سوالات و هزاران سوال دیگر در این حوزه، در مجموع به سیستمی به نام «سیستم بلادرنگ» (Real-time System) ختم می‌شود، که علاوه بر آنکه چراغ‌های راهنمایی را کنترل می‌کند، و مراقب افزایش دمای نیروگاه‌های هسته‌ای است، هزاران فعالیت دیگر نیز انجام می‌دهد. به زبان عامیانه سیستم بلادرنگ، سیستمی است که اولا باید درست کار کند و ثانیا آن کار را سر وقت و بدون تاخیر انجام دهد.
● این سیستم کجاست؟
سیستم بلادرنگ، یک سیستم نرم‌افزاری است که درون یک دستگاه قرار گرفته است. ما این دستگاه را مستقیما نمی‌توانیم ببینیم چون از این دستگاه باید به صورت توکار، در جاهای مختلف استفاده کرد، یعنی مثلا در اتاق خلبان درون هواپیما، ما نمی‌توانیم این دستگاه را مستقیما ببینیم بلکه این دستگاه درون تجهیزات موجود در اتاق خلبان کار گذاشته می‌شود و با تمام تجهیزات موجود، در ارتباط است.از این پس نام این دستگاه را مستقیما نمی‌آوریم ولی زمانی که از سیستم بلادرنگ صحبت می‌شود باید این دستگاه را نیز مد نظر داشته باشید.
● نحوه عملکرد این سیستم
قبل از آنکه نحوه عملکرد این نوع سیستم‌ها را شرح دهیم، باید مفهوم «واکنش‌پذیر» بودن را شرح دهیم. البته تمام سیستم‌های بلادرنگ واکنش‌پذیر نیستند ولی آن دسته‌ای که واکنش‌پذیر هستند، با محیط در تعامل هستند یعنی در هر جایی که قرار بگیرند، رفتار متفاوتی از خود نشان می‌دهند.به طور کلی زمانی که این سیستم در یک محیط – آن جایی را که سیستم در آنجا کار گذاشته می‌شود را «محیط» (Environment) می‌نامند – کار گذاشته شد، به دو طریق می‌تواند وظایف خود را انجام دهد:
۱) برای سیستم مشخص نمایند که در یک زمان مشخص، یک عمل خاص را انجام دهد (البته در بسیاری از مواقع نیز این عمل باید به صورت دوره‌ای انجام شود، مثلا در سیستم کنترل دما، برای سیستم مشخص می‌کنند که هر ۸/۰ میلی ثانیه یک بار، دمای محیط را اندازه‌گیری کند) که به این نوع سیستم «سیستم بلادرنگ محرک به زمان» می‌گویند.
۲) با توجه به خبرهایی که از حسگر (Sensor)های موجود در محیط می‌رسد، عمل‌های گوناگونی را انجام دهد، و به این نوع سیستم نیز «سیستم بلادرنگ محرک به وقایع» می‌گویند.البته محرک به زمان بودن، بسیار ساده‌تر از محرک به وقایع بودن است و نیازی به توضیح ندارد ولی در سیستم‌های بلادرنگ محرک به وقایع، سیستم یک خبر را از حسگرها می‌گیرد (مثلا اگر حسگر دما باشد، درجه دمای محیط، و یا اگر حسگر نور باشد، شدت نور محیط و یا ارتفاع و ...) و پس از اینکه تصمیم گرفت تا چه عملی را روی محیط انجام دهد، دستور می‌دهد تا آن عمل روی محیط انجام شود.
● سیستم‌های بلادرنگ همه جا هستند
همان طور که تعریف کردیم، از این سیستم‌ها در جاهایی که نیاز به دقت عمل و سرعت عمل است، استفاده می‌شود. به طور کلی می‌توان سیستم‌های بلادرنگ را با توجه به کاربردشان در گروه‌های زیر تقسیم‌بندی کرد:
▪ کنترل وسایل نقلیه و حمل و نقل:
- سیستم کنترل پرواز در فرودگاه‌ها - کنترل ترافیک در خیابان‌ها
- ماموریت‌های فضایی - کنترل شبکه ریل آهن در ایستگاه‌های راه آهن
▪ کنترل تاسیسات:
- تاسیسات شیمیایی و هسته‌ای و ... - کنترل کارخانجات و کارگاه‌ها
▪ بانک‌های اطلاعاتی:
- سیستم‌های رزرو (مثل سیستم رزرو بلیط هواپیما) و ثبت نام
- انتقال مکالمات تلفنی در مراکز تلفن شهری
- ردیابی رادارها
▪ لوازم خانگی:
- گوشی‌های تلفن‌همراه - اجاق‌های ماکروویو
- ماشین‌های لباسشویی، یخچال‌ها
▪ پردازش تصویر:
- برنامه‌های چند رسانه‌ای - گوشی‌های تلفن‌همراه، دوربین‌های دیجیتال
- پخش کننده‌های رسانه‌ای قابل حمل، تلویزیون‌های پیشرفته
- تله تایپ، کامل کننده واقعیت
- سیستم‌های مراقبت ویدیویی
- سیستم‌های معاینه کننده صنعتی
- وسایلی که برای گرفتن عکس در پزشکی استفاده می‌شود.
مثلا در کنترل هواپیما، که سیستم بلادرنگ، به «خلبان خودکار» (AutoPilot)، معروف است، مثلا زمانی که می‌خواهد سرعت هواپیما را نشان دهد، به این روش عمل می‌کند که سرعت در جهت‌های x، y و z زاویه چرخش، زاویه اوج‌گیری، زاویه انحراف و دما را می‌گیرد و سرعت واقعی هواپیما را محاسبه کرده و نمایش می‌دهد و هر ۴۰ میلی‌ثانیه یک بار، عمل محاسبه و هر یک ثانیه یک بار، عمل نمایش سرعت را انجام می‌دهد.
با این مثال یکی دیگر از خصوصیات مهم دستیابی بلادرنگ مشخص می‌شود، آن هم «اجرای همزمان» (Concurrently) است، یعنی اینکه به طور همزمان از اجزای چند سیستم دیگر، اطلاعاتی را دریافت کند و بدون اینکه سرعتش در عمل کم شود، پردازشی را انجام دهد، در این مثال همزمان بایستی هم مواردی را که گفتیم (زاویه چرخش، زاویه انحراف، دما و ...) و هم کار محاسبه و نمایش سرعت را بدون اینکه وقتگیر باشد، انجام دهد.
● نمونه‌هایی از سیستم‌های بلادرنگ بدنام شده
از زمانی که کشورهای مختلف با سیستم‌های بلادرنگ آشنا شدند، شروع به ساخت تجهیزاتی کردند که با این تکنولوژی (بلادرنگ) کار می‌کرد که البته در مواردی، این کار با شکست مواجه می‌شد. مثلا:
- Ariane ۵:
آرین ۵ که در سال ۱۹۹۶، ۴۰ ثانیه پس از آنکه اولین پروازش را شروع کرد، منفجر شد.
- Apollo ۱۱:
نام اولین فرودگاه قمری که دارای سیستم «کنترل اضافه بار» بود،‌ و این سیستم تا زمانی که اضافه بار فضاپیماها را کنترل کند، اجازه فرودآمدن نمی‌داد و این کنترل، بسیار آهسته انجام می‌شد.
- Therac ۲۵:
ماشینی پرتو افکن، که با رایانه کنترل می‌شد و برای درمان تومورها استفاده می‌شد و دارای دو وضعیت: حالت الکترون (با انرژی کم) و دیگری حالت X-ray (با انرژی زیاد) بود و تابش بیش از حد پرتو، منجر به ۶ مرگ و جراحی‌های بسیار خطرناک شده بود.
● احتیاجات این سیستم‌ها
در حالت کلی برای سیستم‌های بلادرنگ سه مرحله مورد بررسی است:
▪ زمانبندی
در این مرحله فقط به خودکار یا مداد احتیاج است و بایستی زمانبندی و اولویت‌ کارها با توجه به منابع، مشخص شود. این کار بسیار مشکل است و در سیستم‌های بحرانی زمانبندی کردن وقفه‌ها بسیار مشکل‌تر خواهد بود.
دو نوع زمانبندی وجود دارد:
۱) اگر زمانبندی در طی طراحی سیستم‌های بلادرنگ انجام شود، به آن «زمانبندی برون خطی» (offline) می‌گویند. یعنی زمانی که یک وظیفه مشخص می‌شود، زمان انجام آن وظیفه نیز مشخص می‌شود.
۲) نوع دیگر، «زمانبندی درون خطی» (Online) است که دارای الگوریتمی برای ایجاد زمانبندی برای تصمیمات است یعنی قبل از آنکه سیستم شروع به کار کند هیچ زمانبندی وجود ندارد و طبق اتفاقاتی که می‌افتد، زمانبندی وظایف تغییر می‌کند، مشخص است که این نوع زمانبندی نسبت به زمانبندی برون خطی بسیار انعطاف‌پذیرتر است و کارآیی سیستم را تضمین می‌کند.
▪ برنامه‌نویسی
تمامی سیستم‌های بلادرنگ دارای یک نرم‌افزار بلادرنگ هستند و این نرم‌افزار به وسیله یک زبان برنامه‌نویسی خاص تهیه می‌شود، در واقع یکی از راه‌های ایمن‌سازی سیستم‌ها، انتخاب زبان برنامه‌نویسی مناسب کارا است. عموما از ویژگی‌های این زبان‌ها شامل سادگی، خوانایی، بدون ابهام بودن، ایمن بودن، مستقل از زمان بودن و قابل حمل بودن است.
همانطور که گفته شد این زبان‌ها بایستی بتوانند بلادرنگ عمل کنند و در نتیجه هر زبانی برای این کار مناسب نیست و در اینجا نمونه‌هایی از زبان‌های برنامه‌سازی بلادرنگ که از ابتدا تا کنون مورد استفاده قرار گرفته و می‌گیرد را مشاهده می‌کنید:Ada، Real-time Java، C، Erlang، Esterel، Real-time Euclid، Posix، Lustre، SAFL Statecharts، Chill، Modula-۲، Mesa، FRP، RTL/۲، Coral ۶۶، Jovial و ... است.
▪ بازبینی
برای بازبینی سیستم‌های بلادرنگ از ابزاری به نام Uppaal استفاده می‌شود که ابزاری برای کنترل کردن سیستم بلادرنگ است و سیستم بلادرنگ را به صورت مدل نشان می‌دهد. درشکل یک محیط کار این ابزار مشخص شده است.
● انواع سیستم بلادرنگ
در سیستم‌های بلادرنگ، هر وظیفه یک «وقفه» (Deadline) دارد، بایستی توجه کنید که وقفه به معنای «توقف» نیست! بلکه مدت زمانی است که یک وظیفه به طور کامل انجام می‌شود و تقسیم‌بندی سیستم‌های بلادرنگ نیز دقیقا بر اساس وقفه است.
▪ سیستم بلادرنگ سخت (Hard):
در این نوع سیستم بلادرنگ، کار انجام شده توسط سیستم، بایستی دقیقا به موقع انجام شود و هیچ گونه تاخیری قابل قبول نیست و اگر نه سبب ناتوانی سیستم می‌شود.
▪ سیستم بلادرنگ نرم (Soft):
در این نوع سیستم‌ها، اگر وقفه به موقع انجام شود باعث بهتر اجرا شدن آن عمل می‌شود، ولی گاهی مواقع آن عمل دیرتر هم می‌تواند انجام شود و این سیستم‌ها سعی می‌کنند تا وقفه را اجرا کنند، یعنی این سیستم‌ها به دلیل اینکه تاخیر را مجاز می‌دانند، در جاهایی کاربرد دارند که حساسیت انجام کارها در آنجا پایین باشد. مثلا در برنامه‌های چندرسانه‌ای یا نمایش دهنده‌های وضعیت.
▪ سیستم بلادرنگ ثابت (Firm):
در این نوع سیستم‌های بلادرنگ که معمولا در تقسیم‌بندی‌ها به عنوان یک نوع مجزا، محسوب نمی‌شوند، وقفه‌ها هم به صورت سخت و هم به صورت نرم هستند. یعنی اجرا نشدن وقفه، آن عمل را بی‌فایده می‌کند (مثل وقفه‌های سخت) هر چند که گهگاه این وقفه می‌تواند اجرا نشود (مثل وقفه‌های نرم).
● مزایا و معایب
همان‌طور که گفته شد، کنترل همزمان (Concurrent Control)، برای پردازش سریع، امنیت بالا و قابل اطمینان بودن در سیستم‌های بلادرنگی که کارهای بحرانی و حساس انجام می‌دهند و پیش‌بینی ‌پذیری و تضمین کردن انجام کارها، از مزایای بارز این سیستم‌ها هستند. این سیستم‌ها بزرگ و پیچیده هستند و همچنین در این سیستم‌ها اجازه ترکیب سخت‌افزار و نرم‌افزار سیستم‌های بلادرنگ داده نمی‌شود.
● مثال عملی از سیستم‌های بلادرنگ
در این مثال که کنترل شدت جریان آب درون لوله آب را به وسیله سیستم بلادرنگ، نشان می‌دهد و می‌توان از آن در شرکت آب و فاضلاب نیز استفاده کرد، یک جریان سنج در مسیر لوله آب قرار می‌گیرد و پس از اندازه‌گیری شدت جریان آب، میزان شدت را در اختیار سیستم قرار می‌دهد، سیستم هم با توجه به شدت جریان آب، اگر شدت جریان کم باشد، زاویه فعلی شیر کنترل را بیش‌تر می‌کند و بالعکس. اگر شدت جریان آب زیاد باشد، زاویه کمتری را برای شیر کنترل مشخص می‌کند، به این صورت شدت جریان خروجی آب از درون لوله کاملا کنترل می‌شود.
نویسنده : حسین موافق قدیرلی
منبع : روزنامه فناوران