• Nenhum resultado encontrado

A ontologia do Elde Care, está organizada de forma a ser possível consultar e adicionar informação, sendo esta ontologia evolutiva.

Um projecto é adicionado na ontologia como um Sistema, Nó Sensorial ou um Sensor. Os projectos estão ligados a um módulo ou a um sub-módulo que pode agregar um conjunto de projectos. Existem diferentes tipos de projectos, os de recolha de dados, os de consulta de dados e os que apenas fornecem serviços.

Os projectos de recolha de dados devem indicar a informação que recolhem e que pretendem partilhar, contribuindo para uma melhor avaliação do idoso. A informação que é recolhida fica então disponível para consulta, estando o conhecimento e organização disponibilizadas na ontologia.

Os projectos de consulta de dados devem indicar que tipo de dados necessitam e o que vão identificar com esses dados.

Os projectos que fornecem serviços devem indicar quais os seus mecanismos de interacção, quais os serviços que fornecem, indicar o que cada serviço realiza e como os evocar.

Como adicionar Module e subModule

O Elde Care tem uma arquitectura modular. Esta arquitectura permite a ligação de novos módulos. De forma a facilitar a organização da ontologia, os Modules podem conter vários

160

SubModules. Na classe dos Modules existem duas subclasses, a Internal e a External. Na

classe Internal vão estar contidos todos os módulos que fazem parte do projecto Elde Care. A classe External vai conter todos os outros módulos que pretendam estar ligados ao Projecto Elde Care. Na classe SubModule devem de estar todos os sub-módulos que fazem parte de um módulo previamente criado.

Para criar um novo Module tem de se identificar se é um módulo interno ou externo. Para adicionar um módulo Externo tem de se entrar na classe Module -> External e adicionar uma nova subclasse com o nome do módulo a adicionar.

Para adicionar sub-módulos tem de se seleccionar a classe SubModule e adicionar uma nova subclasse com o nome do sub-módulo correspondente.

Após ter sido criado todos os módulos e sub-módulos na ontologia, é necessário ligar os sub- módulos aos módulos correspondentes. Para fazer essa ligação existem as propriedades hasSubModule e hasModuleConnected. A propriedade hasSubModule indica que sub-

161 módulos é que estão ligados a um módulo. A propriedade hasModuleConnected indica que sub-módulos é que estão ligados a um módulo.

Para fazer a ligação no módulo tem de se selecionar o módulo na ontologia e adicionar a propriedade hasSubModule some e o nome do respectivo sub-módulo. Adicionar todos os sub-módulos que pertencem ao módulo criado. Após ter adicionado todas as propriedades, seleccionar as propriedades e converter para uma defined Class(Ctrl+D), em seguida selecionar as propriedades criadas no separador Equivalent classes e criar um closure axiom (seleccionar, botão direito do rato e Create closure axiom).

Para que os sub-módulos estejam ligados ao módulo tem de se adicionar aos submoódulos criados a propriedade hasModuleConnected para indicar a que modulo é que o sub-módulo correspondente pertence. Para fazer esta ligação, tem de se adicionar a propriedade na superclasse hasModuleConnected some e escolher qual o módulo a que pertence.

162 Desta forma a ligação dos modules com os subModules fica efectuada, ficando registada a informação dos sub-módulos, que pertencem ao módulo.

163

Como adicionar um novo projecto

Na ontologia adicionar uma nova instância do tipo Sensor ou SensoryNode ou System.

Há nova instância criada tem de se criar novos indivíduos que vão conter as suas propriedades e os dados que vai armazenar.

164 No caso de ser um Sensor ou um SensoryNode as propriedades são as mesmas sendo designadas por SensorProperty. O primeiro indivíduo a criar deve conter as propriedades do projecto (Object property assertions).

Os restantes indivíduos a ser criados vão indicar que tipo de dados é que o sensor recolhe. Assim para cada tipo de dados recolhido é necessário um novo indivíduo que indica que tipo de dados é recolhido, qual a fórmula de conversão para o SIU e qual a precisão dos dados recolhidos. Neste indivíduo tem de se indicar qual o tipo de dados recolhido e qual o tipo de dados que vai originar após a conversão, utilizando a formula de conversão para o SIU. Para adicionar esta informação tem de se adicionar à propriedade Object property assertions do tipo: DataCollectedProperty -> hasDataCollected e escolher o tipo de dados que o sensor vai recolher. Esta propriedade indica o tipo de dados que o sensor recolhe. A propriedade

DataCollectedProperty ->isDataCollectedConvertedTo indica que tipo de dado é que a

165 As Data property assertions vão identificar indicar qual a precisão dos dados recolhidos e qual a fórmula que converte os dados para o sistema internacional de unidades(SIU). Para adicionar as Data property assertions ao sensor tem de se adicionar no campo hasPropertyValues -> hasSensorPropertyValue.

166 Os campos das propriedades devem de ser todos preenchidos, caso existam, pois são eles que possibilitam a identificação do Sensor ou SensoryNode. No caso da propriedade

HasListSensorDataCollected tem duas sub-propriedades, uma que indicam a fórmula de

conversão para o sistema internacional de unidades hasConvertionFormulaSIUValue e a outra que indica a precisão com que esse valor é medido hasRawDataCollectedValue. Estas duas propriedades devem de ser preenchidas em conjunto. No caso de o sensor recolher vários tipos de dados, deve-se adicionar um indivíduo por cada tipo de dados.

Para facilitar a identificação dos indivíduos ao projecto, é recomendável que o nome dos indivíduos inicie pelo nome do projecto concatenado com a característica do indivíduo. Por exemplo caso o indivíduo defina as propriedades de um sensor deve de ser

167

Propriedades do SensorNode

Um SensoNode tem a possibilidade de agregar diversos Sensors. De forma a indicar quais os sensores que se encontram ligados ao SensorNode, foi criada a propriedade hasSensor que indica quais são os Sensors que estão agregados ao SensorNode. Desta forma, é possível dar a conhecer quais são os sensores que estão ligados a um nó sensorial.

Esta propriedade também se pode aplicar aos Ssystems, indicando que Sensor é que fazem parte do system.

Um SensorNode pode estar ligado apenas um elderly de cada vez. Para incluir um idoso a um SensorNode tem de se adicionar a propriedade hasElderly value e o idoso correspondente.

168 Esta propriedade também pode ser usada pelo Sensor ou pelo System. Desta forma também é possível ligar um idoso a um sensor ou a um sistema.

Ligação entre projectos, módulos e sub-módulos

Os projectos que são adicionados ao Elde Care podem pertencer a um module ou a um

submodule. Para indicar a ligação que existe entre os projectos, os module e submodule foram

criadas as propriedades hasSubModule e hasModuleConnected. A propriedade hasSubModule indica quais são os sub-módulos que estão ligados ao module ou a um projecto (Sensor,

SensorNode,System). A propriedade hasModuleConnected indica quais são os module que

estão ligados ao submodule ou a um projecto.

De forma a indicar na ontologia as ligações existentes entre os modules e os submodules ou projectos tem de se adicionar a propriedade hasSubModule some e o nome do submodule ou

169 projecto. Esta propriedade é adicionada na superclasses do module que foi previamente criado. Após se adicionar a propriedade tem de se seleccionar a propriedade e converter para uma defined Class(Ctrl+D), em seguida seleccionar a propriedade criada no separador

Equivalent classes e criar um closure axiom (seleccionar, botão direito do rato e Create closure axiom)

Para indicar na ontologia as ligações existentes entre os modules e os submodules ou projectos tem de se adicionar a propriedade hasModuleConnected some e o nome do module ou projecto. Esta propriedade é adicionada na superclasses do submodule ou projecto que foi previamente criado. Após se adicionar a propriedade tem de se seleccionar a propriedade e converter para uma defined Class(Ctrl+D), em seguida selecionar a propriedade criada no separador Equivalent classes e criar um closure axiom (seleccionar, botão direito do rato e Create closure axiom)

170

Tipos de dados existentes

Na ontologia estão definidos os tipos de dados que o projecto Elde Care conhece. Os tipos de dados estão separados em três grupos distintos: os tipos de dados suportados pela base de dados, os tipos de dados pertencentes ao International System Units e os tipos de dados que são recolhidos pelos projectos externos.

Para organizar estes tipos de dados, foi criado na ontologia a classe DataType que vai albergar todos os tipos de dados existentes no mundo Elde Care.

Os tipos de dados suportados pela Base de dados estão identificados na classe DataTypeSuportedDB. Nesta classe existem os tipos de dados que a base de dados do Elder Care trabalha. Ou seja sempre que são executados pedidos à base de dados, ela recebe e devolve apenas nos tipos de dados que são indicados nesta classe. Os tipos nesta classe são indicados pelo nome dos indivíduos que nela estão contidos. Por exemplo: string que indica que é um campo do tipo texto.

Os tipos de dados pertencentes ao SIU, indicam os tipos de dados que são devolvidos pela fórmula de conversão dos projectos. Desta forma é possível uniformizar os dados por tipos. Cada indivíduo desta classe indica o tipo de dados a que se refere, tendo como propriedade o

171 tipo de dados que devolve e a unidade que esse valor representa. Por exemplo o indivíduo

acceleration tem como propriedades de unidade: double e como propriedade de unidades: meter per second.

Os tipos de dados recolhidos pelos projectos externos, indicam quais os tipos de dados recolhidos pelos projectos. Nesta classe os indivíduos não têm propriedades por estas encontram-se definidas nas definições dos projectos que as utilizam. apenas se encontra a indicação dos tipos de dados que são recolhidos, sem ter unidades específicas. Para os identificar e saber que são os dados recolhidos sem conversão, estes têm a terminação em DC indicando DataCollected.

Tipos de dados possíveis de adicionar

Devido ao crescente número e tipos de sensores é impossível conseguir inserir todos os tipos de dados de recolha que existem. Assim cada projecto pode adicionar novos tipos de dados dataCollected. Para adicionar um novo tipo de dados de recolha basta adicionar um novo indivíduo na classe DataType -> DataCollected e identificar esse indivíduo com a terminação em DC

172 As duas outras classes existentes na classe DataType só podem ser alteradas pelos administradores do sistema, ou seja, os projectos que se ligam ao Elde Care só podem adicionar dados do tipo DataCollected. Isto só acontece pois os tipos de dados suportados pela base de dados são previamente definidos para manter a compatibilidade entre os vários sistemas do Elde Care . O SIU é uma tabela que já se encontra definida.

173

Serviços na Ontologia

O projecto Elde Care não pretende unicamente recolher dados de projectos externos e internos. Pretende, também, divulgar os serviços que estão disponibilizados. Para que um projecto partilhe os seus serviços, tem de adicionar uma nova subclasse à classe Services e adicionar um indivíduo por cada serviço disponibilizado. No projecto que disponibiliza os serviços tem de se adicionar a propriedade hasService some ServiceIM (subclasse criada previamente) na superclasse. No Protégé tem de se seleccionar a propriedade e converter para uma defined Class(Ctrl+D), em seguida seleccionar a propriedade criada no separador

Equivalent classes e criar um closure axiom (seleccionar, botão direito do rato e Create closure axiom).

Para dar a conhecer o que o serviço faz, deve-se adicionar uma breve descrição do serviço em comentário.

174 Como os serviços disponibilizados têm de receber um ficheiro XML cada indivíduo relativo a um serviço tem de ter a propriedade HasXsdFileService a indicar qual o ficheiro XSD utilizado para validar o ficheiro XML para comunicar. Desta forma é possível utilizar o serviço que disponibiliza os ficheiros XSD para pedir esse mesmo ficheiro para poder comunicar com o serviço pretendido.

Para quem pretender conhecer os serviços disponibilizados na ontologia, pode questionar a ontologia acerca dos serviços existentes. Para tal, basta ir ao separador DL Query e escrever

Services. Na lista apresentada, pode-se escolher as subclasses que são todos os projectos que

disponibilizam serviços. Caso se escolha também os indivíduos, aparece listado todos os serviços disponibilizados na ontologia por todos os projectos. Após se saber o nome do serviço e em que projecto é que se encontra disponibilizado, tem de se ir ao separador

individuals e ver qual o ficheiro XSD que ele pretende bem como qual as suas

175

Utilizadores do sistema

Os utilizadores do sistema são todos os elementos que se encontram registados no Elde Care, e que contribuem de forma directa ou indirectamente ao projecto. O simples facto de só consultar dados, não é um elemento suficiente para ser considerado um utilizador do sistema. Neste caso, não existe nenhuma actividade que traga mais-valias para o projecto.

Existem dois tipos de utilizadores, os projectos que se ligam ao Projecto Elde Care e que contribuem para o projecto Elde Care e as pessoas que e encontram registadas no sistema. Nos projectos que se ligam ao projecto Elde Care estão incluídos os Sensors, SensorNodes, Systems, Modules e Sub-Modules. Estes projectos têm como finalidade, contribuir de alguma forma para a melhoria da qualidade de vida dos idosos. A contribuição pode ser efectuada directa ou indirectamente, ou seja, pode contribuir ajudando directamente, fornecendo serviços, recolhendo dados, analisando dados ou simplesmente fornecendo ferramentas que ajudem na interligação de dados entre sistemas. As pessoas que estão registadas no sistema podem ser classificadas como idoso, médico ou Contacto. Sendo que uma pessoa pode estar englobada nos três grupos em simultâneo. Os idosos são as pessoas que vão ser monitorizadas por algum sistema do Elde Care. Os médicos são as pessoas que têm o direito de exercer medicina e que estão registados no sistema. Os contactos são todas as pessoas que estão registadas no sistema e que estão na lista de contacto de um idoso.

Como adicionar um Projecto como utilizador do sistema

Para que um projecto seja considerado um utilizador do sistema, tem de ser adicionado na ontologia seguindo os passos do capítulo como adicionar um novo projecto. Desta forma o projecto fica adicionado na ontologia e é-lhe atribuído uma chave única. Para que esse projecto seja considerado utilizador do sistema, tem de preencher a data property assertion

176 o projecto é um utilizador do sistema. Para deixar de ser um utilizador do sistema, a propriedade tem de ser preenchida com o valor “0”.

Como adicionar uma pessoa no sistema

Uma pessoa é um indivíduo que é adicionada na classe User -> Person e que pode interagir com o sistema. O nome do indivíduo criado tem de ser único, ou seja não pode estar repetido na ontologia. Todas as pessoas adicionadas têm de ter uma data de nascimento. Para tal tem de se preencher a data property assertion hasDateBirthValue do tipo DateTime onde o formato da data é yyyy-mm-ddThh:mm:ss.

Documentos relacionados