Taming the Complexity Dragon
J O Henriksen
Journal of Simulation, 2008, vol. 2, issue 1, 3-17
Abstract:
This paper is an expanded version of a talk I gave at the 2006 Winter Simulation Conference, which is the premier annual conference in the discrete-event simulation community. Each year, the conference recognizes a ‘titan of the industry,’ and that person is invited to deliver a 1-h presentation at a plenary session. I was honoured the titan at the 2006 conference. Since this paper was written expressly for members of the simulation community, concepts and terminology peculiar to simulation are not explained. Readers lacking a simulation background may find some portions hard to understand. The goal of this paper is to present ways in which we can deal with complexity. I believe that the explosive growth of complexity is the computing industry's number one problem. It is the root cause of many other problems, such as computer security. Paradoxically, organizations that are in the best positions to deal with complexity are the ones that are, in fact, creating and expanding complexity. In the first section of this paper, I discuss the pervasive presence of complexity in our society in general, and in the simulation community in particular. Complexity is of particular importance to the simulation community, because reducing complexity is our primary activity. We analyse complex systems, build models of them, run the models, and draw inferences that yield more easily understood characterizations of system behaviour. Reduction of complexity lies at the very core of discrete-event simulation. In the second section, I develop a framework of software traits, of which complexity is the most important. I use the framework in succeeding sections to discuss the traits and to illuminate relationships among them. Following my discussion of the framework, I present four interesting examples of the kinds of complexity I’ve had to face as a software developer. Next, having discussed the evils of complexity, I present a sequence of 12 techniques for reducing, or at least coping with, complexity. Since model development is a form of software development, we all develop software in one way or another. Some of the techniques are most applicable to software development, while others are more general. Finally, I present my conclusions.
Date: 2008
References: Add references at CitEc
Citations:
Downloads: (external link)
http://hdl.handle.net/10.1057/palgrave.jos.4250029 (text/html)
Access to full text is restricted to subscribers.
Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.
Export reference: BibTeX
RIS (EndNote, ProCite, RefMan)
HTML/Text
Persistent link: https://EconPapers.repec.org/RePEc:taf:tjsmxx:v:2:y:2008:i:1:p:3-17
Ordering information: This journal article can be ordered from
http://www.tandfonline.com/pricing/journal/tjsm20
DOI: 10.1057/palgrave.jos.4250029
Access Statistics for this article
Journal of Simulation is currently edited by Christine Currie
More articles in Journal of Simulation from Taylor & Francis Journals
Bibliographic data for series maintained by Chris Longhurst ().