Abstract
Software-Engineering provides techniques to ease handling the essential complexity of software. A number of engineering paradigms and architectures have been devised and each generation claims to relieve future development efforts. But to date little is known about how different development approaches affect the underlying implemenation structures, making their contributions arguable. Recently, the statistical analysis of large–scale modular software systems – represented as directed graphs – revealed complex system characteristics, namely scale–free and small–world phenomena. In this paper, we argue that the exhibited network characteristics reflect utilized design approaches and apply graph analysis to examine the structural differences imposed by the utilization of Agent–Oriented Software Engineering. As this novel development paradigm proposes autonomous and pro–active entities as an atomic design and development metaphor for complicated and inherently distributed software systems, an initial analysis and comparison of graphs abstracting both agent– and object–oriented system designs reveals structural differences which suggest that agent autonomy influences the resulting underlying implementation structures.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Brooks, F.P.: No silver bullet: essence and accidents of software engineering. Computer 20(4), 10–19 (1987)
Franklin, S., Graesser, A.: Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. In: Jennings, N.R., Wooldridge, M.J., Müller, J.P. (eds.) Intelligent Agents III. Agent Theories, Architectures, and Languages. LNCS, vol. 1193, Springer, Heidelberg (1997)
Odell, J.: Objects and agents compared. Journal of Object Technology 1(1) (2002)
Jennings, N.R.: Building complex, distributed systems: the case for an agent-based approach. Comms. of the ACM 44(4), 35–41 (2001)
Bordini, R., Braubach, L., Dastani, M., Seghrouchni, A.E.F., Gomez-Sanz, J., Leite, J., O’Hare, G., Pokahr, A., Ricci, A.: A survey of programming languages and platforms for multi-agent systems. Informatica 30, 33–44 (2006)
Braubach, L., Pokahr, A., Lamersdorf, W., Moldt, D.: Goal representation for BDI agent systems. In: Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.) Programming Multi-Agent Systems. LNCS (LNAI), vol. 3346, Springer, Heidelberg (2005)
Newman, M.: The structure and function of complex networks. M. E. J. Newman. The structure and function of complex networks. SIAM Review 45(2), 167–256 (2003)
de Moura, A.P.S., Lai, Y.C., Motter, A.E.: Signatures of small-world and scale-free properties in large computer programs. Physical Review E 68 (2003)
Valverde, S., Sole, R.V.: Hierarchical Small Worlds in Software Architecture. ArXiv Condensed Matter e-prints (July 2003)
Marchesi, M., Pinna, S., Serra, N., Tuveri, S.: Power laws in smalltalk. In: ESUG Conference 2004 Research Track (2004)
Challet, D., Lombardoni, A.: Bug propagation and debugging in asymmetric software structures. CoRR cond-mat/0306509 (2003)
Baxter, G., Frean, M., Noble, J., Rickerby, M., Smith, H., Visser, M., Melton, H., Tempero, E.: Understanding the shape of java software. In: OOPSLA 2006. Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming languages, systems, and applications, pp. 397–412. ACM Press, New York (2006)
Henderson-Sellers, B., Giorgini, P. (eds.): Agent-oriented Methodologies. Idea Group Publishing, USA (2005)
Sudeikat, J., Braubach, L., Pokahr, A., Lamersdorf, W.: Evaluation of agent–oriented software methodologies - examination of the gap between modeling and platform. In: Odell, J.J., Giorgini, P., Müller, J.P. (eds.) AOSE 2004. LNCS, vol. 3382, pp. 126–141. Springer, Heidelberg (2005)
Benfield, S.S., Hendrickson, J., Galanti, D.: Making a strong business case for multiagent technology. In: Proc- of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, 2006 (keynote paper)
Bratman, M.: Intentions, Plans, and Practical Reason. Harvard Univ. Press, Cambridge (1987)
Rao, A.S., Georgeff, M.P.: BDI-agents: from theory to practice. In: Proceedings of the First Int. Conference on Multiagent Systems (1995)
Braubach, L., Pokahr, A., Lamersdorf, W.: Jadex: A BDI Agent System Combining Middleware and Reasoning. In: Software Agent-Based Applications, Platforms and Development Kits, Birkhäuser (2005)
Watts, D.J., Strogatz, S.H.: Collective dynamics of small-world networks. Nature 393, 440–442 (1998)
Myers, C.R.: Software systems as complex networks: structure, function, and evolvability of software collaboration graphs. Phys. Rev. E 68 (2003)
Henderson-Sellers, B.: Object–Oriented Metrics: Measures of Complexity. Prentice-Hall, Englewood Cliffs (1996)
Potanin, A.: The fox – a tool for java object graph analysis. Technical report, School of Mathematical and Computing Sciences, Victoria University (2002)
Potanin, A., Noble, J., Frean, M., Biddle, R.: Scale-free geometry in oo programs. Commun. ACM 48(5), 99–103 (2005)
Wheeldon, R., Counsell, S.: Power law distributions in class relationships. In: Third IEEE International Workshop on Source Code Analysis and Manipulation, vol. 0, IEEE Computer Society Press, Los Alamitos (2003)
Valverde, S., Cancho, R.F., Sol, R.V.: Scale-free networks from optimal design. Europhys. Lett. 60(4), 512–517 (2002)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Reading (1999)
Challet, D., Le Du, Y.: Closed source versus open source in a model of software bug dynamics. ArXiv Condensed Matter e-prints (June 2003)
Padgham, L., Winikoff, M.: Developing Intelligent Agent Systems: A Practical Guide. John Wiley and Sons, Chichester (2004)
Sudeikat, J., Braubach, L., Pokahr, A., Lamersdorf, W., Renz, W.: Validation of bdi agents. In: Programming Multi-Agent Systems. 4th International Workshop, ProMAS 2006. LNCS (LNAI), vol. 4411, pp. 185–200. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sudeikat, J., Renz, W. (2007). On Complex Networks in Software: How Agent–Orientation Effects Software Structures. In: Burkhard, HD., Lindemann, G., Verbrugge, R., Varga, L.Z. (eds) Multi-Agent Systems and Applications V. CEEMAS 2007. Lecture Notes in Computer Science(), vol 4696. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75254-7_22
Download citation
DOI: https://doi.org/10.1007/978-3-540-75254-7_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75253-0
Online ISBN: 978-3-540-75254-7
eBook Packages: Computer ScienceComputer Science (R0)