مسائل مرتبط به مدل سازی تایید سخت افزاری در زبان برنامه نویسی الکترونیک Modelling Hardware Verification Concerns Specified in the e Language: An Experience Report
Abstract
e is an aspect-oriented hardware verification language that is widely used to verify the design of electronic circuits through the development and execution of testbenches. In recent years, the continued growth of the testbenches developed at Infineon Technologies has resulted in their becoming difficult to understand, maintain and extend. Consequently, a decision was taken to document the testbenches at a higher level of abstraction. Accordingly, we attempted to model our legacy test suites with an existing aspect-oriented modelling approach. In this paper we describe our experience of applying Theme/UML, an aspectoriented modelling approach, to the representation of aspectoriented testbenches implemented in e. It emerged that the common aspect-oriented concepts supported by Theme/UML were not sufficient to adequately represent the e language, primarily due to e’s dynamic, temporal nature. Based on this experience we propose a number of requirements that must be addressed before aspect-oriented modelling approaches such as Theme/UML are capable of representing aspect-oriented systems implemented in e.
Keywords: Hardware verification, e, aspect-oriented modelling, Theme/UML
چکیده فارسی
زبان الکترونیک (زبان برنامه نویسی e) به عنوان زبان اثبات شده سخت افزاری می باشد که به صورت گسترده ای برای مشخص کردن طرح های جریانات الکترونیکی از طریق توسعه و اجرای برنامه، مورد استفاده قرار می گیرد. در سال های اخیر، رشد مستمر این تست ها در فناوری اطلاعات باعث ایجاد مشکلاتی در درک، حفظ و گسترش آن ها شده است. در نتیجه تصمیماتی برای مستند ساختن این تست ها در سطح بالاتر گرفته شده است. بر این اساس، تلاشی را به منظور ایجاد تطبیق با رویکردهای مدلسازی جنبه گرا کنونی، انجام می دهیم. در این مقاله، تجارب خود را در ارتباط با کاربرد این درون مایه/ زبان های برنامه نویسی یکپارچه که به عنوان یک رویکرد جنبه گرا می باشد،در ارائه تست های جنبه گرا که در زبان برنامه نویسی e، مد نظر قرار می دهیم. مشخص شده است که مفاهیم جنبه گرا که توسط موضوعات/زبان های برنامه نویسی یکپارچه مورد حمایت قرار می گیرند، برای به ارائه زبان برنامه نویسی e به دلیل پویا بودن این زبان و ماهیت زمانی آن، مناسب نمی باشند. بر مبنای چنین تجربیاتی، ما مجموعه ای از شرایطی را مطرح می کنیم که می بایست قبل از رویکردهای طراحی جنبه گرا همانند موضوعات و زبان های برنامه نویسی یکپارچه که دارای قابلیت عرضه سیستم های جنبه گرا در زبان e می باشند، مد نظر قرار می دهیم.
کلیدواژه: تایید سخت افزاری، زبان برنامه نویسی e، مدل سازی جنبه گرا، موضوع/UML.
مشخصات
توسط: Darren Galpin, Cormac Driver, Siobhán Clarke سال انتشار: 2009 میلادی تعداد صفحات متن اصلی: 6 تعداد صفحات متن ترجمه: 14 تاریخ درج: ۱۳۹۵/۸/۲۵ منبع: دیتاسرا
خرید آنلاین فایل ترجمه
عنوان: مسائل مرتبط به مدل سازی تایید سخت افزاری در زبان برنامه نویسی الکترونیک حجم: 201.04 کیلوبایت فرمت فایل: pdf قیمت: 119500 تومان رمز فایل (در صورت نیاز): www.datasara.com نرم افزارهای مورد نیاز: winrar - adobe acrobat - office
تنها با ارسال یک ایمیل وجه خود را دریافت نمایید
دانلود فایل اصلی
عنوان: Modelling Hardware Verification Concerns Specified in the e Language: An Experience Report
1. مقدمه
فناوری اطلاعات به ارائه مواد نیمه سانا در ارتباط با تکنولوژی وسایل نقلیه موتوری، ابزارهای الکترونیک صنعتی، ریزتراشه های کوچک و بخش های امنیتی و همچنین برنامه های کاربردی در ارتباطات می پردازد.
این اطلاعات برمبنای حق کپی رایت ACM 2009 می باشد. این نسخه ای از کتاب این محقق می باشد. آن در اینجا به اجازه ACM برای استفاده شما قرار داده شده است و هدف انتشار مجدد آن نمی باشد. نسخه نهایی آن در AOSD 09 در کنفرانس بین المللی ACM در ارتباط با توسعه نرم افزاری جنبه گرا منتشر شده است.
این محصولات بر مبنای نوع آوری های آنالوگ و سیگنال های ترکیبی، فرکانس رادیویی، و تکنولوژی کنترل توان می باشد. این شرکت در حال حاضر تقریبا 22900 حق ثبت را در این فناوری ها دارا می باشد.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
UML در ابتدا برای طراحی تست این برنامه ها مورد استفاده قرار گرفت، اما دریافته ایم که مفاهیم هدف محور که در UML آشکار می گردد در ارتباط با مفاهیم جنبه گرا زبان برنامه نویسی e نمی باشد.. در نتیجه فعالیت های جنبه گرای در ارتباط با UML مد نظر قرار می گیرد. این مقاله تجارب ما را در ارتباط با تلاش برای مدل دهی تست برنامه ها با توجه به رویکردهای جنبه گرا به نام موضوع / UML نشان می دهد. ما دریافته ایم که زمانی که مفاهیم جنبه گرا با استفاده از تم/UML در زبان برنامه نویسی e نسبت به مفاهیم هدف محور در UML متناسب می باشد، چندین مسئله وجود دارد که ما را از طراحی موفق تست برنامه ها دور می کند. این مسئله در اصل بر مبنای حمایت از زبان e دررارتباط با پویایی می باشد و به عنوان مفاهیمی می باشد که در تکنیک های توسعه نرم افزاری جنبه گرا مد نظر قرار نمی گیرد. این شرایط با توجه به اختلافات بین واحدهای اصلی تفکیک این زبان و مواردی که در زبان های جنبه گرا مورد استفاده قرار می گیرند، تشدید می گردد. نتایج حاصل از این تجربیات و سهم این مقاله به عنوان مجموعه ای از شرایط مورد نیاز در ارتباط بارویکرد طرح های جنبه گرا می باشد.
ادامه مقاله به صورت زیر سازمان دهی می شود. بخش 2 زبان برنامه نویسی e را معرفی کرده و حمایت خود را در ارتباط با برنامه نویسی های جنبه گرا اعلام می کند. بخش 3 تجارب ما را در ارتباط با تست برنامه هایی که با توجه به زبان برنامه نویسی e نوشته می شوند نشان می دهد.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
2. زبان برنامه نویسی e.
E به عنوان یک زبان برنامه نویسی در حوزه خاص می باشد که برای اثبات عملکرد طرح های الکترونیکی مورد استفاده قرار می گیرد.این زبان در سال 1997 توسط طرح وریسیتی به عنوان بخشی از ابزارهای اسپکمن که شامل برنامه های جنبه گرا می باشد ایجاد شد. این زبان به صورت استاندارد IEEE 1647 در آمد و نسخه استاندارد دیگری از آن در سال 2008 منتشر شد. در این بخش، ما به توصیف زبان e توسط شرح بخش های کلیدی آن و بررسی ویژگی های جنبه گرا آن می پردازیم.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
طرح های الکترنیکی معمول شامل پردازشگرها، گذرگاه های ارتباطی و محیطی، بوده که تمام آن ها به صورت مجزا قبل از مورد تست قرار گرفتن، تعیین می گردند.دستگاه های جانبی با استفاده از بخش های مربوط به زبان برنامه نویسی e مورد ارزیابی قرار می گیرند. eVC به عنوان ابزارهای تست برنامه ای می باشند که به زبان برنامه نویسی e نوشته شده که برای تحریک این طرح ها، بررسی اقدامات و واکنش ها با توجه به فرایندهای خاص و واکنش سیستم ها و ارزیابی پوشش های عملکردی مورد استفاده قرار می گیرد. معمول ترین نوع eVC موردی می باشد که در پروتکل خاصی قرار گرفته گذرگاه های اصلی برای ایجاد محرک ها، گذرگاه های فرعی برای دریافت پاسخ از DUT، و گذرگاهی برای کنترل سیستم، و چک کننده پروتکل ها برای اطمینان از این مورد که عملکرد صحیحی در تمام زمان ها ایجاد می گردد و یک اسکوربورد برای بررسی انتقال صحیح اطلاعات از طریق سیستم ها، می باشد.
در ایجاد حمایت برای ایجاد چنین برنامه هایی، زبان برنامه نویسی e مفاهیمی را از چند زبان در کنار یکدیگر قرار می دهد.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
- زبان برنالمه نویسی e به طور طبیعی مواردی را تحت حمایت قرار می دهد که در ارتباط با اهداف چندگانه در محدوده e می باشند.
- زبان برنامه نویسی e این محدودیت ها را به صورت موارد مشخص با استفاده از محدودیت های دیگر برای بهبود اهداف مربوط به این مدل مد نظر قرار می دهد.این مدل های اجرایی به حل محدودیت ها، پرداخته و مقادیر تصادفی را مد نظر قرار می دهد که مجموعه ای از این محدودیت ها را شامل می گردد.
- زبان برنامه نویسی e تا حد زیادی شبیه به پاسکال می باشد.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
- این زبان برنامه نویسی شامل ساختارهای زمانی می باشد که مواردی را از محاسبات طولی و محاسبات فاصله ای به وام می گیرد.
زبان برنامه نویسی e از برنامه نویسی های جنبه گرا از طریق دو مکانیسم حمایت می کند، یکی از طریق اهداف و دیگری از طریق روش ها می باشد.بر خلاف زبان های جنبه گرا همانند جاوا، زبان e دارای طبقه بندی نمی باشد و در عوض شامل واحدها و ساختارهایی می باشد.این واحدها اهدافی را مشخص می کنند که در طول مدت شبیه سازی هماند گذرگاه های اصلی و فرعی وجود دارند. این ساختارها اهدافی را مشخص می کنند که در طی فرایند شبیه سازی ایجاد و یا از بین می روند که نمونه ای از آن شامل بسته های اطلاعاتی می باشد که بین عوامل در سیستم ها وجود دارد.
واحد ها و ساختارها دارای بخش های جنبه گرای می باشند که با استفاده از ساختارهای توسعه یافته در ارتباط با چنین مواردی کاربرد دارند. این موارد مشابه مفاهیم مورد نظر در بخش های j می باشند. این ساختارها کدهایی را به مدل های موجود در روش های جنبه گرا اضافه می کنند. لیست 1 نمونه ساده ای را بیان می کند که چگونه یک واحد یا ساختار می تواند شامل بخش های جنبه گرا باشد. اهدافی در ارتباط با هر یک از این موارد تعریف می گردد. اهداف اصلی با اضاف کردن متغیرهای جدیدی به این بخش ها توسعه می یابد. مکانیسم مشابهی برای بسط چنین مواردی مورد استفاده قرار می گیرد. این انواع که برای نشان دادن اطلاعات مورد استفاده قرار می گیرنداز نظر کلی قابل مشاهده بوده و به عنوان یک متغیر مشخص و از پیش تعیین شده برای اکثر زبان ها می باشد. این مکانیسم در لیست 2 نشان داده شده است که انواع بیشتری از آن به (نیاز به دانلود ترجمه) اضافه می گردد.
لیست 1- توسعه واحدها و ساختارها.
لیست 2- بسط این روش ها از طریق سه ساختار جنبه گرا انجام می گیرد. روش های زیر را مورد توجه قرار دهید.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
همان طور که در لیست 2 توضیح داده شده است، (نیاز به دانلود ترجمه) اصلی شامل سه نوع مشخص می باشد، و سومین جنبه نیز به آن اضافه می گردد. روش های جنبه گرا در ارتباط با انواع جدید و موجود مورد استفاده قرار می گیرد.
لیست 3 نشان می دهد که چگونه انواع مختلف دارای عملکردهای مختلفی بر مبنای روش های جنبه گرا می باشند. به این ترتیب لایه های مختلفی برای سیستم برای تغییر عملکردهای مورد نظر تعریف می گردد.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
موارد تحت پوشش، که توسط رویدادهای خاصی مد نظر قرار می گیرند، برای جمع آوری اطلاعات پوششی در ارتباط با ویژگی های معماری کلیدی و ویژگی های جزئی تر DUT مورد استفاده قرار می گیرند. لیست 4، به توصیف اهداف پوششی می پردازد.
اگر اهداف پوششی تعریف گردند، اهداف جدیدی نیز با استفاده از دستور (نیاز به دانلود ترجمه) اضافه می گردند. گزینه (نیاز به دانلود ترجمه) در تعاریف مربوطه دارای امکاناتی است که می توان محدودیت های بیشتری را اعمال کرد.کاربرد معمول این امکانات این می باشد که می توان محدودیت های بیشتری را که ارزیابی ها را محدودتر می کند با مد نظر قرار دادن شرایط خاص ایجاد کرد. برای نمونه دستور (نیاز به دانلود ترجمه) به محدود کردن ارزیابی هایی می گردد که ابزارهای محدود خاصی دارای مقدار مشخص در زمان پوشش می باشند. این گزینه ها همچنین می تواند بیشتر گردد، که به کاربر این توانایی را می دهد تا این موارد را همان طور که در نمونه های لیست 5 آورده شده بسط دهد.
این مثال ها نشان می دهد که، گروه تحت پوشش (نیاز به دانلود ترجمه) زمانی تحت تاثیر قرار می گیرد که رویدادها مد نظر قرار گرفته و (نیاز به دانلود ترجمه) ثبت گردد. این موارد محدودیت هایی را ایجاد می کند، و این ارزیابی ها را زمانی مد نظر قرار می دهد که متغیر وزنی آن بالاتر از 50 باشد. این نوع از موارد بر روی اهداف پوششی و همچنین گروه های تحت پوشش قابل اجرا می باشد. این توسعه ها از مواردی که قبلا توصیف شد متفاوت بوده و شامل محدودیت هایی در زمان اجرا بوده و برای مجموعه های مختلف این امکان را ایجاد می کند تا محدوده های اطلاعاتی متفاوتی را ثبت کنند. آن موارد همچنین در ارتباط با اهداف پوششی مورد استفاده قرار می گیرند.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
3. بررسی مدل های سخت افزاری با استفاده از زبان برنامه نو.یسی e.
UML به صورت یک رویکرد مستقل زبانی و چند منظوره ای می باشد که به طور گسترده ای برای طراحی سیستم های هدف محور مورد استفاده قرار می گیرد. ما در مرحله ابتدایی تلاش می کنیم تا به طراحی تست برنامه هایمان با استفاده از UML بپردازیم اما در می یابم که آن فاقد حمایتی در ارتباط با خصوصیات جنبه گرا زبان برنامه نویسی e می باشد. بنابراین ما به بررسی رویکردهای طراحی جنبه گرا پرداخته و تلاشی را برای طراحی برنامه های خود با توجه به تم/UML انجام می دهیم. تم / UML به عنوان یک عامل جنبه گرای در ارتباط با UML می باشد که به حمایت از موارد ساختاری و غیرساختاری می پردازد که شامل برش های طولی می باشند.ثابت شده است که تم/UML بهتر از UML استاندارد در ارتباط با ساختارهای جنبه گرا در زبان برنامه نویسی e می باشد. به هر حال نمونه هایی نیز وجود دارد که تم و UML نمی توانند به طور مناسبی عملکردهایی را مد نظر قرار دهند که با زبان برنامه نویسی e در انطباق باشد. این موارد در اصل به دلیل وجود ماهیت زمانی و دینامیکی ایجاد می گردد.
3.1. ارتباطات جنبه گرا .
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
نتایج مربوط به شکل گیری این جنبه ها با توجه به موارد اصلی در شکل 6b نشان داده شده است به صورتی که عملکردهای سطح مقطع بعد از روش های اصلی به مرحله اجرا در می آید.این نمونه نشان می دهد که چگونه تم/uml مورد استفاده قرار می گیرد تا به صورت گرافیکی (نیاز به دانلود ترجمه) را نشان دهد. دستور (نیاز به دانلود ترجمه) و (نیاز به دانلود ترجمه) به همین ترتیب مد نظر قرار داده می شود.
به هر حال اداره کردن این ارتباطات پیچیده تر می باشد. یکی از راه های احتمالی برای کنترل کردن این ارتنباطات ایجاد طبقات جدید می باشد. برای نمونه ما می توانیم یک طبقه مبنا را به نام (نیاز به دانلود ترجمه) و یک طبقه فرعی را به نام (نیاز به دانلود ترجمه) ایجاد کنیم که منحصر به (نیاز به دانلود ترجمه) باشد.به ه حال در زبان برنامه نویسی e طبقات فرعی تا زمان اجرا وجود ندارند.و تا زمانی که ضمانتی در مورد آن وجود نداشته باشد تضمین نمی گردد. این احتمال نیز وجود دارد تا بتوان به محدود کردن محیط برای ایجاد شرایطی بپردازیم که تمام این مبناها وجود داشته باشد.، این مورد هرگز مد نظر قرار نمی گیرد. از نظر گرافیکی بیان این مفهوم در تم/UML به دلیل موارد پایه در UML و اختلافات بین مفاهیم هدف محور در UML و ایجاد مدل های جنبه گرا در زبان E مشکل می باشد. با استفاده از نمودارهای زنجیره ای نیز می توان ایجاد اهداف را در طول زمان مشخص کرد. به هر حال عملکردهایی که با استفاده از این نمودار توصیف می گردند به دنبال اضافه شدن و افزایش طرح ها درک و تجسم آن ها سخت تر می گردد. ایجاد یک زبان طراحی خاص برای مد نظر قرار دادن این موارد فراتر از کاربرد رویکردهای UML محور در ارتباط با مدل E می باشد.
محدودیت ها و پویایی زبان.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
لیست 6 نشان می دهد که چگونه این محدودیت ها از طریق بعضی از جنبه ها توسعه می یابد. محدودیت (نیاز به دانلود ترجمه) به محدود کردن (نیاز به دانلود ترجمه) می پردازد. این محدودیت های ملایم ممکن است در هر زمانی باطل گردند اگر چه دستگاه های محدود کننده تلاشی را برای محدودیت ملایم که بر روی محدودیت های سخت تر هم پوشانی شده اند انجام می دهد. در ارتباط با ، (نیاز به دانلود ترجمه) با مد نظر قرار دادن این جنبه ها محدود می گردد.نمایش گرافیکی این موارد محدود شده در ارتباط با UML مد نظر قرار می گیرد.
علاوه بر این محدودیت های مختلف در کاهش فضاهای موجود نقش داشته و ممکن است شامل اختلافاتی باشد. از نظر تجزیه وتحلیل آماری این محدودیت ها، چنین احتمالی وجود دارد تا این اختلافات را با توجه به UML با مد نظرقرار دادن اینکه چگونه هر یک از این محدودیت ها باث کاهش میزان متغیرها می گردد، در نظر بگیریم. این محدودیت ها باعث می شود که (نیاز به دانلود ترجمه) در زمان خاصی ایجاد شده اما ما دریافته ایم که این امکان وجود ندارد تا از نظر زمانی به توصیف شرایط موجود UML بپردازیم.
3.3 عملکردهای زمانی.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
به هر حال مشکل اصلی در ارتباط با ساختارهای زمانی طراحی شده این می باشد که UML به صورت پیش فرض به صورت تمام وقت مد نظر قرار نگرفته و ایجد تفاوت بین روش های استاندارد همانند (نیاز به دانلود ترجمه) و روش های زمانی مانند (نیاز به دانلود ترجمه) را مشکل می سازد. هر دو این موارد در زبان برنامه نویسی e شامل تفاوت هایی می باشد.اگرچه تعدادی از این ارتباطات تمام وقت در ارتباط با uml مطرح شده اند، ولی تم/uml در حال حاضر به حمایت از عملکردهای تمام وقت نپرداخته و به این ترتیب این امکان وجود ندارد تا به طور مناسبی ساختارهای مربوط به زبان برنامه نویسی e را مد نظر قرار دهیم. به هر حال حتی در مواردی که یک پروفایل تمام وقت در ارتباط با uml مورد نظر قرار می گیرد، ما همچنان با مواردی در زمان طراحی عملکردهای جنبه گرا زبان برنامه نویسی e روبرو می شویم. برای نمونه، عملکردهای زمانی مربوط به این روش از طریق مواردی با تغییر رویکردهایی که این روش با آن هماهنگ می گردد یا با تغییر کدها در این روش، اصلاح می گردد. علاوه بر این، این زبان قوانین مختلفی را به مرحله اجرا در می آورد که بستگی به این مورد دارد که چه ساختارهایی مد نظر قرار می گیرند. برای نمونه دستور (نیاز به دانلود ترجمه) در ارتباط با اهداف نبوده اما در ارتباط با روش ها مورد استفاده قرار می گیرد.این عملکردها با توجه به استانداردهای تمام وقت UML مد نظر قرار نمی گیرند.
3.4 حمایت ابزاری.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
4- شرایط لازم در ارتباط با رویکردهای جنبه گرا.
در این بخش، شرایط مورد نیاز را در ارتباط با این رویکردها بر مبنای تجاربمان برای طراحی زبان برنامه نویسی e با استفاده از ارتباطات جنبه گرا برای UML مد نظر قرار می دهیم.
این ها از جمله مواردی می باشند که می بایست مد نظر قرار گرفته البته اگر یک رویکرد جنبه گرا به حمایت از تست برنامه های سخت افزاری بپردازد.
4.1 مد نظر قرار دادن روابط تقابل.
یک رویکرد های توسعه استاندارد محور شامل گروه بندی تمام عملکردها در ارتباط با جنبه های مورد نظر به یک فایل می باشد و همچنین در ارتباط با ایجاد فایل های جدید در ارتباط با هر یک از این موارد نسبت به موارد اصلی می باشد.با مد نظر قرار دادن تعداد این فایل ها، فعالیت های مختلفی که روی می دهد بستگی به ترتیب لود شدن فایل ها دارد. نمونه موجود در لیست 7 را مد نظر قرار دهید. اگر فایل A لود شود، به دنبال فایل B و C، دستور (نیاز به دانلود ترجمه) ایجاد شده و دو پیام چاپ می گردد، (نیاز به دانلود ترجمه) و (نیاز به دانلود ترجمه) . ترتیبی که این موارد مد نظر قراتر می گیرد و از طریق جنبه هایی گشترش می یابند و در زمان اجرا ثابت می باشند، اجرای برنامه را تحت تاثیر قرار می دهند.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.
ما بر این عقیده می باشیم که برای مد نظر قرار دادن این موضوعات، یک ابزار ناظر سیستم های جنبه گرا و چگونگی فعالیت ها آن مورد نیاز می باشد. این مدل ها سه بعدی بوده که همراه با محوری می باشد که تاثیر این بارگذاری ها در زمان های مختلف نشان می دهد. این فرایند برای کاربران مواردی را ایجاد می کند که تاثیر تعامل جنبه های مختلف را بر مبنای کاربرد آن ها مشاهده کرده و درک بهتری از تاثیرات مربوط به این بارگذاری ها بر روس نتایج از سیستم ها داشته باشند.
4.2 حمایت از سیستم های قدیمی تر.
جهت مشاهده متن کامل، فایل ترجمه را دانلود نمایید.