320 likes | 510 Views
Applying and Validating a UML Metamodel for the Requirements Analysis in Multi-Agent Systems - The AME-A case study. Gilleanes Thorwald Araujo Guedes Rosa Maria Vicari _ Instituto de Informática Universidade Federal do Rio Grande do Sul – UFRGS gtaguedes@inf.ufrgs.br, rosa@inf.ufrgs.br.
E N D
Applying and Validating a UML Metamodel for the Requirements Analysis in Multi-Agent Systems - The AME-A case study Gilleanes Thorwald Araujo Guedes Rosa Maria Vicari _ Instituto de Informática Universidade Federal do Rio Grande do Sul – UFRGS gtaguedes@inf.ufrgs.br, rosa@inf.ufrgs.br
Expected Contributions • With this work we expect to create a UML metamodel extending this language to model the multi-agent systems requirements according to the particular needs of this kind of system; • We expect this metamodel will allow the modeling of cognitive and reactive agents as well as of actions, perceptions, goals, and plans;
Expected Contributions • We further expect that this metamodel may contribute to the UML derived languages for the multi-agent systems project, since that, as far as we have studied them, they do not focus on requirements modeling.
AOSE – Agent Oriented Software Engineering • The development challenges of multi-agent systems led to the surfacing of a new sub-area, blending together concepts brought over from both the SE and AI areas, which is known as the AOSE, whose goal is that of proposing languages and methods for projecting agent-supported software.
AOSE – Agent Oriented Software Engineering • In this context, some attempts to adapt and extend UML to the multi-agent systems projects were made; • Nonetheless, those attempts we have studied did not concern themselves with the extending and applying of some UML resources, such as the use-case diagram, which is mainly employed for requirements collecting and analyzing.
AOSE – Agent Oriented Software Engineering • One of the first attempts to adapt UML was the AUML language. Besides that, other languages, like AML, AORML and MAS-ML were also proposed. • However, neither of these focus the matter of requirements collecting and analyzing nor on its modeling by means of the UML use cases diagram;
UML-Derived Languages • And no attempt was found in those languages to extend the metaclasses employed in that diagram for applying them on the multi-agent systems project. • Thus, we developed a UML metamodel for the project of multi-agent systems, to be applied on the requirements collecting and analyzing level;
The Proposed UML Metamodel • Considering that UML is a language widely accepted and that MAS has its own characteristics and that none of the studied languages that extended the UML to the MAS project focused on the RA issue, we created a metamodel in which we extended the metaclasses employed by the UCD, thus creating new metaclasses and stereotypes prepared to identify the requirements for this kind of system.
A Case Study - The AME-A Project • The AME-A architecture is composed by a hybrid society of agents that cooperate into aiding students' learning. • The environment interacts with human agents that can be both the teacher or the students and has several reactive and cognitive agent roles.
A Case Study - The AME-A Project • The teacher can create a learning activity or evaluate the students with the aid of the agent who assumes the Teacher's Tools reactive agent role. • The student can choose between performing an unmonitored or a monitored learning session. • In the first, he only interacts with the reactive agent who takes the Unsupervised Learning agent role that only presents the content to be learned.
A Case Study - The AME-A Project • The monitored learning activity is the system main focus, in which it aims to maximize the student learning by means of the aid of five cognitive agent roles, to wit: Student Modeling (SM), Methodology and Teaching Plan (MTP), Learning Orientation (LO), Learning Analysis (LA) and Knowledge Application Orienting (KAO).
A Case Study - The AME-A Project • The SM agent role models the student profile in a dynamic way, while the MTP agent role chooses the methodology and teaching plan that are more adequated to the student profile every time it changes or whenever the student performance is lower than the expected level.
A Case Study - The AME-A Project • The LO agent role selects the contents to be taught and the way how these will be presented according to the methodology; • The LA agent role checks on the student performance throughout the session and the KAO agent role applies a evaluation after the session ends.
Validating the Proposed Metamodel • With relation to the validation, we compared the models created by means of this metamodel with the models created from the UML original UCD, trying to demonstrate that the proposed metamodel allows the modeling of concepts not supported by the standard UCD.
Validating the Proposed Metamodel • We did not consider possible to model the goals, plans, perceptions, or actions of these roles, because they are internal functionalities to which the external users do not have access; • Besides, the standard UML simply does not have mechanisms to represent goals, plans, perceptions, or actions in a UCD.
Validating the Proposed Metamodel • Alternatively, using the standard UML, we could try to make the use case “Execute monitored learning session”, to encompass the steps of the use cases, “Student modeling”, “Choose methodology and teaching plan”, “Present material for learning”, “Verify student knowledge”, and “Evaluate student”.
Validating the Proposed Metamodel • What could be done in this specific situation, would be to associate the use cases that represent the plans to the use case, “Execute a monitored learning session”, by means of extend associations, establishing the conditions for those use cases to be performed.
Validating the Proposed Metamodel • By this approach we tried to use the standard UML in order to achieve the same objective reached by the use of the proposed metamodel. • As can be perceived we kept suppressing the representation of agents, as these are internal to the system and an actor represents entities external to the system.
Validating the Proposed Metamodel • We tried to associate to the use case, “Execute a monitored learning session”, the use cases originally used to represent the plans that should be performed by the agents. • Thus, we attributed the plan extension points of the Goal internal use cases to the use case, “Execute a monitored learning session”, thus trying to demonstrate under which conditions each “plan” could be performed.
Validating the Proposed Metamodel • However, these functionalities were not conceived as services to be performed in the “traditional” way by the software but to be divided among cognitive agents. • They are functions separated from the “Execute a monitored learning session” functionality, that represents a service offered to the student, where he will choose, for instance, the learning session theme.
Validating the Proposed Metamodel • But thereafter there will be an interaction with the agents, when those will assume a series of tasks to aid the student and to do it they will need to perceive events, take decisions, and perform actions with respect to which attitudes should be performed. • It is not possible to render explicit these kinds of functionalities by using the standard UML.
Validating the Proposed Metamodel • In reality the use cases associated by means of extensions are not functionalities that the student actor has access to; these functionalities should be performed by agents according to their goals. • We further highlight that it is not possible to represent the goals of an agent nor the plans associated to each goal using the standard UML. • Likewise, the UML does not support the perception and action representation nor it is able to represent internal agents as actors.
Conclusions • We presented a UML metamodel developed for the requirements analysis for the multiagent systems project. • This metamodel allows to represent agent roles, besides modeling the perceptions and actions the roles should own, as well as the goals of these roles, together with the plans to achieve them and the conditions for these plans to be performed.
Conclusions • We demonstrated the applicability of this metamodel by means of the AME-A intelligent tutor system modeling. • The metamodel in question fills a gap not focused by other approaches that extended the UML language for the MAS project, since none of the studied languages was concerned with addressing the requirements analysis question, a phase of extreme importance for the success of a software project.
Conclusions • With respect to the metamodel validation, we compared the models created by means of this profile with models created from the UML original use-cases diagram; • We thus tried to demonstrate that the new proposed metamodel allows to model the concepts not supported by the standard use-cases diagram.
The Bibliography • M. Huget, J. Odell, “Representing Agent Interaction Protocols with Agent UML”, The Third International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2004)}, New York, 2004. • G. Wagner, “A UML Profile for External AORModels”, Third International Workshop on Agent-Oriented Software Engineering, Bologna, Italy, LNCS, Vol. 2585. Berlin: Springer-Verlag, 2003. • I. Trencansky, “Agent Modeling Language (AML): A Comprehensive Approach to Modeling MAS”, Informatica, v 29, n 4, 2005. • V. Silva, R. Choren, C. Lucena, “MAS-ML: A Multi-Agent System Modeling Language”, IJAOSE, Interscience Publishers, v.2, no.4, 2008. • C. Silva, “Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case”, Doctoral Thesis, UFPE, 2007. • I. Sommerville, “Software Engineering, 6th Ed”, Addison-Wesley, 2000. • J. Arlow, I. Neustadt, “UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, 2nd Ed”, Addison-Wesley, 2005. • K. Taveter, G. Wagner, “Towards Radical Agent-Oriented Software Engineering Processes Based on AOR Modelling”, Idea Group, Agent-Oriented Methodologies, ISBN 1-59140-581-5, USA, 2005. • B. Berenbach, Software and Systems Requirements Engineering In Practice, McGraw-Hill, New York, 2009. • E. Hull, K. Jackson, J. Dick, Requirements Engineering - Second Edition, Springer, London Berlin Heidelberg, 2005.
The Bibliography • B. Regnell, Requirements Engineering with Use Cases - A Basis for Software Development, Lund University, Sweden, 1999. • OMG - Object Management Group, Unified Modeling Language: Superstructure Specification, v 2.1.1, OMG, 2007. http://www.omg.org. • OMG - Object Management Group, Unified Modeling Language: Infrastructure Specification, v 2.1.1, OMG, 2007. http://www.omg.org. • G. Guedes, R. Vicari, “A UML Profile Oriented to the Requirements Collecting and Analyzing for the Multi-Agent Systems Project”, 22nd International Conference on Software Engineering and Knowledge Engineering – SEKE 2010, Redwood, California, USA, 2010. • G. Guedes, “A UML Profile Oriented to the Requirements Modeling in Intelligent Tutoring Systems Projects”, The Third IFIP International Conference on Artificial Intelligence, IFIP AI 2010, Brisbane, 2010. • G. Guedes, R. Vicari, “Applying a UML Profile in the Requirements Modeling to Multi-Agents Systems”, Quatic 2010, Porto, Portugal, 2010. • R. Vicari, J. Gluz, “An Intelligent Tutoring System (ITS) View on AOSE”, IJAOSE, v. 1, n 3-4, 2007. • B. Bauer, J. Odell, “UML 2.0 and Agents: How to Build Agent-based Systems with the new UML Standard”, IJEAAI, v 2, i 2, 2005. • S. Flake, C. Geiger, J. Kuster, “Towards UML-based Analysis and Design of Multi-Agent Systems”. ENAIS'2001, Dubai, 2001. • C. D'Amico, R. Viccari, “Adapting Teaching Strategies in a Learning Environment” on WWW, WebNet, 1998.