Skip to main content
Log in

Environment orientation: a structured simulation approach for agent-based complex systems

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

Complex systems are collections of independent agents interacting with each other and with their environment to produce emergent behaviour. Agent-based computer simulation is one of the main ways of studying complex systems. A naïve approach to such simulation can fare poorly, due to large communication overhead, and due to the scope for deadlock between the interacting agents sharing a computational platform. Agent interaction can instead be considered entirely from the point of view of the environment(s) within which the agents interact. Structuring a simulation using such Environment Orientation leads to a simulation that reduces communication overhead, that is effectively deadlock-free, and yet still behaves in the manner required. Additionally the Environment Orientation architecture eases the development of more sophisticated large-scale simulations, with multiple kinds of complex agents, situated in and interacting with multiple kinds of environments. We describe the Environment Orientation simulation architecture. We report on a number of experiments that demonstrate the effectiveness of the Environment Orientation approach: a simple flocking system, a flocking system with multiple sensory environments, and a flocking system in an external environment.

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

Similar content being viewed by others

References

  • Andrews P, Sampson A, Bjørndalen J, Stepney S, Timmis J, Warren D, Welch P (2008) Investigating patterns for the process-oriented modelling and simulation of space in complex systems. In: Artificial life XI. MIT Press, Cambridge, pp 17–24

  • Andrews PS, Polack FAC, Sampson AT, Stepney S, Timmis J (2010) The CoSMoS process version 0.1: a process for the modelling and simulation of complex systems. Technical Report YCS-2010-453. Department of Computer Science, University of York

  • Arnold K, Gosling J, Holmes D (2005) The Java programming language, 3rd edn. Pearson, London

    Google Scholar 

  • Barnes FRM, Welch PH, Sampson AT (2005) Barrier synchronisation for occam-pi. In: Arabnia HR (ed) PDPTA. CSREA Press, Las Vegas, pp 173–179

    Google Scholar 

  • Dijkstra EW (1971) Hierarchical ordering of sequential processes. Acta Inform 1(2):115–138

    Article  MathSciNet  Google Scholar 

  • Fielding RT, Taylor RN (2002) Principled design of the modern web architecture. ACM Trans Inter Tech 2(2):115–150

    Article  Google Scholar 

  • Fowler M (2002) Patterns of enterprise application architecture. Addison-Wesley, Boston

    Google Scholar 

  • Freeman E, Hupfer S, Arnold K (1999) JavaSpaces principles, patterns and practice. Addison-Wesley, Boston

    Google Scholar 

  • Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Boston

  • Gelernter D (1985) Generative communication in Linda. ACM Trans Program Lang Syst 7(1):80–112

    Article  MATH  Google Scholar 

  • Gray J (1981) The transaction concept: virtues and limitations. In: Proceedings of the 7th international conference on very large databases. IEEE, pp 144–154

  • Gray J, Reuter A (1993) Transaction processing: concepts and techniques. Morgan Kaufmann, San Francisco

  • Hansen PB (1977) The architecture of concurrent programs. Prentice-Hall, Englewood Cliffs

  • Hejlsberg A, Wiltamuth S, Golde P (2006) The C# programming language, 2nd edn. Addison-Wesley, Boston

    Google Scholar 

  • Hoare CAR (1985) Communicating sequential processes. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  • Holmevik JR (1994) Compiling SIMULA: a historical study of technological genesis. IEEE Ann Hist Comput 4:25–37

    Article  Google Scholar 

  • Hoverd T (2011) Environment oriented simulation. PhD thesis, University of York

  • Hoverd T, Stepney S (2011) Energy as a driver of diversity in open-ended evolution. In: ECAL 2011. MIT Press, Cambridge, pp 356–363

  • Jefferson DR (1985) Virtual time. ACM Trans Program Lang Syst 7(3):404–425

    Article  MathSciNet  Google Scholar 

  • Lehman TJ, Cozzi A, Xiong Y, Gottschalk J, Vasudevan V, Landis S, Davis P, Khavar B, Bowman P (2001) Hitting the distributed computing sweet spot with TSpaces. Comput Netw 35:457–472

    Article  Google Scholar 

  • Martin JMR, Welch PH (1997) A design strategy for deadlock-free concurrent systems. Transput Commun 3(4):215–232

    MATH  Google Scholar 

  • Meyer B (2000) Object-oriented software construction, 2nd edn. Prentice Hall, Englewood Cliffs

    Google Scholar 

  • Microsoft (2007) SQL Server technical bulletin—how to resolve a deadlock. http://support.microsoft.com/kb/832524. Accessed 1 Apr 2013

  • Milner R (2009) The space and motion of communicating agents. CUP, Cambridge

    Book  MATH  Google Scholar 

  • Oaks S, Wong H (2004) Java threads, 3rd edn. O’Reilly, Sebastopol

    Google Scholar 

  • Park S, Zhou Y, Xiong W, Yin Z, Kaushik R, Lee KH, Lu S (2009) PRES: probabilistic replay with execution sketching on multiprocessors. In: SOSP ’09. ACM, New York, pp 177–192

  • Railsback SF, Grimm V (2011) Agent-based and individual-based modeling: a practical introduction. Princeton University Press, Princeton

    Google Scholar 

  • Reynolds CW (1987) Flocks, herds, and schools: a distributed behavioral model. Comput Gr 21(4):25–34

    Article  Google Scholar 

  • Sampson AT (2010) Process-oriented patterns for concurrent software engineering. PhD thesis, University of Kent

  • Seki M (2009) dRuby and Rinda: implementation and application of distributed ruby and its parallel coordination mechanism. Int J Parallel Program 37(1):37–57

    Article  MATH  Google Scholar 

  • Stepney S (2007) Chapter 12: Embodiment. In: Flower D, Timmis J (eds) Silico immunology. Springer, New York, pp 265–288

    Chapter  Google Scholar 

  • Welch PH, Justo GRR, Willcock CJ (1993) Higher-level paradigms for deadlock-free high-performance systems. In: Transputer applications and systems ’93. IOS Press, Amsterdam, pp 981–1004

  • Wikipedia (2013) Sombrero function. http://en.wikipedia.org/wiki/Sombrerofunction. Accessed 6 Apr 2013

Download references

Acknowledgments

The work described here was part of the CoSMoS project, funded by EPSRC Grant EP/E053505/1 and by a Microsoft Research Europe PhD studentship.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Susan Stepney.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hoverd, T., Stepney, S. Environment orientation: a structured simulation approach for agent-based complex systems. Nat Comput 14, 83–97 (2015). https://doi.org/10.1007/s11047-014-9449-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-014-9449-2

Keywords

Navigation