Skip to main content
Log in

A metamodeling approach for the identification of organizational smells in multi-agent systems: application to ASPECS

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

Abstract

Software Quality is one of the most important subjects in the Process Development Software, especially in large and complex systems. Much effort has been devoted to the development of techniques and concepts to improve software quality over the years. We are especially interested on smells, which represent anomalies or flaws in the design/code that can have serious consequences in maintenance or future development of the systems. These techniques have a strong development in the Object Oriented paradigm, however, very few studies were conducted in the agent oriented paradigm. In this paper we focus on the detection of design smells applied to multi-agent systems models based on the organizational approach, named Organizational Design Smells (ODS). Early and automatic detection of these ODS allows reducing the costs and development times, while increasing the final product’s quality. To achieve this objective, validation rules were defined based in the EVL language. The approach is illustrated with two examples, their validation rules, and the refactoring solutions proposed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. Graphical Modeling Framework, http://www.eclipse.org/modeling/gmp.

  2. Epsilon Validation Language, www.eclipse.org/epsilon/doc/evl/.

  3. Eclipse Modeling Project, www.eclipse.org/modeling/.

  4. Object Management Group, www.omg.org.

  5. Agent Oriented Test Driven Development.

References

  • Al-Hashel E, Balachandran BM, Sharma D (2007) A comparison of three agent-oriented software development methodologies: roadmap, prometheus, and mase. In: Apolloni B, Howlett RJ, Jain L (Eds.) Knowledge-based intelligent information and engineering systems, no. 4694. Lecture Notes in Computer Science, Springer Berlin Heidelberg, 2007, pp. 909–916. http://link.springer.com/chapter/10.1007/978-3-540-74829-8_111

  • Araujo P, Lizondo D, Rodriguez S, Hilaire V (2015) An approach for organizational design smells identification within multi-agent systems. In: International workshop on coordination, organisation, institutions and norms in multi-agent systems

  • Araujo P, Rodriguez S (2013) Janeiro studio. In: Congreso Nacional de Ingeniería Informática/Sistemas de Información, Córdoba, Argentina, 2013

  • Bellifemine F, Poggi A, Rimassa G (2001) Jade: a fipa2000 compliant agent development environment. Proceedings of the fifth international conference on Autonomous agents, ACM 2001:216–217

    Article  MATH  Google Scholar 

  • Bresciani P, Perini A, Giorgini P, Giunchiglia F, Mylopoulos J (2004) Tropos: an agent-oriented software development methodology. Auton Agents Multi-Agent Syst 8(3):203–236

    Article  MATH  Google Scholar 

  • Budinsky F, Brodsky SA, Merks E (2003) Eclipse modeling framework. Pearson Education, Upper Saddle River

    Google Scholar 

  • Busetta P, Rönnquist R, Hodgson A, Lucas A (1999) Jack intelligent agents-components for intelligent agents in java. AgentLink News Lett 2(1):2–5

    Google Scholar 

  • Carneiro GdF, Silva M, Mara L, Figueiredo E, Sant’Anna C, Garcia A, Mendonca M (2010) Identifying code smells with multiple concern views. In: 2010 Brazilian symposium on software engineering (SBES), 2010, pp. 128–137. doi:10.1109/SBES.2010.21

  • Cernuzzi L, Zambonelli F (2009) Gaia4e: a tool supporting the design of mas using gaia. In: ICEIS (4), Citeseer, 2009, pp. 82–88

  • Chella A, Cossentino M, Sabatucci L (2004) Tools and patterns in designing multi-agent systems with passi. WSEAS Trans Commun 3(1):352–358

    Google Scholar 

  • Cossentino M, Gaud N, Hilaire V, Galland S, Koukam A (2010) Aspecs: an agent-oriented software process for engineering complex systems. Auton Agents Multi-Agent Syst 20(2):260–304. doi:10.1007/s10458-009-9099-4

    Article  Google Scholar 

  • Cossentino M, Hilaire V, Molesini A, Seidita V (2014) Handbook on agent-oriented design processes. Springer, Berlin

    Book  Google Scholar 

  • Cossentino M, Potts C (2002) PASSI: a process for specifying and implementing multi-agent systems Using UML

  • Counsell S, Hamza H, Hierons R (2010) The ‘deception’ of code smells: an empirical investigation. In: 2010 32nd international conference on information technology interfaces (ITI), 2010, pp. 683–688

  • Criado N, Argente E, Botti V (2011) Thomas: an agent platform for supporting normative multi-agent systems, J Log Comput 23(11):309–333. doi:10.1093/logcom/exr025

  • Criado N, Julián V, Botti V, Argente E (2010) A norm-based organization management system. In: Padget J, Artikis A, Vasconcelos W, Stathis K, Silva VTd, Matson E, Polleres A (Eds.) Coordination, organizations, institutions and norms in agent systems V, no. 6069. Lecture notes in computer science, Springer Berlin Heidelberg, 2010, pp. 19–35. http://link.springer.com/chapter/10.1007/978-3-642-14962-7_2

  • DeLoach SA, Garcia-Ojeda JC (2010) O-mase: a customisable approach to designing and building complex, adaptive multi-agent systems. Int J Agent-Oriented Softw Eng 4(3):244–280

    Article  Google Scholar 

  • Emden Ev, Moonen L (2002) Java quality assurance by detecting code smells. In: Ninth working conference on reverse engineering, 2002. Proceedings, 2002, pp. 97–106. doi:10.1109/WCRE.2002.1173068

  • Fagan M (1976) Design and code inspections to reduce errors in program development, IBM Syst 15(3):182–211

  • Ferber J, Gutknecht O, Michel F (2004) From agents to organizations: an organizational view of multi-agent systems. In: Giorgini P, Müller J, Odell J (eds) Agent-oriented software engineering IV, vol 2935. Lecture notes in computer scienceSpringer, Berlin Heidelberg, pp 214–230

    Chapter  Google Scholar 

  • Ferber J (1998) Gutknecht O (1998) A meta-model for the analysis and design of organizations in multi-agent systems. Proceedings of the 3rd international conference on multi agent systems, ICMAS ’98. IEEE Computer Society, Washington, DC, USA, p 128

    Google Scholar 

  • Fontana F, Zanoni M (2011) On investigating code smells correlations. In: 2011 IEEE fourth international conference on software testing, verification and validation workshops (ICSTW), 2011, pp. 474–475. doi:10.1109/ICSTW.2011.14

  • Fortino G, Russo W (2012) Eldameth: an agent-oriented methodology for simulation-based prototyping of distributed agent systems. Inf Softw Technol 54(6):608–624. doi:10.1016/j.infsof.2011.08.006 http://www.sciencedirect.com/science/article/pii/S0950584911001960

  • Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: improving the design of existing code, 1st Edition, Addison-Wesley Professional, Boston. http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0201485672

  • Galland S, Gaud N, Rodriguez S, Hilaire V (2010) Janus: another yet general-purpose multiagent platform. In: 7th agent-oriented software engineering technical forum (TFGAOSE-10), Agent Technical Fora, 2010

  • Garcia E, Argente E, Giret A (2009) A modeling tool for service-oriented open multiagent systems. In: Yang J-J, Yokoo M, Ito T, Jin Z, Scerri P (Eds.) Principles of practice in multi-agent systems, no. 5925. Lecture notes in computer science, Springer Berlin Heidelberg, 2009, pp. 345–360. http://link.springer.com/chapter/10.1007/978-3-642-11161-7_24

  • Garcia E, Giret A, Botti V (2015) Romas methodology. In: Regulated open multi-agent systems (ROMAS), Springer International Publishing, 2015, pp. 51–95. http://link.springer.com/chapter/10.1007/978-3-319-11572-6_6

  • Garcia E, Giret A, Botti V (2015) Romas modeling language. In: Regulated open multi-agent systems (ROMAS), Springer International Publishing, 2015, pp. 43–49. http://link.springer.com/chapter/10.1007/978-3-319-11572-6_5

  • Garcia-Ojeda JC, DeLoach SA (2009) Robby, agenttool iii: From process definition to code generation. In: Proceedings of the 8th international conference on autonomous agents and multiagent systems - Volume 2, AAMAS ’09, international foundation for autonomous agents and multiagent systems, Richland, SC, 2009, pp. 1393–1394. http://dl.acm.org/citation.cfm?id=1558109.1558311

  • Garcia-Ojeda J, DeLoach S, Robby Oyenan W, Valenzuela J (2008) O-mase: a customizable approach to developing multiagent development processes. In: Luck M, Padgham L (eds) Agent-oriented software engineering VIII, vol 4951. Lecture notes in computer scienceSpringer, Berlin Heidelberg, pp 1–15

    Chapter  Google Scholar 

  • Gómez-Sanz JJ, Fernóndez CR, Arroyo J (2010) Model driven development and simulations with the ingenias agent framework. Simul Modell Pract Theory 18(10):1468–1482. doi:10.1016/j.simpat.2010.05.012 http://www.sciencedirect.com/science/article/pii/S1569190X10001024

  • Gomez-Sanz JJ, Fuentes R, Pavón J, García-Magariño I (2008) Ingenias development kit: a visual multi-agent system development environment. In: Proceedings of the 7th international joint conference on autonomous agents and multiagent systems: Demo Papers, AAMAS ’08. International foundation for autonomous agents and multiagent systems, Richland, SC, 2008, pp. 1675–1676. http://dl.acm.org/citation.cfm?id=1402744.1402760

  • Guo Y, Seaman C, Zazworka N, Shull F (2010) Domain-specific tailoring of code smells: an empirical study. In: 2010 ACM/IEEE 32nd international conference on software engineering, Vol. 2, 2010, pp. 167–170. doi:10.1145/1810295.1810321

  • Gutknecht O, Ferber J (2000a) Madkit: a generic multi-agent platform. In: Proceedings of the fourth international conference on autonomous agents, AGENTS ’00, ACM, New York, NY, USA, 2000, pp. 78–79. doi:10.1145/336595.337048

  • Gutknecht O, Ferber J (2000b) The madkit agent platform architecture. In: Wagner T, Rana OF (Eds.), Infrastructure for agents, multi-agent systems, and scalable multi-agent systems, no. 1887. Lecture notes in computer science, Springer Berlin, 2000, pp. 48–55. http://link.springer.com/chapter/10.1007/3-540-47772-1_5

  • Hübner JF, Sichman JS, Boissier O (2002) Moise+: towards a structural, functional, and deontic model for mas organization. In: Proceedings of the first international joint conference on autonomous agents and multiagent systems: part 1, AAMAS ’02, ACM, New York, NY, USA, 2002, pp. 501–502. doi:10.1145/544741.544858

  • Isern D, Sánchez D, Moreno A (2011) Organizational structures supported by agent-oriented methodologies. J Syst Softw 84(2):169–184. doi:10.1016/j.jss.2010.09.005 http://www.sciencedirect.com/science/article/pii/S0164121210002451

  • Juan T, Pearce AR, Sterling L (2002) ROADMAP: extending the gaia methodology for complexopen systems. In: AAMAS, ACM, 2002, pp. 3–10. http://doi.acm.org/10.1145/544741.544744

  • Khomh F, Vaucher S, Gueheneuc Y-G, Sahraoui H (2009) A bayesian approach for the detection of code and design smells. In: 9th international conference on quality software, 2009. QSIC ’09, 2009, pp. 305–314. doi:10.1109/QSIC.2009.47

  • Lanza M, Marinescu R (2006) Object-oriented metrics in practice, Springer Berlin Heidelberg, Berlin, Heidelberg, 2006. http://link.springer.com/10.1007/3-540-39538-5

  • Mantyla MV, Vanhanen J, Lassenius C (2004) Bad smells–humans as code critics. In: 20th IEEE international conference on software maintenance, 2004. Proceedings, 2004, pp. 399–408. doi:10.1109/ICSM.2004.1357825

  • Mantyla M, Vanhanen J, Lassenius C (2003) A taxonomy and an initial empirical study of bad smells in code. In: International conference on software maintenance, 2003. ICSM 2003. Proceedings, 2003, pp. 381–384. doi:10.1109/ICSM.2003.1235447

  • McAffer J, Lemieux J-M, Aniszczyk C (2010) Eclipse rich client platform, 2nd edn. Addison-Wesley Professional, Upper Saddle River, NJ

    Google Scholar 

  • Moha N, Gueheneuc YG, Duchien L, Meur AFL (2010) Decor: a method for the specification and detection of code and design smells. IEEE Trans Softw Eng 36(1):20–36. doi:10.1109/TSE.2009.50

    Article  MATH  Google Scholar 

  • Morandini M, Nguyen DC, Penserini L, Perini A, Susi A (2011) Tropos modeling, code generation and testing with the taom4e tool. In: CEUR proceedings of the 5th international i* workshop (iStar 2011), Citeseer, 2011, pp. 172–174

  • Nunes I, Cirilo E, de Lucena CJ, Sudeikat J, Gómez-Sanz CHJJ (2009) A survey on the implementation of agent oriented specifications. In: Gleizes MP, Gómez-Sanz JJ (Eds.) AOSE, Vol. 6038 of lecture notes in computer science, Springer, 2009, pp. 169–179. http://dx.doi.org/10.1007/978-3-642-19208-1

  • Object Constraint Language (OCL) 2.3.1 Specification, version 2.3.1 (ja 2012)

  • Omicini A (2000) Soda: societies and infrastructures in the analysis and design of agent-based systems. In this volume, Springer-Verlag 2000:185–193

    Google Scholar 

  • Padgham L, Winikoff M (2003) Prometheus: a methodology for developing intelligent agents. In: Giunchiglia F, Odell J, Weiß G (eds) Agent-oriented software engineering III, vol 2585. Lecture notes in computer scienceSpringer, Berlin Heidelberg, pp 174–185

    Chapter  Google Scholar 

  • Pavón J, Gómez-Sanz J (2003) Agent oriented software engineering with ingenias, In: Mařík V, Pěchouček M, Müller J (Eds.) Multi-agent systems and applications III, no. 2691. Lecture notes in computer science, Springer Berlin Heidelberg, 2003, pp. 394–403. http://link.springer.com/chapter/10.1007/3-540-45023-8_38

  • Picard G, Gleizes M-P (2004) The adelfe methodology, In: Bergenti F, Gleizes M-P, Zambonelli F(Eds.) Methodologies and software engineering for agent systems, no. 11 in multiagent systems, artificial societies, and simulated organizations, Springer US, 2004, pp. 157–175. http://link.springer.com/chapter/10.1007/1-4020-8058-1_11

  • Pokahr A, Braubach L, Lamersdorf W (2005) Jadex: a bdi reasoning engine. Multi-agent programming, Springer 2005:149–174

    Article  Google Scholar 

  • Rodriguez S, Gaud N, Hilaire V, Galland S, Koukam A (2007) An analysis and design concept for self-organization in holonic multi-agent systems. In: Proceedings of the 4th international conference on Engineering self-organising systems, ESOA’06, Springer-Verlag, Berlin, Heidelberg, 2007, pp. 15–27

  • Rose LM, Paige RF, Kolovos DS, Polack FA (2008) The epsilon generation language. Model driven architecture-foundations and applications, Springer 2008:1–16

    Google Scholar 

  • Sierra C, Rodriguez-Aguilar JA, Noriega P, Esteva M, Arcos JL (2004) Engineering multi-agent systems as electronic institutions. Eur J Inform Prof 4(4):33–39

    Google Scholar 

  • Thangarajah J, Padgham L, Winikoff M (2005) Prometheus design tool. In: Proceedings of the fourth international joint conference on autonomous agents and multiagent systems, AAMAS ’05, ACM, New York, NY, USA, 2005, pp. 127–128

  • Tiryaki AM, Ekinci EE, Dikenelli O (2008) Refactoring in multi agent system development. In: Bergmann R, Lindemann G, Kirn S, Pěchouček M (Eds.) Multiagent system technologies, no. 5244. Lecture notes in computer science, Springer Berlin Heidelberg, 2008, pp. 183–194. http://link.springer.com/chapter/10.1007/978-3-540-87805-6_17

  • Tiryaki AM, Öztuna S, Dikenelli O, Erdur RC (2007) Sunit: a unit testing framework for test driven development of multi-agent systems. In: Padgham L, Zambonelli F(Eds.) Agent-oriented software engineering VII, no. 4405. Lecture notes in computer science, Springer Berlin Heidelberg, 2007, pp. 156–173. http://link.springer.com/chapter/10.1007/978-3-540-70945-9_10

  • Unified modeling language (uml), infrastructure, version 2.4.1 (aug 2011)

  • Yamashita A, Moonen L (2012) Do code smells reflect important maintainability aspects?. In: 2012 28th IEEE international conference on software maintenance (ICSM), 2012, pp. 306–315. doi:10.1109/ICSM.2012.6405287

  • Zambonelli F, Jennings NR, Wooldridge M (2003) Developing multiagent systems: the gaia methodology. ACM Trans Softw Eng Methodol (TOSEM) 12(3):317–370

    Article  Google Scholar 

Download references

Acknowledgments

Authors would like to thank Gilda Moreno and Nicolás Majorel Padilla for their reviews and suggestions to this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pedro Araujo.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Araujo, P., Rodríguez, S. & Hilaire, V. A metamodeling approach for the identification of organizational smells in multi-agent systems: application to ASPECS. Artif Intell Rev 49, 183–210 (2018). https://doi.org/10.1007/s10462-016-9521-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10462-016-9521-7

Keywords

Navigation