Top Banner
Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar [email protected] Philips Medical Systems Magnetic Resonance Best, the Netherlands
41

Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar [email protected] Philips Medical

May 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Software Architecture Verification at MR

Architecture Improvement during the Race

René L. [email protected]

Philips Medical Systems Magnetic ResonanceBest, the Netherlands

Page 2: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 3: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 4: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Introducing myself

• 1986: MSc. Computer Science KU Nijmegen• 1994: MSc. Knowledge Engineering Uo Middlesex• 1999: PhD. Computer Science Uv AmsterdamPhilips:• 1987: VLSI Testing Software Engineer P-ASIC• 1991: Logic Synthesis Software Engineer ED&T• 1994: Research Scientist PRL-Eindhoven• 1999: Software Architect MR Scan Software

Page 5: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Software Architecture Reconstruction

Framework– Described Architecture– Redefined Architecture– Managed Architecture

SoftwareArchitectureVerification

Software ArchitectureReconstruction

René L. Krikhaar

Page 6: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 7: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Magnetic Resonance system

What?• (diagnostic) medical images

How?• Magnetic field• RF signals (receivers and transmitters)• Gradient

Page 8: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

MR Product Line0.5 T

1.0 T1.5 T

3.0 T

Page 9: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Functional Areas

Cardiology

Interventional

Radiology

Page 10: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Neurologyeurology

Page 11: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

AngiographyAngiography

Page 12: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Functional BrainFunctional Brain

Page 13: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 14: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Product Characteristics

• High Tech Product:on the edge of possibilities in (MR) physics

• Each 0.5-1.0 yr new MR Products / Release– new functionality (e.g. SENSE)– new hardware (e.g. CPU, RF amplifier)

• Parallel Development – Multiple Projects

Page 15: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

“Complicating” Factorsfor Development

• Large System– more than 3 MLOC (Lines Of Code)– many sw/hw developers (also multi-site)– third party software/hardware

• Many products in MR Family– deriving variants

• Incremental Development– includes code written 20 years ago

Page 16: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Making Life Easier -1-

• Daily-Build-and-Smoke-Test (since 1984)

Page 17: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Making Life Easier -2-

• Define Coding Standards (since 1985)• Enforce Check Coding Standards (since 1990)• Improve Code for Coding Standards (since

1994)

Code ArchitectureVerification

Page 18: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Scoping

Building Block ACQ Building Block

LOGGING

LOGGINGis in the scope of

ACQ

File in ACQcan #include

a file in LOGGING

Page 19: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Making Life Easier -3-

• Define Scoping rules (since 1988)• Enforce Scoping rules (since 1990)• Improve Scoping rules (since 1994)

Module ArchitectureVerification

Page 20: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

What did we achieve?

• Improvement of code comprehension– coding standard– scoping

• Reduction of coding errors– coding standard

• Incremental Testing– scoping

• Easier introduction of an OSAL– scoping

Page 21: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 22: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Software Architecture Verification

• Software Architecture Verification is theprocess of revealing deviations between intended and actual software architecture(achieving architecture conformance)

• Intended Software Architecture– In architect’s mind, architectural documents

• Actual Software Architecture– Implementation (i.e. source code)

Page 23: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Building Blocks

– A functional unit of the MR system.

– Building blocks are hierarchically organized, meaning that a building block may consist of a number of building blocks.

Acquisition Reconstruction

Magnet ACQControl PlatformPatientSupport

GradientRF-system

ViewingProcessing

PatientPhysio-logy

PatientCommu-nication

PatientAdministration

MR system

MethodsBDASdigital

Page 24: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

MR System

Archiving

Platform

Operating System

Acqui-sition

Recon-struction Viewing

More Explicit Interfaces Required

Page 25: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Why interfaces?

• Separation of concerns– maintenance– new employees– development (planning & tracking)– testing– parallel development– product variants– outsourcing– ...

Page 26: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Building Blocksand Interfaces

Platform

Recon-struction Viewing

FileIO Threading Logging

Page 27: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Hierarchy in Interface Usage

Reconstruction

Platform

RQ

LoggingThreadingFileIO

Page 28: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Hierarchy Interface Rule

Reconstruction

Platform

R

TThreading

Page 29: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Making Life Easier -4-

• Define Interface Management (2000)• Enforce Interface Management (2002)• Improve Interfaces (> 2003)

Module Architecture Verification

Page 30: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Managing the Development Process

• Daily Build and Smoke Test– quality & stability of code base

• Coding Standards– comprehensability of code base

• Scoping Rules– complexity of code base

• Interface Management– life cycle independency in code base

Page 31: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 32: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Interfaces in UML

PlatformLoggingThreadingFileIO

<<interface>>FileIO

<<interface>>Threading

<<interface>>Logging

Platform

provides

<<interface>>Logging

CLLOGf1();f2();

CLFRg1();g2();

Page 33: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Interface Usage in UML

Recon-struction

PlatformLogging

Reconstruction

<<interface>>Logging

Platform

provides

Page 34: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Interfaces in Code Archive

PlatformLoggingThreadingFileIO

• mrsystem– platform

• threading (*.h)• logging (*.h)• fileio (*.h)• source (*.cpp)

– reconstruction• source (*.cpp)

Recon-struction

Page 35: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Reconstruction

platform/logging

Interface VerificationClearCase

• Mrsystem– platform

• threading (*.h)• logging (*.h)• fileio (*.h)• source (*.cpp)

– reconstruction• source (recon.cpp)

Rational RoseReconstruction

<<interface>>Logging

Platform

provides

CC -Iplatform/logging recon.cpp

Compile recon.cpp

+ Coding standards

Page 36: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Development Deliverables“close the chain”

• For each Building Block:– Interface Specification (UML)– Dependencies / Usage between

sub-Building Blocks (UML)– Implementation of Building Block

• source code

– mr_build command

Review +Authorisation

Review +Coding Standards

SW Architecture Verification

Page 37: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Overview

• Introducing myself• Medical System: Magnetic Resonance• Developing (SW) an MR system• Software Architecture Verification• Development Process• Conclusions

Page 38: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Introduction inOrganisation

Preparation phase1 Define the required architectural rule2 Define a way to (automatically) enforce it 3 Measure “status” (get a threshold value)Execution phase1 Accept violations < threshold value2 Decrease continously threshold3 Solve rest of violations

Page 39: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Experience -1-

• Introduction on separate development stream• Code Base analysis not completely okay

– missing parts of the code base– action: fix in a separate action

• Nested include statement– crossing subsystem borders– action 1: adapt the mechanism– action 2: fix in a separate action

Page 40: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Experience -2-

• Hard to find a project that took the ‘risk’– be very early

• Deployment in organisation– carefully planned and executed– accepted by engineers

• New projects starting to use I/f management– project control

Page 41: Software Architecture Verification at MR · Software Architecture Verification at MR Architecture Improvement during the Race René L. Krikhaar Rene.Krikhaar@philips.com Philips Medical

Why does it succeed at Philips MR?

• Management & Project Support• Evolutionary Introduction Strategy• Verification Mechanism

– automatic verification tools AND– embedded in the organisation’s process