Self-Aware Software – Will It Become a Reality?

  • Peter Andras
  • Bruce G Charlton
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3460)


The possibility of building self-aware software fascinated computer scientist since the beginning of computer science. Research in AI, and in particular on software agents, agent system, computational reflection and reflective software delivered interesting results which moved towards the development of software systems with features of self-awareness. However, these approaches have not so far generated any clear success in terms of real and useful self-aware software. Here we introduce the theory of abstract communication systems, which describes the world in terms of systems and their environment. Systems comprise dense, inter-referencing clusters of communications. We analyse natural self-aware systems highlighting the critical features which make them able to be self-aware. We analyse software systems in terms of abstract communication systems theory and compare their critical features with these natural self-aware systems. We describe the necessary features of hypothetical self-aware software, discuss the existing barriers that stand in the way of realization of such systems and how these might be overcome.


Software Code Ware Software Early Communication Communication Unit Memory Subsystem 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agrawal, N., et al.: RNA Interference: Biology, Mechanism, and Applications. Microbiology and Molecular Biology Reviews 67, 657–685 (2003)CrossRefGoogle Scholar
  2. 2.
    Alonso, E., Kudenko, D., Kazakov, D. (eds.): Adaptive Agents and Multi-Agent Systems. Springer, Berlin (2003)zbMATHGoogle Scholar
  3. 3.
    Andras, P., Andras, C.D.: Protein interaction world - an alternative hypothesis about the origins of life. To appear in Medical Hypotheses (in press)Google Scholar
  4. 4.
    Andras, P., Charlton, B.G.: Management from the Perspective of Systems Theory. In: Proceedings of Practising Philosophy of Management - 2004 (2004)Google Scholar
  5. 5.
    Andras, P., Charlton, B.G.: Democratic Deficit and Communication Inflation in the Health Care System. Journal of Evaluation in Clinical Practice 8, 291–298 (2002)CrossRefGoogle Scholar
  6. 6.
    Appavoo, et al.: Enabling autonomic behavior in systems software with hot swapping. IBM Systems Journal 42, 60–76 (2003)CrossRefGoogle Scholar
  7. 7.
    Ariola, Z.M., Herbelin, H., Sabry, A.: A type-theoretic foundation of continuations and prompts. ACM SIGPLAN Notices 39, 40–53 (2004)CrossRefGoogle Scholar
  8. 8.
    Atkinson, M.P., Morrison, R.: Orthogonally persistent object systems. VLDB Journal 4, 319–401 (1995)CrossRefGoogle Scholar
  9. 9.
    Aviziensis, A., Laprie, J.C., Randell, B.: Fundamental concepts of dependability. Newcastle University Report no. CS-TR-739 (2001)Google Scholar
  10. 10.
    Barnard, C.I.: The Functions of the Executive. Harvard University Press, Cambridge (1938)Google Scholar
  11. 11.
    Barr, A., Feigenbaum, E.A.: The Handbook of Artificial Intelligence, 2nd edn., vol. II. Addison-Wesley, Reading (1989)Google Scholar
  12. 12.
    Behnisch, T., Matsushita, S., Knopfel, T.: Imaging of gene expression during long-term potentiation. Neuroreport 15, 2039–2043 (2004)CrossRefGoogle Scholar
  13. 13.
    Born, R. (ed.): Artificial Intelligence: The Case Against. Routledge, London (1989)Google Scholar
  14. 14.
    Cazzola, W., Stroud, R.J., Tisato, F.: Reflection and Software Engineering. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Charlton, B.G., Andras, P.: The Nature and Function of Management - a perspective from systems theory. Philosophy of Management 3, 3–16 (2004)Google Scholar
  16. 16.
    Charlton, B.G., Andras, P.: The Modernization Imperative. Imprint Academic, Exeter (2003)Google Scholar
  17. 17.
    Cohen, P.R., Feigenbaum, E.A.: The Handbook of Artificial Intelligence, 2nd edn., vol. III. Addison-Wesley, Reading (1989)Google Scholar
  18. 18.
    Di Stefano, A., Fragetta, M., Tramontana, E.: Computational reflection for embedded Java systems. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 437–450. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Douence, D., Fradet, P., Sudholt, M.: Composition, reuse, and interaction analysis of stateful aspects. In: Proceedings of AOSD 2004, pp. 141–150. ACM, New York (2004)CrossRefGoogle Scholar
  20. 20.
    Duba, B., Harper, R., MacQueen, D.: Typing first-class continuations in ML. In: Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 163–173. ACM, New York (1991)CrossRefGoogle Scholar
  21. 21.
    Ferber, J.: Computational reflection in class based object-oriented languages. ACM SIGPLAN Notices 24, 317–326 (1989)CrossRefGoogle Scholar
  22. 22.
    Foote, B., Johnson, R.E.: Reflective facilities in Smalltalk-80. ACM SIGPLAN Notices 24, 327–335 (1989)CrossRefGoogle Scholar
  23. 23.
    Frank, M.R., Szekely, P.: Adaptive forms: an interaction paradigm for entering structured data. In: Proceedings of the 3rd International Conference on Intelligent User Interfaces, pp. 153–160. ACM, New York (1997)Google Scholar
  24. 24.
    Furicht, R., Prahofer, H., Hofinger, T., Altmann, J.: Components: A component-based application framework for manufacturing execution systems in C# and.NET. In: Proceedings of TOOLS Pacific 2002, pp. 169–178. ACM, New York (2002)Google Scholar
  25. 25.
    Gacs, P.: Reliable cellular automata with self-organization. Journal of Statistical Physics 103, 45–267 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Gamma, E., Helm, R., Johnson, R., Vlissides, E.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  27. 27.
    Goldberg, A., Robson, D.: Smalltalk - 80. The Language and its Implementation. Addison-Wesley, Reading (1983)zbMATHGoogle Scholar
  28. 28.
    Grothoff, C.: Walkabout revisited: The runabout. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 103–125. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  29. 29.
    Jarzabek, S.: From reuse library experiences to application generation architectures. ACM SIGSOFT Software Engineering Notes 20, 114–122 (1995)CrossRefGoogle Scholar
  30. 30.
    Jarzabek, S., Knauber, P.: Synergy between component-based and generative approaches. ACM SIGSOFT Software Engineering Notes 24, 429–445 (1999)CrossRefGoogle Scholar
  31. 31.
    Jennings, N.R., Sycara, K., Woolridge, M.: A roadmap of agent research and development. Autonomous Agents and Multi-Agent Systems 1, 7–38 (1998)CrossRefGoogle Scholar
  32. 32.
    Jones, C.B.: Formal development of correct algorithms: An example based on Earley’s recogniser. In: Proceedings of ACM Conference on Proving Assertions about Programs, pp. 150–169. ACM, New York (1972)CrossRefGoogle Scholar
  33. 33.
    Katara, M., Katz, S.: Architectural views of aspects. In: Proceedings of AOSD 2003, pp. 1–10. ACM, New York (2003)CrossRefGoogle Scholar
  34. 34.
    Killijian, M.-O., Ruiz, J.-C., Fabre, J.-C.: Portable serialization of CORBA objects: a reflective approach. ACM SIGPLAN Notices 37, 68–82 (2002)CrossRefGoogle Scholar
  35. 35.
    Kinzle, D.M., Elder, M.C.: Internet WORMS: past, present, and future: Recent worms: a survey and trends. In: Proceedings of the 2003 ACM workshop on Rapid Malcode, pp. 1–10. ACM, New York (2003)CrossRefGoogle Scholar
  36. 36.
    Landauer, C., Bellman, K.L.: New architectures for constructed complex systems. Applied Mathematics and Computation 120, 149–163 (2001a)zbMATHCrossRefGoogle Scholar
  37. 37.
    Landauer, C., Bellman, K.L.: Self-modelling systems. In: Laddaga, R., Shrobe, H.E., Robertson, P. (eds.) IWSAS 2001. LNCS, vol. 2614, pp. 238–256. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  38. 38.
    Lee, P.A., Anderson, T.: Fault Tolerance. Principles and Practice, 2nd edn. Springer, Wien (1990)zbMATHGoogle Scholar
  39. 39.
    Lee, Y., et al.: The nuclear RNase III Drosha initiates microRNA processing. Nature 425, 415–419 (2003)CrossRefGoogle Scholar
  40. 40.
    Levine, M., Tjian, R.: Transcription regulation and animal diversity. Nature 424, 147–151 (2003)CrossRefGoogle Scholar
  41. 41.
    Luhmann, N.: Social Systems. Stanford University Press, Palo Alto (1996); Charlton, B.G., Andras, P.: The Modernization Imperative. Imprint Academic, Exeter (2003)Google Scholar
  42. 42.
    Maes, P.: Concepts and experiments in computational reflection. ACM SIGPLAN Notices 22, 147–155 (1987)CrossRefGoogle Scholar
  43. 43.
    Maghrabi, T., Golshani, F.: Automatic program generation using sequent calculus. In: Proceedings of the 1992 ACM Annual Conference on Communications, pp. 73–81. ACM, New York (1992)CrossRefGoogle Scholar
  44. 44.
    March, J.G., Simon, H.A.: Organizations. Blackwell, Cambridge (1993)Google Scholar
  45. 45.
    Maturana, H.R., Varela, F.J.: Autopoiesis and Cognition: the realization of the living. D. Reidel Publishing Company, Boston (1980)Google Scholar
  46. 46.
    Mattick, J.S., Gagen, M.J.: The evolution of controlled multitasked gene networks: The role of introns and other noncoding RNAs in the development of complex organisms. Molecular Biology and Evolution 18, 1611–1630 (2001)Google Scholar
  47. 47.
    Meister, G., Tuschl, T.: Mechanisms of gene silencing by double-stranded RNA. Nature 431, 343–349 (2004)CrossRefGoogle Scholar
  48. 48.
    Miller, J.G.: Living Systems. McGraw-Hill, New York (1978)Google Scholar
  49. 49.
    Newell, A.: Unified Theories of Cognition. Harvard University Press, Cambridge (1990)Google Scholar
  50. 50.
    Cinneide, O., Nixon, P.: Patterns and evolution structures: Automated software evolution towards design patterns. In: Proceedings of the 4th International Workshop on Principles of Software Evolution, pp. 162–165. ACM, New York (2001)Google Scholar
  51. 51.
    Ortin, F., Cueva, J.M.: Non-restrictive computational reflection. Computer Standards & Interfaces 25, 241–251 (2003)CrossRefGoogle Scholar
  52. 52.
    Ortin, F., Lopez, B., Perez-Schofield, J.B.G.: Separating adaptable persistence attributes through computational reflection. IEEE Software 21, 41–49 (2004)CrossRefGoogle Scholar
  53. 53.
    Pokol, B.: The Theory of Professional Institution Systems. Felsooktatasi Koordinacios Iroda, Budapest (1992)Google Scholar
  54. 54.
    Popovici, A., Alonso, G., Gross, T.: Spontaneous container services. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 29–53. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  55. 55.
    Raghavan, A., et al.: Genome-wide analysis of mRNA decay in resting and activated primary human T lymphocytes. Nucleic Acids Research 30, 5529–5538 (2002)CrossRefGoogle Scholar
  56. 56.
    Rising, L.: The Patterns Handbook. Cambrdige University Press, Cambridge (1998)Google Scholar
  57. 57.
    Rosenblat, F.: Principles of Neurodynamics: Perceptrons and the Theory of Brain mechanisms. Washington D.C., Spartan (1962)Google Scholar
  58. 58.
    Simon, H.A.: Administrative Behaviour. The Free Press, New York (1976)Google Scholar
  59. 59.
    Stunkel, C.B., Sivaram, R., Panda, D.K.: Implementing multidestination worms in switch-based parallel systems: architectural alternatives and their impact. ACM SIGARCH Computer Architecture News 25, 50–61 (1997)CrossRefGoogle Scholar
  60. 60.
    Sun, Y.-Q., Lu, R.-Z., Bi, H.: Program synthesis based on Boyer-Moore theorem proving techniques. In: Proceedings of the ACM 13th Annual Conference on Computer Science, pp. 348–355. ACM, New York (1985)Google Scholar
  61. 61.
    Tanter, E., Noye, J., Caromel, D., Cointe, P.: Partial behavioral reflection: spatial and temporal selection of reification. ACM SIGPLAN Notices 38, 27–46 (2003)CrossRefGoogle Scholar
  62. 62.
    Uhrmacher, A.M., Rohl, M., Kullick, B.: The role of reflection in simulating and testing agents: An exploration based on the simulation system James. Applied Artificial Intelligence 16, 795–811 (2002)CrossRefGoogle Scholar
  63. 63.
    Ungar, D., Smith, R.B.: SELF: The power of simplicity. LISP and Symbolic Computation 4, 187–205 (1991)CrossRefGoogle Scholar
  64. 64.
    Valetto, G., Kaiser, G.: A case study in software adaptation. In: Proceedings of WOSS 2002, pp. 73–78. ACM, New York (2002)CrossRefGoogle Scholar
  65. 65.
    Van Moorsel, A., Wolter, K.: Analysis and Algorithms for Restart. In: Proceedings of the Quantitative Evaluation of Systems, QEST 2004, pp. 195–204. IEEE Computer Society Press, Los Alamitos (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Peter Andras
    • 1
  • Bruce G Charlton
    • 2
  1. 1.School of Computing ScienceUniversity of Newcastle Upon TyneNewcastle upon TyneUK
  2. 2.School of Biology(Psychology)University of Newcastle Upon TyneNewcastle upon TyneUK

Personalised recommendations