Abstract
Metrics are increasingly seen as important tools for software engineering and quantitative research, but little attention has so far been devoted to metrics for agent programming languages. This paper presents the first steps towards multi-paradigm structural metrics, which can be applied seamlessly to both agents and the object-oriented environments in which they are situated - thus enabling the designs of complete multi-agent systems to be quantitatively evaluated. Concrete paradigm-independent metrics for coupling and cohesion are proposed, and their use is demonstrated on an example Jason program, written in AgentSpeak and Java.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Allen, E.B., Gottipati, S., Govindarajan, R.: Measuring size, complexity, and coupling of hypergraph abstractions of software: an information-theory approach. Software Quality Journal 15(2), 179–212 (2007)
Arbuckle, T.: Measure Software - and its Evolution - Using Information Content. In: Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops, pp. 129–134. ACM (2009)
Bach, J.: Good enough quality: Beyond the buzzword. Computer 30(8), 96–98 (1997)
Basili, V.R., Caldiera, G., Rombach, H.D.: The goal question metric approach. Encyclopedia of Software Engineering 1, 528–532 (1994)
Bellifemine, F., Caire, G., Greenwood, D.: Developing multi-agent systems with JADE. Springer, Heidelberg (2008)
Binkley, A.B., Schach, S.R.: Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures. In: Proceedings of the 20th International Conference on Software Engineering, pp. 452–455. IEEE Computer Society, Washington, DC (1998)
Bordini, R.H., Braubach, L., Dastani, M., Seghrouchni, A.E.F., Gomez-Sanz, J.J., Leite, J., O’Hare, G., Pokahr, A., Ricci, A.: A survey of programming languages and platforms for multi-agent systems. Special Issue: Hot Topics in European Agent Research II Guest Editors: Andrea Omicini 30, 33–44 (2006)
Bryton, S., e Abreu, F.B.: Towards Paradigm-Independent Software Assessment. In: Proc. of QUATIC 2007 (2007)
Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards a taxonomy of software change. Journal of Software Maintenance and Evolution 17(5), 309–332 (2005)
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)
Collier, R.W., O’Hare, G.M.P.: Modelling and Programming with Commitment Rules in Agent Factory. In: Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches (2009)
Darcy, D.P., Kemerer, C.F., Slaughter, S.A., Tomayko, J.E.: The structural complexity of software: an experimental test. IEEE Transactions on Software Engineering 31(11), 982–995 (2005)
Dragone, M., Lillis, D., Collier, R., O’Hare, G.M.P.: SoSAA: a framework for integrating components & agents. In: Proceedings of the 2009 ACM Symposium on Applied Computing, pp. 722–728. ACM, New York (2009)
Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley Professional (1999)
Garcia, A., Sant’Anna, C., Chavez, C., da Silva, V.T., de Lucena, C.J.P., von Staa, A.: Separation of Concerns in Multi-agent Systems: An Empirical Study. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds.) SELMAS 2003. LNCS, vol. 2940, pp. 49–72. Springer, Heidelberg (2004)
Henderson-Sellers, B.: Object-oriented metrics: measures of complexity. Prentice-Hall, Inc., Upper Saddle River (1996)
Hindriks, K.: Modules as Policy-Based Intentions: Modular Agent Programming in GOAL. In: Dastani, M.M., El Fallah Seghrouchni, A., Ricci, A., Winikoff, M. (eds.) ProMAS 2007. LNCS (LNAI), vol. 4908, pp. 156–171. Springer, Heidelberg (2008)
Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: Agent Programming with Declarative Goals. In: Castelfranchi, C., Lespérance, Y. (eds.) ATAL 2000. LNCS (LNAI), vol. 1986, pp. 228–243. Springer, Heidelberg (2001)
Kitchenham, B., Pfleeger, S.L.: Software quality: The elusive target. IEEE Software 13(1), 12–21 (1996)
Kitchenham, B., Pfleeger, S.L., Fenton, N.: Towards a framework for software measurement validation. IEEE Transactions on Software Engineering 21(12), 929–944 (1995)
Kramer, S., Kaindl, H.: Coupling and cohesion metrics for knowledge-based systems using frames and rules. ACM Transactions on Software Engineering and Methodology (TOSEM) 13(3), 332–358 (2004)
Lanza, M., Marinescu, R., Ducasse, S.: Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer-Verlag New York Inc., New York (2006)
Li, W.: Another metric suite for object-oriented programming. The Journal of Systems & Software 44(2), 155–162 (1998)
Lieberherr, K., Holland, I., Riel, A.: Object-oriented programming: an objective sense of style. ACM SIGPLAN Notices 23(11), 323–334 (1988)
Lopez-Herrejon, R.E., Apel, S.: Measuring and Characterizing Crosscutting in Aspect-Based Programs: Basic Metrics and Case Studies. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 423–437. Springer, Heidelberg (2007)
Madden, N., Logan, B.: Modularity and Compositionality in Jason. In: Braubach, L., Briot, J.-P., Thangarajah, J. (eds.) ProMAS 2009. LNCS, vol. 5919, pp. 237–253. Springer, Heidelberg (2010)
Mens, T., Demeyer, S.: Future trends in software evolution metrics. In: Proceedings of the 4th International Workshop on Principles of Software Evolution, pp. 83–86. ACM, New York (2001)
Mens, T., Van Eetvelde, N., Demeyer, S., Janssens, D.: Formalizing refactorings with graph transformations. Journal of Software Maintenance and Evolution 17(4), 247–276 (2005)
O’Neal, M.B., Edwards, W.R.: Complexity measures for rule-based programs. IEEE Transactions on Knowledge and Data Engineering 6(5), 669–680 (1994)
Ramil, J.F., Lehman, M.M.: Metrics of software evolution as effort predictors - a case study. In: Proc. Int. Conf. Software Maintenance, pp. 163–172 (2000)
Russell, S.J., Norvig, P.: Artificial intelligence: a modern approach. Prentice Hall (2009)
SantAnna, C., Figueiredo, E., Garcia, A., Lucena, C.: On the Modularity Assessment of Software Architectures: Do my architectural concerns count? In: Proc. International Workshop on Aspects in Architecture Descriptions (AARCH 2007), AOSD, vol. 7, Citeseer (2007)
Shoham, Y.: Agent-oriented programming. Artificial intelligence 60(1), 51–92 (1993)
Sipos, A., Pataki, N., Porkoláb, Z.: On Multiparadigm Software Complexity Metrics. In: MaCS 2006 6th Joint Conference on Mathematics and Computer Science, p. 85 (2006)
Subramanyam, R., Krishnan, M.S.: Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects. IEEE Transactions on Software Engineering 29(4), 297–310 (2003)
Vaishnavi, V.K., Purao, S., Liegle, J.: Object-oriented product metrics: A generic framework. Information Sciences 177(2), 587–606 (2007)
van Riemsdijk, M.B., Hindriks, K.V.: An Empirical Study of Agent Programs: A Dynamic Blocks World Case Study in GOAL. In: Yang, J.-J., Yokoo, M., Ito, T., Jin, Z., Scerri, P. (eds.) PRIMA 2009. LNCS, vol. 5925, pp. 200–215. Springer, Heidelberg (2009)
Varzi, A.: Mereology. Stanford Encyclopedia of Philosophy (2009), http://plato.stanford.edu/entries/mereology/ (cited January 17, 2011)
Weyns, D., Omicini, A., Odell, J.: Environment as a first class abstraction in multiagent systems. Autonomous Agents and Multi-Agent Systems 14(1), 5–30 (2007)
Wooldridge, M., Jennings, N.R.: Pitfalls of agent-oriented development. In: Proceedings of the Second International Conference on Autonomous Agents, pp. 385–391. ACM, New York (1998)
Zhao, J., Cheng, J., Ushijima, K.: A Metrics Suite for Concurrent Logic Programs. In: Proc. 2nd Euromicro Working Conference on Software Maintenance and Reengineering, pp. 172–178, Citeseer (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jordan, H.R., Collier, R. (2012). Evaluating Agent-Oriented Programs: Towards Multi-paradigm Metrics. In: Collier, R., Dix, J., Novák, P. (eds) Programming Multi-Agent Systems. ProMAS 2010. Lecture Notes in Computer Science(), vol 6599. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28939-2_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-28939-2_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-28938-5
Online ISBN: 978-3-642-28939-2
eBook Packages: Computer ScienceComputer Science (R0)