Using Ontologies in the Development of an Innovating System for Elderly People Tele-Assistance URL:

Post on 01-Apr-2015

216 views 1 download

Transcript of Using Ontologies in the Development of an Innovating System for Elderly People Tele-Assistance URL:

Using Ontologies in the Development of an Innovating System for Elderly

People Tele-Assistance

URL: http://siul02.si.ehu.es/

Outline

Goal System architecture Domain Ontology. MedOnt Operational ontology. OperOnt Conclusions Future Work

Goal of the system

To provide high quality assistance to elderly people, giving them more freedom and protection.

This system uses agent technology, semantic web technology and personal Digital Assistant (PDA) with wireless communications.

Our Proposal AINGERU:

– offers an active assistance by using agents that behave in face of anomalous situations;

– offers an anywhere and anytime assistance by using wireless communications and PDAs; and,

– allows to monitor vital signs by using sensors that capture the values of those signus and feed a decision support system that analyzes them and generates an alarm when necessary.

System Architecture

Main elements of the system Two logic-based Ontologies

MedOnt : Domain Ontology

OperOnt: Operational Ontology

Software AgentsThey help to manage the distributed and heterogeneous

framework

They can accomplish tasks autonomously and can interact with other agents

Web ServicesAllow relatives and physicians related to a monitored

person to consult data about user appointments, medicines taken etc.

MedOnt. Goal

to describe the different situations in which a medical alarm has to be activated

In this ontology are described the different symptoms that a user can have, with respect to Vital Constants that several sensors can monitor, and also the usual illnesses that elderly people suffer from.

MedOnt. Main features

• This ontology can be customized for every user. That is, this ontology can be easily adapted to different users depending on their own situation.

• This ontology is being developed by experts (so far we only have a small prototype).

• Described using OWL

OperOnt. Goal We wanted a specification of the system that

would facilitate:1. The interoperability of AINGERU2. The understanding of AINGERU features by external

actors3. The AINGERU evolution

String XML (DTD XML Schema) DAML+OIL (OWL) Ontología

OperOnt: To describe the operational model of AINGERU

OperOnt. Main features The concepts in this ontology are defined independently

from any agent system implementation, so that it helps interoperability among agents without pre-defined agreements.

At the same time, the OperOnt ontology describes contextual information that several agents are able to share (understanding).

This ontology is easily extensible as the functionality of AINGERU increases (evolution)

OperOnt. Steps to arrive to it

Branches:– Actor (Human agents, Software agents, Web

services)– Message (according to their functionality in

FIPA)– Subject (terms about the topic in which the

message is centered)

OperOnt. Decription

OperOnt. Description

OperOnt. Decription

Wait

Assert(OperOnt,m1)

Message m1

<OperOnt:Query>

<OperOnt:ident>m1</OperOnt:ident>

<OperOnt:theSender><OperOnt:ConditionCheckerAgent /></OperOnt:theSender>

<OperOnt:theReceiver><OperOnt:LocationAgent /></OperOnt:theReceiver>

<OperOnt:tryNumber>1</OperOnt:tryNumber>

<OperOnt:theSubject><OperOnt:Location /></OperOnt:theSubject>

<OperOnt:priority>1</OperOnt:priority>

</OperOnt:Query>

M1 LocationQuery

<OperOnt:Query>

<OperOnt:ident>m1</OperOnt:ident>

<OperOnt:theSender><OperOnt:ConditionCheckerAgent /></OperOnt:theSender>

<OperOnt:theReceiver><OperOnt:LocationAgent /></OperOnt:theReceiver>

<OperOnt:tryNumber>1</OperOnt:tryNumber>

<OperOnt:theSubject><OperOnt:Location /></OperOnt:theSubject>

<OperOnt:priority>1</OperOnt:priority>

</OperOnt:Query>

<owl:Class>

<owl:intersectionOf parseType="owl:collection">

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Query"/>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#theSubject"/>

<owl:someValuesFrom>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/subjects#Location"/>

</owl:someValuesFrom>

</owl:Restriction>

</owl:intersectionOf>

<rdfs:subClassOf>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#LocationQuery"/>

</rdfs:subClassOf>

</owl:Class>

Wait

Assert(OperOnt,m1)

L=GetLocation()Assert(OperOnt, Inform, subject.Location)

Message m1

LocationQuery

M2 Inform. M2.theSubject Location<owl:Class>

<owl:intersectionOf parseType="owl:collection">

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Inform"/>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#theSubject"/>

<owl:someValuesFrom>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/subjects#Location"/>

</owl:someValuesFrom>

</owl:Restriction>

</owl:intersectionOf>

<rdfs:subClassOf>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#LocationInform"/>

</rdfs:subClassOf>

</owl:Class>

M2 LocationInform

M2 LocationInform

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#LocationInform">

<rdfs:label>LocationInform</rdfs:label>

<rdfs:subClassOf>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Inform-result/>

</rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Inform-result">

<rdfs:label>Inform-result</rdfs:label>

<rdfs:subClassOf>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Inform"/>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#theInform"/>

<owl:someValuesFrom rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/>

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

M2 LocationInform Inform-result

M2 LocationInform Inform-result Inform<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Inform">

<rdfs:label>Inform</rdfs:label>

<rdfs:subClassOf>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/messages#Message"/>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#theSubject"/>

<owl:someValuesFrom>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/subjects#Subject"/>

</owl:someValuesFrom>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#toWhich"/>

<owl:someValuesFrom>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/subjects#Message"/>

</owl:someValuesFrom>

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

M2 LocationInform Inform-result Inform Message

<owl:Class rdf:about=

"file:/C:/Aingeru/OperOnt/messages#Message">

<rdfs:label>Message</rdfs:label>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource=

"file:/C:/Aingeru/OperOnt/messages#tryNumber"/>

<owl:someValuesFrom rdf:resource=

"http://www.w3.org/2000/10/XMLSchema#integer"/>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource=

"file:/C:/Aingeru/OperOnt/messages#ident"/>

<owl:someValuesFrom rdf:resource=

"http://www.w3.org/2000/10/XMLSchema#string"/>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#theSender"/>

<owl:someValuesFrom>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/actors#Actor"/>

</owl:someValuesFrom>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="file:/C:/Aingeru/OperOnt/messages#theReceiver"/>

<owl:someValuesFrom>

<owl:Class rdf:about="file:/C:/Aingeru/OperOnt/actors#Actor"/>

</owl:someValuesFrom>

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

Roles: – tryNumber– ident– theSender– theReceiver– theSubject – theInform– toWhich

M2 LocationInform Inform-result Inform Message

Wait

Assert(OperOnt,m1)

L=GetLocation()Assert(OperOnt, Inform, subject.Location)

Send(m2)

Message m1

LocationQuery

LocationInform<OperOnt:Inform>

<OperOnt:ident>m2</OperOnt:ident>

<OperOnt:theSender><OperOnt: LocationAgent /></OperOnt:theSender>

<OperOnt:theReceiver>

<OperOnt: ConditionCheckerAgent />

</OperOnt:theReceiver>

<OperOnt:tryNumber>1</OperOnt:tryNumber>

<OperOnt:theSubject><OperOnt:Location /></OperOnt:theSubject>

<OperOnt:toWhich>m1</OperOnt:toWhich>

<OperOnt:theInform>43º18’26’’, -2º0’41’’</OperOnt:theInform>

</OperOnt:Inform>

Conclusions AINGERU, gives one step forward in the direction

of helping elderly people to increase their quality of life, by:– allowing the monitoring of people anywhere and

anytime. – Moreover, this monitoring is reactive. In order to

perform the detection process, the system uses an application domain ontology, MedOnt.

– Another contribution of the system is the development and management of an operational ontology, OperOnt, that permits agents that take part in the system to communicate at a semantic level.

Future Work

At the system level– To add new functionalities to the system. To

develop new agents.– To improve the users locatization system

At the ontologies level– To add new terms at both ontologies– To run a –DAM+OIL, OWL -reasoner system

at the PDAs