<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0123-2126</journal-id>
<journal-title><![CDATA[Ingeniería y Universidad]]></journal-title>
<abbrev-journal-title><![CDATA[Ing. Univ.]]></abbrev-journal-title>
<issn>0123-2126</issn>
<publisher>
<publisher-name><![CDATA[Pontificia Universidad Javeriana]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0123-21262011000200009</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Plataforma de descubrimiento de servicios para ambientes de computación ubicua basada en preferencias de usuario, especificaciones de dispositivos y contexto de entrega]]></article-title>
<article-title xml:lang="en"><![CDATA[Service Discovery Platform for Ubiquitous Computing Environments based on User Preferences, Device Specifications and Delivery Context]]></article-title>
<article-title xml:lang="pt"><![CDATA[Plataforma de descobrimento de serviços para ambientes de computação ubíqua baseada em preferências de usuário, especificações de dispositivos e contexto de entrega]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Corrales-Muñoz]]></surname>
<given-names><![CDATA[Juan Carlos]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Suárez-Meza]]></surname>
<given-names><![CDATA[Luis Javier]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rojas-Potosí]]></surname>
<given-names><![CDATA[Luis Antonio]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad del Cauca Grupo de Ingeniería Telemática ]]></institution>
<addr-line><![CDATA[Cauca ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad del Cauca Grupo de Ingeniería Telemática ]]></institution>
<addr-line><![CDATA[Popayán ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad del Cauca Grupo de Ingeniería Telemática ]]></institution>
<addr-line><![CDATA[Popayán ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>07</month>
<year>2011</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>07</month>
<year>2011</year>
</pub-date>
<volume>15</volume>
<numero>2</numero>
<fpage>445</fpage>
<lpage>467</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0123-21262011000200009&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0123-21262011000200009&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0123-21262011000200009&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El buscar mejoras en la capacidad de entregar servicios que cumplan con las solicitudes del usuario ha llevado a desarrollar diversos proyectos orientados al descubrimiento de servicios y a entenderlo como una fase importante dentro del proceso de composición. Este descubrimiento ha tenido que adaptarse para generar una búsqueda que satisfaga la actual diversidad de dispositivos utilizados para acceder a los servicios y el aumento de sus capacidades, mostrando un avance hacia el concepto de computación ubicua. El presente artículo propone un mecanismo que, utilizando los conceptos de preferencias de usuario, especificaciones de dispositivos y contexto de entrega, oriente el descubrimiento de servicios a entornos ubicuos. Así, el mecanismo de descubrimiento propuesto trabaja sobre procesos BPEL, que representan los servicios disponibles en la red ubicua, abstraídos a una representación formal de grafos, a fin de trasladar el problema del emparejamiento de archivos BPEL a un emparejamiento de grafos. De forma que es posible obtener un emparejamiento aproximado si no existe un servicio que corresponda exactamente con los requisitos del usuario.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The search for improvements in the ability to deliver services that meet user requests has led to the development of numerous projects aimed at service discovery, which is an important stage in the composition process. This discovery has required adaptations aimed at finding suitable devices for accessing services and increasing its capacity. This has led to advances toward the concept of ubiquitous computing. This paper presents a mechanism which uses the concepts of user preferences, device specifications, and delivery context, in order to assist the discovery of services in ubiquitous environments. The proposed discovery mechanism works based on BPEL processes, which represents the services available in the ubiquitous network. They are abstracted to a formal representation of Graphs in order to move the BPEL files matching problem towards Graphs matching. This makes it possible to obtain an approximate matching in the absence of a service that totally matches user requirements.]]></p></abstract>
<abstract abstract-type="short" xml:lang="pt"><p><![CDATA[Procurar melhorias na capacidade de entregar serviços que cumpram com as solicitações do usuário tem levado ao desenvolvimento de diversos projetos orientados ao descobrimento de serviços e a entendê-lo como uma fase importante dentro do processo de composição. Este descobrimento vem sendo adaptado para gerar uma busca que satisfaça a atual diversidade de dispositivos utilizados para acessar os serviços e o aumento de suas capacidades, mostrando um progresso na direção do conceito de computação ubíqua. Este artigo propõe um mecanismo que, utilizando os conceitos de preferências de usuário, especificações de dispositivos e contexto de entrega oriente o descobrimento de serviços a ambientes ubíquos. Dessa forma, mecanismo de descobrimento proposto trabalha sobre processos BPEL, que representam os serviços disponíveis na rede ubíqua, abstraídos a uma representação formal de grafos, com o objetivo de trasladar o problema do emparelhamento de arquivos BPEL a um emparelhamento de grafos. De forma que é possível obter um emparelhamento aproximado se não existe um serviço que corresponda exatamente com os requisitos do usuário.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Computación ubicua]]></kwd>
<kwd lng="es"><![CDATA[servicios a usuarios de información]]></kwd>
<kwd lng="es"><![CDATA[usuarios de información]]></kwd>
<kwd lng="en"><![CDATA[Ubiquitous computing]]></kwd>
<kwd lng="en"><![CDATA[services for the users of information]]></kwd>
<kwd lng="en"><![CDATA[information users]]></kwd>
<kwd lng="pt"><![CDATA[Computação ubíqua]]></kwd>
<kwd lng="pt"><![CDATA[serviço a usuários de informação]]></kwd>
<kwd lng="pt"><![CDATA[usuários de informação]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[   <font face="verdana" size="2">      <p align="center"><b><font size="4">Plataforma de descubrimiento de servicios para ambientes de computaci&oacute;n ubicua basada en preferencias de usuario, especificaciones de dispositivos y contexto de entrega<sup>1</sup></font></b></p>      <p align="center"><b><font size="3">Service Discovery Platform for Ubiquitous Computing Environments based on User Preferences, Device Specifications and Delivery Context<sup>2</sup></font></b></p>      <p align="center"><b><font size="3">Plataforma de descobrimento de servi&ccedil;os para ambientes de computa&ccedil;&atilde;o ub&iacute;qua baseada em prefer&ecirc;ncias de usu&aacute;rio, especifica&ccedil;&otilde;es de dispositivos e contexto de entrega<sup>3</sup></font></b></p>      <p align="center">Juan Carlos Corrales-Mu&ntilde;oz<sup>4</sup>    <br> Luis Javier Su&aacute;rez-Meza<sup>5</sup>    <br> Luis Antonio Rojas-Potos&iacute;<sup>6</sup></p>      <p><sup>1</sup>Este art&iacute;culo se deriva de un proyecto de investigaci&oacute;n denominado Desarrollo del producto iCom Centrex IP sobre una arquitectura de servicios convergentes soportada en tecnolog&iacute;as abiertas, desarrollado por el grupo de Ingenier&iacute;a Telem&aacute;tica (GIT) y financiado por Colciencias, Avatar Ltda. y la Universidad del Cauca, Popay&aacute;n, Colombia.     <br> <sup>2</sup>Submitted on: July 5, 2010. Accepted on: March 10, 2011. This article results from the research project Developing the Product iCom Centrex IP on a Convergent Service Architecture Based on Open Technologies, developed by the research group GIT and financed by Colciencias, Avatar Ltd and the Universidad del Cauca, Popay&aacute;n, Colombia.     <br> <sup>3</sup>Data de recep&ccedil;&atilde;o: 5 de julho de 2010. Data de aceita&ccedil;&atilde;o: 10 de mar&ccedil;o de 2011. Este artigo se deriva de um projeto de pesquisa denominado Desenvolvimento do produto iCom Centrex IP sobre una arquitetura de servi&ccedil;os convergentes suportada em tecnologias abertas, desenvolvido pelo grupo de Engenharia Telem&aacute;tica (GIT) e financiado por Colciencias, Avatar Ltda. e pela Universidad do Cauca, Popay&aacute;n, Col&ocirc;mbia.     ]]></body>
<body><![CDATA[<br> <sup>4</sup>Ingeniero en electr&oacute;nica y telecomunicaciones, Universidad del Cauca, Popay&aacute;n, Colombia. Mag&iacute;ster en Ingenier&iacute;a Telem&aacute;tica, Universidad del Cauca. PhD in Computer Science, University of Versailles Saint-Quentin-en-Yvelines, Francia. Docente y coordinador del Grupo de Ingenier&iacute;a Telem&aacute;tica, Cauca, Colombia. Correo electr&oacute;nico: <a href="mailto:jcorral@unicauca.edu.co">jcorral@unicauca.edu.co</a>.     <br> <sup>5</sup>Ingeniero en electr&oacute;nica y telecomunicaciones, Universidad del Cauca, Popay&aacute;n, Colombia. Miembro del Grupo de Ingenier&iacute;a Telem&aacute;tica, Universidad del Cauca. Correo electr&oacute;nico: <a href="mailto:ljsuarez@unicauca.edu.co">ljsuarez@unicauca.edu.co</a>.     <br> <sup>6</sup>Ingeniero en electr&oacute;nica y telecomunicaciones, Universidad del Cauca, Popay&aacute;n, Colombia. Miembro del Grupo de Ingenier&iacute;a Telem&aacute;tica, Universidad del Cauca. Correo electr&oacute;nico: <a href="mailto:luisrojas@unicauca.edu.co">luisrojas@unicauca.edu.co</a>.</p>     <p>Fecha de recepci&oacute;n: 5 de julio de 2010. Fecha de aceptaci&oacute;n: 10 de marzo de 2011. </p>  <hr>      <p><b><font size="3">Resumen</font></b></p>      <p>El buscar mejoras en la capacidad de entregar servicios que cumplan con las solicitudes del usuario ha llevado a desarrollar diversos proyectos orientados al descubrimiento de servicios y a entenderlo como una fase importante dentro del proceso de composici&oacute;n. Este descubrimiento ha tenido que adaptarse para generar una b&uacute;squeda que satisfaga la actual diversidad de dispositivos utilizados para acceder a los servicios y el aumento de sus capacidades, mostrando un avance hacia el concepto de computaci&oacute;n ubicua. El presente art&iacute;culo propone un mecanismo que, utilizando los conceptos de preferencias de usuario, especificaciones de dispositivos y contexto de entrega, oriente el descubrimiento de servicios a entornos ubicuos. As&iacute;, el mecanismo de descubrimiento propuesto trabaja sobre procesos BPEL, que representan los servicios disponibles en la red ubicua, abstra&iacute;dos a una representaci&oacute;n formal de grafos, a fin de trasladar el problema del emparejamiento de archivos BPEL a un emparejamiento de grafos. De forma que es posible obtener un emparejamiento aproximado si no existe un servicio que corresponda exactamente con los requisitos del usuario.</p>      <p><b>Palabras clave:</b> Computaci&oacute;n ubicua, servicios a usuarios de informaci&oacute;n, usuarios de informaci&oacute;n.</p>  <hr>      <p><b><font size="3">Abstract </font></b></p>      <p>The search for improvements in the ability to deliver services that meet user requests has led to the development of numerous projects aimed at service discovery, which is an important stage in the composition process. This discovery has required adaptations aimed at finding suitable devices for accessing services and increasing its capacity. This has led to advances toward the concept of ubiquitous computing. This paper presents a mechanism which uses the concepts of user preferences, device specifications, and delivery context, in order to assist the discovery of services in ubiquitous environments. The proposed discovery mechanism works based on BPEL processes, which represents the services available in the ubiquitous network. They are abstracted to a formal representation of Graphs in order to move the BPEL files matching problem towards Graphs matching. This makes it possible to obtain an approximate matching in the absence of a service that totally matches user requirements.</p>      <p><b>Key words: </b>Ubiquitous computing, services for the users of information, information users.</p>  <hr>      ]]></body>
<body><![CDATA[<p><b><font size="3">Resumo </font></b></p>      <p>Procurar melhorias na capacidade de entregar servi&ccedil;os que cumpram com as solicita&ccedil;&otilde;es do usu&aacute;rio tem levado ao desenvolvimento de diversos projetos orientados ao descobrimento de servi&ccedil;os e a entend&ecirc;-lo como uma fase importante dentro do processo de composi&ccedil;&atilde;o. Este descobrimento vem sendo adaptado para gerar uma busca que satisfa&ccedil;a a atual diversidade de dispositivos utilizados para acessar os servi&ccedil;os e o aumento de suas capacidades, mostrando um progresso na dire&ccedil;&atilde;o do conceito de computa&ccedil;&atilde;o ub&iacute;qua. Este artigo prop&otilde;e um mecanismo que, utilizando os conceitos de prefer&ecirc;ncias de usu&aacute;rio, especifica&ccedil;&otilde;es de dispositivos e contexto de entrega oriente o descobrimento de servi&ccedil;os a ambientes ub&iacute;quos. Dessa forma, mecanismo de descobrimento proposto trabalha sobre processos BPEL, que representam os servi&ccedil;os dispon&iacute;veis na rede ub&iacute;qua, abstra&iacute;dos a uma representa&ccedil;&atilde;o formal de grafos, com o objetivo de trasladar o problema do emparelhamento de arquivos BPEL a um emparelhamento de grafos. De forma que &eacute; poss&iacute;vel obter um emparelhamento aproximado se n&atilde;o existe um servi&ccedil;o que corresponda exatamente com os requisitos do usu&aacute;rio.</p>      <p><b>Palavras chave: </b>Computa&ccedil;&atilde;o ub&iacute;qua, servi&ccedil;o a usu&aacute;rios de informa&ccedil;&atilde;o, usu&aacute;rios de informa&ccedil;&atilde;o.</p>  <hr>      <p><b><font size="3">Introducci&oacute;n </font></b></p>      <p>Debido a la evoluci&oacute;n de las tecnolog&iacute;as de comunicaciones y a la gran diversidad de dispositivos m&oacute;viles que han emergido en los &uacute;ltimos a&ntilde;os, que respaldan cada vez m&aacute;s mejores servicios, en la actualidad se evidencia un uso masivo de terminales distribuidos, configurables din&aacute;micamente y en proximidades a los usuarios que permiten un acceso permanente a la informaci&oacute;n. Ello abre paso a la visi&oacute;n introducida por Weiser (1991) con el nombre de <i>computaci&oacute;n ubicua</i>. Seg&uacute;n este autor, la computaci&oacute;n ubicua se describe como la existencia de peque&ntilde;os computadores, con capacidades de comunicaci&oacute;n y computaci&oacute;n, embebidos de forma casi invisible en cualquier tipo de dispositivo cotidiano, que se integran amigablemente con los humanos. Es decir, las personas interact&uacute;an con ellos de forma inconsciente (Almen&aacute;rez, 2005; Weiser, 1991).</p>      <p>Dado que en estos ambientes las personas est&aacute;n centradas en las tareas que deben cumplir, m&aacute;s que en el dispositivo que deben utilizar para ejecutarlas, ya que los equipos pasan inadvertidos, uno de los objetivos de la ubicuidad se enfoca en ayudar a los usuarios a identificar, en cualquier momento y en cualquier lugar, las tareas que se van a realizar, por medio del descubrimiento autom&aacute;tico de los servicios ofrecidos en la red ubicua (Ben Mokhtar et &aacute;l., 2006).</p>      <p>Sin embargo, encontrar un servicio que cumpla exactamente con estas peticiones se convierte en un caso excepcional, ya que la mayor&iacute;a requieren una adaptaci&oacute;n de los servicios disponibles en la red o un proceso de composici&oacute;n de diversas capacidades para ejecutar tareas complejas. De este modo, en contextos tan din&aacute;micos y heterog&eacute;neos como los ambientes ubicuos, es imprescindible contar con mecanismos de descubrimiento de servicios que consideren las preferencias del usuario, especificaciones de dispositivos y contexto de entrega, que ofrezcan la suficiente flexibilidad para reconfigurar los servicios de acuerdo con las variaciones del ambiente.</p>      <p>El descubrimiento de servicios deber&aacute; incorporar las caracter&iacute;sticas necesarias para ser tan din&aacute;mico y aut&oacute;nomo como las condiciones de la red ubicua lo requieran. Por ello la personalizaci&oacute;n es una de caracter&iacute;stica muy importante dentro de este proceso.</p>      <p>El paradigma de la personalizaci&oacute;n se enfoca en adaptar aplicaciones tanto como sea posible a las preferencias y al contexto del usuario. Hace referencia al conjunto de t&eacute;cnicas que permiten proveer al usuario informaci&oacute;n relevante (Abbar et &aacute;l., 2008). La necesidad de tener en cuenta la movilidad y la omnipresencia (Belotti et &aacute;l., 2005) ha impuesto nuevas consideraciones, como la localizaci&oacute;n de usuario, el medio utilizado para la interacci&oacute;n y muchas otras caracter&iacute;sticas agrupadas en el concepto de <i>contexto de usuario.</i></p>      <p>En este art&iacute;culo se argumenta que la personalizaci&oacute;n debe ser considerada dentro del proceso de descubrimiento de servicios y, adem&aacute;s, dicho proceso, requiere una fase de emparejamiento at&oacute;mico que opere sobre modelos de comportamiento, procesos tipo <i>Business Process Execution Language</i> (BPEL) (Andrews, 2010). T&iacute;picamente, BPEL se usa como un lenguaje de orquestaci&oacute;n de servicios, con el objetivo de formar procesos de negocio ejecutables. En la actualidad, el n&uacute;mero de procesos de negocio descritos en BPEL sobre la web y en el &aacute;mbito empresarial se ha incrementado considerablemente. As&iacute; mismo, BPEL es &uacute;til para formar una composici&oacute;n de m&uacute;ltiples servicios que cumpla con los requerimientos del usuario cuando un &uacute;nico servicio no puede realizar la tarea requerida (Corrales, 2008).</p>      ]]></body>
<body><![CDATA[<p>As&iacute;, el presente art&iacute;culo expone un mecanismo de recuperaci&oacute;n de servicios basado en modelos de comportamiento, que considera tanto las preferencias como el contexto del usuario, y cuenta con una etapa de emparejamiento que permite evaluar la distancia sem&aacute;ntica entre los servicios presentes en la red ubicua y los requeridos por el usuario. De esta forma, si no existe un servicio que se ajuste exactamente a las peticiones del cliente, se recuperan y postulan los servicios sem&aacute;nticamente m&aacute;s similares. Para hacer esto, se ha utilizado una representaci&oacute;n formal de grafos, con el objetivo de transformar el problema del emparejamiento de procesos descritos en BPEL a un problema matem&aacute;tico de emparejamiento de grafos, adaptando algoritmos existentes para este prop&oacute;sito.</p>      <p><b><font size="3">1. Trabajos relacionados</font></b></p>      <p>El <i>descubrimiento de servicios</i> se define como la capacidad de encontrar y utilizar posteriormente un servicio basado en alguna descripci&oacute;n publicada de su funcionalidad y par&aacute;metros operacionales (Bandara et &aacute;l., 2007). El descubrimiento de servicios puede abordarse bajo dos enfoques principalmente: descubrimiento sint&aacute;ctico y sem&aacute;ntico.</p>      <p>El descubrimiento sint&aacute;ctico se basa en t&eacute;cnicas de comparaci&oacute;n de interfaces (por ejemplo, UDDI, WSDL, IDL, interfaces RMI, etc.) o palabras clave para buscar servicios. Ello requiere coincidencias exactas sint&aacute;cticas entre las descripciones de los servicios y los par&aacute;metros empleados (Ben Mokhtar et &aacute;l., 2007; Corrales, 2008).</p>      <p>La descripci&oacute;n sem&aacute;ntica de servicios busca la posibilidad de que las m&aacute;quinas realicen un mayor procesamiento y razonamiento sobre los servicios. La principal diferencia con las descripciones sint&aacute;cticas es la forma como se representa la informaci&oacute;n. Mientras la sint&aacute;ctica define los servicios a partir de los mensajes de entrada y salida, tipos y partes de los mensajes, la sem&aacute;ntica ofrece informaci&oacute;n acerca de la funcionalidad del servicio (Ben Mokhtar et &aacute;l., 2007; Corrales et &aacute;l., 2008). La representaci&oacute;n sem&aacute;ntica del contenido de las descripciones de un servicio permiten a las m&aacute;quinas entender y procesar su contenido, a la vez que respalda el descubrimiento e integraci&oacute;n din&aacute;mica de los servicios (Ben Mokhtar et &aacute;l., 2007).</p>      <p>As&iacute; mismo, el descubrimiento de servicios se clasifica en <i>centralizado vs. descentralizado y sint&aacute;ctico vs. sem&aacute;ntico.</i> Actualmente, se observa que los enfoques descentralizados y sem&aacute;nticos son los m&aacute;s adecuados para entornos web y su extensi&oacute;n a ambientes ubicuos (Sellami et &aacute;l., 2009; Bandara et &aacute;l., 2007); pero la aplicaci&oacute;n de razonadores sem&aacute;nticos en ambientes ubicuos aumenta la cantidad de procesamiento requerido para una respuesta, que incremente considerablemente el tiempo de ejecuci&oacute;n. As&iacute;, este es uno de los factores cr&iacute;ticos en este tipo de entornos (Steller y Krishnaswamy, 2009).</p>      <p>De lo anterior, en el presente art&iacute;culo se propone un enfoque de descubrimiento de servicios para entornos ubicuos basado en un emparejamiento sem&aacute;ntico, sin usar razonadores, que proporciona un <i>ranking</i> de servicios que cumple total o parcialmente con la solicitud del usuario. Adem&aacute;s, dentro del proceso de descubrimiento se consideran las preferencias de usuario, las especificaciones/ capacidades de los dispositivos de acceso y su contexto de entrega, con el objetivo de proporcionar flexibilidad para configurar los servicios de acuerdo con los cambios del entorno.</p>      <p><b><font size="3">2. Plataforma de descubrimiento de servicios</font></b></p>      <p>En esta secci&oacute;n describimos la arquitectura de la plataforma de descubrimiento de servicios en ambientes de computaci&oacute;n ubicua <a href="#f1">(Figura 1)</a>. El objetivo de esta plataforma es proveer un mecanismo de recuperaci&oacute;n de servicios en ambientes de computaci&oacute;n ubicua, que tenga en cuenta tanto las preferencias del usuario como las especificaciones de dispositivos y el contexto de entrega.</p>       <p align="center"><a name="f1"><img src="img/revistas/inun/v15n2/v15n2a09f1.jpg"></a></p>      ]]></body>
<body><![CDATA[<p>El usuario interact&uacute;a con la plataforma por medio de una aplicaci&oacute;n que respalda el env&iacute;o de las peticiones expresadas como modelos de comportamiento BPEL. La plataforma recibe las peticiones y las transforma a una representaci&oacute;n formal de grafos para ejecutar la recuperaci&oacute;n de servicios. Esta es mejorada capturando el contexto de entrega del usuario. Igualmente, el perfil del usuario es recuperado y comparado con otros perfiles para disminuir el tiempo de respuesta del sistema. Finalmente, la plataforma retorna los servicios m&aacute;s similares a la consulta realizada por el usuario.</p>      <p>Por otro lado, los proveedores publican sus servicios como procesos BPEL, los cuales son almacenados en el repositorio de servicios y puestos a disposici&oacute;n para ser consumidos. A continuaci&oacute;n se describen brevemente cada uno de los m&oacute;dulos que componen la plataforma:</p>  <ul>     <li><i>Solicitante</i>: corresponde a los clientes m&oacute;viles que interact&uacute;an con la plataforma por medio su navegador web (<i>browser</i>), con el fin de consultar, invocar y consumir los servicios de la red ubicua.</li>     <li><i>Anunciante</i>: este m&oacute;dulo ofrece las capacidades necesarias para que los proveedores publiquen sus servicios en el repositorio de la plataforma. Las descripciones de servicios contienen atributos funcionales, como entradas, salidas, precondiciones, restricciones, etc. Este m&oacute;dulo es implementado mediante una aplicaci&oacute;n web.</li>     <li><i>Parser</i> BPEL <i>a grafos</i>: este m&oacute;dulo permite transformar las descripciones de comportamiento BPEL en su equivalente en grafos. El algoritmo emplea un proceso de transformaci&oacute;n recursivo para cada tipo de actividad estructurada tomando una aproximaci&oacute;n de arriba-abajo (<i>top-down</i>). Las actividades b&aacute;sicas BPEL <i>(invoke, receive y reply</i>) son transformadas en nodos y las secuencias son obtenidas conectando los nodos requeridos por medio de aristas. Las actividades estructuradas son representadas por medio de operadores l&oacute;gicos XOR y AND (Corrales, 2008).</li>     <li><i>M&oacute;dulo de descubrimiento de servicios:</i> basado en un algoritmo de emparejamiento de actividades b&aacute;sicas BPEL (m&oacute;dulo de <i>emparejamiento de servicios</i>) y considerando tanto las preferencias del usuario (repositorio de usuarios) como las capacidades de los terminales m&oacute;viles (<i>repositorio de dispositivos</i>) y las restricciones del contexto del solicitante (m&oacute;dulo de <i>contexto de entrega</i>), este m&oacute;dulo recupera los servicios m&aacute;s similares del <i>repositorio de servicios</i>, como respuesta a una consulta definida por el anunciante. En las siguientes secciones presentamos con detalle las funcionalidades de cada uno de los m&oacute;dulos que lo componen.</li>     </ul>      <p>2.1 <i>Emparejamiento de servicios</i></p>      <p>En esta secci&oacute;n mostramos c&oacute;mo el emparejamiento at&oacute;mico de procesos BPEL es reducido a un emparejamiento de grafos, con el fin de obtener los servicios m&aacute;s pertinentes para el usuario. Tambi&eacute;n, se presenta el mecanismo de consulta que permite obtener la informaci&oacute;n del contexto para que el servicio pueda ser consumido <a href="#f2">(Figura 2)</a>.</p>       <p align="center"><a name="f2"><img src="img/revistas/inun/v15n2/v15n2a09f2.jpg"></a></p>      ]]></body>
<body><![CDATA[<p>Los m&oacute;dulos <i>Adicionar Contexto y el Motor de Consulta</i> implementan el mecanismo de consulta del metadato <i>features.context</i>, que contiene los requerimientos de contexto del servicio, los cuales son descritos a continuaci&oacute;n:</p>   <ul>     <li><i>Motor de consulta</i>: es un motor que obtiene las URI de los archivos BPEL almacenados en el repositorio de procesos de negocio y la informaci&oacute;n contenida dentro del archivo <i>features.context.</i></li>     <li><i>Adicionar contexto:</i> este m&oacute;dulo aprovecha la flexibilidad que la representaci&oacute;n formal basada en grafos ofrece. Una vez el <i>motor de consulta</i> obtiene la informaci&oacute;n de contexto del servicio del archivo features.context, asociado al documento BPEL, este adiciona el atributo <i>AccessType</i> al grafo, haciendo que los nodos que lo componen posean un par&aacute;metro adicional (<i>ActivityType, Operation, PortType, PartnerLink y AccessType</i>). La utilidad de este nuevo atributo se evidencia despu&eacute;s del proceso de emparejamiento, ya que permite filtrar los servicios que no pueden ser consumidos por el dispositivo m&oacute;vil.</li>     </ul>      <p>Antes de ejecutar el algoritmo que empareja las actividades b&aacute;sicas de los grafos (G<sub>Q</sub> y G<sub>T</sub>), es necesaria una etapa previa, encargada de clasificar, organizar y filtrar los nodos que los componen, de acuerdo con su tipo de actividad <i>(m&oacute;dulo clasificador de actividades</i>). De esta forma, s&oacute;lo los nodos que pertenecen al mismo tipo de actividad en G<sub>Q</sub> (grafo de entrada) y G<sub>T</sub> (grafo que va a ser comparado), respectivamente, son comparados, es decir: el conjunto de actividades <i>Invoke<sub>syn</sub> , Invoke<sub>syn</sub> , Receive y Reply.</i></p>      <p>Una vez obtenidos y organizados los nodos, tanto de G<sub>Q</sub> como de G<sub>T</sub> el m&oacute;dulo<i> Analizador de Similitud</i> permite compararlos considerando<i> las reglas de comparaci&oacute;n</i>, funci&oacute;n definida mediante el Algoritmo 1 y el <i>Comparador Ling&uuml;&iacute;stico</i>, definido por la funci&oacute;n <i>LinguisticSimilarity</i> (LS). <i>El Emparejador de Nodos</i> toma como entradas dos nodos, y calcula la distancia sem&aacute;ntica entre ellos. Como se mencion&oacute;, cada nodo posee cinco atributos: <i>ActivityType</i> (AT), <i>Operation</i> (Op), <i>PortType</i> (PT), <i>PartnerLink </i>(PL) y <i>AccessType</i> (AccT), de los cuales tres son considerados en el proceso de emparejamiento (Op, PT y PL), ya que el par&aacute;metro AT permite identificar que los nodos que se van a comparar sean del mismo tipo y el AccT permite filtrar los servicios que no pueden ser consumidos por el dispositivo de acceso.</p>      <p>La funci&oacute;n <i>BasicActivityMatch, </i> presentada en el <a href="#g1">Algoritmo 1</a>, inicia dando prioridad a la comparaci&oacute;n de Op. Si las dos operaciones son similares (<i>SimOperation</i>&gt; 0), se continua con c&aacute;lculo de la similitud de los dem&aacute;s par&aacute;metros (PT y PL) para estimar la distancia entre las dos actividades, <i>DistanceNode</i>. Los pesos <i>Wop, Wpt y Wpl</i> indican la contribuci&oacute;n de la similitud de los atributos Op, PT y PL a la similitud de las actividades (0 &le; Wop &le; 1, 0 &le; Wpt &le; 1 y 0 &le; Wpl &le; 1). En el c&aacute;lculo de la similitud de los atributos se emplea la funci&oacute;n LS, que calcula la similitud ling&uuml;&iacute;stica entre dos etiquetas bas&aacute;ndose en sus nombres. Para obtener esta medida se utilizan los algoritmos <i>NGram, CheckSynonym y CheckAbbreviation</i> (Corrales et &aacute;l., 2010).</p>      <p align="center"><a name="g1"><img src="img/revistas/inun/v15n2/v15n2a09g1.jpg"></a></p>       <p>El algoritmo <i>NGram</i> estima la similitud de acuerdo con el n&uacute;mero com&uacute;n de qgramas entre las etiquetas (Angell et &aacute;l., 2002). El algoritmo <i>CheckSynonym </i>utiliza el diccionario ling&uuml;&iacute;stico WordNet (Miller, 1995) para identificar sin&oacute;nimos, mientras el algoritmo <i>CheckAbbreviation</i> usa un diccionario de abreviaciones adecuado al dominio de aplicaci&oacute;n. Si todos los algoritmos entregan un valor de uno, existe una coincidencia exacta entre las etiquetas; si entregan un valor de cero, no hay similitud entre las palabras. Si los valores entregados por <i>Ngram y CheckAbbreviation</i> son iguales a cero y el valor de <i>CheckSynonym </i>est&aacute; entre cero y uno, el valor total de la similitud es igual a <i>CheckSynonym</i>. Finalmente, si los tres algoritmos arrojan un valor entre cero y uno, la similitud ling&uuml;&iacute;stica es el promedio de los tres. La funci&oacute;n LS se describe a continuaci&oacute;n</p>      <p align="center"><a name="g2"><img src="img/revistas/inun/v15n2/v15n2a09g2.jpg"></a></p>       ]]></body>
<body><![CDATA[<p>Donde: m1 = Sim(<i>NGram</i>), m2 = Sim(<i>CheckSynonym)</i>, m3 = Sim(<i>CheckAbbreviation</i>).</p>      <p>2.2 <i>Contexto de entrega</i></p>      <p>Para la gesti&oacute;n del contexto hemos definido dos par&aacute;metros: las restricciones del contexto del solicitante y los requerimientos del contexto del servicio. Dichas variables se sustentan en el <i>Repositorios de Dispositivos</i> y el <i>Repositorio de Servicios,</i> respectivamente. A continuaci&oacute;n se describe la funci&oacute;n <i>CheckDeliveryContext</i>, la cual permite obtener durante el proceso de descubrimiento, el contexto tanto del usuario como del proveedor de servicios (<a href="#g3">Algoritmo 2</a>).</p>      <p align="center"><a name="g3"><img src="img/revistas/inun/v15n2/v15n2a09g3.jpg"></a></p>      <p>La funci&oacute;n <i>CheckDeliveryContext</i> toma el ranking de los servicios obtenidos en la fase de emparejamiento de actividades b&aacute;sicas y verifica los requerimientos de contexto de los servicios recuperados del <i>Repositorio de Servicios</i>. Las restricciones de contexto del usuario son determinadas a trav&eacute;s del <i>Repositorio de Dispositivos</i> mediante las cabeceras HTTP UAProf y WURFL. As&iacute;, las caracter&iacute;sticas de los dispositivos son relacionadas con las restricciones del proveedor de servicios. En primer lugar, el perfil del dispositivo es obtenido desde el <i>Repositorio de Dispositivos</i>. Luego, el descriptor features.context es recuperado para cada servicio contenido en el <i>Repositorio.</i> Posteriormente, la funci&oacute;n verifica que el dispositivo sea compatible con las tecnolog&iacute;as de acceso definidas por el proveedor de servicios en el descriptor f<i>eatures.context.</i></p>      <p>2.3 <i>Repositorio de servicios</i></p>      <p>Respaldado por el trabajo presentado en (Vanhatalo et &aacute;l., 2006), permite almacenar documentos BPEL y otro tipo de archivos basados en el est&aacute;ndar XML. Con estos archivos se enriquece el proceso de negocio con caracter&iacute;sticas de contexto. Para ello hemos definido un nuevo metadato que permite expresar/representar las restricciones o requerimientos del contexto del servicio.</p>      <p>El metadato denominado features.context contiene el nombre del servicio al cual est&aacute; asociado (<i>Holidays</i>), una lista de los tipos de red soportados (<i>bluetooth, wifi, gsm, gprs</i>) y tambi&eacute;n una lista de la caracter&iacute;sticas de presentaci&oacute;n/visualizaci&oacute;n que el dispositivo debe soportar para poder consumir los servicios invocados.</p>      <p>El proveedor de servicios publica tres tipos de documentos que describen sus servicios: BPEL, WSDL <i>y features.context, </i>archivos almacenados en el repositorio de servicios. Cabe resaltar que m&uacute;ltiples caracter&iacute;sticas se pueden definir en el metadato <i>features.context;</i> sin embargo, para el presente art&iacute;culo se consider&oacute; solo el tipo de acceso como caracter&iacute;stica de contexto (<i>networkaccesses</i>), ya que el estudio y valoraci&oacute;n de un solo par&aacute;metro permite establecer su funcionalidad. No obstante, la posibilidad de tener en cuenta m&aacute;s par&aacute;metros est&aacute; abierta, tal como se presenta en la <a href="#f3">Figura 3</a>.</p>      <p align="center"><a name="f3"><img src="img/revistas/inun/v15n2/v15n2a09f3.jpg"></a></p>       ]]></body>
<body><![CDATA[<p>2.4<i> Repositorio de dispositivos </i></p>      <p>Soporta la segunda variable que corresponde a la descripci&oacute;n de capacidades de los dispositivos que solicitan los servicios, denominada <i>restricciones del contexto del solicitante.</i> Para esto se consideraron las siguientes caracter&iacute;sticas de contexto:</p>  <ul>     <li><i>Espacial:</i> contiene todos los par&aacute;metros asociados con informaci&oacute;n geogr&aacute;fica y espacial, como son la longitud y latitud desde la cual un usuario accede al servicio.</li>     <li><i>Temporal</i>: contiene informaci&oacute;n sobre el momento (tiempo) y la fecha en la cual se hace una petici&oacute;n al sistema o es invocado el servicio.</li>     <li><i>Datos del equipo</i>: representa la informaci&oacute;n del equipo como <i>software</i> soportado e instalado. <i>Hardware</i> y tipo de sistema operativo son &uacute;tiles para procesos de adaptaci&oacute;n de contenido. Estos par&aacute;metros abarcan, adem&aacute;s, la informaci&oacute;n contenida en diferentes est&aacute;ndares utilizados para este prop&oacute;sito como el CC/ PE 3.5 Repositorio de Usuarios.</li>     </ul>      <p>De Guerrero et &aacute;l. (2010) se tiene que los diferentes conjuntos de datos que conforman un <i>Perfil de Usuario</i> y que se han denominado Dimensiones del <i>Perfil de Usuario</i> son: datos personales y dominio de intereses. En la <a href="#f4">Figura 4</a> se presenta el metamodelo general del Perfil de Usuario definido. A continuaci&oacute;n se explican cada una de estas dimensiones.</p>       <p align="center"><a name="f4"><img src="img/revistas/inun/v15n2/v15n2a09f4.jpg"></a></p>   <ul>     <li><i>Dominio de inter&eacute;s:</i> la informaci&oacute;n de esta dimensi&oacute;n, obtenida de un usuario, depende del &aacute;mbito de aplicaci&oacute;n. La definici&oacute;n de estos par&aacute;metros y valores no se establece en este trabajo, debido al alto nivel de an&aacute;lisis y la desvinculaci&oacute;n a un &aacute;mbito espec&iacute;fico.</li>     <li><i>Datos personales:</i> la dimensi&oacute;n de los datos personales se divide en dos categor&iacute;as (la de los datos de identificaci&oacute;n y los datos demogr&aacute;ficos). Esto se establece, debido a los requerimientos de protecci&oacute;n de la identificaci&oacute;n del usuario.</li>     ]]></body>
<body><![CDATA[</ul>      <p>Estas descripciones se almacenan en el <i>Repositorio de Usuarios</i>. A partir de esta el sistema de descubrimiento realiza un proceso de sugerencia de servicios. La finalidad de este proceso es recomendar un grupo de servicios ya utilizados por el usuario o personas con perfiles similares, y as&iacute; disminuir el tiempo que toma el descubrimiento realizado sobre todo el <i>Repositorio de Servicios.</i></p>      <p>El primer paso en la fase de sugerencia es encontrar usuarios con perfiles similares, para despu&eacute;s utilizar los servicios consultados y consumidos por ellos. <i>La funci&oacute;n FindSimilarProfiles </i>es la encargada de organizar una b&uacute;squeda sobre los perfiles contenidos en el <i>Repositorio de Usuario</i> <a href="#g4">(Algoritmo 3)</a>. Los <i>perfiles de usuario</i> est&aacute;n definidos de acuerdo con el metamodelo de Perfil de Usuario presentado. Para determinar la distancia entre los perfiles, la funci&oacute;n <i>FindSimilarProfiles</i> usa la funci&oacute;n <i>BasicProfileMatch.</i></p>      <p align="center"><a name="g4"><img src="img/revistas/inun/v15n2/v15n2a09g4.jpg"></a></p>       <p>La funci&oacute;n<i> basicProfileMatch</i> <a href="#g5">(Algoritmo 4)</a> calcula la distancia entre una pareja de perfiles. Este c&aacute;lculo se realiza sobre valores de caracter&iacute;sticas que describen el <i>Perfil de Usuario.</i> Debido al aumento en procesamiento y tiempo, se descart&oacute; la posibilidad de utilizar razonadores en esta comparaci&oacute;n. Por eso la distancia es calculada utilizando un diccionario l&eacute;xico como WordNet, que hace este procedimiento similar al emparejamiento de actividades b&aacute;sicas. Esta funci&oacute;n comienza evaluando la similitud de las edades <i>SimAge</i>, luego eval&uacute;a la similitud entre el estado civil <i>SimCSy </i>la similitud de g&eacute;nero <i>SimG</i>; contin&uacute;a con el c&aacute;lculo de la similitud de valores de la lista de dominios de inter&eacute;s <i>SimDoI<sub>ij</sub></i> para estimar la similitud <i>SimDoI</i> general. Por &uacute;ltimo se calcula distancia entre los dos perfiles, DistanceProfile. Los pesos <i>W<sub>age</sub>, W<sub>cs</sub>, W<sub>g</sub> y W<sub>dol</sub> </i>indican la contribuci&oacute;n de la similitud de los atributos DoIlist<sub>i</sub> , Age<sub>i</sub> , CS<sub>i</sub>, y G<sub>i</sub> a la similitud de los perfiles (0 &le; W<sub>age</sub> &le; 1, 0 &le; W<sub>cs</sub> &le; 1, 0 &le; W<sub>g</sub> &le; 1 y 0 &le; W<sub>Dol</sub> &le; 1). Para calcular la similitud de los valores de DoI se emplea la funci&oacute;n LinguisticSimilarity(LS).</p>      <p align="center"><a name="g5"><img src="img/revistas/inun/v15n2/v15n2a09g5.jpg"></a></p>       <p>En el <a href="#g6">Algoritmo 5</a> se expone el procedimiento para conseguir los servicios sugeridos antes del refinamiento de la b&uacute;squeda por parte de la funci&oacute;n <i>CheckDeliveryContext</i>. En este se observan dos funciones que evidencian la utilidad del Perfil de Usuario en el proceso de sugerencia de servicios. Estas son: <i>listRankedServicesQueried</i> y consumedNodes. Internamente estas dos funciones utilizan a la funci&oacute;n <i>FindSimilarProfiles.</i></p>      <p align="center"><a name="g6"><img src="img/revistas/inun/v15n2/v15n2a09g6.jpg"></a></p>       <p>La funci&oacute;n <i>SuggestServices</i> empieza verificando si el nodo de consulta ya ha sido solicitado previamente. En caso afirmativo, recupera del <i>Repositorio de Usuarios</i> la informaci&oacute;n de los servicios retornados en esa oportunidad. En este punto es importante distinguir la diferencia entre un servicio de consulta y un servicio sugerido. El servicio de consulta es entregado por el usuario, contiene una descripci&oacute;n de sus requerimientos y puede ser un servicio abstracto o un servicio de ejecuci&oacute;n. En cambio, los servicios sugeridos, obligatoriamente, deben poseer una implementaci&oacute;n (servicios de ejecuci&oacute;n).</p>      <p>La importancia de los servicios de consulta radica en que si bien no poseen una implementaci&oacute;n real (servicio abstracto), tienen relacionada una lista de servicios reales que les fueron sugeridos. Pero si el servicio de consulta no ha sido solicitado en ocasiones anteriores, se realiza una primera b&uacute;squeda sobre aquellos nodos que han sido consumidos por el usuario o usuarios con perfiles similares. Estos nodos son organizados bas&aacute;ndose en su distancia sem&aacute;ntica al nodo de consulta <i>queryNode</i>. Una vez terminada esta organizaci&oacute;n, la funci&oacute;n <i>badSuggest </i>verifica que los nodos de <i>listRankedServices</i> cumplan con unas condiciones (superando un umbral y un n&uacute;mero de servicios m&iacute;nimos requeridos por el usuario) para ser entregados al usuario como los m&aacute;s pertinentes a sus requerimientos. Si esta lista no cumple con dichas condiciones, la b&uacute;squeda comienza desde cero analizando todo el <i>Repositorio de Servicios.</i></p>      ]]></body>
<body><![CDATA[<p><b><font size="3">3. Ejemplo</font></b></p>      <p>En esta secci&oacute;n se ejemplifica el mecanismo propuesto de descubrimiento de servicios para ambientes de computaci&oacute;n ubicua. Supongamos que un turista requiere un servicio de informaci&oacute;n tur&iacute;stica que relacione sitios tur&iacute;sticos, eventos culturales y restaurantes en un mapa de la ciudad. Adicionalmente, el turista solicita el reporte del clima para programar su<i> tour.</i> El turista proporciona este requisito a trav&eacute;s de su dispositivo m&oacute;vil, el cual es convertido en un documento BPEL. Luego la plataforma toma este archivo y lo transforma en su equivalente en grafos. Para este caso el servicio solicitado tiene el siguiente modelo: <i>TouristSites</i> (tipo: <i>Invoke</i>), <i>CulturalEvents </i>(tipo:<i> Invoke</i>),<i> Restaurants</i> (tipo: <i>Invoke</i>), <i>Map</i> (tipo: <i>Invoke</i>) y <i>WeatherReport </i>(tipo: <i>Invoke</i>). El usuario env&iacute;a esta descripci&oacute;n BPEL a la plataforma utilizando SOAP/HTTP con el fin de obtener los servicios m&aacute;s apropiados <a href="#f5">(Figura 5)</a>.</p>      <p align="center"><a name="f5"><img src="img/revistas/inun/v15n2/v15n2a09f5.jpg"></a></p>       <p>El <i>Repositorio de Servicios</i> contiene un n&uacute;mero considerable de procesos BPEL publicados. Por esta raz&oacute;n, a fin de obtener los requerimientos del turista, nuestra plataforma ejecuta el Algoritmo 5, el cual considera tanto el <i>perfil del usuario</i> como el nodo de consulta (<i>queryNode</i>).</p>      <p>Ahora supondremos que del proceso anterior se recuperaron los siguientes servicios, publicados por dos proveedores de servicios. El proveedor de servicios A public&oacute; los siguientes servicios: <i>TouristSites</i> (<i>invoke</i>) y <i>CulturalEvents</i> (<i>invoke</i>). El proveedor de servicios B public&oacute; los siguientes servicios:<i> Maps</i> (<i>invoke</i>), <i>Restaurants</i> (<i>invoke</i>) y <i>WeatherReport</i> (<i>invoke</i>).</p>      <p>Cabe resaltar que previamente la plataforma convirti&oacute; cada documento BPEL en su equivalente grafo (<i>QueryGraph, Target GraphA yTarget Graph B, <a href="#f5">Figura 5</a></i>). Los grafos presentados en la <a href="#f5">Figura 5</a> tienen algunas actividades en com&uacute;n, a pesar de tener una estructura diferente. El algoritmo de emparejamiento propuesto encuentra las actividades sem&aacute;nticamente m&aacute;s similares, independientemente de la estructura de los grafos (<i>Query y Target</i>). As&iacute;, las l&iacute;neas punteadas en la <a href="#f6">Figura 6</a> representan las coincidencias encontradas por el sistema entre los grafos usando la funci&oacute;n <i>BasicActivityMatch.</i></p>      <p>Una vez recuperados los servicios, estos son filtrados de acuerdo con el contexto de entrega del solicitante. Determinar el contexto de entrega implica encontrar el perfil del dispositivo utilizado por el usuario (por ejemplo, el turista utiliza el dispositivo m&oacute;vil Nokia 6310i). El perfil del dispositivo se obtiene de los repositorios UAProf y WURFL. La URL del documento UAProf de un dispositivo m&oacute;vil se encuentran frecuentemente en las cabeceras HTTP La <a href="#f6">Figura 6</a> muestra el documento UAProf para el Nokia 6310i.</p>      <p align="center"><a name="f6"><img src="img/revistas/inun/v15n2/v15n2a09f6.jpg"></a></p>       <p>Las caracter&iacute;sticas de red en el documento UAProf se utilizan para comprobar que el dispositivo soporta el tipo de acceso definido por el proveedor de servicios en el documento <i>features.context. </i>Esta comprobaci&oacute;n es realizada por la funci&oacute;n <i>CheckDeliveryContext, </i>descrita en el Algoritmo 2. Finalmente, una lista ordenada de los servicios m&aacute;s similares que pueden ser consumidos desde el terminal m&oacute;vil donde se efectu&oacute; la consulta se retorna al turista.</p>      <p><b><font size="3">4. Experimentaci&oacute;n</font></b></p>      ]]></body>
<body><![CDATA[<p>Para evaluar la eficacia del algoritmo de recuperaci&oacute;n propuesto se utiliz&oacute; una herramienta de evaluaci&oacute;n de t&eacute;cnicas de descubrimiento de servicios basada en una metodolog&iacute;a de <i>benchmarking</i>, que analiza a partir de la comparaci&oacute;n de evaluaciones realizadas a dos o m&aacute;s t&eacute;cnicas o sistemas que tengan una base com&uacute;n de entradas. A estas evaluaciones se las denomina <i>benchmark del algoritmo y benchmark de referencia</i>. El benchmarking es el proceso encargado de comparar los dos benchmarks. As&iacute;, para la evaluaci&oacute;n se procedi&oacute; de la siguiente manera: 1) <i>el benchmark de referencia</i> se construy&oacute; con el prop&oacute;sito de tener una base, para comparar un conjunto de actividades de consulta contra un repositorio de servicios; esto constituye una "verdad absoluta" sobre la similitud de las actividades comparadas. 2) La construcci&oacute;n del <i>benchmark de referencia</i> se da paso a la recolecci&oacute;n de datos para generar un <i>benchmark del algoritmo.</i> Y 3) Se compararon los resultados arrojados por el algoritmo de recuperaci&oacute;n contra el <i>benchmark de referencia</i>, con el objeto de medir su desempe&ntilde;o.</p>      <p>El<i> benchmark de referencia</i> se cre&oacute; comparando 30 actividades b&aacute;sicas BPEL contra 144 actividades almacenadas en el repositorio de servicios, y as&iacute; se obtuvieron 1.106 parejas para evaluar. Las evaluaciones fueron realizadas por cinco evaluadores expertos en el tema, para un total de 5.530 comparaciones. Las comparaciones realizadas para las actividades BPEL eval&uacute;an la similitud de cinco atributos:<i> ActivityType, Operation, Portype, PartnerLink y AccessType</i>. El evaluador compar&oacute; entre las actividades asignando una calificaci&oacute;n a cada uno de los atributos seg&uacute;n su similitud. El valor de la calificaci&oacute;n est&aacute; entre 0 y 5 (0 es m&iacute;nima similitud y 5 es m&aacute;xima similitud). El experto evaluador fija un peso de acuerdo con la importancia de cada uno de los atributos seg&uacute;n su criterio. La suma total de los pesos debe ser igual a uno.</p>      <p>El sistema de recuperaci&oacute;n de servicios trabaja sobre un repositorio de procesos BPEL (Vanhatalo et &aacute;l., 2006), el cual almacena 144 actividades b&aacute;sicas BPEL. El algoritmo de emparejamiento se implement&oacute; en lenguaje Java y los experimentos fueron realizados en un computador con procesador Pentium 4 de 2,30 GHz, 1.000 MB de RAM, bajo el SO Linux Ubuntu.</p>      <p>La herramienta de bencharking empleada permite realizar un an&aacute;lisis estad&iacute;stico, mediante estrictas medidas usadas com&uacute;nmente por diversas investigaciones enfocadas en la recuperaci&oacute;n de informaci&oacute;n, como <i>Precisi&oacute;n, Recall, Overall, Top-k Precisi&oacute;n y P-Precisi&oacute;n.</i> Los valores globales de estas medidas se calcularon por medio de la t&eacute;cnica de micropromedio descrita en (Lewis, 1992).</p>      <p>As&iacute;, del an&aacute;lisis obtenido por la herramienta de<i> benchmarking,</i> en la <a href="#f7">Figura 7</a> se puede apreciar el desempe&ntilde;o total del sistema, donde se identifica el umbral de similitud &oacute;ptimo para el algoritmo de recuperaci&oacute;n, equivalente a 4,4, punto en cual la medida <i>Overall</i> alcanza su tope en un valor cercano al 90%. Igualmente, se aprecia que en los valores de similitud superiores a 4,0 el sistema obtiene un mejor desempe&ntilde;o (manteniendo el <i>Overall </i>sobre 70% para valores de similitud entre 4 y 5) que aquellos ubicados en la parte inferior. De ah&iacute; que sea m&aacute;s favorable trabajar con valores altos de similitud, donde la medida de <i>Recall </i>realiza un mayor aporte al desempe&ntilde;o general. El algoritmo trabaja de una manera muy selectiva, tomando valores de precisi&oacute;n muy altos y recuperando un alto porcentaje de servicios relevantes cuando el umbral de similitud est&aacute; por encima de 4.</p>      <p align="center"><a name="f7"><img src="img/revistas/inun/v15n2/v15n2a09f7.jpg"></a></p>     <p><b><font size="3">5. Conclusiones </font></b></p>      <p>En este art&iacute;culo se propone una plataforma para recuperar servicios en ambientes de computaci&oacute;n ubicua basada en personalizaci&oacute;n. Igualmente, se resalta la importancia de considerar dentro del proceso de descubrimiento una etapa de emparejamiento at&oacute;mica que opere sobre modelos de comportamiento; en este caso BPEL, que permite evaluar la distancia sem&aacute;ntica entre los servicios presentes en la red ubicua y los requeridos por el usuario, mediante una comparaci&oacute;n ling&uuml;&iacute;stica de los par&aacute;metros de las actividades b&aacute;sicas BPEL.</p>      <p>La personalizaci&oacute;n del proceso de descubrimiento de servicios se aborda desde la gesti&oacute;n del contexto y el perfil de usuario, que evidencia la utilidad de los repositorios de usuarios, dispositivos y servicios, como herramientas de soporte al proceso de descubrimiento de servicios en entornos tan din&aacute;micos y heterog&eacute;neos como los ambientes de computaci&oacute;n ubicua.</p>      <p>Para evaluar la eficacia del algoritmo de descubrimiento de servicios propuesto se emple&oacute; una herramienta de <i>benchmarking,</i> con el fin de garantizar una evaluaci&oacute;n objetiva y confiable. Se determin&oacute; el umbral de similitud &oacute;ptimo, equivalente a 4,4, valor en el cual se alcanza el m&aacute;ximo desempe&ntilde;o del sistema de recuperaci&oacute;n. Se evidenci&oacute;, adem&aacute;s, que el desempe&ntilde;o es mejor cuando se emplean valores de similitud superiores a 4, ya que en valores bajos de similitud la medida de <i>recall</i> es muy pobre al descartar demasiadas actividades consideradas como relevantes.</p>  <hr>      ]]></body>
<body><![CDATA[<p><b><font size="3">Referencias</font></b></p>      <!-- ref --><p>ABBAR, S.; BOUZEGHOUB, M.; KOSTADINOV, D.; LOPES, S.; AGHASARYAN, A. y BETGE-BREZETZ, S. A personalized access model: concepts and services for content delivery platforms. En: <i>Proceedings of the 10th International Conference on Information Integration and Web-based Applications &amp; Services</i>. Linz: ACM, 2008.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000114&pid=S0123-2126201100020000900001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>ALMENAREZ, F. <i>Arquitectura de seguridad para entornos de computaci&oacute;n ubicua abiertos y din&aacute;micos.</i> Tesis doctoral. Escuela Polit&eacute;cnica Superior, 2005.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000115&pid=S0123-2126201100020000900002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>ANDREWS, T. <i>et &aacute;l. Business Process Execution Language Version 1.1.</i> The BPEL4WS <i>Specification.</i> &#91;web en l&iacute;nea&#93;. <a target="_blank" href="http://www-947.ibm.com/support/entry/portal/overview">http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdf</a> &#91;Consulta: 10-08-2010&#93;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000116&pid=S0123-2126201100020000900003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>ANGELL, R. C.; FREUND, G. y WILLETT, P. Automatic spelling correction using a trigram similarity measure.<i> Information Processing &amp; Management. </i>2002. vol. 19, n&uacute;m. 4, pp. 255-261.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000117&pid=S0123-2126201100020000900004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>BANDARA, A.; TERRY, P; ROURE, D. D. y TIM, L. A<i> semantic approach for service matching in pervasive environments. Hampshire: Universidad de Southampton</i>, 2007.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000118&pid=S0123-2126201100020000900005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>BELOTTI, R; DECURTINS, C.; GROSSNIKLAUS, M.; NORRIE, M. y PALINGINIS, A. Modelling context for information environments. <i>Ubiquitous Mobile Information and Collaboration Systems.</i> 2005, vol. 3272, pp. 43-56.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000119&pid=S0123-2126201100020000900006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>BEN MOKHTAR, S.; GEORGANTAS, N. e ISSARNY, V. COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support. <i>Journal of Systems and Software.</i> 2007, vol. 80, n&uacute;m. 12, pp. 1941-1955.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000120&pid=S0123-2126201100020000900007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>CORRALES, J. C.; GRIGORI, D.; BOUZEGHOUB, M. y GATER, A. Ranking. BPEL Processes for Service Discovery. IEEE Transactions on Services Computing. 2010, vol. 3, n&uacute;m. 3, pp. 178-192.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000121&pid=S0123-2126201100020000900008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>CORRALES, J. C.<i> Behavioral matchmaking for service retrieval</i>. PhD thesis. Versailles: University of Versailles Saint-Quentin-en-Yvelines, 2008.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000122&pid=S0123-2126201100020000900009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>GUERRERO, E.; CORRALES, J. C. y RUGGIA, R. <i>Selecci&oacute;n de servicios basado en metamodelos del perfil, contexto y QoS. </i>s. l.: EATIS, 2010.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000123&pid=S0123-2126201100020000900010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>LEWIS, D. <i>Representation and learning in information retrieval.</i> Doctoral Thesis. Boston: Department of Computer and Information Science, University of Massachusetts, 1992.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000124&pid=S0123-2126201100020000900011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>MILLER, G. Wordnet: A lexical database for english.<i> Communications of the ACM</i>. 1995, vol. 38, n&uacute;m. 11, pp. 39-41.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000125&pid=S0123-2126201100020000900012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>SELLAMI, M.; TATA, S. y DEFUDE, B. Service discovery in ubiquitous environments.<i> Approaches and requirement for context-awareness. </i>Milan: BPM Workshops, 2009.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000126&pid=S0123-2126201100020000900013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>STELLER, L. y KRISHNASWAMY, S. Efficient mobile reasoning for pervasive discovery. <i>Proceedings of the</i> 2009 ACM <i>symposium on Applied Computing</i> (SAC). 2009, pp. 1247-1251.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000127&pid=S0123-2126201100020000900014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>VANHATALO, J.; KOEHLER, J. y LEYMANN, F. Repository for business processes and arbitrary associated metadata. <i>Proceedings of the BPM Demo Session at the Fourth International Conference on Business Process Management</i> (BPM 2006). Vienna, Austria, 5-7 septiembre 2006, pp. 25-31.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000128&pid=S0123-2126201100020000900015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>WEISER, M. The computer for the 21st century. <i>Scientific American</i>. 1991, vol. 265, n&uacute;m. 3, pp. 94-104.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000129&pid=S0123-2126201100020000900016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ABBAR]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[BOUZEGHOUB]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[KOSTADINOV]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[LOPES]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[AGHASARYAN]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[BETGE-BREZETZ]]></surname>
<given-names><![CDATA[S. A]]></given-names>
</name>
</person-group>
<source><![CDATA[personalized access model: concepts and services for content delivery platforms]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services]]></conf-name>
<conf-date>2008</conf-date>
<conf-loc>Linz </conf-loc>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ALMENAREZ]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Arquitectura de seguridad para entornos de computación ubicua abiertos y dinámicos]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ANDREWS]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Business Process Execution Language Version 1.1. The BPEL4WS Specification]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ANGELL]]></surname>
<given-names><![CDATA[R. C]]></given-names>
</name>
<name>
<surname><![CDATA[FREUND]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[WILLETT]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Automatic spelling correction using a trigram similarity measure]]></article-title>
<source><![CDATA[Information Processing & Management]]></source>
<year>2002</year>
<volume>19</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>255-261</page-range></nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BANDARA]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[TERRY]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[ROURE]]></surname>
<given-names><![CDATA[D. D]]></given-names>
</name>
<name>
<surname><![CDATA[TIM]]></surname>
<given-names><![CDATA[L. A]]></given-names>
</name>
</person-group>
<collab>Universidad de Southampton</collab>
<source><![CDATA[semantic approach for service matching in pervasive environments]]></source>
<year>2007</year>
<publisher-loc><![CDATA[^eHampshire Hampshire]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BELOTTI]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[DECURTINS]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[GROSSNIKLAUS]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[NORRIE]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[PALINGINIS]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Modelling context for information environments]]></article-title>
<source><![CDATA[Ubiquitous Mobile Information and Collaboration Systems]]></source>
<year>2005</year>
<volume>3272</volume>
<page-range>43-56</page-range></nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BEN MOKHTAR]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[GEORGANTAS]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[ISSARNY]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support]]></article-title>
<source><![CDATA[Journal of Systems and Software]]></source>
<year>2007</year>
<volume>80</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>1941-1955</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CORRALES]]></surname>
<given-names><![CDATA[J. C]]></given-names>
</name>
<name>
<surname><![CDATA[GRIGORI]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[BOUZEGHOUB]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[GATER]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ranking. BPEL Processes for Service Discovery]]></article-title>
<source><![CDATA[IEEE Transactions on Services Computing]]></source>
<year>2010</year>
<volume>3</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>178-192</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CORRALES]]></surname>
<given-names><![CDATA[J. C]]></given-names>
</name>
</person-group>
<source><![CDATA[Behavioral matchmaking for service retrieval]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GUERRERO]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[CORRALES]]></surname>
<given-names><![CDATA[J. C]]></given-names>
</name>
<name>
<surname><![CDATA[RUGGIA]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<collab>EATIS</collab>
<source><![CDATA[Selección de servicios basado en metamodelos del perfil, contexto y QoS. s. l.]]></source>
<year>2010</year>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LEWIS]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Representation and learning in information retrieval]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MILLER]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Wordnet: A lexical database for english]]></article-title>
<source><![CDATA[Communications of the ACM]]></source>
<year>1995</year>
<volume>38</volume>
<numero>11</numero>
<issue>11</issue>
<page-range>39-41</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SELLAMI]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[TATA]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[DEFUDE]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Service discovery in ubiquitous environments]]></article-title>
<source><![CDATA[Approaches and requirement for context-awareness]]></source>
<year>2009</year>
<publisher-loc><![CDATA[Milan ]]></publisher-loc>
<publisher-name><![CDATA[BPM Workshops]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[STELLER]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[KRISHNASWAMY]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Efficient mobile reasoning for pervasive discovery]]></article-title>
<source><![CDATA[Proceedings of the 2009 ACM symposium on Applied Computing (SAC)]]></source>
<year>2009</year>
<page-range>1247-1251</page-range></nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VANHATALO]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[KOEHLER]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[LEYMANN]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Repository for business processes and arbitrary associated metadata]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Proceedings of the BPM Demo Session at the Fourth International Conference on Business Process Management (BPM 2006)]]></conf-name>
<conf-date>5-7 septiembre 2006</conf-date>
<conf-loc>Vienna </conf-loc>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[WEISER]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The computer for the 21st century]]></article-title>
<source><![CDATA[Scientific American]]></source>
<year>1991</year>
<volume>265</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>94-104</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
