FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER...

43
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly FREE MPOWER – Open source Web Services for Smart Homecare Ståle Walderhaug SINTEF ICT MPOWER Consortium

Transcript of FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER...

Page 1: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

FREE MPOWER – Open source Web Services for Smart Homecare

Ståle WalderhaugSINTEF ICT

MPOWER Consortium

Page 2: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

My 3 goals for today

Show you how MPOWER open source services are made from and linked to real user needs and scenariosShow you applications that have been built using MPOWER open source servicesInform you about FREE MPOWER – the open source project on Sourceforge

Page 3: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Presentation Outline

MPOWER Objective and ApproachIdentifiy and Design Services using MDA/UMLService Development and DeploymentProof of Concept applicationsFREE MPOWER projectStandardisation through HSSP

Page 4: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Porto is a very nice cityBut, I have mixed feelings

Champions League 1996/97Rosenborg – FC Porto: 0-1FC Porto – Rosenborg: 3-0

Champions League 1997/98Rosenborg – FC Porto: 2-0FC Porto – Rosenborg: 1-1

Champions League 2001/02Rosenborg – FC Porto: 1-2FC Porto – Rosenborg: 1-0

Page 5: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

MPOWER at a glance

Middleware framework of services for development of applications for elderly and people suffering from cognitive decline

Ericsson, Croatia

Jagellonian University– Medical College, Poland

University ofCyprus

Sintef, Norway

Norwegian Center for Ageing and Health

ARC, Austria

INRIA, Spain

TB-SOL,Spain

Page 6: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

MPOWER Objective and Approach

• Create a middleware platform that enables rapid development of novel smart house systems in a SOA environment

• Use Model Driven Software Development• Use standards such as HL7, ISO and CEN TC251

– SOA4HL7 methodology– IBM SOA Reference Architecture– IBM Software Service UML Profile

• Develop two proof of concept applications to validate service usefulness

• Share the results: OPEN Source

Page 7: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

MPOWER Results

EXPERIENCE

Norwegian Proof-of-Concept

Application

Polish Proof-of-Concept

Application

GUIDELINES

Developer handbook

MPOWER Architecture

MPOWER Servicelifecycle model

TOOLCHAIN

MDA Process

MDA Tools

SERVICES

Securityservices

Social services

Medicalservices

Sensorservices

Contextualservices

Interoperabilityservices

Page 8: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

The basics first: homecare domain model

Which actors are involved in the care and care-management of homecare patients?

IndividualsOrganizationsSystemsComponents

Which services are candidates for reuse in different contexts?

Page 9: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Describe domain and scenarios

Page 10: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Participants in workshops, interviews and questionnaires

62 Older people (22 in Netherlands, 40 in Poland)11 Family carers of persons with dementia (5 in Austria, 6 in Norway)49 Healthcare Professionals (all in Poland)15 Dementia Experts (4 in Austria, 11 in Norway)

Page 11: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

The ActorModel (diagram)

Page 12: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Example of Actor-Role model

Page 13: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Actors and Roles in Use Cases: Calendar example

Page 14: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

The Service Model

Derived from the Use Case modelsCommunication ServicesInformation ServicesManagement ServicesSensor ServicesSecurity Services

Page 15: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

MPOWER Services

«MPOWER_Middleware_Service»Communication Serv ices

+ Alarming+ data / info transfer+ ExternalNotification+ Messaging+ Synchronization

«MPOWER_Middleware_Service»Management Serv ices

+ ActorManagement+ ContextManagement+ ServiceManagement

«MPOWER_Middleware_Service»Security Serv ices

+ encryption+ User Management+ Role Management+ Token Management+ Access Management+ AccessControl+ Audit+ Public Key Infrastructure+ Secure Communication+ Secure Storage

«MPOWER_Middleware_Service»Information Serv ices

+ Accessibility+ Calendar+ IndividualPlan+ Interaction+ Knowledge+ Medication

«MPOWER_Middleware_Service»Sensor Serv ices

+ CameraManagement+ Device Management+ DoorManagement+ FlowManagement+ Location+ Monitoring+ OvenManagement+ PulseOximeterManagement+ TemperatureControl

Page 16: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Example of Service

Page 17: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Reference System

17

Page 18: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Service Oriented Architecture

Business ProcessesComposition, choreography

Application Layer

(Consumers)

Physical Layer

Service Components

Servicesatomic and composite

Security

LoggingM

anagement

Monitoring

QoS Layer

Integration Service Bus

Service Discovery

Context middleware

Social middleware

Medical middleware

WP3

3rd Party

3rd Party

3rd party Orchestration Server

WP2

Smart home middleware

WP4

WP5

WP6

Poc Application Poc Application Poc Application

QoS middleware (inc. security)

SchedulingCommunicationChannel

Management

Interoperability middleware

Door Management

HISOther

External system

Data Mapping

SampleMPOWER Services

Next of Kind Management

MAIN FOCUS FOR MPOWER Middleware

Visible for Elderly and Cognitive Disabled

Page 19: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Care CenterHealthcare Network ServicesSmart Home

CalendarSynchronizerServiceCalendarManagementServiceSensorService

Hom eCare Application CareControl

Application

Calendar SystemSMS-EMAIL Sys tem

SMS Email

ExternalNotifcationServiceSensorServiceCalendarService

CalendarSystem

SensorKIT

ExternalNotification

MPOWER Service Platform

MPOWER Common Services

MPOWER Service Platform

Individual Plan Sys tem

IndividualPlan«use»

«HL7Messages»

«use»

«HL7Messages»

«use»«use»«use» «use»

«HL7Messages»

«HL7Messages»

«HL7Messages»

«HL7Messages»

Page 20: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Service Design in UMLScenariosUseCasesFeatures/RequirementsServicesInterfacesOperationsMessages

…and in accordance with SOA4HL7 methodology

Traceability

Page 21: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Chain of Artefactsuc Management

HealthCareProfessional

(from Stakeholder - HealthcareProfessional)

Indiv idual Plan

(from System - Health Information System)

Stakeholder management

Configure homecare system

HealthCare Organization

(from Stakeholder - Organization)

custom Stakeholder management

add stakeholder (stakeholder may have user rights to the system)

define relations between stakeholders

edit stakeholder (including role)

enable/disable stakeholder

(from Individual Plan)

Add plan element

(from Management)

Stakeholder management

«trace» «trace»

«trace»«trace»

«trace»«trace»

«trace»«trace»

class Rationale

add stakeholder (stakeholder may have user rights to the system)

(from Stakeholder management)

define relations between stakeholders

(from Stakeholder management)

edit stakeholder (including role)

(from Stakeholder management)

enable/disable stakeholder

(from Stakeholder management)«ServiceProvider»ActorManagement::

ActorControl

class ActorManagement

«ServiceProvider»ActorControl

ActorManagement

«ServiceSpecification»ActorManagementInterface::iActorManagement

+ addActor(HumanResourceEventCreate) : boolean+ disableActor(SuspendHumanResource) : boolean+ enableActor(ActivateHumanResource) : boolean+ getActor(Message) : HL7Actor+ removeActor(TerminateHumanResource) : boolean

class ActorManagement

«WSDL»ActorManagement

ActorManagementInterface

«WSDLbinding»Bindings::iActorManagement

+ addActor(addActorRequest, addActorResponse*)+ disableActor(disableActorRequest, disableActorResponse*)+ enableActor(enableActorRequest, enableActorResponse*)+ getActor(getActorRequest, getActorResponse*)+ removeActor(removeActorRequest, removeActorResponse*)

«WSDLportType»PortTypes::iActorManagement

+ addActor(addActorRequest, addActorResponse*)+ disableActor(disableActorRequest, disableActorResponse*)+ enableActor(enableActorRequest, enableActorResponse*)+ getActor(getActorRequest, getActorResponse*)+ removeActor(removeActorRequest, removeActorResponse*)

«WSDLservice»Services::ActorManagementInterface

iActorManagement

Page 22: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Implementing Web Services

Use MOFScript to generate WSDL Import WSDL and use AXIS2 to generate skeletonMore code generation from MOFScript in progress

Netbeans 6.xGlassfish v2

Page 23: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Proof of Concept Application (POCA)

Norwegian POCAInformation access and sharingFREE MPOWER Web Services applied

Calendar Service, Medication Service, Message Board Service, Patient Management Service,Security Services, External Notification Services, and more.

Polish POCASmart Home environmentFREE MPOWER Services applied

Frame Sensor Adapter, Context managment, Alarming Service (BPEL) Notification services (BPEL), Location Services, SecurityServices, Patient Management Services, Calendar Service, MessageBoard Service, CameraService

Page 24: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Norwegian proof-of-concept application

Day’s eventsCalendar & remindersContactsMessage boardLocal newsMedications

Page 25: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

User acceptance test - Norway

Testing done by elderly in their homesProviding usable interfaces for elderly proved challengingSeveral elderly continuously used the applicationNew version in progress

Page 26: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Polish proof-of-concept application

Resident loginResidenthomepageMessaging systemVideo callsAlarm

Page 27: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Polish proof-of-concept application

Caregiver loginResident info viewAlarm handlingSensor managementDoor lock managementTracking

Page 28: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

User acceptance test - Poland

Testing in progressDone in an elderlyhouse equippedwith sensors

Page 29: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Contributions

Arranging two workshops 10+ scientific articlesPopular press coverage (newspapers and radio)

Page 30: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

System Distribution Model (example)

30

Page 31: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

The Implementation Platform

31

Page 32: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Other Systems using FREE MPOWER

Croatian POCA by ETKJava Swing implementation of Norwegian POCAManagement Interface

Austrian Synchronizer Services by ARCExport / Import

Google HealthGoogle Calendar

Austrian Communication Services by ARCSIP clients and servers

Page 33: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly33

Google Health and Calendar Export

Page 34: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly34

Export - iCal Subscription

Page 35: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Evaluation Installation of Polish POCA in a residence for elderly in Lubmomierz, Poland5 elderly in Trondheim, Norway have been using the Norwegian POCA for almost a yearScientific publications have been and will be published

35

Page 36: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

FREE MPOWER

Free-mpower open source projectA way to extend the collaboration of partners after project MPOWER finishesA way to attract other people to share their code and extend theexisting code-baseA way to reuse the existing services as a basis for future EU projectsA way to open new business opportunities

36

Page 37: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Free-mpower

• Free-mpower is hosted on SourceForge– http://sourceforge.net/projects/free-mpower/– Everyone can browse and acquire the

• Source code• Basic documentation• Submit requests

– Current members choose who can join in • Current members = MPOWER partners

– Members can:• Post code• Make documentation• Post pictures

37

Page 38: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Services and documentation can be downloaded

All MPOWER services are made open source, e.g.,Databasemanagement service (with init data) Patient ManagerCalendar ServicesMessage Board ServicesLocation ServicesFrame Sensor ServicesBusiness Services: Alarm Notification

DocumentationServicesOverall Architecture

Page 39: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Who can use and how

Everyone can useShort-term: student projects, proof of concept, rapid prototypingLong-term: EU projects, commercial solutions

ExampleInstall required tools: Netbeans bundle, OracleDownload sources from SourceForgeCompile and DeployUse in your favourite IDE, e.g., Netbeans “Web Service Client”drag-and-drop

Page 40: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Standardization

Healthcare Service Specification Project (HSSP)OMG/HL7Eclipse, CEN TC251, OpenEHR,

Initiating AAL groupSINTEF, Ericsson Nikola Tesla, +++

Proposed ServicesReminder ServiceMessage Board Service

Page 41: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Summary

MPOWER Project offers open source web service implementations of domain specific service for smart homecare

Identified and designed carefullyUsed in real development projectsContinously being updated

Some services are proposed as “standards” to HSSPCalendar/reminder service: HL7Message board service: HL7AAL group being established by Ericsson Nikola Tesla and SINTEF

Page 42: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

My 3 goals for today

Show you how MPOWER open source services are made from and linked to real user needs and scenariosShow you applications that have been built using MPOWER open source servicesInform you about FREE MPOWER – the open source project on Sourceforge

Page 43: FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER Architecture MPOWER Service lifecycle model TOOLCHAIN MDA Process MDA Tools SERVICES ... atomic

IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly

Thank you for listening!

Feel free to contact [email protected]