2015 IEEE 28th International Symposium on Computer-Based Medical Systems
Developing an educational medical game using AgilePASSI multi-agent methodology
Vitor Manuel Fragoso Ferreira
Julio Cesar Cavalcanti Carvalho
Universidade do Estado do Rio de Janeiro (UERJ) Programa de Mestrado em Ciências Computacionais Rio de Janeiro, Brazil e-mail:
[email protected]
Universidade do Estado do Rio de Janeiro (UERJ) Departamento de Informática e Ciência da Computação Rio de Janeiro, Brazil e-mail:
[email protected]
Rosa Maria E. Moreira da Costa
Vera Maria Benjamim Werneck
Universidade do Estado do Rio de Janeiro (UERJ) Departamento de Informática e Ciência da Computação Programa de Mestrado em Ciências Computacionais Rio de Janeiro, Brazil e-mail:
[email protected]
Universidade do Estado do Rio de Janeiro (UERJ) Departamento de Informática e Ciência da Computação Programa de Mestrado em Ciências Computacionais Rio de Janeiro, Brazil e-mail:
[email protected]
systems and to provide an intuitive metaphor that operates at a higher level of abstraction compared to the object oriented model [1]. Over the years, some agent-oriented methods have been created for building such systems [2]. However, many of them, in some cases, became complex and difficult to apply, given the level of complexity and time required for its application. At the same time, agile development [3] has been a proposal that has gotten several supporters in computing, although they can compromise several accepted and controversial practices of software engineering. Some cases of success and evidence of professionals who use agile methodologies began to emerge in order to demonstrate the effectiveness of the methodology in different situations and environments. Cossentino Massimo and team [4] have been developing robotic multi-agent systems for several years using traditional methodologies development processes, but with the experience of growth and accelerated changes in requirements have made necessary a new approach. They considered that the PASSI methodology development process was a time consuming and the documentation produced was very detailed to the development team needs, in addition the process has not been able to reach the desired speed and flexibility. In this way, they developed the AgilePASSI methodology which is a agile methodology for multi-agent systems based on the entire experience of PASSI methodology and some of its supporting tools. This paper discusses the development of a medical educational game supported by AgilePASSI methodology and is organized in five sections. Section 2 shows an overview of educational medical games and Section 3 describes the AgilePASSI methodology. Section 4 presents the MEDEDUC an educational medical game and the Section 5 explains the MEDEDUC development process using AgilePASSI methodology. Section 6 concludes the paper and presents directions for future researches.
Abstract— Games applied to health education have emerged as a motivational improvement in learning and clinical performance of students from the health care area. Currently, there are several agent oriented methodologies that support the multi-agent systems development. However none are specific to the domain of medical and health education. Agent-oriented development of medical educational games must have special features such working with a multidisciplinary team, have a high degree of user involvement and allow a mutuality of game requirements. Within this context, this paper presents the development of MEDEDUC, an educational systems technology applying agile development through the AGILEPASSI methodology. This game, which has five levels of difficulty, allows the student to study pulmonology answering questions that explore multimedia presentations. The results of this study stressed the advantages of the agile development methodology game that combines medical theory and multiagent. Keywords: Multi-Agents Systems, AgilePASSI Methodology, Agile Methodologies, Educational Medical Games.
I.
INTRODUCTION
Multi-agent systems development follows a new paradigm for the design, development and implementation of systems that operates in distributed and open environments. These are composed of autonomous entities that act in order to achieve their common or individual goals. Agent oriented methodologies constitute a promising new approach to software engineering that uses the notion of agents as the primary method for analyzing, designing and implementing software system. The effectiveness of agent oriented methodologies resides in its ability to translate the distinctive features of agent into useful properties of software 2372-9198/15 $3.00 © 2015 IEEE DOI 10.1109/CBMS.2015.81
298
II.
MEDICAL EDUCATIONAL GAMES
need to be careful in adapting a game with your content, specific configuration and continuously assess if the game helps to achieve educational goals" [6].
Educational games constitute a teaching method that requires a user to enter into a competitive universe with preestablished rules [5]. There is a great potential for improvement in learning and clinical performance of medical students when using games to acquire as knowledge. Several studies have suggested beneficial effects in the use of educational games in health and education [6]. Ogershok and Cottrell [7] implemented a board game format for a pediatric internship and received a positive return of medical students, pediatric residents and teachers. Boreham [8] found that an interactive computer game increased the percentage of medical students taking great decisions on the optimal doses of phenytoin management. Moy et al [9] reported excellent grades of medical students after use of the educational game "Who Wants to Be a Doctor", used to teach pulmonary physiology. In a systematic review [10] realized to understand the effect of educational games for medicines students concluded that even the limited number of studies, there is a potentially effective in use. It is also reported "when making the decision to replace an educational game for another educational intervention, medical educators should weigh the potential benefits of the game against the costs, time and effort required for their development (or adaptation) and its implementation area" [11]. In addition, "medical educators
III.
AGILEPASSI METHODOLOGY
The AgilePASSI methodology has its origin in PASSI methodology [4]. The process of AgilePASSI muti-agent methodology has four distinct models, which are: system requirements model, society model, code model, and test model. The system requirements model is realized in two stages: planning and description subdomain requirements. In planning, communication between the development team is the priority. At this stage, the goal is to plan one or more iterations, through risks and requirements analysis, with the support of users’ stories (which are typical of Extreme Programming). At this time, the development team decides which activities should be carried out and the order in which they should be performed; the result is a division of the problem in several sub-problems faced in sequential iterations. In the subdomain requirements, description UML use case diagrams are used to represent the system functionality description. The term sub refers to the possibility of dividing the problem into sub-problems.
Figure 1: AgilePASSI Multi-Agent Methodology Process of development
The society model is a vision of the agents involved in the solution, their interactions and their knowledge of the
world. It consists of two stages: description of the domain ontology and agent identification.
299
The domain ontology description begins with the use cases diagrams already produced. According to the definition of the agent is possible to see an agent as a use case or a package of use cases. Therefore, one or more use cases can be packaged, forming a new detailed system features diagram. Each package defines the functionality of a specific agent. The ontology is described using a class diagram in terms of concepts, predicates and actions. Elements of the ontology may be related to the three UML relationship patterns: generalization, association and aggregation. This step should be done with the domain ontology description step, deciding the functionalities assigned to each agent and represent the agents’ knowledge. The Code Model is a solution domain model at the level of code. It consists of two steps: Reuse Standards and Coding. In the reuse patterns the objective is to reuse patterns agents and obtain pieces of reusable code that are documented in structural and behavioral vision. This is done supported by Agent Factory tool also adopted in conventional PASSI multi-agent methodology. It allows the creation of a multi-agent system through new agents or reference to a repository of standards in order to add more features to the agent; it provides a support for the automatic compilation of a relevant amount of code and performs the reverse engineering of manually modified code. This approach based in patterns improves the design quality, increases the amount of generated code and reduces the total time and development costs. The encoding step aims at completing or complementing the development of agents. The test model is planned before the coding phase, and is performed after the encoding. The tests should be a continue activity during the development process. The test phase has to start before the encode an agent. At this stage the developer has to prepare one or more tests that should fulfill the component after the coding phase. When the test phase is successfully completed, then a working version of the agents is released.
IV.
environment are fundamental to keep the student involved into the game activities. The MEDEDUC has 110 questions with three answer options for each. They will be divided into 5 levels and the Reinforcement Level. The basic requirements for the game are: (i) The user must be able to verify which modules will be available for access and those that are not available (Levels 1,2,3,4 and 5) at the same time. Each module will be available to the user gradually, according to his progress in the game; (ii) The user should be informed when the result of a module is positive or negative; (iii) The higher the level, the greater the complexity assigned to each question. The available questions have 5 knowledge levels, which mean that questions from level 1 are easier than the level 5 ones.
Figure 2: MEDEDUC How to Play Prototype
The basic requirements for the behavior of the game Leveling modules are: (i) the questions explore audio, video, images and text items; (ii) Each question has three response options (A, B and C; (iii) When selecting an incorrect option, the user must be informed of the correct option; (iv) When selecting an incorrect option, the user must receive a return with a justification reporting why the chosen option is incorrect. This return can be in audio format, video, pictures and text; (v) Upon entering the game for the first time, you must perform the Leveling and other features will be unavailable; (vi) During the Leveling, the user must answer 10 questions related to five levels. For each level, there are two questions distributed randomly; (vii) When the user hit a question, a green indicator in the status bar should be shown. For errors, the user sees a red indicator. (viii) By clicking on the indicative position of each question on the status bar, the user should be able to review the question, answer and return. However, the user can not change the selected option; (ix) The user should perform the Level 5, even if it hits all
MEDEDUC: AN EDUCATIONAL GAME
MEDEDUC, the educational medical game developed in this work mix fun and medicine learning. Medical students are the target in this game which main goal is to support student by learning concepts of Pulmonology. In the game the student answers questions by levels of difficulty and will be rewarded when each module ends. This award is a medical equipment such as stethoscope, x-ray machine, computer or others, and this award will compose his the virtual office. At the end of the fifth level, the student will have his office set up, . Before starting the main modules, students are tested to their previous knowledge. Thus, he will be directed to the respective level of knowledge. If the game identifies that he is having a high number of errors, he will have to learn basic subjects related to the active module. The interactive, fun and intelligent
300
the questions. When the user finish answering the questions of the Leveling, the user should receive a return stating the level reached. After finishing the Leveling, the user is directed to the main page of the game and he can start the level reached in the Leveling; If the user stops the Leveling, he starts the process again and old answers are disregarded. The Level and Reinforcement modules follow the same rules like Leveling Module.
new functionalities. Alongside with the development we could test and redefine some new ideas and principles to make a more interactive game. We added score and money to the doctor and he could manage to shop for his office furniture as he please. There were also some new ideas to improve the question database and its difficulty keeping a track of players’ accuracy answering to it, which came with the possibility to rearrange the levels and increase or decrease a question complexity dynamically.
Figure 4: Basic Agent Identification
We aimed at creating the most enjoyable environment to the users; it is side by side with the initial intent to teach them by playing the game, and the more fun it is, the more the new doctors would be inclined to play and consequently learn. In the first version (Figure 5) we just had a room and a simple question structure to test the agents functionality. Now the doctor can look through his office, zoom in/out his stuff, in some further versions we could make a free walk in the room and maybe rearrange the items the way he likes. The second step was to create an environment able to handle more than one player per instance (a database), and save its information, further it was used to set up the questions that are displayed to the users. The third primordial version that we needed before a release came along with the question system working with the Level Controller, after this release we had all basic functionalities running.
Figure 3: MEDEDUC Level Model Prototype
V.
DEVELOPING MEDEDUC USING AGILEPASSI MULTI-AGENT METHODOLOGY
As all other agile methodologies, the first step was to break the whole project requirements into several independent small groups. This way gave a free pass to decide what should be a priority and which development tree needed to be set up. After we planned the requirements that were model into a UML use case diagrams. Then we considered the agents we would need to have them working. Initially three agents were chosen as primordial (figure 4), these main agents were defined as the main controller, the one who will manage the game levels and make all the communication between the other agents either passive or active ones. This particular agent was responsible to control all the information that will be displayed to the player trough the game, like Levels available, items acquired to his/her score. Another important agent, was the player controller that tracks all information that the “Player” have, also it is linked with the database, which means that the agent is responsible to save/load all player information that was managed by the main controller. The last one is the level controller that is responsible to load the questions from the database, choose which ones it will display, prepare the order that they will appear, and keep the track of the user replies. These three agents could handle all the game basic features. Following this step, the initial interface was quickly set up and we could start to cycle between coding and testing the
Figure 5: MEDEDUC Medical Educational Game
301
Some new features came intending to create a history and a prelude to the user, also to encourage them to play. An introduction, high scores, and others were designed, as so, other agents came along, like the one responsible to arrange and display the high scores. This agent communicates with the main controller and the player controller, the first one to form and display the rankings, and the other to refill the rankings after saving a player. Another agent came up, that was responsible to reproduce videos and sounds. This agent is performed whenever the game needs to display a user video or sound to the user, and further, it became an active communication with the game controller, that gained a background sound and buttons hover sounds.
As the last step of the pre-release version, we have managed to add the shop mentioned before to the Player Controller agent. This task provides customization to the user, such as which item to buy, the order, if he has money, he could set his priorities as he like. We also create a timer to make the user experience more dynamic and give him a hit of adrenaline, contributing for a better game experience. A feedback became to shows after a user answer a question, showing what the expected answer was. After finishing the development, the agents identified were: Game Controller, Level Controller, Render Agent, Player Controller, Teacher Agent, Reinforcement Agent, Strengthening Agent, Office Controller Agent and High scores Controller. The Figure 6 shows the MEDEDUC agent identification diagram with all agents identified through the development.
Figure 6: MEDEDUC agent identification diagram
Their communication flow chart is described as a complement, the game controller agent is the first contact also the only with the user contact, however the user reaches indirectly all other agents in the project.
This main agent, the game controller is responsible to create and display a correspondent interface to the playing user, to secure this, to communicate with the officer controller agent and to discover what items the user has and display them. The main agent communicates with the level
302
REFERENCES
controller agent to display a selected level, the player controller to get or create info of the player selected, the high scores to display the ranking chart. If it’s a new player the main controller agent communicates with the strengthening agent to start the leveling, by the end, it has a channel with the render agent to play sounds and videos. Following this idea, the second most important agent is the level controller, it loads the questions from the database and displays it the user, The Level controller agent is integrated with the teacher agent that is responsible to correct and send the feedback of the answer. Further the level controller can either send the signal to the reinforcement agent if needed or reward the player, meantime and it communicates with the render agent to display sounds and videos with the questions. The other agents like the player controller and the high scores controller works alongside with the database just loading and keeping information, also saving as well, this procedure makes the communication with the database an exclusive process, ensuring it as bit more secure activity. VI.
[1]
[2]
[3]
[4]
[5]
[6]
CONCLUSION
[7]
In this paper we described the adoption of AgilePASSI methodology to develop MEDEDUC an agent oriented medical educational game. Our current focus was training and improving a medical knowledge to medicine students using a game as a learning method. Game evolution will happen by implementing new agent capabilities for example more intelligent and specific knowledge to the agents. The user interface constructed on this game should be extended to show more state transitions and graphical feedbacks, enriching the player perception and entertainment, creating a very enjoyable experience. Many other research areas can be highlighted on this game: pedagogical evolutions to the game, art evolutions over game usability and multimedia exhibition, also research on traces over player actions and performance. The main goal aimed on this project was the methodology adopted that supported to develop precise functions alongside with the best evaluated designs and game plainings, with fast coding agents and reusing parts of its codes.
[8] [9]
[10]
[11] [12]
[13] [14]
303
Jubilson, E. Ajith, et al. "An Empirical Analysis of Agent Oriented Methodologies by Exploiting the Lifecycle Phases of Each Methodology." Suresh Chandra Satapathy A. Govardhan K. Srujan Raju (2015): 205. NBR 6023 Shehory, Onn, and Arnon Sturm. "A Brief Introduction to Agents." Agent-Oriented Software Engineering. Springer Berlin Heidelberg, 2014. Borjesson, A., Martinsson, F., Timmeras, M. (2006). Agile improvement practices in software organizations. European Journal of Information Systems, 15, 169-182. Chella A., Cossentino M., Sabatucci L., and Seidita V. (2004). From PASSI to Agile PASSI: Tailoring a Design Process to Meet New Needs. In: 2004 IEEE/WIC/ACM International Joint Conference on Intelligent Agent Technology (IAT’04), Beijing, China. pp. 471-474. Fitzgerald K. 1997. Instructional methods: Selection, use, and evaluation. In: Bastable S, editor. Nurse as educator: Principles of teaching and learning. Sudbury, MA: Jones and Bartlett. p 261-286 Akl EA, Pretorius RW, Erdley WS, Sackett K, Bhoopathi PS, Alfarah Z, Schünemann HJ, Educational games for medical students. BEME systematic review Multiagentes. http://www.bemecollaboration.org/downloads/801/beme_14_for_web site.pdf Ogershok, P., & Cottrell, S. (2004). The pediatric board game. Medical Teacher, 26(6), 514-517. http://search.ebscohost.com, doi:10.1080/01421590410001711553 Boreham N, Foster R, Mawer G. 1989. The Phenytoin Game: Its effect on decision skills. Simulation & Games 20(3):292-299. Moy JR, Rodenbaugh DW, Collins HL, DiCarlo SE. 2000. Who Wants To be a Physician? An Educational Tool for Reviewing Pulmonary Physiology. Advances in Physiology Education 24(1):p30. Akl EA, Sackett K, Pretorius R, Erdley S, Bhoopathi PS, Mustafa R, Schunemann HJ. 2008b. Educational games for health professionals. Cochrane Database of Systematic Reviews(1):CD006411. Begg M. 2008. Leveraging game-informed healthcare education. Medical Teacher 30(2):155-158. Carro , R. M., Breda, A.M., Castillo , G. and Bajuelos, A. L. (2002). “A Methodology for Developing Adaptive Educational-Game Environments.” In: Adaptive Hypermedia and Adaptive Web-Based Systems. (Eds.) P. De Bra, P, Brusilovsky and R. Conejo, R. Berlin: Springer, pp. 90-99. Aparicio, 2006. COMPUTER GAMES DEVELOPMENT PROCESS – PRODUCING AN EDUCATION GAMES FOR THE WEB Pfeiffer, J.W., & Jones.J.E (1980), The 1980 annual handbook for group facilitators. San Diego, CA: Pfeiffer & Co