الگوهای تحلیل پایای یادگیری در عاملهای نرمافزاری هوشمند
محورهای موضوعی : مهندسی برق و کامپیوترشیوا وفادار 1 , احمد عبدالهزاده بارفروش 2
1 - دانشگاه صنعتی امیرکبیر
2 - دانشگاه صنعتی امیرکبیر
کلید واژه: الگوی تحلیل الگوی تحلیل پایای نرمافزار مهندسی نرمافزار مبتنی بر عامل یادگیری,
چکیده مقاله :
تکنیکهای هوش مصنوعی از قبیل یادگیری، بهصورت گستردهای در سیستمهای مبتنی بر عامل به کار میروند. اما در زمینه ارائه یک دیدگاه مهندسی نرمافزاری از این تکنیکها برای کل چرخه حیات نرمافزار شامل تحلیل، طراحی و تست، در حال حاضر کاستیهایی وجود دارد. در این تحقیق با تمرکز بر مرحله تحلیل نیازمندی بهعنوان یکی از نخستین مراحل فرآیند تولید نرمافزار، ابزارها و تکنیکهایی برای رفع این کمبودها در مرحله تحلیل پیشنهاد شده است. بدین منظور در این مقاله، مجموعهای از الگوهای تحلیل پایای نرمافزار ارائه شده است. الگوهاي تحليل پایای نرمافزار، مجموعهاي از کلاسهاي عمومي (فراکلاسها) و ارتباطهای میان آنها برای تحلیل یک موضوع خاص هستند که در قالبي مستقل از دامنه مسأله مدلسازی میشوند. این الگوها بر اساس نظریه مدل پایای نرمافزار با معرفی مضمونهای تجاری مانا، اشیای تجاری و اشیای صنعتی مدل مفهومی قابلیت یادگیری را بازنمایی میکنند. این الگوها در دو سطح تجرد ارائه شدهاند و شامل الگوهای یادگیری، نقش، محیط، دانش و نقد میباشند. در این مقاله همچنین روش استفاده از الگوهای ارائهشده برای تحلیل قابلیت یادگیری عامل در دو سیستم مختلف مبتنی بر عامل تشریح شده است. این الگوها میتوانند بهعنوان راهنما در تحلیل عاملهای نرمافزاری یادگیر به کار روند. مزیت استفاده از این الگوها نسبت به روشهای کلاسیک تحلیل نرمافزار آن است که علاوه بر کلاسهای متداول مرتبط با یادگیری در دامنه مسأله، فراکلاسهایی را در مدل تحلیل سیستم بازنمایی میکنند که دانش مرتبط با تحلیل یادگیری را نیز مدل میکنند. همچنین با در نظر گرفتن لایههای مختلف در تحلیل، موجب تولید مدلهایی میشوند که پایداری بیشتری نسبت به تغییرات دارند.
Artificial Intelligence (AI) Techniques (such as learning) are used widely in agent-based systems. However, current research does not address a software engineering view on these techniques that support all the software development process. In this paper, we focus on requirement analysis – as the first step of the software development process and present techniques and tools to cover this shortage. In this regard, we provide a set of stable analysis patterns for learning capability of the agents. Stable analysis patterns are a set of meta-classes and their relations to analyze a specific issue in a domain-independent manner. Using stable analysis concepts, namely Enduring Business Themes (EBT), Business Objects (BO) and Industrial Objects (IO), these patterns represent the conceptual model of the learning. In this paper, we also apply these patterns on two case studies to investigate their applicability. These patterns are used as guidelines during analysis of learning. The main advantage of applying the stable analysis patterns in comparison with conventional analysis methods is modeling the knowledge of the learning analysis in addition to the ordinary classes of the domain. In addition, they generate more stable models via considering different levels of abstraction in the analysis.
[1] M. Wooldridge, An Introduction to Multiagent Systems, Wiley, 2nd Edition, pp. 21-28, 2009.
[2] F. Zambonelli and A. Omicini, "Challenges and research directions in agent - oriented software engineering, in autonomous agents and multi-agent systems," Autonomous Agents and Multi-Agent Systems Journal, vol. 9, no. 3, pp. 253-283, Nov. 2004.
[3] ش. وفادار و ا. عبدالهزاده بارفروش، "مهندسی هوش در سیستمهای محاسباتی: بررسی کمی ویژگیهای هوشمندی،" مجموعه مقالات شانزدهمین کنفرانس ملی انجمن کامپیوتر ایران، جلد 1، صص. 95 - 90، تهران، اسفند 1389.
[4] ش. وفادار و ا. عبدالهزاده بارفروش، "ارائه الگوی تحلیل نرمافزار برای قابلیت یادگیری در عاملهای هوشمند،" مجموعه مقالات پانزدهمین کنفرانس ملی انجمن کامپیوتر ایران، تهران، اسفند 1388.
[5] S. Vafadar and A. Abdollahzadeh Barfroush, "Towards analysis patterns for learning agents, agent oriented software engineering (AOSE)", In: D. Weyns and M. Gleizes, (Eds), Agent-Oriented Software Engineering XI. LNCS 6788, pp. 79-90, 2011.
[6] S. Vafadar and A. Abdollahzadeh Barfroush, "Analysis patterns for learning agents," in Proc.15th European Conf. on Pattern Languages of Programs, EuroPLoP 2010, Germany, 2010.
[7] R. Abbott, "Program design by informal English descriptions," Commu. of the ACM, vol. 26, no. 11, pp. 892-894, Nov. 1983.
[8] T. M. Mitchel, Machine Learning, McGraw - Hill, 1997.
[9] G. Wiess, Multiagent Systems: a Modern Approach to Distributed Artificial Intelligence, MIT Press, 1996.
[10] S. Russell and P. Norvig, Artificial Intelligence: a Modern Approach, 3rd Edition, Prentice Hall, 2010.
[11] J. A. R. P. Sardinha, A. F. Garcia, R. L. Milidiú, and C. J. P. Lucena, "The agent learning pattern," in Proc. 4th Latin American Conf. on Pattern Languages of Programming, SugarLoafPLoP'04, Fortaleza, Brazil, 2004.
[12] A. F. Garcia, U. Kulesza, J. A. R. P. Sardinha, R. L. Milidiú, and C. J. P. Lucena, "The learning aspect pattern," in Proc. 11th Conf. on Pattern Languages of Programs, PLoP2004, Allterton Park, Monticello, Illinios, US, 8-12 Sep. 2004.
[13] M. E. Fayad, "How to deal with software stability," Communications of the ACM, vol. 45, no. 4, pp. 109-112, Apr. 2002.
[14] M. E. Fayad and A. Altman, "Introduction to software stability," Communications of the ACM, vol. 44, no. 9, pp. 95-98, Sep. 2001.
[15] H. Hamza, A Foundation for Building Stable Analysis Patterns, Master Thesis, University of Nebraska - Lincoln, 2002.
[16] E. Gamma, R. Helm, J. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
[17] S. Withall, Introduction to Software Requirements Patterns, Microsoft Press, 1st Edition, 2007.
[18] M. Fowler, Analysis Patterns: Reusable Object Models, Addison - Wesley, Reading, MA, 1997.
[19] P. Coad, D. North, and M. Mayfield, Object Models: Strategies, Patterns, and Applications, Prentice Hall, Upper SaddleRiver, NJ, 1995.
[20] R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern - Oriented Software Architecture Volume 1: A System of Patterns, Willy Press, 2000.
[21] H. S. Hamza and M. E. Fayad, "The negotiation analysis pattern," in Proc. Pattern Languages of Programming, PLoP2004, 2004.
[22] Y. Shoham, R. Powers, and T. Grenager, Multi - Agent Reinforcement Learning: a Critical Survey, Technical Report, Stanford University, 2003.
[23] H. V. D. Herik, D. Hennes, M. Kaisers, K. Tuyls, and K. Verbeeck, "Multi-agent learning dynamics: a survey," in Cooperative Information Agents XI, Lecture Notes in Computer Science, vol. 11, pp. 36-56, Springer Berlin/Heidelber, 2007.
[24] D. Weyns, A. Omicini, and J. Odell, "Environment as a first class abstraction in multi - agent systems," J. of Autonomous Agents and Multi Agent Systems, vol. 14, no. 1, pp. 5-30, Feb. 2007.
[25] E. Yang and D. Gu, Multiagent Reinforcement Learning for Multi -Robo Systems: A Survey, CSM - 404, Technical Reports of the Department of Computer Science, University of Essex, 2004.
[26] J. Odell, H. V. D. Parunak, and M. Fleischer, "Modeling agents and their environment: the communication environment," J. of Object Technology, vol. 2, no. 3, pp. 39 -52, May 2003.
[27] D. Weyns, M. Schumacher, A. Ricci, M. Viroli, and T. Holvoet, "Environments in multiagent systems," Knowl. Eng. Rev., vol. 20, no. 2, pp. 127-141, Jan. 2005.
[28] S. Purao, V. C. Storey, and T. Han, "Improving analysis pattern reuse in conceptual design: augmenting automated processes with supervised learning," Information System Research, vol. 14, no. 3, pp. 269-290, Sep. 2003.