روش های فرمال  و زبان AADL

چکیده

یکی از سه جزء اصلی هر وسیله پرنده‌ مجموعه تجهیزات اویونیک و الکتریک آن است. سامانه‌های اویونیک در سراسر هواپیما پراکنده‌اند و در قالب یک شبکه با یکدیگر ارتباط دارند. بسیاری از قابلیت‌ها و کارکردهای هواپیما توسط تجهیزات اویونیک آن پیاده‌سازی می‌شوند و پرواز امن و کارای هواپیما به صحت عملکرد این تجهیزات وابسته است. به دلیل تعدد سامانه‌ها و تعداد زیاد مدهای کاری هر سامانه و گستردگی عوامل تاثیرگذار بر هر سامانه، تحلیل دستی قابلیت اطمینان و ایمنی چنین سامانه پیچیده‌ای تقریبا غیر ممکن است. برای مدل‌سازی چنین سامانه‌هایی بهترین گزینه استفاده از نرم‌افزارهای توصیف و تحلیل معماری است. زبان AADL یکی از رایج‌ترین زبان‌های توصیف معماری است که ویژگی‌های آن در قالب استاندارد SAE AS5506 تدوین شده است. نرم‌افزار AADL امکان طراحی، مدل‌سازی و تحلیل سیستم‌های بلادرنگ و تعبیه‌‌شده را فراهم می‌کند. مدل‌هایی که برای یک معماری ارائه می‌شود شامل نرم‌افزار، سخت‌افزار و تجهیزات فیزیکی آن می‌شود.

مقدمه

با توجه به اینکه امروزه سیستم‌های تعبیه شده[1] بطور فزاینده‌ای فشرده شده و به سخت‌افزارهای محاسباتی تجاری وابسته شده‌اند؛ یکپارچه‌سازی سیستم‌های به عنوان یک چالش مهم مهندسی در طراحی و توسعه سیستم‌های نرم‌افزار مدرن مطرح می‌شود. شیوه‌های مهندسی بر اساس روش‌هایی که شامل تجزیه و تحلیل اصولی[2] از مدل‌های معماری سیستم‌های ابتدایی و چرخه‌های حیات توسعه هستند می‌توانند اطمینان بیشتری را در سیستم‌های یکپارچه شده با اهداف طراحی معرفی نمایند.

در اوایل تجزیه و تحلیل‌ها بر اساس تجزیه‌ و تحلیل‌های پیش‌بینی بوده است که نمونه‌ی آن، آدرس‌دهی نامعلوم بوسیله تجزیه و تحلیل حساس است. به عنوان معماری سیستم تصحیح شده، مدل‌ها (شامل تک‌تک تصحیح‌کننده‌ها و تجزیه و تحلیل‌ مدل‌ها) بینش[3] بیشتری در کیفیت و قابلیت‌های طراحی فراهم می‌کنند. در نتیجه اجزای سیستم توسعه پیدا کرده و اندازه‌گیری‌ها از اجرای آن‌ها بدست می‌آید. این مراحل بطور افزاینده‌ای روش‌های اعتبارسنجی را بوسیله مقایسه و جایگزینی پیش‌بینی‌ها با اندازه‌گیری‌های واقعی تضمین می‌نمایند. کلید این شیوه‌ها، تجزیه و تحلیل ویژگی‌های عملیاتی یک سیستم با استفاده از مدل‌های معماری نرم‌افزار در زمان اجرای آن، پلتفرم محاسبه آن، ارتباط با محیط فیزیکی و استقرار و آرایش نرم‌افزار بر روی سخت‌افزار است. در مجموع استفاده از این روش تجزیه و تحلیل، سبب بدست آمدن یک اطمینان کارآمد‌تر و همچنین خطای کمتر در توسعه سیستم‌ مستعد و فرایندهای یکپارچه‌سازی سیستم می‌شود و در نتیجه آن یک سیستم با قابلیت اطمینان بیشتری که مورد انتظار مشتری است ارائه خواهد شد.

تاریخچه زبان AADL

نیاز برای مدل‌های قابل تجزیه و تحلیل در دهه 1990 توسط صنعت هوافضا به علت افزایش نقش نرم‌افزارهای تعبیه شده در یکپارچه‌سازی سیستم‌ها (که در بردارنده مفاهیم IMA نیز بوده) ارائه شده و منجر به توسعه AADL در شروع سال 1999 گردیده است. این زبان پس از زبان MetaH، یک نمونه اولیه تحقیق و پژوهش یک زبان و سلسله ابزار برای تجزیه و تحلیل و تولید سیستم‌های بلادرگ تعبیه شده بکار گرفته شده است. همچنین این زبان توسط مرکز فناوری شرکت هانی‌ول در دهه 1990 توسعه داده شده و با موفقیت در پروژه‌های مختلف بکار گرفته شده است. در ابتدا AADL در نوامبر 2004 منتشر شد و در تعدادی از طرح‌های تحقیقاتی و صنعتی مورد استفاده قرار گرفت. بر اساس بازخوردهای رسیده از تجربیات AADL اصلاحاتی بر روی آن انجام گرفته و استاندارد آن پس از تجدیدنظر در ژانویه 2009 در دسترس قرار گرفت.

مدل های AADL

یک مدل AADL بیان‌کننده نوع تجهیزات[4] و اجرائیات آن‌ها است که در یک پکیج تشکیل شده است. در بیان توصیفات، نوع تجهیزات دسته‌بندی و رابط‌های (ویژگی‌های) تجهیزات تعریف می‌شوند که این مربوط به جدول مشخصات برای یک جزء (تجهیز) است. در بیان اجرائیات تجهیزات[5] در یک نوع، ساختار داخلی تجهیز تعریف می‌شود (برای مثال اجزای تشکیل دهنده و فعل‌وانفعالات داخل آن تعریف می‌شود) که این مربوط به طرحی برای ساختن یک جزء از قطعات آن است. در این توصیف، خواص و ویژگی‌های مورد نیاز برای تعریف تمامی مشخصات زمان‌اجرا یک تجهیز تعیین می‌شود. این خصوصیات ممکن‌ است یکی از مواردی همچون، خواص از قبل بیان شده در استاندارد AADL، خواص تعیین شده از طریق ضمائم استاندارد برای تجزیه و تحلیل‌های خاص و یا خواص تعریف شده توسط کاربر که بوسیله مجموعه ویژگی‌ها[6] تعیین می‌شود، باشد. در مجموع این توصیفات یک الگویی برای یک تجهیز را تعریف می‌کنند. انواع تجهیزات و اجرائیات به عنوان کلاس‌بندی‌های تجهیزات ارجاع داده می‌شوند.

 

نمایش AADL به صورت متنی و گرافیکی

در کنار نمایش متنی AADL، در استاندارد آن (AS5506A) نمایش گرافیکی نیز تعریف شده است. در شکل زیر یک نخ را به دو صورت متنی و گرافیکی در کنار هم نشان می‌دهد. نماد گرافیکی برای نشان دادن نخ، متوازی‌الاضلاع نقطه‌چین است و برای نشان دادن ورودی‌/خروجی‌ها از نماد مثلث استفاده می‌شود که هرکدام از حالت‌های ورودی و خروجی نماد‌های مجزایی دارند. در توسعه یک مدل AADL علاوه بر نمایش متنی از نمایش گرافیکی نیز به کار می‌رود. نرم‌افزار OSATE علاوه بر بیان متنی، نمایش گرافیکی را نیز به همان خوبی ارائه می‌دهد و قابلیت اصلاح مدل‌ها را برای هر دو حالت فراهم می‌کند.

نمایش گرافیکی و نوشتاری در AADL

تجزیه و تحلیل مدل‌ها

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

خلاصه و نتیجه گیری

مدل‌های قابل تحلیل، پایه و اساسی برای پیشگویی و تضمینی طراحی فراهم می‌کند که ارزیابی معنی‌دار و استدلالی در مورد خواص و ویژگی‌های سیستم‌های آن‌ها ارائه می‌دهد. ویژگی مدل‌‌ها در روند توسعه و تمرکز بر خواص کیفی مانند قابلیت اصلاح و تعمیر و نگهداری بکار برده می‌شود در حالی که خواص سیستم به منظور رسیدگی به صفات کیفی عملیاتی از جمله کارایی، امنیت و قابلیت اطمینان است.

AADL بر روی تعامل بین معماری سیستم فیزیکی، معماری زمان‌اجرا نرم‌افزار برنامه جاسازی‌شده و پلتفرم کامپیوتر تمرکز دارد. چنین تمرکزهایی که برای اعتبارسنجی مفروضات است، توسط مهندسان سیستم و مهندسان کنترل مدیریت و کنترل یک سیستم از نظر زمان‌بندی، قابلیت اطمینان و رفتاری با خرابی امن[7] انجام می‌شود و این تمرکزات بسیار حائز اهمیت است. شکست‌های فاجعه بار مانند تخریب خودی موشک Ariane 5 اهمیت تمرکز مهندسی سیستم را نشان می‌دهد.

حال با توجه به تمامی این ویژگی‌ها و خصوصیات می‌توان از این زبان برای تجزیه و تحلیل‌ سیستم‌های بسیار مهمی از جمله یکپارچه‌سازی سیستم‌های اویونیکی در هواپیما بهره برد. همانگونه که در مثال نوعی نیز اهمیت تاخیرات ذکر شد در سیستم‌های اویونیکی هواپیما علاوه بر این تاخیر‌ها فاکتورهای بسیاری جهت تجزیه و تحلیل وجود دارند که اهیمت آن‌ها بسیار بالا و حائز اهمیت است. بنابراین با بهره‌گیری از این زبان و نرم‌افزارهای مرتبط با آن به سادگی می‌توان نتایج خوبی از تجزیه و تحلیل آن‌ها بدست آورد.

 

مرجع اصلی:

P.H. Feiler, D.P. Gluch, “Model-Based Engineering with AADL” Addison-Wesley, Massachusetts, September 2012, pp. 5-18.

سایت اصلی زبان AADL

نویسنده: مهندس محسن فاضلی نیا

واژه نامه:

[1] Embedded Systems

[2] Systematic

[3] Insight

[4] Component Types

[5] Component Implementations

[6] Property Set

[7] Fail-Safe Behavior