IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly TTeC 2007 M POWER...

34
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly TTeC 2007 M POWER Middleware platform for eMPOWERing cognitive disabled and elderly Ståle Walderhaug & Marius Mikalsen University in Tromsø & SINTEF ICT stalew@{cs.uit.no | sintef.no} & [email protected]

Transcript of IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly TTeC 2007 M POWER...

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

M POWERMiddleware platform for eM•POWERing

cognitive disabled and elderly

Ståle Walderhaug & Marius MikalsenUniversity in Tromsø & SINTEF ICT

stalew@{cs.uit.no | sintef.no} & [email protected]

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

The Successful Development of a Smart HomeCare System

Requires Standardisation Interfaces Operations Messages

Reuse of Services and Components Not reinvent the wheel Share resources and save money

Development Maintenance Upgrade

Collaboration with End Users and Technology Experts Do the right things right

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Service Oriented Middleware

How can we identify which services that are needed? From User-defined System FEATURES

How can we implement these services effectively and conform to standards? Model-Driven Development Integrate Standards in Transformation and Generation

processes

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

The Challenge being Addressed

Increased number of older people Increased number of cognitively disabled Improved patient safety Restricted information security regulations Heterogeneous user groups Increased care and treatment costs Distributed family Increased demands

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Finding User Needsanalysis Business Workflows

Cyclic dev elopment

Related work

Result

Features

Scenarios

Project description

Relev ant literature

Trial Sites

Ongoing and prev ious projects

Workshops with targetgropus

Questionairs to experts

Use Cases

Input

User needs

«flow»

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Scenarios - UseCases - Features

Middleware Services

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Problem and Activity Scenario (example)No Activity and problem Scenario, Keywords

1 Bill and Sandra needs to reorganise everyday living

1.a Information on screen, and two-way dialogue with GP (messages)

1.b Calendar with reminder function and for displaying messages from friends and family

1.c Alerts on irregular incidents at home are sent to a mobile phone

1.d

Calendar system that provides information about what is to happen that day, with reminder function

2 Joe and Annie uses an individual plan lives in the city

2.a

Individual plan for the patient, everyone can access the plan, access to educational system, add appointments, reminder for appointment, reminder for medication

2.b Web-cam, check status of medication, check were the patient is in the house

2.c The system is adapted to the new situation

2.d The system is adapted to the new situation, the roles in the plan are reassigned

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Use Case (calendar scenarios)uc Calendar

Add Calendar Ev ent

Next of Kin

(from Stakeholders - Other)

Subject Of Care

(from Stakeholders - Other)

Calendar System

(from System - Health Information System)

(from Notification)

Remind about Calendar Ev ent

Configure Calendar Settings

Care Center Staff

(from Stakeholder - Professional Caregivers)

Configure calendar to include nurse visitsAdd nurse visit events

receive notification

«include»

provide service and store event

is subject for

add event

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Features custom Calendar

add/edit calendar event

define who will be notified of an event

delete calendar event

edit default settings for calendar events

edit default settings for calendar look

resolve conflicting calendar event

specify how to be notified by an event

(from Calendar)

Add Calendar Ev ent

(from Calendar)

Configure Calendar Settings

(from Calendar)

Send calendar ev ent to user

(from Notification)

Remind about Calendar Ev ent

(from Calendar)

Resolv e calendar conflict

«include»

«trace» «trace»

«trace»

«trace»

«trace»«trace»«trace»

«trace»«trace»

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Development of Information Systems for Smart-Home-Care

Common Problem: Need to integrate/inter-connect (read and write access) several

information sources Individual Plan Medication list Automation devices (water, gas, doors, lighting, heating, motion

detection,…) Education material

No common ”application programming interface (API)” available Syntactical and semantical interoperability issues

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Common Solution:

Write adapter / wrappers to each ”information source” Integration done in application / user session layer Standards are not used – quick and dirty approach.

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Common Solution Problem

Requires much resources A change in underlying information source requires changes in

many higher level services/components Reusability (and documentation) is poor

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Proposed Solution

Model-Driven Development of

Service-OrientedStandards-Based

Middleware Components

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Model-Driven Development Use Formal Models to represent all artefacts Use Model-Transformation to create Platform

Models Use Code Generation to create Executable Code

Computation Independent Model (CIM)

Platform Independent Model (PIM)

Platform Specific Model (PSM)

Code

Architect / Designer

Developer / Tester

Business Analyst

Business Process Managementmodels in UML / BPMN / BPEL

UML with UML Profiles for BPMN, BPEL and SOA.

Platform Specific UML models.

Code for e.g. Web Services in C#, Java etc.

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

SOA (in MPOWER)

Business ProcessesComposition, choreography

Application Layer

(Consumers)

Physical Layer

Service Components

Servicesatomic and composite

Se

curity

Lo

gg

ing

Man

ag

em

ent

Mon

itorin

g

Qo

S L

ayer

Integ

ration

Service B

us

Service D

iscovery

Context middleware

Social middleware

Medical middleware

WP3

3rd Party

3rd Party

3rd p

arty O

rche

stratio

n S

erve

r

WP2

Smart home middleware

WP4

WP5

WP6

Poc Application Poc Application Poc Application

QoS middleware (inc. security)

SchedulingCommunication

ChannelManagement

Interoperability middleware

Door Management

HISOther

External system

Data Mapping

SampleMPOWER Services

Next of Kind Management

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Standards

HL7v3 is the chosen messaging standard in MPOWER All communcation will be based on HL7 v3 RIM

Service to Service Business Service to Service Application to Service

MPOWER Interoperability Services will transform from other standards Pilot System: KITH Dialog messages to HL7

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

How can we develop services effectively and (still) adhere to standards?

Model-Driven Software Development Use formal specifications in UML (SOA UML Profile)

User Scenarios, UseCase, Features Specify Services in Platform Independent Models (PIM)

Interfaces, Operations, Messages Transform to WSDL (Web Service Description Language) Models Generate WSDL code Generate Web Services (Manually) Implement Web Service behavior Deploy and Test WebServices

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007class Toolchain

SUN Application Server 9.0NetBeans 5.5 with SOAPUI Plugin

Sparx Enterprise Architect

WSDL File

WAR with class files

Model Service in

UML

MPOWER UML Service

Model

Generate WSDL

SOAP Request and

Response

Generate Web Service

files

«UMLProfile»IBM System Services UML Profile

Generate SOAP Test Messages

«Technique»Model Transformation

Test Web Service

HL7 v3 Messages

User Scenarios and Needs

SOAP Request

«flow»

«WorkProduct»

«WorkProduct»

«Document»

«WorkProduct»

«flow»

«flow»

«flow»

«WorkProduct»

«flow»

«flow»

SOAP Response

«flow»

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Service Modeling (from SOA4HL7)analysis Basic Process Flow

Identify Serv ices Identify and DescribeInterfaces

Identify and DescribeOperations

Identify and DescribeMessages

Main Process Flow - Step 1

Main Process Flow - Step 2

Main Process Flow - Step 3

Main process Flow - Step 4

Legend

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Identify Serviceclass Rationale

«ServiceProvider»Medication::MedicationManagement

create new medication plan for subject of care

(from Individual Plan)

read detailed information about medication

(from Individual Plan)

read medication list for subject of care

(from Individual Plan)

read medication plan for selected period

(from Individual Plan)

These two features will be realized in combination withCalendarManagement Service. We get medication plan by retrieving all calendar items that are of type "medication activity"

edit individual plan (medication, memo etc.)

(from Individual Plan)

only medication part

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Identify and Describe InterfacesIdentify and Describe Operations

class MedicationManagement

«ServiceSpecification»

MedicationManagement::iMedicationManagement

+ AddMedicationInfo(Message) : boolean+ DeleteMedicationInfo(Message) : boolean+ UpdateMedicationInfo(Message) : boolean

«ServiceProvider»MedicationManagement MedicationManagement

MedicationQuery

«ServiceSpecification»

MedicationManagement::iMedicationQuery

+ RetrieveMedicationInfo(Message) : void+ RetrieveMedicationKnowledgeData(Message) : void+ RetrieveMedicationList(Message) : void

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Identify and Describe Messages (HL7)

MedicineclassCode *: <= MMATdeterminerCode *: <= EntityDeterminer

MedicationDocumentclassCode *: <= ACTmoodCode *: <= EVNid: SET<II> [0..*]title: ED [0..1]text: ED [0..1]

0..* medicationDocument

typeCode *: <= SBJsubjectOf

1..1 containedPackagedMedicine

Content

0..1 asContentclassCode *: <= CONTquantity : RTO<QTY,QTY> [0..1]

PackagedMedicineclassCode *: <= CONTdeterminerCode *: <= KINDquantity : SET<PQ> [0..*]name: BAG<EN> [0..*]desc: ED [0..1]lotNumberText: ST [0..1]expirationTime: IVL<TS> [0..1]

1..1 ingredientSubstance

Ingredient 0..* ingredient

classCode *: <= INGRnegationInd: BL [0..1]quantity : RTO<QTY,QTY> [0..1]

SubstanceclassCode *: <= MMATdeterminerCode *: <= KINDcode: CE CWE [0..1] <= EntityCodename: BAG<EN> [0..*]desc: ED [0..1]

0..1 play ingMedicine

0..1Medication 0..* scopedRoleName

0..* asMedicationclassCode*: <= ROL

CMET: (PAT) R_Patient[universal ]

(COCT_MT050000)

0..1 scopedRoleName

CombinedMedicationRequestclassCode *: <= SBADMmoodCode*: <= RQOstatusCode: CS CNE [0..1] <= ActStatus

0..* patient

typeCode *: <= SBJ

subject1

0..* medication

typeCode *: <= SBJ

subject2

New Medication For Patient Request(POME_RM011000)

Description

CMET: (ASSIGNED) R_AssignedPerson

[universal ](COCT_MT090100)

0..1 scopedRoleName0..* assignedPerson

typeCode*: <= AUT

author

New Medication Request For Patient (POME_HD011000UV01)

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Model-Transformation:Generate WSDL Model

class Medication

«WSDLservice»

Services::MedicationManagement

«WSDLportType»

PortTypes::iMedicationManagement

+ AddMedicationInfo(AddMedicationInfoRequest, AddMedicationInfoResponse*)+ DeleteMedicationInfo(DeleteMedicationInfoRequest, DeleteMedicationInfoResponse*)+ UpdateMedicationInfo(UpdateMedicationInfoRequest, UpdateMedicationInfoResponse*)

«WSDLportType»

PortTypes::iMedicationQuery

+ RetrieveMedicationInfo(RetrieveMedicationInfoRequest)+ RetrieveMedicationKnowledgeData(RetrieveMedicationKnowledgeDataRequest)+ RetrieveMedicationList(RetrieveMedicationListRequest)

«WSDLbinding»Bindings::iMedicationManagement

+ AddMedicationInfo(AddMedicationInfoRequest, AddMedicationInfoResponse*)+ DeleteMedicationInfo(DeleteMedicationInfoRequest, DeleteMedicationInfoResponse*)+ UpdateMedicationInfo(UpdateMedicationInfoRequest, UpdateMedicationInfoResponse*)

«WSDLbinding»Bindings::iMedicationQuery

+ RetrieveMedicationInfo(RetrieveMedicationInfoRequest)+ RetrieveMedicationKnowledgeData(RetrieveMedicationKnowledgeDataRequest)+ RetrieveMedicationList(RetrieveMedicationListRequest)

iMedicationManagement iMedicationQuery

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Generate WSDL Code

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Generate Web Service

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Deploy and Generate Tests

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

The Successful Implementation of a Smart HomeCare System

Requires Standardisation Interfaces Operations Messages

Reuse of Services and Components Not reinvent the wheel Share resources and save money

Development Maintenance Upgrade

Collaboration with End Users and Technology Experts Do the right things right

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

The ConsortiumParticipant full name Country

SINTEF – Stiftelsen for industriell og teknisk forskning Norway

Ericsson Nicola Tesla d.d. Croatia

ARC Seibersdorf research GmbH Austria

Norwegian Centre for Dementia Research Norway

Dimension Informatica Spain

Jagiellonian University Medical College Poland

University of Cyprus Cyprus

TB-Solutions Advanced Technologies S.L. Spain

European Association of Homes and Services for the Ageing (Sub-contractor)

Netherlands

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Time and costs

The project runs from October 2006 – April 2009 (30 months)

The total budget of the project is 4.3 mill €

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Project Objectives

M•POWER will create a middleware platform enabling rapid development and deployment of services for cognitive disabled and elderly.

Two proof-of-concept applications will be developed to guide and support the middleware platform development: A collaborative environment for distributed and shared care,

providing requirements for information security, information models, context awareness, usability and interoperability.

A SMART HOUSE environment, providing requirements for information security, information models and usability

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Project approach

Combining Agile Software Development (ASD) and Model Driven Architectures (MDA) to facilitate high level of interaction between members of the development teams (middleware and proof-of-concept) and the end-users.

The approach includes the following elements: MPOWER Framework for Service Development MPOWER Platform for Service and System Integration MPOWER Proof-of-Concept Applications User trials

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Norwegian Pilot

A collaborative environment for distributed and shared care, providing requirements for: information security information models context awareness Usability interoperability

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Polish pilot

Smart-house environment faciliating environment and patient monitoring and control Heathing Oven Water Doors Light

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

TTeC 2007

Thank you for listening

Ståle Walderhaug: stalew@{cs.uit.no | sintef.no} Tromsø, Norway

Marius Mikalsen (Project Leader): [email protected]

http://www.mpower-project.eu