SciELO - Scientific Electronic Library Online

 
 issue47Differential Evolution for the Control Gain's Optimal Tuning of a Four-bar MechanismDynamic Neural Networks Applied to Optimized Music Recommendation author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


Polibits

On-line version ISSN 1870-9044

Polibits  n.47 México Jan./Jul. 2013

 

Patrones de implementación para incluir comportamientos proactivos

 

Implementation Patterns to include Proactive Behaviors

 

Mailyn Moreno1, Alternán Carrasco2, Alejandro Rosete1 y Martha D. Delgado1

 

1 Facultad de Ingeniería Informática, Instituto Superior Politécnico José Antonio Echeverría, La Habana, Cuba (e-mail: my@ceis.cujae.edu.cu, rosete@ceis.cujae.edu.cu, marta@ceis.cujae.edu.cu).

2 Complejo de Investigaciones Tecnológicas Integradas, La Habana, Cuba (e-mail: acarrasco@udio.cujae.edu.cu).

 

Manuscrito recibido el 18 de marzo de 2013.
Aceptado para la publicación el 23 de mayo de 2013.

 

Resumen

La programación orientada a objeto enfrenta retos como es el desarrollo de software en ambientes distribuidos. En esta línea ha surgido el paradigma de agentes. Un agente exhibe comportamientos que lo diferencia de un objeto, como la autonomía y la proactividad. La proactividad permite desarrollar sistemas dirigidos por metas, en los que no es necesaria una petición para que se inicie un trabajo. Incorporar proactividad a un software es hoy una necesidad, existe una gran dependencia de los sistemas computarizados y es mayor la delegación de tareas en ellos. Los patrones se han utilizado con éxito en la reducción de tiempo de desarrollo y el número de errores en el desarrollo de software, además de ser una guía para resolver un problema típico. En este trabajo se presentan dos patrones de implementación para incorporar proactividad en un software y facilitar el trabajo con los agentes. Se incluye un caso de estudio del uso de los patrones propuestos en un observatorio tecnológico.

Palabras claves: Agente, patrones, patrón de implementación, proactividad.

 

Abstract

Object oriented programming is facing challenges such as the development of software in distributed environments. Along this line has emerged the paradigm of agents. An agent shows behaviors, such as autonomy and proactivity, that differentiates it from an object. Proactivity allows developing goal-directed systems, in which a request is not necessary to start a task. Adding proactivity to a software is nowadays essential, there is a big dependence on computer systems and it is greater the delegation of tasks to them. The patterns have been used successfully in reducing development time and the number of errors in software, besides of being a guide to solve a typical problem. In this paper, we present two implementation patterns to add proactivity to software and to make it easier to work with agents. A case study about the development of a technology observatory using both patterns is also included.

Key words: Agent, patterns, implementation pattern, proactivity.

 

DESCARGAR ARTÍCULO EN FORMATO PDF

 

REFERENCIAS

[1] M. Wooldridge, "An Introduction to MultiAgent Systems," 2nd ed. John Wiley & Sons, 2009.         [ Links ]

[2] N.R. Jennings. (2000). "On agent-based software engineering,"Artificial Intelligence, 117(2), pp. 277-296.         [ Links ]

[3] B. Henderson-Sellers and P. Giorgini, "Agent-Oriented Methodologies," 1st ed. Hershey: Idea Group Inc, 2005.         [ Links ]

[4] I. Jacobson, G. Booch and J. Rumbaugh, "The Unified Software Development Process," reprint ed. Prentice Hall, 2012.         [ Links ]

[5] E. Gamma, Design Patterns: "Elements of Reusable Object-oriented Software," ed. Pearson Education, 2004.         [ Links ]

[6] A. Shalloway and J.J. Trott, "Design Patterns Explained: A New Perspective on Object-Oriented Design," ed. Addison-Wesley, 2002.         [ Links ]

[7] T. Budd, "An introduction to object-oriented programming," 3rd ed. Addison-Wesley, 2002.         [ Links ]

[8] C. Ruey Shun and C Duen Kai. (2008). "Apply ontology and agenttechnology to construct virtual observatory," Expert Systems with Applications, 34(3), pp. 2019-2028.         [ Links ]

[9] A. Adla. (2006). "A Cooperative Intelligent Decision Support System for Contingency Management," Journal of Computer Science, 2(10).         [ Links ]

[10] L. Rey Vázquez. (2009). "Informe APEI sobre vigilancia tecnológica", Asociación Profesional de Especialistas en Información. [Online]. Aailable: http://eprints.rclis.org/17578.         [ Links ]

[11] S. Sauvage, "Agent Oriented Design Patterns: A Case Study," in Proc. of the Third InternationalJoint Conference on Autonomous Agents and Multiagent Systems, Vol. 3, 2004, pp. 1496-1497.         [ Links ]

[12] L. Sabatucci, M. Cossentino and S. Gaglio, "A Semantic DescriptionFor Agent Design Patterns," in Proceedings of the Sixth InternationalWorkshop "From Agent Theory to Agent Implementation" (AT2AI-6) atThe Seventh International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2008), 2008, pp. May 13.         [ Links ]

[13] R.S. Pressman, "Software engineering: a practitioner's approach", 7th ed. McGraw-Hill Higher Education, 2010.         [ Links ]

[14] K. Beck, "Implementation patterns," 1st ed. Addison-Wesley, 2008.         [ Links ]

[15] M. Fowler, "UML distilled", 3rd ed. Addison-Wesley, 2004.         [ Links ]

[16] J. Rumbaugh, I. Jacobson and G. Booch, "The Unified Modeling Language Reference Manual," 2nd reprint ed. Addison-Wesley, 2010.         [ Links ]

[17] N.R. Jennings, "An agent-based approach for building complex software systems," Comm. of the ACM, 44(4), 2001, pp. 35-41.         [ Links ]

[18] FIPA, "FIPA Agent Management Specification," Foundation forIntelligent Physical Agents, 2003. [Online]. Available: http://www.fipa.org/specs/fipa00023/XC00023H.html.         [ Links ]

[19] F. Zambonelli and A. Omicini, "Challenges and Research Directions inAgent-Oriented Software Engineering," Autonomous Agents and Multi-Agent Systems, 9(3), 2004, pp. 253-283.         [ Links ]

[20] F. Dignum et al, "Open Agent Systems," in Agent-Oriented Software En gineering VIII, Springer Berlin Heidelberg, 2008, pp. 73-87.         [ Links ]

[21] S. Franklin and A. Graesser, "Is it an Agent, or Just a Program?: ATaxonomy for Autonomous Agents," in Proceedings of the Workshopon Intelligent Agents III, Agent Theories, Architectures, and Languages, 1997, pp. 21-35.         [ Links ]

[22] S. Russell and P. Norvig, "Artificial Intelligence: A Modern Approach," 3rd, illustrated ed. Prentice Hall, 2010.         [ Links ]

[23] B. Henderson-Sellers, "From Object-Oriented to Agent-OrientedSoftware Engineering Methodologies," in Software Engineering for Multi-Agent Systems III, Springer Berlin Heidelberg, 2005, pp. 1-18.         [ Links ]

[24] S.A. O'Malley and S.A. DeLoach, "Determining When to Use anAgent-Oriented Software Engineering Paradigm," in Agent-Oriented Software Engineering II, Springer, 2002, pp. 188-205.         [ Links ]

[25] E. German and L. Sheremetov, "An Agent Framework for Processing FIPA-ACL Messages Based on Interaction Models," in Agent-OrientedSoftware Engineering VII, Springer, 2008, pp. 88-102.         [ Links ]

[26] FIPA, "FIPA Communicative Act Library Specification," Foundation for Intelligent Physical Agents, 2003. [Online]. Available: http://www.fipa.org/specs/fipa00037/SC00037J.html.         [ Links ]

[27] FIPA, FIPA ACL Message Structure Specification. Foundation for Intelligent Physical Agents, 2003. [Online]. Available: http://www.fipa.org/specs/fipa00061/SC00061G.html.         [ Links ]

[28] F. Bellifemine et al, "Jade—A Java Agent Development Framework," in Multi-Agent Programming, Springer US, 2005, pp. 125-147.         [ Links ]

[29] F.L. Bellifemine, G. Caire and D. Greenwood, "Developing Multi-Agent Systems with JADE," ed. Wiley, 2007.         [ Links ]

[30] P. Evitts, "A UML pattern language," ed. Macmillan Technical Publishing, 2000.         [ Links ]

[31] C. Alexander, S. Ishikawa and M. Silverstein, "A Pattern Language:Towns, Buildings, Construction," 21th ed. New York: OxfordUniversity Press, 1977.         [ Links ]

[32] J. Gil and I. Maman, "Implementation Patterns. Department ofComputer Science Technion-Israel Institute of Technology", 2004.[Online]. Available: http://www.cs.technion.ac.il/~imaman/stuff/ip-ecoop05.pdf.         [ Links ]

[33] M. Cossentino, L. Sabatucci and A. Chella, "Patterns Reuse in the PASSI Methodology," in Engineering Societies in the Agents World IV, Springer Berlin Heidelberg, 2004, pp. 294-310.         [ Links ]

[34] Y. Aridor and D.B. Lange, "Agent design patterns: elements of agent application design," in Proceedings of the Second international conference on Autonomous agents, 1998, pp. 108-115.         [ Links ]

[35] S. Sauvage, "Design Patterns for Multiagent Systems Design," in MICAI 2004: Advances in Artificial Intelligence, Springer Berlin Heidelberg, 2004, pp. 352-361.         [ Links ]

[36] A. Oluyomi, S. Karunasekera and L. Sterling, "An Agent Design Pattern Classification Scheme: Capturing the Notions of Agency in Agent Design Patterns," in Proceedings of the 1th Asia-Pacific Software Engineering Conference, 2004, pp. 456-463.         [ Links ]

[37] F. Bergenti, M.-P. Gleizes and F. Zambonelli, Methodologies and Software Engineering for Agent Systems: The Agent-Oriented Software Engineering Handbook, ed. Springer, 2004.         [ Links ]

[38] A. Chella, M. Cossentino and L. Sabatucci. "Tools and patterns in designing multi-agent systems with PASSI," WSEAS Transactions on Communications, 3(1), 2004, pp. 352-358.         [ Links ]

[39] F. Bellifemine et al, "JADE-A Java Agent Development Framework," in Multi-Agent Programming Languages, Platforms and Applications, Springer, 2005, pp. 125-147.         [ Links ]

[40] I. de la Vega, "Tipología de Observatorios de Ciencia y Tecnología," Los casos de América Latina y Europa. Revista Española De Documentación Científica, 2007, 30(4), pp. 545-552.         [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License