multi-view architecting by gerrit muller · 2013. 11. 13. · portfolio manager project manager...

22
Multi-view Architecting by Gerrit Muller Philips Research IST - SWA - IA Abstract Many people expect from the system architect that he decomposes the system in smaller components and defines and guards the interfaces. The conven- tional waterfall model for software development and this architecture view form a dangerous combination: an extremely limited integral understanding with a very late feedback. A multi-view architecting approach tackles the problem of integral understanding. In combination with spiral or incremental development models a powerful method becomes available for creating complex systems. 25th September 2001 status: version: 0 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.

Upload: others

Post on 10-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Multi-view Architecting

by Gerrit Muller

Philips Research IST - SWA - IA

Abstract

Many people expect from the system architect that he decomposes the systemin smaller components and defines and guards the interfaces. The conven-tional waterfall model for software development and this architecture view forma dangerous combination: an extremely limited integral understanding with avery late feedback.

A multi-view architecting approach tackles the problem of integral understanding.In combination with spiral or incremental development models a powerful methodbecomes available for creating complex systems.

25th September 2001status:version: 0

Distribution

This article or presentation is written as part of the Gaudí project. The Gaudí projectphilosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by anopen creation process. This document is published as intermediate or nearly mature versionto get feedback. Further distribution is allowed as long as the document remains completeand unchanged.

Page 2: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Illustration case: MRI scanner

Multi-view Architecting 2Gerrit Muller

version: 025th September 2001

InteraMRIscanner

ResearchIST - SWA - IA

Page 3: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Block diagram view

Host

Acquisition Recon-

struction Storage

Viewing & Printing

magnet

gradients

RF

AD

C

Multi-view Architecting 3Gerrit Muller

version: 025th September 2001

MRcomputerScienceView

ResearchIST - SWA - IA

Page 4: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Physics view

Magnet 3T, ...

Gradient Coil 40 mT/m/ms

RF coil, Eff vol. =

Multi-view Architecting 4Gerrit Muller

version: 025th September 2001

MRphysicsView

ResearchIST - SWA - IA

Page 5: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Software architecture view

Registry

NameSpace server

Monitor

Broker

Event manager

Transparant Communication

Persistent Storage

Abstraction Layer

Device independent

format

Plug-in framework

Queue manager

Spool server

Resource scheduler

Plug & play

Configurable pipeline

Property editor

Session manager

Compliance profile

Application

Multi-view Architecting 5Gerrit Muller

version: 025th September 2001

MVmechanismArchitecture

ResearchIST - SWA - IA

Page 6: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

MR imaging methods view

Gz

Gx

Gy

RF

TE

TR

Multi-view Architecting 6Gerrit Muller

version: 025th September 2001

MRmethodsView

ResearchIST - SWA - IA

Page 7: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Conceptual Work by the architect� Most disciplines require multiple views, for instance circa 4 views in SW

[Kruchten, Soni]

� Only a subset of disciplines has been shown (not shown are a.o. mechanics,logistics, project management)

The system architect integrates the complementing disciplinary views

However

Decisions and trade-offs in the conceptual view are driven by application,business and operational inputs

Multi-view Architecting 7Gerrit Muller

version: 025th September 2001

ConceptualArchitectureWork

ResearchIST - SWA - IA

Page 8: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Useability and main stakeholders

The engineer creates a technological UI...

Select Virtual Representation Display Mode

Intermitting

Adaptive

Semi-Reflective

0.2 Fuzzle Factor

Patient Jansen has been removed

OK

"In the meantime the patient is horrified by the intimidating system, the weird cage around his body and the EKG leads attached to his breast..."

without imagining the clinical reality

Multi-view Architecting 8Gerrit Muller

version: 025th September 2001

MRcardioUseability

ResearchIST - SWA - IA

Page 9: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Radiology department view

MR Examination room

CT Examination room

Control room

Control room

"MPR" room

Reading Room

Multi-view Architecting 9Gerrit Muller

version: 025th September 2001

MedicalImagingCTMRdepartment

ResearchIST - SWA - IA

Page 10: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

System Architect integrates 5 viewpoints

C ustomer objectives

A pplication F unctional C onceptual R ealization

Customer What

Customer How

Product What

Product How

What does Customer need in Product and Why ?

Multi-view Architecting 10Gerrit Muller

version: 025th September 2001

CAFCRannotated

ResearchIST - SWA - IA

Page 11: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Integration of 5 views

C ustomer business

A pplication F unctional C onceptual R ealization

Integrating Views

High margin Cardiology market

Cost per examination model

Patient throughput features

System throughput model

Budget in seconds

Multi-view Architecting 11Gerrit Muller

version: 025th September 2001

IntegratingCAFCRexampleMR

ResearchIST - SWA - IA

Page 12: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

From scenario to budget

C ustomer business

A pplication F unctional C onceptual R ealization

Scenario:

Accessible story, clearly outlining a frequently occuring situation with a valuable , but challenging solution

Typical Case:

Functions and Quantification of frequently occuring important and critical case

Models

Functional and Performance

Technical estimates

Several iterations are required. In later iterations worst cases and exceptional cases are taken into account. The technical estimates are then transformed in budgets.

Multi-view Architecting 12Gerrit Muller

version: 025th September 2001

CAFCRfromScenarioToBudget

ResearchIST - SWA - IA

Page 13: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

MR neuro scenario� Patient George has continuous headache.

� His family doctor has send him to the Neurologist.

� The Neurologist wants to exclude the possibility of a tumor and requestsan MRI examination.

� The Radiologists does not see any indication for a tumour.

� The Radiologist sends his report to the Neurologist.

� The Neurologist discusses his findings with the patient and sends a reportto the family doctor.

Multi-view Architecting 13Gerrit Muller

version: 025th September 2001

MRneuroScenarioSummary

ResearchIST - SWA - IA

Page 14: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Clinical Stakeholders

Family Doctor

Patient

Referring Physician

Nurse, operator Radiologist

consult

Request

Request

Report

Report

findings

MRI scanner

Multi-view Architecting 14Gerrit Muller

version: 025th September 2001

MRradiologyPatientAndPhysicians

ResearchIST - SWA - IA

Page 15: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Typical timing of Neuro examination

15 minute time slot

14:00 14:15 14:30

George

arrives at radiology department

Nurse

explains the procedure

Position Imaging

George

leaves exam room

Examination of previous patient

George is

waiting in the dressing room

Prepare George for the

examination

(a.o. RF coils)

View away

View away

Multi-view Architecting 15Gerrit Muller

version: 025th September 2001

MRneuroTypicalTimeline

ResearchIST - SWA - IA

Page 16: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Typical amount of Images: 2 Volumes

512

512

256

Data in bytes =

2 * 512 * 512 * 256 * 2 =

Vol

umes

x y z

byte

s pe

r pix

el

256 MBytes

in 2 * 2 minutes = 240 seconds

Multi-view Architecting 16Gerrit Muller

version: 025th September 2001

MRneuroCubic

ResearchIST - SWA - IA

Page 17: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

MR resource model

Acquisition Recon-

struction Viewing

Intermediate data:

256 MByte

Storage

2 Volumes 256 MByte

View away in ca 10 sec.

full screen 25 images per second

Multi-view Architecting 17Gerrit Muller

version: 025th September 2001

MRneuroResourceModel

ResearchIST - SWA - IA

Page 18: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

MR critical design choices

Attribute access

Buffer architecture

Acquisition Recon-

struction Viewing

Intermediate data:

256 MByte

Storage

2 Volumes 256 MByte

View away in ca 10 sec.

full screen 25 images per second

Pipeline & caching

Multi-view Architecting 18Gerrit Muller

version: 025th September 2001

MRneuroResourceCriticalities

ResearchIST - SWA - IA

Page 19: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Checklists for integrating 5 views

generic enough to be supported by checklists

domain specific

A pplication F unctional C onceptual R ealization

entities operations

stake- holders

functions features

system qualities

functional blocks SW components

design concerns

technical structures and mechanisms

C ustomer business

keydrivers

context in

fluen

ce

influ

ence

influ

ence

with

in

deal

with

qual

ify

guid

e

drives

constrains

fulfilled by implemented by

concern addressed by

refined by

select mechanisms

Multi-view Architecting 19Gerrit Muller

version: 025th September 2001

IntegratingCAFCRchecklists

ResearchIST - SWA - IA

Page 20: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Actual checklists

C ustomer business

A pplication F unctional

Response Time Image Quality Reproduceability Predicatability Accuracy Cost price Cost of operation Interaction with environment Power consumption Consumption rate (water, air,

chemicals, etcetera) Disposability Size, weight Resource utilization Logistics flexibility Lead time Standards Compliance

C onceptual

Granularity, Scoping, Containment, Cohesion, Coupling

Interfaces, Allocation, Bugets Information model (entities,

relations, operations) Identification, Naming Static characteristics, Dynamic behavior System level infrastructure Software development process,

Environment, Repository, Tools Feedback tools (for instance monitoring,

statistics and analysis) Persistence Licensing, SW-keys Set-up sequence Technology choices Make, Outsource, Buy, or

Interoperate decisions Meta-functional aspects:

Operational (e.g. image processing, handling calls,…)

Initialization, Start-up, Shutdown Fault handling Diagnostics Configuration handling Data replication Performance observation Capability query Testing Debugging Off-line guidance

R ealization

Exceptions, Logs, Traces Process, Tasks, Threads Configuration management:

Packages, Components, Files, Objects, Modules, Interfaces

Automated testing: Special methods, Harness, Suites

Signalling, Messaging, Call-back scheduling, Notification, Active data, Watchdogs, Time-outs

Locking, Semaphores, Transactions, Checkpoints, Deadlock detection, Roll-back

Identification, Naming, Data model, Registry, Scoping, Configuration database, Inheritance

Resource management, Allocation, Fragmentation prevention, Garbage collection

Persistence, Caching, Versioning, Prefetching, Lazy evaluation

Licensing, SW-keys, Bootstrap, Discovery, Negotiation Call graphs, Message tracing,

Object tracing Distribution, Allocation,

Transparency; Component, Client/Server, Multi-tier model

Consumer User Operator Retailer

Safety Security Reliability Robustness Manufacturability Testability Serviceability Configurability Installability Evolvability Portability Upgradeability Extendability Maintainability Useability Appeal, Appearance Throughput or Productivity

Operational Stakeholders: Sales person Field service engineer Marketeer Portfolio manager Project manager Developer

Who decides? Who pays?

Multi-view Architecting 20Gerrit Muller

version: 025th September 2001CAFCRplusChecklists

ResearchIST - SWA - IA

Page 21: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Coverage of MR neuro view

Granularity, Scoping, Containment, Cohesion, Coupling

Interfaces, Allocation, Budgets Information model (entities,

relations, operations) Identification, Naming Static characteristics, Dynamic behavior System level infrastructure Software development process,

Environment, Repository, Tools Feedback tools (for instance monitoring,

statistics and analysis) Persistence Licensing, SW-keys Set-up sequence Technology choices Make, Outsource, Buy, or

Interoperate decisions Meta-functional aspects:

Operational (e.g. image processing, handling calls,…)

Initialization, Start-up, Shutdown Fault handling Diagnostics Configuration handling Data replication Performance observation Capability query Testing Debugging Off-line guidance

R ealization

Exceptions, Logs, Traces Process, Tasks, Threads Configuration management:

Packages, Components, Files, Objects, Modules, Interfaces

Automated testing: Special methods, Harness, Suites

Signalling, Messaging, Call-back scheduling, Notification, Active data, Watchdogs, Time-outs

Locking, Semaphores, Transactions, Checkpoints, Deadlock detection, Roll-back

Identification, Naming, Data model, Registry, Scoping, Configuration database, Inheritance

Resource management, Allocation, Fragmentation prevention, Garbage collection

Persistence, Caching, Versioning, Prefetching, Lazy evaluation

Licensing, SW-keys, Bootstrap, Discovery, Negotiation Call graphs, Message tracing,

Object tracing Distribution, Allocation,

Transparency; Component, Client/Server, Multi-tier model

C ustomer business

A pplication F unctional C onceptual

Consumer User Operator Retailer

Safety Security Reliability Robustness Manufacturability Testability Serviceability Configurability Installability Evolvability Portability Upgradeability Extendability Maintainability Useability Appeal, Appearance Throughput or Productivity

Operational Stakeholders: Sales person Field service engineer Marketeer Portfolio manager Project manager Developer

Who decides? Who pays?

Response Time Image Quality Reproduceability Predicatability Accuracy Cost price Cost of operation Interaction with environment Power consumption Consumption rate (water, air,

chemicals, etcetera) Disposability Size, weight Resource utilization Logistics flexibility Lead time Standards Compliance

Multi-view Architecting 21Gerrit Muller

version: 025th September 2001

MRneuroViewCAFCRcoverage

ResearchIST - SWA - IA

Page 22: Multi-view Architecting by Gerrit Muller · 2013. 11. 13. · Portfolio manager Project manager Developer Who decides? Who pays? Multi-view Architecting 20 Gerrit Muller version:

Architects must increase customer side contribution

Current Architects

Required Architects

custo

mer

busin

ess

appli

catio

n

functi

onal

conc

eptua

l

reali

zatio

n

Multi-view Architecting 22Gerrit Muller

version: 025th September 2001

CAFCRprofileSA

ResearchIST - SWA - IA