Models & Paradigms Another look at systems modelling SSPDSSPD 1 Paradigm Shift SSPD 2 Not Just Jackson • There is growing awareness of the need for change in the software process • Large studies indicate that software process is a feedback loop • Estimated that in every system there is one implicit assumption for every 10 LOC SSPD 3 Modelling Reality • The system and the domain in which it is to reside form an infinite universe. • Our understanding of these must be finite • The finished system must also be finite we must construct a model of the infinity. SSPD 4 Modelling Problems • But to reduce infinity to the finite requires abstraction and thus omission of detail • It is here that our assumptions come in • e.g., let’s assume that all dates can be represented in this system by two digits. • Or, we know that this system will not be used fifteen years from now SSPD 5 Dynamic Environment • We said previously that dynamic environment creates problems… • …it can also cause our domain to change... • …thus rendering our model (and hence our system) invalid. SSPD 6 What to Do? • Much effort is being spent on understanding & improving the software process • But attention has not been focused on system design methods and methodology • Hence: a certain difficulty SSPD 7 Difficulty? • Now recognised that software process is not linear (as assumed by waterfall model) • But that later stages inform earlier ones… • …that is, as more is learnt, earlier assumptions are challenged and understanding is refined. SSPD 8 So What? • Well, traditional methods hinder this process… • …because the system architecture is built upon foundations… • ...resulting from very large assumptions about the system and its domain… • when we understand them the least. SSPD 9 Feedback = Problem • But feedback from later stages causes us to challenge our earlier assumptions… • …which might make our entire system design sub-optimal, a bit flaky or even untenable • Hence: plan to throw one away. SSPD 10 Towards a Solution? • Get rid of the pointy-haired boss and his dysfunctional decomposition SSPD 11 SSPD 12 So how do we model? • Is there a way to construct a model that reduces the scope for errors caused by our assumptions and finite understanding? SSPD 13 Some Jargon • • • • • Model Reality Abstraction Simulation Real world SSPD 14 What is a System • The system to be developed is nothing more than a finite state machine which simulates the workings of a given realworld domain. • Because it is finite & static it necessarily omits detail and is founded on abstractions & assumptions • There is an uncertainty principle involved here SSPD 15 Nature of a Model • A model is a representation of a realworld. • It is this model which is realised to bring about the working system • Hence, if the model is wrong, so is the resultant system SSPD 16 Nature of the Model • A model is necessarily an abstraction because… • …it is only possible to make an exact representation of a reality with a model that is exactly as complex and detailed as the original… • …i.e, we replace the real-world with a carbon copy. Back to square one. SSPD 17 Conundrum • So, there is a dichotomy. • Leaving out information can lead to loss of quality • But we must leave out something else we can’t produce a model. SSPD 18 Compact Disc Analogy • Consider the compact disc. • Uses digital sampling to approximate a sound wave. • By sampling at a rate of 44.1Khz at a resolution of 16 bits we get • A recording with a dynamic range of approx 96dB and a maximum frequency of 22050Hz. SSPD 19 Consequences • Dynamic range of human ear is about 120db (which requires 20bit resolution) • Lose sounds above 22.05KHz even though experiments show an effect on the human auditory system by sounds greater than this (old analogue tapes could typically reproduce 25Khz) SSPD 20 Good Enough? • • • • But CD deemed to be ‘good enough’ What about compression? 1 second of CD audio requires: 44100 x 16bits x 2(stereo channels) = 172.27Kbytes • = 10.09Mbytes per minute SSPD 21 Mini Disc & MPEG-3 • How do mini-discs get the ‘same’ sound into such a small space? • How does MPEG-3 compress audio to about 10% of its size without us noticing the difference? • We make assumptions and abstractions SSPD 22 Compression Model • These audio compression techniques utilise psychoacoustic phenomena to delete information which our auditory system does not ‘hear’. • But these are based on sound empirical observations and mathematical techniques SSPD 23 Systems Modelling? • So how do we model a system accurately without losing information? SSPD 24 We Don’t Know • Anyone fancy doing a PhD? SSPD 25 SSPD 26 The Jackson Approach • In my opinion, Jackson’s approach is a major step towards an accurate model. • Consider the following: SSPD 27 “If you want to understand some aspect of the Universe, it helps if you simplify it as much as possible, and include only those properties and characteristics that are essential to understanding. If you want to determine how an object drops, you don’t concern yourself with whether it is new or old, is red or green, has an odour or not. You eliminate those things and thus do not needlessly complicate matters.” SSPD 28 “Now, as you wish to know more and more about any phenomenon, or as a phenomenon becomes more complex, you need more and more elaborate equations, more and more detailed programming, and you end up with a computerized simulation that is harder and harder to grasp.” SSPD 29 “Can’t you form a simulation of the simulation?” asked Hummin. “You would go down another degree.” “In that case, you would have to eliminate some characteristic of the phenomenon which you want to include and your system becomes useless. The LPS - that is ‘the least possible simulation’ - gains in complexity faster than the object being simulated does and, eventually, the simulation catches up with the phenomenon.” SSPD 30 “Thus, it was established thousands of years ago that the Universe as a whole, in its full complexity, cannot be represented by any simulation smaller than itself.” “In other words, you can’t get any picture of the Universe as a whole except by studying all the Universe.” Hari Seldon talking to Hummin, from Prelude to Foundation, by Isaac Asimov. SSPD 31 Macbeth! • Aaarrghhh! What can we do? Tomorrow, and tomorrow, and tomorrow, creeps in this petty pace from day to day to the last syllable of recorded time, and all our yesterdays have lighted fools the way to dusty death. Out, out, brief candle! Life's but a walking shadow, a poor player that struts and frets his hour upon the stage and then is heard no more: it is a tale told by an idiot, full of sound and fury, signifying nothing. Macbeth, V:v SSPD 32 SSPD 33