مشاهده رفتار درونی پردازنده
امکان بهبود فوری و ارزیابی دقیق عملکرد، با داشتن یک تصویر شفاف از رفتار نرم افزار نهفته در حین اجرای عادی.
صحت سنجی، عیب یابی و تحلیل سیستم های نهفته
امکان عیب یابی بر پایه مشاهده رفتار به جای حدس زدن و طراحی تست های دقیق تر.
توسعه با چشمان باز
امکان توسعه بهینه و بدون عیب نرم افزار، با مشاهده جزئیات رفتار درونی نرم افزار نهفته از متغیر و رویداد گرفته تا رفتار و ماشین حالت.
توسعه تست محور
امکان توسعه و اجرای همزمان کد و تست های آن و تشخیص زودهنگام خطاهای نرم افزاری.
کاربردها
مشاهده و کنترل رفتار پردازشگر
فرآیند توسعه نرمافزار نهفته بدون مشاهده عملکرد کدی که پیادهسازی شده است، بسیار وقتگیر، آمیخته با حدس و گمان، فرسایشی و هزینهبر است.
از طرف دیگر بدون امکان کنترل و تغییر در بخش های مختلف کد و اعمال ورودی های واقعی و مجازی، نمیتوان صحت عملکرد کد در شرایط مختلف سیستم را بررسی کرد.
این موارد وقتی کد از دست توسعه دهنده خارج شده و بر روی سیستم واقعی و در شرایط واقعی کار میکند، دارای اهمیت بیشتری میشود.
داشتن ابزاری که امکان دیدن و تغییر رفتار نرم افزار را فراهم میکند – از مراحل ابتدایی توسعه و روی میز کدنویس تا مراحل نهایی و عملکرد نرم افزار بر روی سیستم واقعی – توسعه دهنده را قدرتمند، و فرآیند توسعه را بهینه، سریع و قابل اطمینان میکند.
کاربردها
پایش و عیب یابی
در صورت مواجهه با ایرادی در نرم افزار نهفته، باید از روش و ابزاری برای عیب یابی استفاده کرد. بدون امکان پایش و مشاهده لحظه به لحظه رفتار اجزای داخلی نرم افزار نهفته، نمی توان به راحتی منشا عیب را یافت و کدنویس مجبور می شود از روش های زمان بر و ناکارآمد عیب یابی استفاده کند.
روش هایی مانند حدس زدن، استفاده از نمایشگرهایی جهت نمایش وضعیت داخلی سیستم و استفاده از دیباگرها که عملا به دلیل محدودیت و عدم امکان استفاده در شرایط عملکرد واقعی سیستم، زمان و هزینه بسیاری صرف کرده و لزوما به نتیجه مطلوب هم نمی رسد.
با داشتن ابزاری که بتواند لحظه به لحظه رفتار و اتفاقات داخلی نرم افزار را در قبل و بعد از وقوع ایراد نمایش دهد، در زمان بسیار کوتاهی میتوان علت اصلی ایراد را تشخیص و برطرف کرد.
کاربردها
اندازه گیری، تحلیل و تنظیم سیستم
بخش مهمی از سیستم هایی که توسط نرم افزار نهفته کنترل می شوند، دارای الگوریتم ها و کنترل کننده هایی هستند که عمدتا توسط مهندسان کنترل و در نرم افزار های شبیه ساز مانند MATLAB توسعه داده میشوند که امکانات فراوانی جهت مشاهده رفتار کنترل کننده ها، اندازه گیری سیگنال ها و پارامترهای آنها و تغییر و تنظیم ضرایب کنترل کننده وجود دارد. در حالی که وقتی همین کنترل کننده ها در سیستم واقعی پیاده سازی میشوند، امکاناتی برای بررسی صحت عملکرد و یا صحت پیاده سازی توسط کدنویس نهفته وجود ندارد.
داشتن ابزاری که امکاناتی مشابه فضای شبیه سازی – مانند MATLAB – برای تنظیم ضرایب و مشاهده و اندازه گیری پارامترهای کنترل کننده را در سیستم نهفته و حین عملکرد عادی سیستم فراهم کند، بهترین راه حل برای مهندسین کنترل بوده و فرآیند توسعه و تست کنترل کننده روی سیستم واقعی را متحول میکند.
کاربردها
ثبت سیگنال و رفتار
ثبت رفتار و سیگنال های نرم افزار نهفته و سیستم، در بازه های زمانی مختلف، چه زمانی که سیستم در حال توسعه است، چه زمانی که تست های تجمیع و تحویل دهی بر روی آن در حال اجرا است، و چه زمانی که توسط مشتری در حال استفاده است، اطلعات بسیار ارزشمندی را از ایرادهای موجود و دلیل شرایط وقوع آنها و همچنین نحوه استفاده مشتری از سیستم در اختیار قرار میدهد.
داشتن ابزاری یکسان در تمام این دوره های عمر جهت ثبت رفتار سیستم، امکانات بسیاری را برای بهبود مستمر سیستم و تجربه کابری آن فراهم میکند.
کاربردها
پیاده سازی، مدیریت و اجرای خودکار تست
تنها راه تضمین کیفیت محصول، تست درست آن است. تست در نرم افزار نهفته به دلیل حساسیت، پیچیدگی ساختار داخلی و نیاز به قابلیت اطمینان بالا اهمیت مضاعف پیدا می کند. این تست ها در سطوح مختلف – ماژول، تجمیع و سیستم – طراحی میشوند و با هر بار تغییر در نرم افزار باید مجدد اجرا شوند.
بهینه ترین روش اجرای این فرآیند، استفاده از ابزارهایی است که به صورت اتوماتیک اجرای تست و گزارش دهی را انجام می دهند. در این صورت می توان به جای اتلاف وقت در اجرای تست ها، زمان بیشتری را صرف طراحی تست های باکیفیت تر کرد.
داشتن ابزاری که بتواند از طریق ارتباط با سیستم نهفته و ارسال فرمان به آن و اندازه گیری و مقایسه نتیجه آن و پارامترهای سیستم، تست را به طور خودکار و در حین اجرای نرم افزار در سیستم واقعی اجرا کند، زمینه تست درست سیستم نهفته را فراهم میکند.
کاربردها
طراحی پنل های کاربری
علاوه بر قالبهای متعارف نمایش و تغییر اطلاعات مانند جدول، متن، نمودار و دیاگرام، لازم است متناسب با سیستمی که توسط نرم افزار نهفته کنترل میشود، اطلاعات در قالب هایی مانند گیج، ولوم و قالب های دیگر در صفحات و دسته بندی ها و ابعاد مختلف نمایش داده شده و کنترل شود.
این رابط های کاربری در سطوح مختلفی مانند سطح سیستم، سطح داخلی کنترل کننده و همچنین سطح داخلی نرم افزار قابل توسعه است.
ابزاری که با داشتن زیرساخت و پروتکل های ارتباط با نرم افزار نهفته میتواند به راحتی به تمام پارامترهای سیستم دسترسی داشته باشد، بخش عمده ای از طراحی پنل های کاربری را به صورت آماده دارد. با استفاده از امکانات پنل های کاربری این ابزار، میتوان در فرصت زمان بسیار کوتاهی، رابط های کاربری برای سطوح مختلف استفاده درون سازمانی و در سطح مشتری را ایجاد کرد.
فرابین چیست؟
فرابین ابزاری برای مشاهده پذیر کردن و کنترل پذیر کردن نرم افزار نهفته در حین اجرای عادی نرم افزار است. مشاهده پذیری به معنی آنکه بتوان تصویری از آنچه در داخل نرم افزار در حال رخ ددادن است، در هر لحظه و به صورت بر خط مشاهده کرد. کنترل پذیری بدین معنی که بتوان در هر لحظه از زمان تغییری در روند اجرای نرم افزار اعمال کرد.
فرابین از دو بخش کتابخانه و اپلیکیشن تشکیل شده است. کتابخانه به زبان C نوشته شده و مستقل از نوع پردازشگر و IDE مورد استفاده، میتواند به تمام پروژه هایی که به زبان C++/C نوشته شده، اضافه شود. این کتابخانه بوسیله پروب هایی (API) به بخش های مختلف نرم افزار متصل شده و امکان ارتباط دو طرفه با کد کاربر را فراهم میکند.
این کتابخانه از طریق یکی از پورت های ارتباطی موجود، (سریال، USB یا شبکه) به کامپیوتر متصل میشود.
بخش اپلیکیشن فرابین در کامپیوتر اجرا شده و از طریق اتصال به کتابخانه امکان دسترسی به تمام محتوای نرم افزار نهفته کاربر را که به پروب ها متصل شده اند فراهم میکند.
مشاهده رفتار نرم افزار نهفته، اعمال تغییر در آن، اسکریپت نویسی، طراحی و اجرای تست و لاگ رفتار نرم افزار نهفته، همگی در اپلیکیشن قابل انجام است.
قابلیت ها
پروب
- قابلیت تعریف تعداد نامحدودی از پروب ها
- دسترسی به متغیرهای کد کاربر
- پشتیبانی از تایپ هایی که کاربر تعریف کرده است (enum, structure)
- نمونه برداری از متغیرهای کاربر با نرخ قابل تنظیم
- ارسال رویداد از نقاط مختلف کد کاربر
- دسترسی به توابع کاربر
- اندازه گیری، مشاهده و تغییر زمانبندی اجرای بخش های مختلف کد کاربر
- پشتیبانی از ماشین حالت
- پشتیبانی از کرنل های RTOS
- قابلیت استفاده در نرم افزارهای Bare metal و یا دارای OS
قابلیت ها
اپلیکیشن
- اسکریپت نویسی به تعداد نامحدود
- دارای رابط کاربری (UI) و رابط متنی (CLI)
- قابلیت اتصال به نرم افزارهای دیگر از طریق socket programming
- دارای قالب های متنوع برای رابط کاربری (نمودار، دیاگرام، جدول، متن، gauge و …)
- قابلیت شخصی سازی پروژه و ذخیره آن برای استفاده مجدد
- خروجی گرفتن از اطلاعات ذخیره شده در فرمت های مختلف
- ابزار مدیریت، اجرا و گزارش تست ها
برخی از مشتریان ما
برخی صنایعی که فرابین در آن ها استفاده شده
ایستگاه شارژ خودروهای برقی
دامپتراک 150 تن
مبدل توربین های بادی
پهپاد
سنسورهای ناوبری
درایور موتور
الکترونیک قدرت
هوافضا
اینترنت اشیاء
ابزار دقیق
ریلی
مکاترونیک
فرابین در یک نگاه
فرابین در شبکه های اجتماعی
بروز باشید ...
آخرین اخبار و مقالات