Playing with Patterns

  • Fiona A. C. PolackEmail author
Part of the Emergence, Complexity and Computation book series (ECC, volume 35)


Susan Stepney has created novel research in areas as diverse as formal software modelling and evolutionary computing. One theme that spans almost her whole career is the use of patterns to capture and express solutions to software engineering problems. This paper considers two extremes, both in time and topic: patterns for formal modelling languages, and patterns related to the principled modelling and simulation of complex systems.


  1. 1.
    Abrial, J.-R.: The B-book: Assigning Programs to Meanings. CUP (1996)Google Scholar
  2. 2.
    Alden, K.: Simulation and statistical techniques to explore lymphoid tissue organogenesis. Ph.D. thesis, University of York (2012).
  3. 3.
    Alden, K., Andrews, P., Timmis, J., Veiga-Fernandes, H., Coles, M.C.: Towards argument-driven validation of an in-silico model of immune tissue organogenesis. In: Proceedings of ICARIS, vol. 6825, LNCS, pp. 66–70. Springer (2011)Google Scholar
  4. 4.
    Alden, K., Andrews, P.S., Polack, F.A.C., Veiga-Fernandes, H., Coles, M.C., Timmis, J.: Using argument notation to engineer biological simulations with increased confidence. J. R. Soc. Interface 12(104) (2015)Google Scholar
  5. 5.
    Alden, K., Andrews, P.S., Veiga-Fernandes, H., Timmis, J., Coles, M.C.: Utilising a simulation platform to understand the effect of domain model assumptions. Nat. Comput. 14(1), 99–107 (2014)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Alden, K., Read, M., Andrews, P.S., Timmis, J., Coles, M.C.: Applying Spartan to understand parameter uncertainty in simulations. R J. (2014)Google Scholar
  7. 7.
    Alden, K., Read, M., Timmis, J., Andrews, P., Veiga-Frenandes, H., Coles, M.: Spartan: a comprehensive tool for understanding uncertainty in simulations of biological systems. PLoS Comput. Biol. 9(2) (2013)Google Scholar
  8. 8.
    Alden, K., Timmis, J., Andrews, P.S., Veiga-Fernandes, H., Coles, M.C.: Extending and applying Spartan to perform temporal sensitivity analyses for predicting changes in influential biological pathways in computational models. IEEE Trans. Comput. Biol. 14(2), 422–431 (2016)Google Scholar
  9. 9.
    Alexander, C.: The Timeless Way of Building. OUP (1979)Google Scholar
  10. 10.
    Alexander, C.: The origins of pattern theory: the future of the theory, and the generation of a living world. IEEE Softw. 16(5), 71–82 (1999)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., Angel, S.: A Pattern Language—Towns, Buildings, Construction. OUP (1977)Google Scholar
  12. 12.
    Alexander, R.: Using simulation for systems of systems hazard analysis. Ph.D. thesis, Department of Computer Science, University of York, YCST-2007-21 (2007)Google Scholar
  13. 13.
    Andrews, P.S., Polack, F.A.C., Sampson, A.T., Stepney, S., Timmis, J.: The CoSMoS process, version 0.1. Technical Report, Computer Science, University of York, YCS-2010-450 (2010)Google Scholar
  14. 14.
    Andrews, P.S., Stepney, S., Hoverd, T., Polack, F.A.C., Sampson, A.T., Timmis, J.: CoSMoS process, models and metamodels. In: CoSMoS Workshop, pp. 1–14. Luniver Press (2011)Google Scholar
  15. 15.
    Barden, R., Stepney, S., Cooper, D.: Z in Practice. Prentice-Hall (1995)Google Scholar
  16. 16.
    Bjørner, D., Jones, C.B. (eds.): The Vienna Development Method: The Meta-Language, vol. 61, LNCS. Springer (1978)Google Scholar
  17. 17.
    Bowen, J.P., Hinchey, M.G.: Seven more myths of formal methods. IEEE Softw. 12(4), 34–41 (1995)Google Scholar
  18. 18.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-driven Software Engineering (MDSE) in Practice, 2nd edn. Morgan & Claypool (2017)Google Scholar
  19. 19.
    Brown, W.H., Malveau, R.C., McCormick, H.W., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, 1st edn. Wiley (1998)Google Scholar
  20. 20.
    Bryden, J., Noble, J.: Computational modelling, explicit mathematical treatments, and scientific explanation. In: Proceedings of Artificial Life X, pp. 520–526. MIT Press (2006)Google Scholar
  21. 21.
    Dearden, A., Finlay, J.: Pattern languages in HCI: a critical review. Hum. Comput. Interact. 21(1), 49–102 (2006)CrossRefGoogle Scholar
  22. 22.
    Di Paolo, E., Noble, J., Bullock, S.: Simulation models as opaque thought experiments. In: Proceedings of Artificial Life VII, pp. 497–506. MIT Press (2000)Google Scholar
  23. 23.
    Duncan, I.M.M., de Muijnck-Hughes, J.: Security pattern evaluation. In: Proceedings of SOSE, pp. 428–429. IEEE (2014)Google Scholar
  24. 24.
    Epstein, J.M.: Agent-based computational models and generative social science. Complexity 4(5), 41–60 (1999)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley (1999)Google Scholar
  26. 26.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley (1995)Google Scholar
  27. 27.
    Greaves, R.B., Read, M., Timmis, J., Andrews, P.S., Butler, J.A., Gerckens, B., Kumar, V.: In silico investigation of novel biological pathways: the role of CD200 in regulation of T cell priming in experimental autoimmune encephalomyelitis. Biosystems (2013). Scholar
  28. 28.
    Hall, A.: Seven myths of formal methods. IEEE Softw. 7(5), 11–19 (1990)CrossRefGoogle Scholar
  29. 29.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985)Google Scholar
  30. 30.
    Humphreys, P.: Extending Ourselves: Computational Science, Empiricism, and Scientific Method. OUP (2004)Google Scholar
  31. 31.
    Information Technology—Z formal specification notation—syntax, type system and semantics. ISO Standard 13568 (2002)Google Scholar
  32. 32.
    Kelly, T.P.: Arguing safety—a systematic approach to managing safety cases. Ph.D. thesis, Department of Computer Science, University of York, YCST 99/05 (1999)Google Scholar
  33. 33.
    Krasner, G.E., Pope, S.T.: A cookbook for using the model-view controller user interface paradigm in Smalltalk-80. J. Object Oriented Program. 1(3), 26–49 (1988)Google Scholar
  34. 34.
    Le Charlier, B., Flener, P.: Specifications are necessarily informal or: some more myths of formal methods. Syst. Softw. 40(3), 275–296 (1998)CrossRefGoogle Scholar
  35. 35.
    Miller, G.F.: Artificial life as theoretical biology: how to do real science with computer simulation. Technical Report Cognitive Science Research Paper 378, University of Sussex (1995)Google Scholar
  36. 36.
    Morgan, C.: Programming from Specifications, 2nd edn. Prentice Hall (1994)Google Scholar
  37. 37.
    Moyo, D.: Investigating the dynamics of hepatic inflammation through simulation. Ph.D. thesis, University of York (2014)Google Scholar
  38. 38.
    Nance, R.E., Sargent, R.G.: Perspectives on the evolution of simulation. Oper. Res. 50(1), 161–172 (2002)MathSciNetCrossRefGoogle Scholar
  39. 39.
    Origin Consulting (York): GSN community standard version 1. Technical report, Department of Computer Science, University of York (2011).
  40. 40.
    Polack, F., Stepney, S.: Emergent properties do not refine. ENTCS 137(2), 163–181 (2005)Google Scholar
  41. 41.
    Polack, F.A.C.: Arguing validation of simulations in science. In: CoSMoS Workshop, pp. 51–74. Luniver Press (2010)Google Scholar
  42. 42.
    Polack, F.A.C.: Filling gaps in simulation of complex systems: the background and motivation for CoSMoS. Nat. Comput. 14(1), 49–62 (2015)MathSciNetCrossRefGoogle Scholar
  43. 43.
    Polack, F.A.C., Andrews, P.S., Ghetiu, T., Read, M., Stepney, S., Timmis, J., Sampson, A.T.: Reflections on the simulation of complex systems for science. In: Proceedings of ICECCS, pp. 276–285. IEEE Press (2010)Google Scholar
  44. 44.
    Polack, F.A.C., Andrews, P.S., Sampson, A.T.: The engineering of concurrent simulations of complex systems. In: Proceedings of CEC, pp. 217–224. IEEE Press (2009)Google Scholar
  45. 45.
    Polack, F.A.C., Hoverd, T., Sampson, A.T., Stepney, S., Timmis, J.: Complex systems models: engineering simulations. In: Proceedings of ALife XI, pp. 482–489. MIT press (2008)Google Scholar
  46. 46.
    Potter, B., Till, D., Sinclair, J.: An Introduction to Formal Specification and Z, 2nd edn. Prentice Hall (1996)Google Scholar
  47. 47.
    Read, M., Andrews, P.S., Timmis, J., Kumar, V.: Techniques for grounding agent-based simulations in the real domain: a case study in experimental autoimmune encephalomyelitis. Math. Comput. Model. Dyn. Syst. 18(1), 67–86 (2012)CrossRefGoogle Scholar
  48. 48.
    Read, M.N.: Statistical and modelling techniques to build confidence in the investigation of immunology through agent-based simulation. Ph.D. thesis, University of York (2011)Google Scholar
  49. 49.
    Stepney, S.: A tale of two proofs. In: BCS-FACS Northern Formal Methods Workshop. Electronic Workshops in Computing (1998)Google Scholar
  50. 50.
    Stepney, S.: A pattern language for scientific simulations. In: CoSMoS Workshop, pp. 77–103. Luniver Press (2012)Google Scholar
  51. 51.
    Stepney, S., Cooper, D., Woodcock, J.C.P.: An electronic purse: specification, refinement, and proof. Technical Monograph PRG-126, Oxford University Computing Laboratory (2000)Google Scholar
  52. 52.
    Stepney, S., Nabney, I.T.: The DeCCo project papers, I to VI. Technical Report, Computer Science, University of York, YCS-2002-358 to YCS-2002-363 (2003)Google Scholar
  53. 53.
    Stepney, S., Polack, F., Toyn, I.: An outline pattern language for Z: five illustrations and two tables. In: Proceedings of ZB2003, vol. 2651, LNCS, pp. 2–19. Springer (2003)Google Scholar
  54. 54.
    Stepney, S., Polack, F., Toyn, I.: Patterns to guide practical refactoring: examples targetting promotion in Z. In: Proceedings of ZB2003, vol. 2651, LNCS, pp. 20–39. Springer (2003)Google Scholar
  55. 55.
    Stepney, S., Polack, F., Toyn, I.: A Z patterns catalogue I: specification and refactorings, v0.1. Technical Report, Computer Science, University of York, YCS-2003-349 (2003)Google Scholar
  56. 56.
    Stepney, S., Polack, F., Toyn, I.: Diagram patterns and meta-patterns to support formal modelling. Technical Report, Computer Science, University of York, YCS-2005-394 (2005)Google Scholar
  57. 57.
    Stepney, S., Polack, F., Turner, H.: Engineering emergence. In: ICECCS, pp. 89–97. IEEE Computer Society (2006)Google Scholar
  58. 58.
    Stepney, S., Polack, F.A.C.: Engineering Simulations as Scientific Instruments: A Pattern Language. Springer (2018)Google Scholar
  59. 59.
    Valentine, S.H., Stepney, S., Toyn, I.: A Z patterns catalogue II: definitions and laws, v0.1. Technical Report, Computer Science, University of York, YCS-2003-383 (2004)Google Scholar
  60. 60.
    Vargha, A., Delaney, H.D.: A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)Google Scholar
  61. 61.
    Wania, C.E.: Investigating an author’s influence using citation analyses: Christopher Alexander (1964–2014). Proc. Assoc. Inf. Sci. Technol. 52(1), 1–10 (2015)CrossRefGoogle Scholar
  62. 62.
    Wania, C.E., Atwood, M.E.: Pattern languages in the wild: exploring pattern languages in the laboratory and in the real world. In: Proceedings of DESRIST, pp. 12:1–12:15. ACM (2009)Google Scholar
  63. 63.
    Weaver, R.A.: The safety of software—constructing and assuring arguments. Ph.D. thesis, Department of Computer Science, University of York, YCST-2004-01 (2003)Google Scholar
  64. 64.
    Welch, P.H., Barnes, F.R.M.: Communicating mobile processes: introducing occam-pi. In: Proceedings of 25 Years of CSP, vol. 3525, LNCS, pp. 175–210. Springer (2005)Google Scholar
  65. 65.
    Wheeler, M., Bullock, S., Di Paolo, E., Noble, J., Bedau, M., Husbands, P., Kirby, S., Seth, A.: The view from elsewhere: perspectives on ALife modelling. Artif. Life 8(1), 87–100 (2002)CrossRefGoogle Scholar
  66. 66.
    Williams, R.A., Greaves, R., Read, M., Timmis, J., Andrews, P.S., Kumar, V.: In silico investigation into dendritic cell regulation of CD8Treg mediated killing of Th1 cells in murine experimental autoimmune encephalomyelitis. BMC Bioinform. 14, S6–S9 (2013)CrossRefGoogle Scholar
  67. 67.
    Wilson, S.P., McDermid, J.A.: Integrated analysis of complex safety critical systems. Comput. J. 38(10), 765–776 (1995)CrossRefGoogle Scholar
  68. 68.
    Woodcock, J., Loomes, M.: Software Engineering Mathematics. Addison-Wesley (1990)Google Scholar
  69. 69.
    Woodcock, J., Stepney, S., Cooper, D., Clark, J.A., Jacob, J.L.: The certification of the Mondex electronic purse to ITSEC Level E6. Form. Asp. Comput. 20(1), 5–19 (2008)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.School of Computing and MathematicsKeele UniversityNewcastleUK

Personalised recommendations