ist 034707 – middleware platform for empowering cognitive disabled and elderly ttec 2007 m power...
TRANSCRIPT
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