FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER...
Transcript of FREE MPOWER – Open source Web Services for Smart Homecare · Developer handbook MPOWER...
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
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
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
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
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
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
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
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?
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Describe domain and scenarios
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)
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
The ActorModel (diagram)
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Example of Actor-Role model
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Actors and Roles in Use Cases: Calendar example
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
The Service Model
Derived from the Use Case modelsCommunication ServicesInformation ServicesManagement ServicesSensor ServicesSecurity Services
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
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Example of Service
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Reference System
17
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
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»
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Service Design in UMLScenariosUseCasesFeatures/RequirementsServicesInterfacesOperationsMessages
…and in accordance with SOA4HL7 methodology
Traceability
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
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
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
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Norwegian proof-of-concept application
Day’s eventsCalendar & remindersContactsMessage boardLocal newsMedications
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
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Polish proof-of-concept application
Resident loginResidenthomepageMessaging systemVideo callsAlarm
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Polish proof-of-concept application
Caregiver loginResident info viewAlarm handlingSensor managementDoor lock managementTracking
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
User acceptance test - Poland
Testing in progressDone in an elderlyhouse equippedwith sensors
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Contributions
Arranging two workshops 10+ scientific articlesPopular press coverage (newspapers and radio)
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
System Distribution Model (example)
30
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
The Implementation Platform
31
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
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly33
Google Health and Calendar Export
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly34
Export - iCal Subscription
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
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
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
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
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
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
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
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
IST 034707 – Middleware Platform for eMPOWERing cognitive disabled and elderly
Thank you for listening!
Feel free to contact [email protected]