Biological metaphors in the design of complex software systems

https://doi.org/10.1016/S0167-739X(99)00116-8Get rights and content

Abstract

In this paper we discuss metaphors inspired by structural biology, genetics, neurology and immunology for building complex software ystems. Structural biology offers hints for software composition. Genetics provides ideas to construct software modules from descriptions. A network of software agents could emulate the nervous system, coordinate various activities and mediate amongst interacting entities. Immunology inspires the design of secure systems. As a case study we present Bond, a distributed-object system providing agent support for network centric computing.

Section snippets

Overview

A number of biological analogies have found their way into computer science. Neural networks provide an alternative to von Neumann architecture [16], [26], [27], genetic algorithms [21] are used to solve optimization problems, mutation analysis was proposed for software engineering. The question we are concerned with is if these analogies can be used for building complex systems out of components [6], and emulate genetic mechanisms and the immune system.

In this paper we present a design

Complex software systems

A number of new initiatives and ideas for high performance distributed computing have emerged in the last few years. Object-oriented design and programming languages like Java open up intriguing new perspectives for the development of complex software systems. Java supports code mobility. This brings us to another significant development, computing grids [10]. Informally, a computing grid is a collection of autonomous computing platforms with different architectures, interconnected by a

A case study: an infrastructure for network centric computing

Bond [2] is a distributed-object, message-oriented system. Our original objective was to support various functions needed for a Virtual Laboratory, an environment supporting data annotation, user-level resource management, workflows and scheduling of remote activities. Thus it became clear early on that we needed to integrate software agents into our distributed-object system. Once this decision was made we concluded that our system will be a pure message-passing system because remote method

Conclusions

In this paper we argue that increasingly complex systems like computing grids require novel approaches to software composition and the development of an infrastructure to hide the more intricate aspects of concurrency, distribution of code and data, and timing constraints. We believe that analogies with biological phenomena are very useful in designing and implementing complex software system.

To illustrate these ideas we present a distributed-object, agent-based infrastructure and discuss

Acknowledgments

The work reported in this paper is partially supported by the National Science Foundation grants BIR-9301210 and MCB-9527131, by the California Institute of Technology, under the Scalable I/O Initiative, by a grant from Intel Corporation, and by the Computational Science Alliance and the NCSA at the University of Illinois.

Dan C. Marinescu is Professor of Computer Sciences at Purdue University in West Lafayette, Indiana. He is conducting research in parallel and distributed computing, scientific computing, Petri Nets and software agents. He has co-authored more than 110 papers published in refereed journals and conference proceedings. He was the Chief Architect of a distributed data acquisition and analysis system used in nuclear physics; now he is the PI of an NSF funded Grand Challenge project to solve large

References (29)

  • L. Bölöni, R. Hao, K.K. Jun, D.C. Marinescu, Structural biology metaphors applied to the design of a distributed object...
  • L. Bölöni, D.C. Marinescu, in: A. Kandel, K. Hoffmann, D. Mlynek, N.H. Teodorescu (Eds.), An Object-Oriented Framework...
  • J.M. Bradshaw, An introduction to software agents, in: J.M. Bradshaw (Ed.), Software Agents, MIT Press, Cambridge, MA,...
  • C. Branden, J. Toose, Introduction to Protein Structure, Garland, New York,...
  • M.C. Cornea-Hasegan et al.

    Phase refinement and extension by means of non-crystallographic symmetry averaging using parallel computers

    Acta Cryst. D

    (1995)
  • J.C. Fabre et al.

    A metaobject architecture for fault tolerant distributed systems: the FRIENDS approach

    IEEE Trans. Computers

    (1998)
  • T. Finin et al., Specification of the KQML Agent-Communication Language, DARPA Knowledge Sharing Initiative draft, June...
  • T. Finn, Y. Labrou, J. Mayfield, KQML as an agent communication language, in: J.M. Bradshaw (Ed.), Software Agents, MIT...
  • L.N. Foner, What’s an agent, anyway? A sociological case study, Agents Memo 93-01, Agents Group, MIT Media Lab,...
  • I. Foster, C. Kesselman (Eds.), The Grid, Blueprint for a New Computing Infrastructure, Morgan Kaufmann, Los Altos, CA,...
  • S. Franklin, A. Graesser, Is it an agent, or just a program?, Proceedings of the Third International Workshop on Agent...
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Addison-Wesley, Reading, MA,...
  • M.R. Genesereth, An agent-based framework for interoperability, in: J.M. Bradshaw (Ed.), Software Agents, MIT Press,...
  • R. Hao, L. Bölöni, K.K. Jun, D.C. Marinescu, An aspect-oriented approach to distributed object security, Proceedings of...
  • Cited by (2)

    • Emergent algorithms for replica location and selection in data grid

      2010, Future Generation Computer Systems
      Citation Excerpt :

      The emergent algorithms are the usual approaches in similar problem domains to Grid location and selection. Nowadays, biological inspired algorithms are common optimization methods in complex software systems [11]. In particular, emergent techniques are used for Grid job scheduling [12,13].

    • Generative metaprogramming

      2007, GPCE'07 - Proceedings of the Sixth International Conference on Generative Programming and Component Engineering

    Dan C. Marinescu is Professor of Computer Sciences at Purdue University in West Lafayette, Indiana. He is conducting research in parallel and distributed computing, scientific computing, Petri Nets and software agents. He has co-authored more than 110 papers published in refereed journals and conference proceedings. He was the Chief Architect of a distributed data acquisition and analysis system used in nuclear physics; now he is the PI of an NSF funded Grand Challenge project to solve large structural biology problems using parallel and distributed systems and the Director of the Bond project (http://bond.cs.purdue.edu).

    Ladislau Bölöni is a Ph.D. student and Research Assistant in the Computer Sciences Department at Purdue University. He received a Master of Science degree from the Computer Sciences Department of Purdue University in 1999 and Diploma Engineer degree in computer engineering with Honors from the Technical University of Cluj-Napoca, Romania, in 1993. He received a fellowship from the Hungarian Academy of Sciences for the 1994–1995 academic year. He is a member of ACM and the Upsilon Pi Epsilon honorary society. His research interests include distributed object systems, autonomous agents and parallel computing.

    View full text