Architectural Refactoring; illustrated by MR

26 

Loading....

Loading....

Loading....

Loading....

Loading....

Full text

(1)

Architectural Refactoring; illustrated by MR

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.

Manufac-turers 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.

Revolu-tionary 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. June 23, 2016 status: preliminary draft version: 0.1 network rest of world MR scanner

admin MR scan MR view

operating system database print archive communicate image processing acquisitionreconstruction

scan control view patient admin

scan UI view UI UI

HIS RIS PACS work-station cath lab network rest of world MR scanner

admin MR scan MR view

operating system database print archive communicate image processing acquisitionreconstruction

scan control view patient admin

scan UI view UI UI

HIS RIS PACS work-station cath lab network rest of world MR scanner

admin MR scan MR view

operating system database print archive communicate image processing acquisitionreconstruction

scan control view patient admin

scan UI view UI UI

HIS RIS PACS work-station cath lab network rest of world MR scanner

admin MR scan MR view

operating system database print archive communicate image processing acquisitionreconstruction

scan control view patient

admin

scan UI view UI UI

HIS RIS PACS work-station cath lab

work-station

HIS RIS work-station HIS RIS PACS

work-station cath lab

(2)

Today’s Medical Products

Architectural Refactoring; illustrated by MR

2 Gerrit Muller

version: 0.1

June 23, 2016 ARMRproducts

(3)

Trend: Convergence of separate worlds

Telecom

Medical

Computer

Architectural Refactoring; illustrated by MR

3 Gerrit Muller

version: 0.1

June 23, 2016 ARMRconvergence

(4)

Integration and Diversity

MR image acquisition

gradients

RF coils

bore systems

open magnets

7T

3T

1.5T

1T

0.6T

integrated

dedicated

very fast

fast

economy

image handling

treatment

planning

report

prepare

diagnosis

diagnosis

authorise

clinical

review

education

research

demonstration

information handling

administration billing scheduling

logistics

laboratory

pharmaceutics

Architectural Refactoring; illustrated by MR

4 Gerrit Muller

version: 0.1

June 23, 2016 ARMRintegrationAndDiversity

(5)

Today’s Medical Products

network(s)

DICOM, HL7, proprietary

MR scanner

+ patient handling

+ image acquisition

+ local admin

+ local view

+ local print

+ local store

PACS

+ report

+ demonstrate

+ teach

workstation

+ prepare diagnosis

PC

+ admin

mainframe

+ admin

+ billing

+ scheduling

+ logistics

PC

+ office

workstation

+ treatment planning

PC

+ remote viewing

legacy

+ laboratory

NT network

+ pharmaceutics

PC

+ research

second console

+ local admin

+ local view

+ local print

+ local store

import

export

Architectural Refactoring; illustrated by MR

5 Gerrit Muller

version: 0.1

June 23, 2016 ARMRcurrentProducts

(6)

Distribution Scenario’s

legend

Network

Thin

Clients

All-in-one

Server

(PACS or

HIS)

All-in-one

Combi's

Thin

Servers

Clients

Network

Network

B

A

C

Network

Server

Server

Server

Client

Client

Client

D

"All-in-one"

Combi's

"Thin

Servers"

"All-in-one"

server

"Modular"

image

handling

information

handling

acquisition

generic

technology

Architectural Refactoring; illustrated by MR

6 Gerrit Muller

version: 0.1

June 23, 2016 ARMRproductScenarios

(7)

Problem: increasing SW size, decreasing reliability?

1000

100

10

man-years

per

product

1985

1990

1995

2000

1000

10000

typical amount of

errors

per product

Architectural Refactoring; illustrated by MR

7 Gerrit Muller

version: 0.1

June 23, 2016 ARMRproblem

(8)

The Holy Grail: Reuse

REUSE

time

$$

Promise

Reality

Architectural Refactoring; illustrated by MR

8 Gerrit Muller

version: 0.1

June 23, 2016 ARtheHolyGrail

(9)

Simplistic Architecture

network

rest of world

MR scanner

admin

MR scan

MR view

operating system

database

print

communicate

archive

image

processing

acquisition

reconstruction

scan control

view

patient

admin

scan UI

view UI

UI

HIS

RIS

PACS

station

work-cath

lab

Architectural Refactoring; illustrated by MR

9 Gerrit Muller

version: 0.1

June 23, 2016 ARMRsimplisticArchitecture

(10)

Future Simplistic Architecture

MR scanner

network

servers

MR scan

MR view

operating system

database

HIS

RIS

PACS

work-station

cath

lab

HIS

integrated

client

RIS

integrated

client

cath

lab

client

PACS

integrated

client

work-station

integrated

client

glue

work flow

Architectural Refactoring; illustrated by MR

10 Gerrit Muller

version: 0.1

June 23, 2016 ARMRsimplisticArchitectureFuture

(11)

Available Code Assets

network

rest of world

MR scanner

operating system

database

print

archive

communicate

image

processing

acquisition

reconstruction

scan control

view

patient

admin

scan UI

view UI

UI

HIS

RIS

PACS

station

work-cath

lab

buy: >1000 my

buy: >200 my

buy: >300 my

>100 my

>300 my

>500 my

>100 my

total buy: >1500 my

total make: >1000 my

total ROW:

>3000 my

>1000 my

>1000 my

>1000 my

Architectural Refactoring; illustrated by MR

11 Gerrit Muller

version: 0.1

June 23, 2016 ARMRcodeAssets

(12)

Merge problems

tuner

tuner

MPEG

MPEG

Duplication

Architectural mismatch

:

wrappers, translators, conflicting controls

Poor performance;

additional resource usage

additional

code

and complexity,

no

added

value

UI

UI

non problem

Problems

Architecture

Reuse

Architectural Refactoring; illustrated by MR

12 Gerrit Muller

version: 0.1

June 23, 2016 ARmergeProblems

(13)

Solution: Architectural Refactoring

Refactoring

within

short term business goals

with

limited but substantial refactoring goals

clear product

clear value proposition

feedback on direction

limited investment

based on long term architecture vision

Architectural Refactoring; illustrated by MR

13 Gerrit Muller

version: 0.1

June 23, 2016 ARsolution

(14)

Example of Refactoring Goals

+ Decrease Code Size

+ Decrease Resource Usage

* power

* memory

* silicon area

+ Increase Performance

* response time

* throughput

Quality

time

0%

10%

20%

Improvement investment

as percentage of total budget

+ Increase quality

* decrease fault density

Architectural Refactoring; illustrated by MR

14 Gerrit Muller

version: 0.1

June 23, 2016 ARrefactoringGoals

(15)

Architectural vs Code refactoring

optimize() ... add(a) ... remove() ... move() ... accelarate() ... add(a) ... remove() ... optimize() ... move() ... accelarate() ... add(a) ... remove() ...

Code Refactoring

old

new

old

new

new

Architectural Refactoring

Function, Structure, Rationale

Mechanisms, Technologies

return( error ) free, alloc raise( exception ) garbage collection

old

Architectural Refactoring; illustrated by MR

15 Gerrit Muller

version: 0.1

June 23, 2016 ARcodeVersusArchitecturalRefactoring

(16)

Prerequisite 1

Frequent feedback

Architectural Refactoring; illustrated by MR

16 Gerrit Muller

version: 0.1

(17)

Feedback

3 months

25 months

Start

Target

stepsize:

elapsed time:

Architectural Refactoring; illustrated by MR

17 Gerrit Muller

version: 0.1

June 23, 2016 LWAfeedbackLarge

(18)

Feedback (2)

3 months

25 months

2 months

12 months

Start

Start

Target

Target

stepsize:

elapsed time

Architectural Refactoring; illustrated by MR

18 Gerrit Muller

version: 0.1

June 23, 2016 LWAfeedbackMedium

(19)

Feedback (3)

3 months

25 months

2 months

12 months

1 month

8 months

Start

Start

Start

Target

Target

Target

stepsize:

elapsed time

Small feedback cycles result in Faster Time to Market

Architectural Refactoring; illustrated by MR

19 Gerrit Muller

version: 0.1

June 23, 2016 LWAfeedbackSmall

(20)

Prerequisite 2

Awareness of dynamics

Architectural Refactoring; illustrated by MR

20 Gerrit Muller

version: 0.1

(21)

Myth: Platforms are Stable

Architecture

Platform

Dynamic

Market

Fast changing

Technology

How

stable

is a platform

or an architecture?

Components

Architectural Refactoring; illustrated by MR

21 Gerrit Muller

version: 0.1

June 23, 2016 LWAplatformStability

(22)

Platform Evolution (Easyvision 1991-1996)

1991

1992

1994

1991

1994

Last changed in:

Growth

Change

3

rd

generation components are mature, active maintenance needed.

Growth and change continues, some "old" components become obsolete

1992

1996

Architectural Refactoring; illustrated by MR

22 Gerrit Muller

version: 0.1

June 23, 2016 LWAplatformEvolution

(23)

Prerequisite 3

Long Term Vision

Architectural Refactoring; illustrated by MR

23 Gerrit Muller

version: 0.1

(24)

Example Long Term Vision

Computing

Infrastructure

Domain

Infrastructure

Services

Applications

Configuration

i.e. Internationalization

personalization

i.e. tunes, themes

Framework

Long Term Vision:

Reference Architecture +

Sample implementation

of Framework and

Components

Reference

Architecture

Architectural Refactoring; illustrated by MR

24 Gerrit Muller

version: 0.1

June 23, 2016 ARlongTermVisionExample

(25)

Don’t do

PACS

HIS

RIS

OS

MR

view

DB

MR

scan

cath

lab

Opportunistic

Legacy

Integration

Proclaimed

reuse

MR scanner network servers MR scan MR view operating system database

HIS RIS PACS station

work-cath lab HIS integrated client RIS integrated client cath lab client PACS integrated client work-integrated station client glue

Architectural Refactoring; illustrated by MR

25 Gerrit Muller

version: 0.1

June 23, 2016 ARMRtheWrongWay

(26)

Conclusion: Refactoring the Architecture is a must

network rest of world

MR scanner

admin MR scan MR view

operating system database

print communicatearchive image

processing acquisition reconstruction

scan control view patient

admin

scan UI view UI UI

HIS RIS PACS station work-cath

lab

network rest of world

MR scanner

admin MR scan MR view

operating system database

print communicatearchive image

processing acquisition reconstruction

scan control view patient

admin

scan UI view UI UI

HIS RIS PACS station work-cath

lab

network rest of world

MR scanner

admin MR scan MR view

operating system database

print communicatearchive image

processing acquisition reconstruction

scan control view patient

admin

scan UI view UI UI

HIS RIS PACS station work-cath

lab

network rest of world

MR scanner

admin MR scan MR view

operating system database

print communicatearchive image

processing acquisition reconstruction

scan control view patient

admin

scan UI view UI

UI

HIS RIS PACS station work-cath

lab

work-station

HIS RIS station work-HIS RIS PACS station

work-cath lab

Architectural Refactoring; illustrated by MR

26 Gerrit Muller

version: 0.1

June 23, 2016 ARMRrefactoring

Figure

Updating...

References

Updating...

Related subjects :