ONLINE ENGINEERING
Blekinge institute of technology
Dissertation series no. 2004:05
On the nature of open computational systems
ONLINE ENGINEERING
MARTIN FREDRIKSSON
Department of interaction and system design
Blekinge institute of technology
Sweden
Blekinge institute of technology
Dissertation series No. 2004:05
ISSN 1650–2159
ISBN 91–7295–045–5
Published by Blekinge institute of technology
© Martin Fredriksson, 2004
Jacket illustration – In the loop – by Societies of computation laboratories
© Tomas Sareklint, 2004
Printed by Kaserntryckeriet
Karlskrona, Sweden, 2004
Dedicated to Sophia, my family, and the engineers at
Societies of computation laboratories.
This thesis is submitted to the Faculty of technology at Blekinge institute of technology, in
partial fulfillment of the requirements for the degree of Doctor of philosophy in computer
science.
Contact information
Martin Fredriksson
Department of interaction and system design
School of engineering
Blekinge institute of technology
Box 520
372 25 Ronneby
Sweden
Online engineering
ABSTRACT
Computing has evolved from isolated machines, providing calculative support of applications,
toward communication networks that provide functional support to groups of people and
embedded systems. Perhaps, one of the most compelling feature and benefit of computers is
their overwhelming computing efficiency. Today, we conceive distributed computational systems
of an ever-increasing sophistication, which we then apply in various settings – critical
support functions of our society just to name one important application area. The spread and
impact of computing, in terms of so-called information society technologies, has obviously
gained a very high momentum over the years and today it delivers a technology that our
societies have come to depend on. To this end, concerns related to our acceptance of qualities
of computing, e.g., dependability, are increasingly emphasized by users as well as vendors.
An indication of this increased focus on dependability is found in contemporary efforts of
mitigating the effects from systemic failures in critical infrastructures, e.g., energy distri-
bution, resource logistics, and financial transactions. As such, the dependable function of
these infrastructures is governed by means of more or less autonomic computing systems that
interact with cognitive human agents. However, due to intricate system dependencies as well as
being situated in our physical environment, even the slightest – unanticipated – perturbation
in one of these embedded systems can result in degradations or catastrophic failures of our
society. We argue that this contemporary problem of computing mainly is due to our own diffi-
culties in modeling and engineering the involved system complexities in an understandable
manner. Consequently, we have to provide support for dependable computing systems by means
of new methodologies of systems engineering.
From a historical perspective, computing has evolved, from being supportive of quite well
defined and understood tasks of algorithmic computations, into a disruptive technology that
enables and forces change upon organizations as well as our society at large. In effect, a major
challenge of contemporary computing is to understand, predict, and harness the involved
systems’ increasing complexity in terms of constituents, dependencies, and interactions –
turning them into dependable systems. In this thesis, we therefore introduce a model of open
computational systems, as the means to convey these systems’ factual behavior in realistic
situations, but also in order to facilitate our own understanding of how to monitor and control
their complex interdependencies. Moreover, since the critical variables that govern these
complex systems’ qualitative behavior can be of a very elusive nature, we also introduce a
method of online
engineering, whereby cognitive agents – human and software – can
instrument these open computational systems according to their own subjective and temporal
understanding of some complex situation at hand.
I
Online engineering
TABLE OF CONTENTS
PREFACE V
Part 1
INTRODUCTION
Chapter 1
OUTLINE OF THESIS 1
1.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Challenges in dependable computing . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Contributions from the author . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Guidelines to the reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Chapter 2
DEPENDABLE COMPUTING SYSTEMS 11
2.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.2 General concerns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
2.3 Cognitive agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
2.4 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Chapter 3
METHODOLOGY OF COMPUTING 23
3.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.2 Framework of instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.3 Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
3.4 Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
3.5 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
3.6 Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
3.7 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
ONLINE ENGINEERINGII
Part 2
THEORY
Chapter 4
ISSUES OF COMPLEXITY 41
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Evolution of systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3 Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.5 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.6 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Chapter 5
OPEN COMPUTATIONAL SYSTEMS 55
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Model for isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.3 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4 Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.5 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.6 Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.7 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Part 3
PRACTICE
Chapter 6
ONLINE ENGINEERING 77
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 Method of adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3 Articulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.4 Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.5 Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.6 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.7 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
TABLE OF CONTENTS III
Chapter 7
ENABLING TECHNOLOGIES 93
7.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
7.2 Architecture for validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
7.3 SOLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
7.4 DISCERN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.5 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Part 4
CONCLUSION
Chapter 8
NETWORK ENABLED CAPABILITIES 109
8.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.2 Experimenting with dependability . . . . . . . . . . . . . . . . . . . . . . . . 112
8.3 TWOSOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.4 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.5 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Chapter 9
SUMMARY OF THESIS 125
9.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
9.2 Experiences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
9.3 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
9.4 Future challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Part 5
REFERENCES
Appendix A
GLOSSARY 141
Appendix B
NOTES 145
Appendix C
BIBLIOGRAPHY 151