Module 37, Architectural Reasoning Threads and Integration

Size: px
Start display at page:

Download "Module 37, Architectural Reasoning Threads and Integration"

Transcription

1 Module 37, Architectural Reasoning Threads and Integration by Gerrit Muller University of South-Eastern Norway-NISE Abstract This module provides methods and techniques to integrate insights across views. Lines and Threads of reasoning form the main framework. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. status: preliminary draft version: 1.3

2 Qualities as Integrating Needles by Gerrit Muller University of South-Eastern Norway-NISE Abstract Many stakeholder concerns can be specified in terms of qualities. These qualities can be viewed from all 5 CAFCR viewpoints. In this way qualities can be used to relate the views to each other. The meaning of qualities for the different views is described. A checklist of qualities is provided as a means for architecting. All qualities in the checklist are described briefly. Application Functional Conceptual Realization Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. status: finished version: 1.3 usability safety evolvability

3 Quality needles as generic integrating concepts Application Functional Conceptual Realization usability safety evolvability Qualities as Integrating Needles 3 Gerrit Muller version: 1.3 QNneedles

4 Security as example through all views sensitive information trusted not trusted Application selection classification people information authentication badges passwords locks / walls guards administrators social contacts missing open passwords functionality blackmail wrong burglary quantification fraud unworkable procedures Functional Conceptual Realization functions for administration authentication intrusion detection logging quantification cryptography firewall security zones authentication registry logging holes between concepts specific algorithms interfaces libraries servers storage protocols desired characteristics, specifications & mechanisms threats bugs buffer overflow non encrypted storage poor exception handling Qualities as Integrating Needles 4 Gerrit Muller version: 1.3 QNsecurityExample

5 Quality Checklist usable usability attractiveness responsiveness image quality wearability storability transportability dependable safety security reliability robustness integrity availability effective throughput or productivity interoperable connectivity 3 rd party extendible liable liability testability traceability standards compliance efficient resource utilization cost of ownership consistent reproducibility predictability serviceable serviceability configurability installability future proof evolvability portability upgradeability extendibility maintainability logistics friendly manufacturability logistics flexibility lead time ecological ecological footprint contamination noise disposability down to earth attributes cost price power consumption consumption rate (water, air, chemicals, et cetera) size, weight accuracy Qualities as Integrating Needles 5 Gerrit Muller version: 1.3 QNchecklist

6 Exercise Line of Reasoning Make a line of reasoning for one of the dominant qualities. in the CA views; determine what customers do to achieve their goal in the F view determine the specification of your system supporting this quality in the CR views determine the relevant concepts and technologies Take the reverse viewpoints as well: what threatens this quality? Qualities as Integrating Needles 6 Gerrit Muller version: 1.3 SEMAexerciseLineOfReasoning

7 Threads of Reasoning by Gerrit Muller University of South-Eastern Norway-NISE Abstract A method of reasoning is described, which addresses cross-cutting issues. The basis is fast iteration in the problem and solution space. A thread of reasoning is a set of highly relevant related issues, which are addressed by articulating the problem in terms of tension and analyzing it in the CAFCR framework. Distribution Application Functional Conceptual Realization This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. status: finished version: 2.4

8 Overview of the reasoning approach 1. select starting point:! actual dominant need or problem 2. create insight: + submethod in one of CAFCR views + qualities checklist 3. deepen insight via facts: + via tests, measurements, simulations + story telling 4. broaden insight via questions: + why + what + how 5. define and extend the thread:? what is the most important / valuable? what is the most critical / sensitive! look for the conflicts and tension continuously consolidate in simple models communicate to stakeholders refactor documentation Threads of Reasoning 8 Gerrit Muller version: 2.4 TORapproach

9 From starting point to insight Application Functional Conceptual Realization slow response step 1 starting point Threads of Reasoning 9 Gerrit Muller version: 2.4 TORstartingPoint

10 Creating Insight Application Functional Conceptual Realization performance response time model step 2 creating insight Threads of Reasoning 10 Gerrit Muller version: 2.4 TORcreatingInsight

11 Deepening Insight Application Functional Conceptual Realization story simulations, test, measurements specific needs step 3 deepening insight specific facts Threads of Reasoning 11 Gerrit Muller version: 2.4 TORdeepeningInsight

12 Broadening Insight why? Application Functional Conceptual Realization why? what? how? what? what how? why? how? how? step 4 broadening insight Threads of Reasoning 12 Gerrit Muller version: 2.4 TORbroadeningInsight

13 Problem identification and articulation important valuable throughput cost safety Application Functional Conceptual Realization need and problem selection criterions definition in terms of tension critical difficult sensitive vulnerable high performance sensor high speed moves Threads of Reasoning 13 Gerrit Muller version: 2.4 TORproblemIdentification

14 Iteration during the analysis architect intuition improve solution adjust intuition solution solution solution intuitive ranking objective ranking detect mismatch improved solution understanding improved problem understanding problem objective criteria improve criteria Threads of Reasoning 14 Gerrit Muller version: 2.4 TORanalysisIteration

15 Thread of related issues Application Functional Conceptual Realization Threads of Reasoning 15 Gerrit Muller version: 2.4 TORnetworkedIssues

16 Documentation and communication structure Application Functional Conceptual Realization context zap store functional model IQ case IQ spec pipeline design processing library cost key drivers CoO target cost budget performance response time time budget micro benchmarks Threads of Reasoning 16 Gerrit Muller version: 2.4 TORdocumentation

17 by Gerrit Muller University of South-Eastern Norway-NISE Abstract The medical imaging workstation case is introduced. An architecting method based on the CAFCR viewpoints is explained, consisting of 4 elements: the CAFCR viewpoints qualities as integrating needles story telling threads of reasoning A thread of reasoning is build up in steps, based on this case. The underlying reasoning is explained. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. status: preliminary draft useable diagnostic diagnosis quality effective efficient operational constraints U" time efficient U' economic sound CoO Application image quality U throughput T purchase price Functional IQ spec typical case B profit margin standard workstation Philips operational view (manufacturing, service, sales) CPU budget Conceptual common console Realization processing P library pixel depth memory limit M' cost revisited in context of clinical needs and realization constraints; note: original threads are significantly simplified BoM S render engine Moore's law memory budget C P' M

18 Easyvision serving three URF examination rooms typical clinical image (intestines) URF-systems EasyVision: Medical Imaging Workstation 18 Gerrit Muller MSeasyVision

19 X-ray rooms from examination to reading around 1990 Examination Room Control Room Corridor or closet Examination Room Control Room Reading Room 19 Gerrit Muller XRayRoomsOld

20 X-ray rooms with Easyvision applied as printserver Examination Room X ray source Control Room console Corridor or closet printer detector Examination Room Control Room Reading Room light box 20 Gerrit Muller XRayRoomsPlusPrintServer

21 Comparison screen copy versus optimized film old: screen copy new: SW formatting 20 to 50% less film needed 21 Gerrit Muller MedicalImagingFilmComparison

22 Challenges for product creation ca 1 film / minute film = 4k*5k pixels subsecond retrieve screen = 1k*1k print throughput view response time tension image quality image processing product policy: standard HW SW "only" 40 MHz CPU 64 MByte memory 10 MBit/s ethernet 1 GByte disk 22 Gerrit Muller IMIchallenge

23 Top level decomposition application application tools framework, libraries operating system SW optical disc network workstation desk, cabinet laser printer remote control laser printer laser printer HW legend make buy 23 Gerrit Muller IMIdecomposition

24 CAFCR viewpoints drives, justifies, needs enables, supports What does need in Product and Why? What How Product What Product How Application Functional Conceptual Realization 24 Gerrit Muller CAFCRannotated

25 Quality needles as generic integrating concepts Application Functional Conceptual Realization usability safety evolvability 25 Gerrit Muller QNneedles

26 From story to design What does need in Product and Why? Product How What How Product What Application Functional Conceptual Realization market vision story a priori solution knowledge analyze design case analyze design design 26 Gerrit Muller SHTfromStoryToDesign

27 Chronology of Easyvision RF R1 development basic application toolboxes 100 kloc performance problems Easyvision RF integrated product 360 kloc interactive viewing marketing opinion: "All the functionality is available, we only have to provide a clinical UI" IQ problems print server + communication + interactive viewing 27 Gerrit Muller MITORchronology

28 Thread of reasoning based on efficiency-quality tension Application Functional Conceptual Realization Specification issues Concepts time efficient reinforcing conflicting diagnostic quality safety (liability) system response system throughput reinforcing conflicting image quality resource management processor, memory design space image processing algorithms internal logistics concurrency, processes 28 Gerrit Muller MITORthread

29 Technology innovations performance cost standard UNIX based workstation full SW implementation, more flexible object oriented design and implementation (Objective-C) graphical User Interface, with windows, mouse etcetera call back scheduling, fine-grained notification data base engine, fast, reliable and robust extensive set of toolboxes property based configuration multiple coordinate spaces 29 Gerrit Muller PMITORtechnologyInnovations

30 Thread of reasoning; introvert phase useable efficient Application Functional Conceptual Realization response time purchase price S SW only OO design M memory use operational constraints B profit margin Philips operational view (manufacturing, service, sales) Introvert view: cost and impact of new technologies 30 Gerrit Muller MITORthread10

31 Memory usage half way R1 total measured memory usage OS code data bulk data fragmentation performance 0 MB memory usage physical paging to disk memory MB 31 Gerrit Muller MSmemoryZeroMeasurement

32 Solution of memory performance problem 200 MB fragmentation anti-fragmenting bulk data data code budget based awareness, measurement DLLs 74 MB OS measured tuning budget 32 Gerrit Muller MSmemoryUsageReduction

33 Visualization memory use per process data MByte UNIX shared libraries UI communication server storage server print server other code measured (left column) budget per process (right column) 33 Gerrit Muller MSmemoryBudget

34 Typical case URF examination 3 examination rooms connected to exam room 1 exam room 2 exam room 3 1 medical imaging workstation + printer examination room: average 4 interleaved examinations / hour image production: bit images per examination film production: 3 films of 4k*5k pixels each high quality output (bi-cubic interpolation) 34 Gerrit Muller MICAFtypicalCase

35 Thread of reasoning; phase 2 useable efficient U Application URF exam Functional typical case memory budget Conceptual dynamic run-time OO design bulk data OIT Realization run time overhead memory use memory measurement heap allocation M' Philips operational view (manufacturing, service, sales) How to measure memory, how much is needed? from introvert to extrovert 35 Gerrit Muller MITORthread20

36 Radiologist workspots and activities Examination Room light-box dictation room autoloader supervision of the examination view and diagnose, dictate report activities of the radiologist verify and authorise report 36 Gerrit Muller MISactivitiesRadiologist

37 Diagnosis in tens of seconds films loaded by clinical personnel during the day light-box autoloader new films old films zoom in overview looks at images moves head mumbles a few forward / backward Latin words or moves head or eyes clinical codes left/right/up/down in recorder tens of seconds presses next button image selection, panning report 37 Gerrit Muller MISdiagnosis

38 Rendered images at different destinations Screen: low resolution fast response Film: high resolution high throughput Network: medium resolution high throughput 38 Gerrit Muller MICVdestinations

39 SW Process structure 1991 remote systems and users user communication user interface legend UI devices user import export data base optical storage print system monitor Unix daemons user control software process control and data flow network disk drive optical disk drive printer associated hardware 39 Gerrit Muller MITORsoftwareProcess1991

40 SW layers 1991 dev. tools service SW keys Config Install Start up Spool HCU Store Image Gfx UI DB RC driver RC interf RC HC driver HC interf 3M DOR driver DOR Medical Imaging R/F Print Store View Cluster NIX SunOS, SunView Standard Sun workstation Desk, cabinets, cables, etc. DSI PMSnet in PMSnet out legend user interface application functions toolbox operating system hardware SW infrastructure connected system 40 Gerrit Muller MITORswLayers1991

41 Print server is based on banding 1024 pixels 1024 pixels original images 128 pixels 4k pixels 41 Gerrit Muller MICVbanding

42 Server CPU load remote systems and users communication 2.5 CPU second per Mbyte input import serving one examination room CPU time available for interactive viewing serving 3 examination rooms margin 2 min import 2.5 min / exam data base print printer disk 3.5 CPU second per Mpixel output print 50 s/exam 210 s/exam 30% print 10.5 min / exam 90% 42 Gerrit Muller MICVserverCPUload

43 Thread of reasoning; phase 3 usable efficient effective U' diagnosis film on lightbox Application URF exam U autoloader Functional typical case time efficient throughput auto-print Conceptual film layout rendering printserver spooling pipeline HCU Realization processing library server processes spool processes HC driver HC interface P Philips operational view (manufacturing, service, sales) Radiologists diagnose from film, throughput is important Extrovert view shows conceptual and realization gaps! 43 Gerrit Muller MITORthread30

44 Image quality and safety problem false f(x) contour 10 bits pixel value 8 bits pixel value x 44 Gerrit Muller MITORfalseContouring

45 Presentation pipeline for X-ray images image from database interpolate Look up table invert contrast / brightness graphics merge colour LUT monitor spatial enhancement bi-linear bi-cubic output brightness contrast legend input SW HW 45 Gerrit Muller MICVpresentationPipeline

46 Image Quality expectation WYSIWYG image generation X-ray system presentation 3 rd party workstation monitor film network, storage monitor what you see at one work-spot is application processing Easyvision presentation monitor film network, storage what you get at another work-spot??? 46 Gerrit Muller MICVwysiwyg

47 Safety problem tumor> tumor> URF monitor output: fixed size letters at fixed grid for user readability the font-size was determined "intelligently"; causing a dangerous mismatch between text and image EV output: scaleable fonts in graphics overlay 47 Gerrit Muller MITORfontScaling

48 Thread of reasoning; phase 4 useable effective efficient film on diagnosis light-box U" diagnostic quality time efficient T Application image quality throughput URF exam barium meal Functional contrast dynamic range resolution typical case Conceptual film layout pipeline CPU budget rendering HCU Realization P' processing library interpolation pixel depth HCU processing HC interface Philips operational view (manufacturing, service, sales) from extrovert diagnostic quality, via image quality, algorithms and load, to extrovert throughput 48 Gerrit Muller MITORthread40

49 Thread of reasoning; phase 5 Application image useable diagnostic diagnosis quality quality U effective U" throughput time efficient U' purchase CoO T economic price efficient sound operational constraints Functional IQ spec typical case B profit margin standard workstation Philips operational view (manufacturing, service, sales) CPU budget Conceptual common console Realization processing P library pixel depth memory limit M' cost revisited in context of clinical needs and realization constraints; note: original threads are significantly simplified BoM S render engine Moore's law memory budget C P' M 49 Gerrit Muller MITORthread50

50 Overview of architecting method method outline method visualization framework Application Functional Conceptual Realization submethods + key drivers + value chain + business models + supplier map + stakeholders and concerns + context diagram + entity relationship models + dynamic models + use case + commercial, logistics decompositions + mapping technical functions and several more + construction decomposition + functional decomposition + information model and many more + budget + benchmarking + performance analysis + safety analysis and many more integration via qualities safety performance explore specific details market vision story analyse design a priori solution know-how use case analyse design detailed design reasoning U" U' diagnostic quality CoO image quality U throughput T purchase price IQ spec typical case BoM B profit margin standard workstation CPU budget S Moore's law memory budget common console render engine P' M processing P pixel library memory depth limit M' 50 Gerrit Muller AMOoverview

51 Exercise Threads of Reasoning Application Functional Conceptual Realization 1 select 3..5 most important needs and concerns 2 select 3..5 most important specification issues 4 select 3..5 most critical life cycle and business issues Life cycle and Business 3 select 3..5 most critical design aspects 5 show relations positive negative 6 transform into elevator pitch Exercise Threads and Integration 51 Gerrit Muller SEMAthreadsExercise

52 Spaghetti after Step 5 CA1 CA2 CA3 CA4 F1 F2 F3 F4 CR1 CR2 CR3 CR4 LB1 LB2 LB3 LB4 Exercise Threads and Integration 52 Gerrit Muller SEMAspaghetti

53 Elevator Pitch of about 90 seconds customer value proposition business proposition enables drives enables drives system requirements Selling and explaining the proposal drives enables while managing expectations and engaging management in system design & technology design and technology challenges Exercise Threads and Integration 53 Gerrit Muller SEMAelevatorPitch

54 Integration via Qualities Qualities Connect all Views Look Positive and Negative usability safety evolvability Application Functional Conceptual Realization sensitive information trusted not trusted Application selection classification people information authentication badges passwords locks / walls guards administrators social contacts missing open passwords functionality blackmail wrong burglary quantification fraud unworkable procedures Functional Conceptual Realization functions for administration authentication intrusion detection logging quantification cryptography firewall security zones authentication registry logging holes between concepts specific algorithms interfaces libraries servers storage protocols desired characteristics, specifications & mechanisms threats bugs buffer overflow non encrypted storage poor exception handling Many, Many Qualities usable usability attractiveness responsiveness image quality wearability storability transportability dependable safety security reliability robustness integrity availability effective throughput or productivity interoperable connectivity 3 rd party extendible liable liability testability traceability standards compliance efficient resource utilization cost of ownership consistent reproducibility predictability serviceable serviceability configurability installability future proof evolvability portability upgradeability extendibility maintainability logistics friendly manufacturability logistics flexibility lead time ecological ecological footprint contamination noise disposability down to earth attributes cost price power consumption consumption rate (water, air, chemicals, et cetera) size, weight accuracy intentionally left blank Summary Module Architectural Reasoning Threads and Integration 54 Gerrit Muller

55 Threads of Reasoning Diverge, Converge, Zoom-in, Zoom-out 1. select starting point:! actual dominant need or problem Identify Most Relevant Issues Application Functional Conceptual Realization 2. create insight: + submethod in one of CAFCR views + qualities checklist 3. deepen insight via facts: + via tests, measurements, simulations + story telling 4. broaden insight via questions: + why + what + how 5. define and extend the thread:? what is the most important / valuable? what is the most critical / sensitive! look for the conflicts and tension continuously consolidate in simple models communicate to stakeholders refactor documentation important valuable throughput cost safety need and problem selection criterions definition in terms of tension critical difficult sensitive vulnerable high performance sensor high speed moves All Issues are Interrelated Reconstruct the Big Picture Application Functional Conceptual Realization Application image useable diagnostic diagnosis quality quality U effective U" throughput time efficient U' purchase CoO T economic price efficient sound operational constraints Functional IQ spec typical case B profit margin standard workstation Philips operational view (manufacturing, service, sales) CPU budget Conceptual common console Realization processing P library pixel depth memory limit M' cost revisited in context of clinical needs and realization constraints; note: original threads are significantly simplified BoM S render engine Moore's law memory budget C P' M Summary Module Architectural Reasoning Threads and Integration 55 Gerrit Muller