معرفی : برنامه های هوشمند مشتمل بر 99% علم کامپیوتری و 1% هوش مصنوعی است .
هوش مصنوعی با بیش از 40 سال سابقه مورد بحث و انتقادات زیادی قرار گرفته است.
شاید بتوان گفت که مشکلترین و سخت ترین نوع بحث این باشد که هوش مصنوعی نتوانسته است به وعده های خود عمل .
عموما یک برنامه هوش به عنوان یک سیستم مستقل تصمیم گیرنده محسوب می شود که در محیط آن عمل قرار میگیرد.
سیستم های عامل : منظور از سیستم عامل این است که از یک عامل به صورت انتزاعی استفاده شده است .
و سیستم های عامل ممکن است شامل یک کاربر باشد.
منظور از سیستم عامل سیستمی است که ، شامل موارد زیر باشد: استقلال داخلی (AUTONAMY) : سیستم های عامل برخی از برنامه ها را خلاصه میکنند و درباره چگونگی وضعیت بدون دخالت بشر یا سایرین تصمیم گیری می کنند.
فعالیت (Reactivity) : عامل ها در یک محیط واقع شده اند و قادر هستند به تغییراتی که در آن رخ می دهد پاسخ دهند.
فعالیت حرفه ای : ( Pro- activeness) سیستم های عامل به آسانی در پاسخ به محیطشان عکس العمل نشان نمی دهند .
آنها قادر هستند که با حرکت اولیه رفتار هدف گرایی را ارایه دهند.
توانایی اجتماعی : ( Social abitity) سیستم های عامل با دیگر عامل ها ( برنامه و شاید انسانها) از طریق نوع زبان ارتباطی ،در ارتباط هستند و به عنوان نمونه آنها قادر هستند تا در فعالیت های اجتماعی (مثل حل مسئله یا مذاکره) جهت رسیدن به اهدافشان به کارگرفته نشوند.
همچنین از سیستم انتظار داریم که زبانهای برنامه نویسی سطح پایین را به صورت کورکورانه اجرا کند.
بدین ترتیب هنگام وقوع شرایط غیر قابل پیش بینی از سیستم انتظار داریم که متعاقبا و سر موقع به وضعیت جدید پاسخ مناسبی دهد.
1-2 ) سیستم های عامل به عنوان سیتم های منطقی یک مشکل مشهود این است که چگونه به شرح سیستم هایی که توانایی رفتار منطقی دارند بپردازیم .
یکی از موفقیت آمیز ترین روش های برای رفع این مشکل در نظر گرفتن سیستم های عامل به عنوان سیستم های ارادی است که عملکردشان با اصطلاحات رفتاری از قبیل عقیده میل و قصد می تواند پیش بینی و توضیح داده شود .
این حالت ارادی از آنجائیکه رفتار یک سیستم پیچیده از طریق صفات حالت از قبیل اعتقاد و امیال درک می شود را در ابراز انتزاعی می گویند .
حال بیشتر علم کامپیوتر به تحقیق درباره مکانیزم های انتزاعی گرایش دارد تا آنجائیکه به برنامه نویسان اجازه می دهد تا با آرامش کامل به کنترل پیچیدگیها بپردازد .
AOP می تواند به عنوان یک برنامه نویسی بعد از اخبار در نظر گرفته شود .
در برنامه نویسی توابع گفتن این که یک سیستم چه باید انجام دهد مشمول این است که با نوشتن یک الگوریتم دقیق دقیقا گفته شود چگونه باید این کار را انجام دهد.
در AOP ، مثل برنامه ریزی اخباری عقیده بر این است که اهداف را بیان کرده و اجازه دهیم تا مکانیزم کنترل داخلی چگونگی کسب نتیجه را محاسبه کند.
در این مورد بهر حال مکانیزم کنترل مدل هایی از برنامه های منطقی را پیاده سازی می کند .
خوشبختانه این مدل کامپیوتری با فهم اولیه عقاید و امیال ما مطابقت دارد .
ویژگی ها : فرایند توسعه نرم افزار با پرداختن به الزامات مشتری شروع می شود .
وقتی این فرایندکامل است که عملکرد سیستم جدید تنظیم شود .
سیستم های عامل اطلاعاتی درباره محیطشان دارند.
این ما را به تقاضا راهنمایی می کند که چارچوب ویژگی های سیستم عامل بایدقادر به ارائه وضعیت محیط خودش و اطلاعاتی که سیستم عامل درباره آن محیط دارد باشد .
ارزش ارائه نظر درباره این که چه خواصی ممکن است دارای این اطلاعات باشد وجود دارد .
اولا اطلاعاتی که یک سیتم عامل دارد ممکن است اشتباه باشد .
سنسورهای سیستم عامل ممکن است دارای نقص باشد .
اطلاعات ممکن است به روز نباشد یا سیستم عامل ممکن است عمدا یا تصادفا اطلاعات غلطی را ارئه داده باشد .
ثانیا اطلاعاتی را که یک سیستم عامل دارد مستقیما در دسترس دیگر سیستم عامل ها نباشد .
سیستم عامل ها اطلاعاتی را به اشتراک نگذارند و به ساختارهای اطلاعاتی شخص دیگری دسترسی نداشته باشند.ثالثا محیط ممکن است شامل سیستم عامل های دیگر باشد که هر کدام اطلاعات مربوط بخود را از محیط دارد.
بدین ترتیب سیستم عامل ممکن است اطلاعاتی درباره دیگر عوامل باشدکه هر کدام اطلاعات مربوط به خود از محیط دارند .
سیستم های نرم افزاری به 2 نوع تقسیم می شوند : فعالیتی و تابعی ( کنشی و واکنشی ) یک سیستم تابعی سیستمی است که ورودیها را گرفته بعداری محاسبات روی ورودیها انجام می دهد و در آخر خروجیها را ارائه می کند.
این قبیل سیستم ها می توانند به صورت تابع I O :F Ic که ورودی و o خروجی است نشان داده شوند.
مثال کلاسیک این نوع سیستم کامپایلر یا مترجم برنامه می باشد.
به طور کلی برنامه های تابعی برای بیان طراحی وپیاده سازی از سیستم های واکنشی راکتیو (Reactive) ساده تر هستند.
از آنجائیکه سیستم های تابعی پایان می یابند استفاده از قالب های پیش شرط و پس شرط برای استدلال آنها ممکن می باشد.
بر عکس سیستم راکتیو خاتمه نمی یابد اما با محیط پیرامونش بر هم واکنش مداوم دارد.
بنابر این استفاده از قالب های پس شرط و پیش شرط از قبیل منطق Hoare برای استدلال آنها ممکن نمی باشد در عوض سیستم های Reantive باید بر اساس رفتار مداوم آنها مشخص و تعیین شوند.
شاخص سوم های سیستم های عاملی که به بحث درباره آن پرداختیم قابلیت توانایی اجتماعی می باشد که به منظور ما از آن این می باشد که سیستم های عامل قادر به ارائه رفتار هدف گرایی هستند در آخر سیستم های عامل باید قادر به عمل باشند.
به طور نمونه سیستم های کنترل کامل روی محیطشان را ندارند اما عموما قادر به تاثیر گذاری بر روی محیطشان از طریق انجام یک سری اعمال هستند و ممکن است کنترل های مطمئنی روی قسمت هایی از آن داشته باشند .
خلاصه این که بسته های نرم افزاری سیستم عامل باید قادر به کنترل حداقل شاخص هایی زیر از یک سیستم عامل باشد .
عقایدی که برنامه هایی دارند.
سیستم های عاملی که بر هم کنش مداومی با محیطشان دارند.
اهدافی را که سعی بر اکتساب آنها دارند.
اقداماتی که سیستم های عامل انجام می دهند واثرات این سیستم های عامل دارند.
یک مدل منطقی موقت قادر به تعیین این شاخص های سیستم می باشد .
یک بسته نرم افزاری سیستم عامل با مدل موقتی شامل موارد زیر می باشد : حرف ربط منطقی برای نشان دادن عقاید سیستم عامل حروف ربط منطقی برای نشان دادن پویایی سیستم و رفتار مداوم آن حروف ربط منطقی برای نشان دادن کنش ها ( مثل امیال ، مقاصد و اجبارها ) تعدادی دستگاه برای نشان دادن عملیاتی که سیستم های عامل انجام می دهند.
شاخص های اطلاعاتی : دانش ،عقیده ،نقطه نظرات اطلاعاتی مشترک شاخص های موقتی : خطی در مقابل شاخه ای متراکم در مقابل جدا از هم ، مرجع مستقیم در مقابل اپراتورهای جدی نقطه ای در مقابل فاصله ای .
شاخص های تابعی: میل ،قصد ، اجبار ،انتخاب ، نقطه نظرات جمعی اعمال: نمایش مستقیم ، ارائه مجازی ( ضمنی ) با ارائه این الزامات ابعاد زیاد زیر دیگری وجود دارد که بسته نرم افزاری سیستم های عامل می تواند تفاوت داشته باشد که برخی از این ابعاد در بالا ذکر شد .
به هیچ وجه توافق نظری روی خواص مورد نیاز چیزی را که ما به آن تئوری سیستم های عامل می گوئیم وجود ندارد.
به عنوان مثال دو تا از معروفترین تئوری های عامل تئوری نظری cohen- levesque مدل عقیده ، میل و نظر Rao- Georgeff می باشد .
مدل cohen- levesque که اصلی ترین است در طرز فکر دارد : عقاید و اهداف دیگر طرز فکرها از این ساخته شده اند در مقابل Rao- Georgeff از قصد به علاوه عقاید و اهداف به عنوان اصلی ترین ها یاد می کند.
همچنین cohen- levesque از مدل موقت خطی اقتباس می کند، زمان شاخه ای شدن برای مدل Rao- Georgeff کم یا زیاد ضروری نمی باشد .
در نتیجه هر دو قالب اگر چه خیلی بهم نزدیکند ولی ناسازگارند .
زبانهای اختصاصی سیستم های عامل به مراتب پیچیده تر از زبانهای modal و موقتی هستند که در علم کامپیوتر معمولی می باشند .
در واقع آنها منطق های موقتی هستند که توسط گروهی از حروف ربط اضافی و مدال وضعیت ذهنی یک عامل اشباع شده اند .
هنگامی که اجزا موقتی این منطق ها می خواهد تا حدی استاندارد باشد علم معنای حروف ربط مدال مدون اضافی در منطق مدال نظرات گوناتگونی می دهد .
بنابر این برای مثال به اطلاعات داده شده به سیستم عامل عقاید یک سیستم عامل در بعضی مواقع توسط یک سری وضعیت های گوناگون طبقه بندی می شود که هر کدام از آنها یک امکان را شناسایی می کنند که دنیا چگونه می توانند باشد .
باز هم بدین ترتیب امیال عامل در بعضی موقعیت ها توسط یک سری وضعیت هایی که با امیال سیستم سازگار می باشد طبقه بندی می شود .
مفاهیم نیز زیر بهمین صورت نشان داده می شوند مزایای زیادی برای مدل های ممکن جهانی وجود دارد و مکانیزم های بکار گرفته شده بسیار زیبا و ظریف است .
به هر حال تعدادی اشکال جدی به معنای دنیاهای ممکن می باشد .
اولا : این معنا اشاره دارد به این که عوامل از لحاظ منطقی استدلال کننده های کاملی هستند و آنها منابع نامحدودی برای استدلال در دسترس دارند.
هیچ برنامه واقعی مصنوعی یا غیره این خصوصیات را ندارند .
ثانیا : معانی دنیاهای ممکن عموما بی اساس است بدین معنی که هیچ ارتباط دقیقی بین روابط انتزاعی که برای طبقه بندی وضعیت برنامه ها استفاده می شود و هر مدل محاسبه ای دقیق وجود ندارد .
4- پیاده سازی : خصوصیات ،پایان داستان توسعه نرم افزاری نیست به محض ارائه خصوصیات ما باید یک سیستمی رات پیاده سازی کنیم که نسبت به خصوصاتش صحیح باشد .
مسئله بعدی حرکت از خصوصیات انتزاعی به مدل محاسبه ای دقیق است حداقل سه امکان برای کسب این تغییر وجود دارد 1- تصحیح دستی مشخصات به فرم قابل اجرا از طریق برخی از اصول ها ، اما فرایند تصحیح سازی غیر رسمی ( چنانکه در توسعه اکثر نرم افزاری های کنونی این یک اصل است ) 2- اجرا و تحریک کردن خصوصیات انتزاعی به صورت مستقیم و تا حد ممکن 3- ترجمه یا کامپایل خصوصیات به شکل محاسباتی دقیق با استفاده از تکنیک ترجمه اتوماتیک تا حد ممکن .
2-4 : اجرای ویژگی های برنامه به طور مستقیم : یکی از منابع عمده روش های تصحیح دستی این است که آنها امکان خطا را معرفی می کنند اگر هیچگونه دلیلی برای نشان دادن این که هر مرحله از تصحیح یک تصحیح واقعی است مشاهده شود سپس صحت فرایند پیاده سازی کمی بیشتر به فراست شرکت برنامه نویس بستگی دارد .
واضح ایت که این وضعیت مطلوبی از امور در خواستی که صحت یک موضوع اساسی است می باشد .
یک راه ممکن برای گیر انداختن این مشکل که به طور وسیعی در علم کامپیوتر شناسایی شده این است که از شر فرایند تصحیح سازی خلاص شده و همزمان ویژگیها را مستقیما اجرا کنیم .
یک راه مناسب جهت تفکر درباره اجرا این است که انگار برنامه در حال بازی در مقابل محیط است .
خصوصیات هدف بازی را نشان می دهد .
برنامه باید هدف را رضایت بخش نگه دارد .
هنگامی که محیط سعی می کند جلوی کاربرنامه را بگیرد بازی توسعه برنامه ومحیط بی نوبت برای ساخت یک محیط انجام می شود .
اگر ویژگیها در مدل غلط باشند برنامه می بارد .
در سیستم های اکتیو واقعی هیچ وقت بازی تمام نمی شود یک استراتژی موفق برای مدل سازی از ویژگی های برنامه در حضور ورودی اختیار از محیط یک الگورتیم اجرایی برای منطق است .
میتایم چند منظوره : یک زبان برنامه نویسی برای سیستم های چند عاملی است که بر اساس نظریه اجرای خطی مستقیم ویژگی های برنامه منطقی موقتی می باشد.
یک سیستم میتاتیم چند منظوره شامل یک سری برنامه های اجرایی چند منظوره است که هر کدام از آنها با ارائه ویژگی های منطقی موقتی رفتاری که برنامه باید ارایه دهد برنامه ریزی می شود .
تکنیک های استنتاجی اتوماتیک متشابهی برای توسعه ساختار سیستم های چند منظوره از ویژگی های منطقی بکار گرفته شده است .WolperوManna الگوریتیمی را که یک ویژگی منطبق خطی از قسمت هماهنگ یک سیستم چند منظوره را به عنوان ورودی گرفته و اسکلت یک برنامه cps که ویژگی ها را تشخیص می دهد به عنوان خروجی تولید می کند.
تابعیت یک سیستم چند منظوره می تواند به دو دسته تقسیم شود : یک قسمت تابعی که محاسبات مورد نیاز در برنامه را انجام می دهد و یک قسمت هماهنگ کننده که از همکاری صحیح اجزای سیستم اطمینان حاصل می کند.
نظریه ماشین های جایگزین : شناخته شده ترین مثال از این شیوه برای بسط برنامه الگوی نظریه ماشین های جایگزین KAELBLING andRosenchein است .
در ااین شیوه برنامه شامل دو جز می باشد : یک قسمت درکی که مسئول مشاهده محیط و به روز کردن وضعیت داخلی برنامه است یک قسمت فعال که مسئول تصمیم گیری برای انجام کار مورد نظر بر اساس وضعیت داخلی برنامه است .
فرایند تصمیم گیری انجام کاری در شرایط محاسباتی که شامل هیچگونه استدلالی نمی باشد بسیار ساده است تکنیک های تصحیح ساختاراما غیر رسمی ، تکیه گاه اصلی مهندسی نرم افزار دنیا حقیقی هستند .
دگر تکنیک های برنامه ای قرار باشد که در خارج جامعه آکادمیک مورد استفاده قرار بگیرد ، نتیجه روش های ساختاری و غیر رسمی برای توسعه برنامه های ضروری خواهد بود .
یک اسکان برای این قبیل تکنیک ها که توسط luch andDinverno دنبال شده است استفاده از یک تکنیک ویژه استاندارد و استفاده از روش های تصحیح سنتی ( توسعه متغیری) برای تبدیل ویژگی ها به یک پیاده سازی است این روش دارای این مزیت است که با تکنیک های بر اساس کاربر آشنایی بیشتری نسبت به تکنیک های جدیدتر دارد.
زمان اختصاصی برنامه که بر اساس میتاتیم چند منظوره می باشد دارای یک مدل محاسبه ای دقیق و الگوریتم اجرائی نسبتا ساده است .
به طور کلی این مدهاها معنای محضی دارند بدین معنی که ساختارهای معنایی که از این منطق ها پشتیبانی می کنند هیچ ترجمه محاسبه ای دقیقی ندارد .
در نتیجه واضح نییست که چگونه این قبیل زبانهای اختصاصی برنامه ممکن است اجرا شود .
دیگر شکل محرز این است که تکنیک های اجرایی بر پایه اثبات فرضیه های محدود می شود.
به هر حال پیچیدگی مسئله ای است که حتی در مورد گزاره ای نیز وجود دارد .
5- تایید (verifcation) : به محض این که یک سیستم دقیق را ما رشد می دهیم نیاز است که نشان دهیم که این سیستم در ارتباط با ویژگی های اصلی آن درست است این فرایند به عنوان تایید شناخته شده است و در صورت معرفی فرایند توسعه اهمیت آن بیشتر خواهد بود .
1-5 :روش های بدیهی : تایید بدیهی مستلزم این است که ما برنامه دقیق مان را گرفته و از این برنامه یک تئوری منطق که رفتار برنامه را نشان می دهد اخذ کنیم .
به این برنامه تئوری یا فرضیه می گوئیم.
اگر تئوری برنامه در زبان منطقی مشابهی مانند ویژگی های اصلی بیان شود پس تایید به مسئله اثبات کاهش می یابد .
معارفه در زبان چند عاملی : اصولا نظریه بر اساس استفاده از منطق اعتقادی موقت برای معارفه خصوصیات زبان های برنامه نویسی چند عامله بود.
با فرض این قبیل معارضه یک تئوری برنامه ای که خصوصیات سیستم را نشان می دهد می تواند به صورت سیستماتیک استنتاج شود.
یک منطق اعتقادی موقت به دو دلیل استفاده می شود : اول این که یک جز موقتی مورد نیاز است زیرا ما نیاز به دستیابی رفتار مداوم سیستم چند عامله داریم .
به عنوان یک جز اعتقادی استفاده و محسوب می شود .
زیرا برنامه هایی که ما می خواهیم تایید کنیم همه خودشان سیستم های هوش مصنوعی سمبولیک هستند .
یک جز اعتقادی در منطق به ما اجازه صرف ترکیبهای سمبولیک موجود در هر برنامه را می دهد.
دو زبان برنامه نویسی چند عامله که در منطق اعتقادی موقتی معرفی شد برنامه میتاتیم چند منظوره and Fisher Shoham بود.
روش اصلی به صورت زیر بود .
ابتدا یک سیستم انتزاعی ساده از برنامه های هوش مصنوعی سمبولیک رشد یافت این مدل به این حقیقت می رسد که برنامه های سیستم های استدلالی سمبولیک و قادر به ارتباط هستند این مدل روشی را ارائه می دهد که چگونه برنامه ها می توانند حالت خود را تغییر دهند و محاسبه این قبیل سیستم شبیه به چیزی است .
سوابق نشان می دهد که در اجرای این قبیل یک سیستم به عنوان اساس معنایی برای انطباق اعتقادی موقتی استفاده می شد.
این انطباق به ما اجازه می دهد تا خواص برنامه های مدل سازی شده در حین فرآیند را بیان کنیم .
انطباق اعتقادی موقتی برای معارفه خواص یک زبان برنامه نویسی چند عاملی استفاده می شد .
این مارفه سپس برای بسط تئوری برنامه سیستم چند عاملی استفاده می شد .
تئوری اثبات منطق اعتقادی موقتی برای تایید خصوصیات سیستم استفاده می شد .
روش های متعارف جهت تایید سیستم های چند عاملی از دو مشکل اساسی رنج می برد .
اول اینکه تایید موقتی سیستم های راکتیوتکیه به مدل ساده چند منظوره دارد که عملیاتی که برنامه ها را اجرا می کنند اتمیک فرض می شود .
اقداماتی که ما به برنامه ها هنگام اجرا فکر می کنیم عموما غیر معمول ترند .
در نتیجه به مدل چند منظوره واقعی تری نیازمندیم .
مشکل دوم اثبات زیانهای اختصاصی برنامه است.
اگر ما نتوانیم برنامه اختیاری انتخاب کرده برای این برنامه عقاید ، امیال ومقاصد را بگوئیم چه هستند پس واضح نیست که ما چگونه می توانیم این برنامه را بر حسب این قبیل ساختارهای بیان شده جبران کنیم .
عصر پیشرفت نرم افزاری جنین و ولدویدج به شرح عصر پیشرفت در تکنولوژی مهندسی نرم افزار (AOSE) پرداختند اطلاعات مربوط به AOSE بسیار مفید می باشد و بر سه اساس برای پیشبرد سیستم پایه گذاری شده است : دوره عدم وجود اطلاعات، دورهپراکندگی و بدون انسجام بودن اطلاعات دوره سازماندهی اطلاعات که نهایتاٌ عصر تفکر و دانش را منجر می شود که اطلاعات لازم در زمینه بهره برداری صحیح از این دانش را در اختیار قرار می دهد .
این تقسیم بندی بسیار مفید بوده و یک راه مشخص و ایده آل را برای ما نمایش می دهد که بر مشکلات این دوران فائق آئیم .
روش های طراحی شده برای این دوره بسیار مفید بوده و به سرعت روند رشد دریافت ، و کارآیی بالایی دارد و این برنامه ها در گسترش و جهش در علوم بسیار مفید بوده ، در آخر این روند توسعه به صورت سلسله مراتب پیشرفت کرد و هر چه بهتر سازماندهی شد .
نظریه مهندسی سازی سیستم ها به سرعت انجام شد و بسیاری از زیر مجموعه های مهندسی نرم افزار را شامل شد .
ما توافقات بیشتر خود را در زمینه معرفی (Huhnsoo) به عنوان یک نمونه برنامه های نرم افزاری مهم نسبت به سایر برنامه اعلام کردیم که با تلاش و کوشش وسیع و گوناگون به انجام رسیده است که در نتیجه آن انعطاف پذیری و برنامه ای قوی بدون حمایت برنامه های جانبی می توانست به خوبی ارائه شود .نظریه اساسی در اینجا این است که سبرنامه ها بر اساس کاربرد و حالاتشان بدون معرفی کارآیی و توانایی هایشان و هم چنین تکنیک ها و فن های راهبردی به اجرا گذاشته می شود .
ما به شرح پایه های اساسی نرم افزاری (ABSE) می پردازیم ، هدف ما برای به اجرا در آورده ABSE به توانایی ما در زمینه طراحی نرم افزار بستگی دارد و این فنون تازه ارائه شده است و تا قبل هم کاربردی نداشته و معرفی نشده بود .
این موضوع غالباٌ به زبان های مختلف توجه ویژه دارد .
ما با وارد کردن برخی جزئیان مهم و اساسی در زبان برنامه نویسی باعث پیشرفت تکنیک های نرم افزار و مفید واقع شدن آن از میان سایر برنامه های نرم افزاری اخیر شده ایم .
اطلاعات ما بابت بر قراری ارتباط بین تکنولوژی و مهندسی نرم افزار شد و این دو عامل را بصورت مکمل همدیگر در آورد .
پایه های نماینده علمی مختلف شرح پیشرفت در این دوره نیازمند انجام مقایسه ای بین این دوره و دوره های قبل از نظر مهندسی نرم افزار است .
تکنولوژی در این دوره بصورت کاملاٌ طبیعی وارد نرم افزار شده ماند اطلاع رسانی محیطی، وادار کردن آن ها به استقلال داخلی ، و هدایت آن ها به سمت هوشیاری و زیرکی ، AOSEپایه ها و اساس هایش را در برنامه نویسی های دورهای (AOP) به نمایش گذاشته است و بیانگر آن است که این برنامه ها به طور متداول در این عصر انجام خواهد شد .
واضح است که ساختن برنامه و به تکامل رساندن علم نرم افزاری کاری دشوار است و هر روز در حال تغییر می باشد .
زبان های برنامه نویسی و تألیف زبان های جدید بطور متداول مفید نیستند و به فعالیت ها و کارهای مردم کمک نخواهد کرد و بر ایشان مفید نخواهد بود که از این تکنولوژی استفاده کنند مهمتر از آن استفاده از این نرم افزار باعث محدود شدن کاربری آن در آن دوره شد .
عصر تکنولوژی بیشترین سازماندهی را در زمینه نفوذ نرم افزار در تکنولوژی را داشت .
این موفقیت محتملاٌ بصورت تصادفی در یک دوره رخ داده و این روند بدون آموزش های لازم ادامه نخواهد یافت .
این در واقع مهمترین عامل در یک عصر است .
اما کارهای AOSEبطور عقلانی و صحیح به شرح جزئیات نمیپردازند .
باید راهی وجود داشته باشد و از این علم بصورت کاربردی استفاده شود .
تعاریف Shoham در مورد این دوره درباره روند به کارگیری ذهن مانند گمان کردن ، توانایی ذهنی ، انتخاب و ارتباطات باشد و مشابه آن BDI می باشد که کمک کمی در زمینه گسترش فعالیت در عصر خود کرده است و به ارائه تئوری های مورد استفاده و مهم کمک نکرد مانند BDI که بین مهندسی نرم افزار و اصول کاربردی این علم نتوانست ارتباط برقرار کند .
در تغییر تئوری های ذهنی این تنها کافی نیست که باعث ارتقاء دادن این علم از تکنولوژی های نرم افزاری شویم و نقاط مختلف آن را بوسیله تکنولوژی های دیگر قوت ییخشیم و این خود باعث می شود که برنامه ها پیشرفتی نکنند .
AI چیست سؤالی است که بارها مطرح شده است .
جواب آن به طور صریح به این مسئله می پردازند کهAI در صنعت و تکنولوژی کاربرد زیادی دارد .
عامل پیشرفت یک برنامه و مؤثر شدن یک برنامه را در پیشرفت یک تکنولوژی می دانند هر برنامه ای که در پیشبرد تکنولوژی مؤثر باشد را برنامه ایده آل به حساب می آورند .
اما تجربیات بیانگر آن است که ما می توانیم باتکیه بر این برنامه های نرم افزاری به شناسایی هر چه بیشتر تکنولوژی نرم افزار پی ببریم و آن را به کار گیریم .
تئوری BDI در ابتدا به توصیف در AOSE در حالات آموزش نرم افزار و پیشرفت آن در نولوژی می پردازد .
اما BDI فقط یک حالت از علم مربوطه به کار می برد و باعث گسترش آن تئوری می شود .
روابط موضوعات مورد بررسی تئوری های مختلف (Wagneroo) یک مثال واضعی است به عنوان نماینده حالات مختلف که بر اساس همین مدل روابط بر پایه BDI پایه ریزی شده است ، و در فعالیت ساختاری کاربرد دارد .
در فعالیت های مهندسی فرآیند ارتباطات به عنوان تئوری در و کس در چهارچوب فعالیت مهندسان سازمان دهی شده است .
تئوری رودکسی تقریباٌ متفاوت است با تئوری BDI و به هیچ عنوان وابستگی به تئوریهای قبلی ندارد .
در مثال دیگر میتوان به طرح Tate پداخت ، که در بسیاری از موارد مشابه Redox می باشد ولی به کارگیری و طراحی ساده تر وکاربردی تر است .
نقص مقاله ABSE جنیز : فقدان جزئیات مورد نیاز و مهم برای سازماندهی کردن پایه های این مقاله و جایگذاری آن در علم نرم افزار بود .
(مدتی که ) Wooldridge , Jenning , Shoham در حال تدوین روش های مفید پایه گذاری شده مهندسی پایه گذاری شده مهندسی نرم افزار بودن ارتباطات بین زبان های مختلف توسعه بیشتری یافت و مورد استفاده بیشتری قرار گرفت (Acl) به ساختار و طراحی مدل های نرم افزاری نهایتاٌ تا یک مدل می پرداختند.
کمک های ما و جمع آوری اطلاعات مناسب باعث بیشتر شدن اطلاعات می شد اگر کع محاسبات به خوبی اجرا شود و طراحی مناسبی جهت ثبت آن باشدنیازی به تصبیت از برنامه های نرم افزاری گذشته جهت به ارتقاء رساندن آن نداریم .
زیرا خود این برنامه کامل و بر پایه اصول های علمی ثبت شده است و بطور واضح و کامل تمام جزئیات این موارد توضیح داده شده است .
در افزایش نمونه های مدل ها زبان برنامه نویسی نرم افزاری نقش مهمی را در پیشرفت پایه های سیستم بازی می کند .
نوشتن پیام هاجهت بر قرار کردن ارتباطات زبان های درونی و بیرونی سیستم و سازمان ارائه مدل ترجمه ، کارهای اصلی دیگر ABSE برای نشوتن پیام ها باعث پیشرفت زبان برنامه نویسی پیشرفت نیاز به بررسی و کار و حتی وقت گذاری بیشتری دارد .
یک عامل که می تواند در برنامه های خارجی استاندارد مورد استفاده قرار گیرد .
ACL است که مانند KQML و یا FIPAA کارآیی دارد و همچنین برنامه KIF به عنوان زبان برنامه نویسی داخلی به کار می رود .
زبان های برنامه نویسی باید مشابه بااستاندارد های جهانی و بر پایه اطلاعات HTML و XML که پایه سا و اساس برنامه نویسی رادارا هستند این بدان معنی نیست که یک زبان در علوم مختلف مناسب و مؤثر نیست بلکه بدان معنی است که تکنولوژی بر اساس زبان های داخلی Acl سازمان دهی شده است .
استفاده از مدل ها (طرح ها ) برای کنترل : جمع بندی و مشاهدات طرح ها برای پیشرفت سیستم ها مفید خواهد بود .
در نعت و هم چنین در تکنولوژی با به کار گیری طرح های پیشنهادی بر خیلی مشکلات فائق می آئیم .
این موضوعات بوسیله Shoham سازماندهی شده است و به عنوان یک کار تئوری ارائه شده است و به راستی موضوعات قاطع و هم می را ارائه می دهد و گاهاٌ دارای نقص هایی هستند و به کار گیری آن سخت و دشوار و تا حدودی غیر ممکن به نظر می رسد .
مورد استفاده در WARREN و سیستم های دیگر توجه کنیم ، پی می بریم که طرحهای برنامه ریزی شده به طور واضح بر اساس رفتارها و اطلاعات گوناگون سازماندهی می شود .
این نیازها به طور واضح به نمایش گذاشته می شود و برای رفع این نیازها چاره ای اندیشه می شود .
استفاده از راهنمایی های لازم در زمینه مدل ها و زبان های برنامه نویسی : ارائه مدل ها بابت پیشرفت در زبان برنامه نویشی می شود .
برای مثال در Redux یک تصمیم برای حل مشکلات آن و رسیدن به هدف در نتیجه مطالعات گوناگون و کاربرد زیان برنامه نویسی می تواند مؤثر و مفید واقعشود .
اینکاربه نظر آسان می رسد ولی در عمل کد گذاری و تغییرعلامت های کدها و در نتیجه تغییر در ساختار Redux منجر می شود که کاری بس دشوار است .
اضافه کردن این مدل ها خیلی کاربردی و مهم هستند عاملی که کاربرد زیادی در طرح برنامه نویسی نرم افزاری دارد به طور وسیعی باعث پیشرفت در یک سیستم می شود و راهنمایی و هدایت در زمینه طراحی اینگونه عوامل می تواند کمک مهمی به ساختار سیستم و همینطور باعث تغییر در ABSE شود .
Acl هم چنین به تهیه کردن یک سری راهنمایی ها و ارائه آن ها برای برنامه نویسان درباره نوع برقراری ارتباطات بین برنامه های نرم افزاری می پردازد .
برخی از این تحقیقات مدل های بزرگ و مهمی را شامل می شود اما بخشی از این اما بخشی از این مدل های ارتباطی به معرفی Acls و زبان های درونی سیستم که باعث برقراری ارتباط بین زبان های خارجی و داخلی می شود می پردازد که این زبان ها بوسیله Abse سازمان دهی و طراحی شده است .
راهنمایی های acl باعث سازمان دهی و ارائه صحیح فعالیت های نرم افزاری می شود .
و زبان داخلی بازتابی از اطاعات پایه ای و دستورالعمل ها می باشد این پایه و اصول ها در جهت کمک رسانی و هدایت سیستم جهت پیشبرد و هم چنین گسترش و کنترل های متداول برا رسیدن به هدف که همان برنامه نویسی مفید می باشد ، مؤثر است .
Redux برای مهندسی نرم افزار مختلف مورد استفاده و در زمینه های مختلف مفید بوده است و توانسته نیازهای مهندسان را ارتقاء دهد .
مجموعه از WARREN در موارد مختلف و آزمایشات گوناگون در مورد منابع اطلاعات اطلاعاتی ربرد فراوان دارد .
طبقه بندی و تغییر دادن : متداولترین مدل Acl ، و زبان داخلی هر دو مفید هستند زیرا آن ها اجازه می دهند که با ایجاد تغییراتی در سیستم باعث پیشرفت در سیستم های نرم افزاری شوند.
اگر یک عامل سیستم را به خوبی طراحی کند ، مدل ترجمع سرعت تغییر خواهد کرد و این تغییرات از هنگامی است که تغییراتکلی در طراحی سیستم نرم افزاری زبان داشته باشد ،با افزایش یک نمونه جدید و اضافه کردن برنامه های نرم افزاری گوناگون باعث موجود آمدن محیط های جدید و هم چننی شرایط جدید نرم افزاری شویم .
یک طراحی مناسب Acl ممکن است موجب تغییراتی در ساختار آن شود ، زبان داخلی سیستم موجب پیشرفت و توسعه و بابت تغییراتی اساسی در ساختار Acl شود ولی به دلیل برنامه ریزی توسعه یافته و مفید سختی کمتری دارد و به راحتی قابل تغییر است .
تغییر در Acl غالباً باعث تغییر در شرایط زبان داخلی می شود .
تغییر در زبان انجام شده باعث تغییر در اطلاعات ارائه شده اعضاء ستیم می شود و این تغییرات با ارسال e.mail به آن ها اطلاع داده می شود و این کار مفید است زیرا کمک می کند تا اطلاعات جدید صفحات وب مرتباً بررسی می شود .
ایجاد تغییرات در برنامه ها و پیام های مربوطه : ابزارها وروشهای به کار رفته در سیستم های نرم افزاری بسیار کم بوده و با فقدان این ابزارها مواجهیم و البته استثناءهای کمی نیز وجود دارد .
در زیر به سه عامل اصلی که برای سهولت به کارگیری Abse است می پردازیم: همکاری در ارائه برنامه می تواند منجر به سطوح زبان متداول و مهم شود بدون نیاز برنامه نویس متداول .