rest of world network MR scanner admin MR scan MR view UI patient admin acquisition scan UI scan control reconstruction database operating system image processing rest of world MR scanner network view UI admin MR scan MR view UI scan UI view UI patient admin acquisition scan control reconstruction database operating system image processing view print print archive communicate view archive communicate rest of world network MR scanner admin MR scan MR view UI patient admin acquisition scan UI scan control reconstruction database image processing operating system rest of world network MR scanner view UI view print admin MR scan MR view UI patient admin acquisition scan UI scan control reconstruction HIS database image processing operating system RIS view UI view print archive communicate archive communicate by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The market of medical appliances shows a fast increasing diversity. Manufacturers must be able to combine existing functions and new applications in a short time frame. A large amount of accumulated SW code (legacy) has to be reused in new ways. The architecture(s) must be adapted to these new ways of working. Revolutionary adaptations have proven to be extremely risky. Opportunistic extension and integration decrease the quality of the code base, making it increasingly more difficult to continue. Architectural refactoring is a feedback based method to evolve an architecture. 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
Today s Medical Products 2 Gerrit Muller ARMRproducts
Trend: Convergence of separate worlds Telecom Computer Medical 3 Gerrit Muller ARMRconvergence
Integration and Diversity information handling administration billing scheduling logistics oratory pharmaceutics MR image acquisition image handling bore systems 7T 3T gradients very fast prepare diagnosis treatment planning 1.5T fast diagnosis research open magnets 1T economy report education 0.6T RF coils integrated dedicated authorise clinical review demonstration 4 Gerrit Muller ARMRintegrationAndDiversity
Today s Medical Products PC + admin PC + office network(s) DICOM, HL7, proprietary MR scanner + patient handling + image acquisition + local admin + local view + local print + local store mainframe + admin + billing + scheduling + logistics legacy + oratory NT network + pharmaceutics second console + local admin + local view + local print + local store import export PC + research PC + remote viewing + treatment planning + prepare diagnosis PACS + report + demonstrate + teach 5 Gerrit Muller ARMRcurrentProducts
Distribution Scenario s A "Thin Servers" B "All-in-one" Combi's C "All-in-one" server D "Modular" Clients All-in-one Combi's Thin Clients Client Client Client Network Network legend Network Network acquisition image handling Thin Servers information handling generic technology All-in-one Server (PACS or HIS) Server Server Server 6 Gerrit Muller ARMRproductScenarios
Problem: increasing SW size, decreasing reliability? man-years per product 1000 10000 100 1000 typical amount of errors per product 10 1985 1990 1995 2000 7 Gerrit Muller ARMRproblem
The Holy Grail: Reuse $$ REUSE Promise time Reality 8 Gerrit Muller ARtheHolyGrail
Simplistic Architecture rest of world network MR scanner admin MR scan MR view UI scan UI view UI patient admin acquisition scan control reconstruction image processing view print archive communicate database operating system 9 Gerrit Muller ARMRsimplisticArchitecture
Future Simplistic Architecture MR scanner work flow HIS integrated client RIS integrated client client MR scan PACS integrated client work- station integrated client MR view glue database operating system network servers work- station 10 Gerrit Muller ARMRsimplisticArchitectureFuture
Availe Code Assets >1000 my >1000 rest my of world >1000 my total ROW: >3000 my network MR scanner UI patient admin >100 my scan UI scan control >500 my acquisition reconstruction image processing view UI view print >300 my archive communicate buy: >300 my >100 my total make: >1000 my database operating system buy: >200 my buy: >1000 my total buy: >1500 my 11 Gerrit Muller ARMRcodeAssets
Merge problems Architectural mismatch : wrappers, translators, conflicting controls additional code and complexity, no added value tuner UI MPEG tuner UI MPEG Poor performance; additional resource usage Problems Architecture Reuse Duplication non problem 12 Gerrit Muller ARmergeProblems
Solution: Architectural Refactoring Refactoring clear product clear value proposition within short term business goals with limited but substantial refactoring goals feedback on direction limited investment based on long term architecture vision 13 Gerrit Muller ARsolution
Example of Refactoring Goals + Decrease Code Size + Decrease Resource Usage * power * memory * silicon area Quality Improvement investment as percentage of total budget 20% 10% 0% + Increase Performance * response time * throughput + Increase quality * decrease fault density time 14 Gerrit Muller ARrefactoringGoals
Architectural vs Code refactoring Architectural Refactoring Function, Structure, Rationale Code Refactoring old new optimize()... add(a)... remove()... move()... accelarate()... add(a)... remove()... Mechanisms, Technologies old return( error ) free, alloc raise( exception ) old new optimize()... add(a)... remove()... move()... accelarate()... new garbage collection 15 Gerrit Muller ARcodeVersusArchitecturalRefactoring
Prerequisite 1 Frequent feedback 16 Gerrit Muller
Feedback stepsize: elapsed time: 3 months 25 months Target Start 17 Gerrit Muller LWAfeedbackLarge
Feedback (2) stepsize: elapsed time 3 months 25 months Target 2 months 12 months Target Start Start 18 Gerrit Muller LWAfeedbackMedium
Feedback (3) stepsize: elapsed time 3 months 25 months 2 months 12 months 1 month 8 months Target Target Target Start Start Start Small feedback cycles result in Faster Time to Market 19 Gerrit Muller LWAfeedbackSmall
Prerequisite 2 Awareness of dynamics 20 Gerrit Muller
Myth: Platforms are Stable Dynamic Market How stable is a platform or an architecture? Architecture Components Platform Fast changing Technology 21 Gerrit Muller LWAplatformStability
Platform Evolution (Easyvision 1991-1996) Last changed in: 1991 1991 1992 Growth 1994 1992 Change 1994 1996 3 rd generation components are mature, active maintenance needed. Growth and change continues, some "old" components become obsolete 22 Gerrit Muller LWAplatformEvolution
Prerequisite 3 Long Term Vision 23 Gerrit Muller
Example Long Term Vision Applications Services personalization i.e. tunes, themes Framework Reference Architecture Configuration i.e. Internationalization Computing Infrastructure Domain Infrastructure Long Term Vision: Reference Architecture + Sample implementation of Framework and Components 24 Gerrit Muller ARlongTermVisionExample
Don t do MR scanner HIS HIS integrated client RIS integrated client client MR scan PACS integrated client workintegrated station client MR view RIS PACS glue database operating system network MR view servers Proclaimed reuse Opportunistic Legacy Integration MR scan DB OS 25 Gerrit Muller ARMRtheWrongWay
Conclusion: Refactoring the Architecture is a must rest of world rest of world network network MR scanner MR scanner admin MR scan MR view UI scan UI view UI admin MR scan MR view UI scan UI view UI patient admin acquisition scan control reconstruction image processing view print archive communicate patient admin acquisition scan control reconstruction image processing view print archive communicate database database operating system operating system rest of world rest of world network network MR scanner MR scanner admin MR scan MR view UI scan UI view UI admin MR scan MR view UI scan UI view UI patient admin acquisition scan control reconstruction image processing view print archive communicate patient admin acquisition scan control reconstruction image processing view print archive communicate database database operating system operating system HIS RIS 26 Gerrit Muller ARMRrefactoring