مقاله طراحی قوانین زبان برای برنامه نویسی جنبه گرا
برنامه نویسی جنبه گرا به عنوان روشی برای پیمانه بندی کردن دغدغه های مداخله ای شناخته شده است. با این حال، سازه هایی که هدف حمایت از پیمانه بندی دغدغه های مداخله ای را دارند در واقع ممکن است پیمانه بندی کلاس را بشکنند. این امر را می توان با استفاده از قوانین طراحی مناسب بین کلاس ها و جنبه ها سبک تر کرد. ما زبانی ارائه می دهیم که از بسیاری از قوانین طراحی موجود در سیستم های جنبه گرا پشتیبانی می کند، و بیان و بررسی آنها را به طور خودکار آسان تر می کند.
در مورد این که زبان ما چگونه پیمانه بندی دغدغه های مداخله ای را بدون شکستن پیمانه بندی کلاس بهبود می بخشد. همچنین، در مورد معناشناسی زبان بیان شده در alloy بحث می کنیم.برنامه نویسی جنبه گرا (AOP) [کیزالس و همکاران. 1997] به عنوان روشی برای پیمانه بندی دغدغه های مداخله ای مطرح شده است. ثبت عملیات سیستم، توزیع، ردیابی، امنیت و مدیریت کاربردی، به عنوان نمونه هایی از دغدغه های مداخله ای پذیرفته شده اند که در برنامه نویسی جنبه گرا به خوبی مورد بررسی قرار گرفته اند. با این حال، به نظر می رسد که AOP مشکلات پیمانه بندی ایجاد می کند.
در این زمینه، برخی از نویسندگان اظهار دارند که به منظور استدلال در مورد کلاس ها در نظر گرفتن تمام جنبه های پیاده سازی ضروری است [سولیوان و همکاران. 2005، کلیفتون و لیونز 2002، استیمن 2006].در حضور جنبه ها، پیمانه ای بودن کلاس به خطر می افتد، چون هنگام تحول یک کلاس، تحلیل پیاده سازی جنبه های موجود ممکن است لازم باشد، که می تواند، به جای تنها تحلیل کلاس و رابط دیگر کلاس های معرفی شده به پیاده سازی کلاس ها اشاره کند.
در واقع، با اشاره به جزئیات پیاده سازی کلاس ها در جنبه ها، می توان استدلال پیمانه ای را مهار کرد و با دگرگونی سازش کرد، که نیاز به آگاهی کامل تغییرات کلاس از جنبه های موثر بر کلاس دارد. بنابراین، سازه هایی که هدف حمایت از پیمانه ای بودن دغدغه های مداخله ای را دارند در واقع ممکن است پیمانه ای بودن کلاس را بشکنند[ریبیرو و همکاران. 2007].
همانطور که در آثار دیگر بحث شده است، این ضعف را می توان با استفاده از قوانین طراحی کافی (بخش 2) بین کلاس ها و جنبه ها کاهش داد [سالیوان و همکاران. 2005، لوپز و باجراچاریا 2006]. قوانین طراحی برای کاهش این گونه وابستگی های جدید در سیستم جنبه گرا (AO) لازم می باشد. آنها تنها دستورالعمل و توصیه نیستند: آنها مفهوم رابط مخفی سازی اطلاعات را تعمیم داده و باید به دقت تبعیت شوند.
علاوه بر این که برای اهداف تأیید صحت مفید هستند، آنها به عنوان راهنمایی برای توسعه دهندگان از مراحل اولیه روند توسعه عمل می کنند. هیچ یک از روش های قبلی [سولیوان و همکاران. 2005، لوپز و باجراچاریا 2006] زبانی با هدف خاص توصیف قواعد طراحی ارائه نمی دهند.در این مقاله زبانی برای مشخص کردن قوانین طراحی (LSD) ارائه می دهیم که پیمانه ای بودن سیستم های جنبه گرا را بهبود می بخشد.
این زبان را با مشخص کردن ساختار و رفتار ضروری می توان به دست آورد که هر یک از مولفه های توسعه یافته باید با هدف ایجاد حداقل شرایط لازم برای کار به صورت موازی ارائه دهد. مشخص کردن قوانین طراحی از شرح قوانین طراحی به شیوه ی اعلانی حمایت می کند، که توسعه مکانیسم های تأیید خودکار این قوانین در کد نوشته شده را آسان تر می کند. برخی از حالات تکامل (بخش 5) را مورد بحث قرار می دهیم تا نشان دهیم که چگونه قوانین طراحی موجود می تواند به شناسایی مشکلات و همچنین حل آنها کمک کند.
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.