<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Enfoque para Generar Aplicaciones Orientadas a Servicios para IoT mediante el Desarrollo Dirigido por Modelos</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claudia M. Sosa-Reyna</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Edgar Tello-Leal</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Lara-Alabazares</string-name>
          <email>dlara@docentes.uat.edu.mx</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de posgrado en Electrica y Electronica, UAM Reynosa-Rodhe, Universidad Autonoma de Tamaulipas</institution>
          ,
          <addr-line>Reynosa, Tamaulipas</addr-line>
          ,
          <country country="MX">Mexico</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Facultad de Ingenier a y Ciencias, Universidad Autonoma de Tamaulipas</institution>
          ,
          <addr-line>Victoria, Tamaulipas</addr-line>
          ,
          <country country="MX">Mexico</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Resumen El Internet de las Cosas (Internet of Things, IoT) es una parte integral de la Internet del futuro. IoT se puede entender como una infraestructura de red global dinamica con capacidad de auto con guracion, basada en protocolos de comunicacion estandar e interoperables, donde \cosas" f sicas y virtuales tienen identidad, atributos f sicos y personalidades virtuales. El principal problema en las soluciones tecnologicas para IoT se presenta en un nivel de aplicacion, es decir, un conjunto de componentes de software que se requiere desarrollar para gestionar las cosas, objetos o dispositivos a interconectar. Estos requerimientos propician la utilizacion de los principios del Desarrollo Dirigido por Modelos (Model-Driven Development, MDD) para la construccion de aplicaciones de software, permitiendo generar modelos en diferentes niveles de abstraccion, con la posibilidad de generar artefactos de implementacion de software (codigo) en diferentes plataformas. En este art culo, se propone una metodolog a basada en MDD con diferentes niveles de abstraccion, punto de vista, y granularidad, con el objetivo de guiar el desarrollo de aplicaciones de software para IoT. La metodolog a es soportada mediante metodos de transformacion de modelos posibilitando la generacion del codigo de las aplicaciones de software para IoT. Adicionalmente, se presenta una arquitectura orientada a servicios para el despliegue de aplicaciones de software, conformada de cuatro capas que permiten identi car los componentes requeridos para la implementacion de sistemas de IoT.</p>
      </abstract>
      <kwd-group>
        <kwd>Internet de las Cosas</kwd>
        <kwd>MDD</kwd>
        <kwd>SOA</kwd>
        <kwd>Aplicaciones de software</kwd>
        <kwd>Metodos de transformacion</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        (del ingles Internet of Things, IoT) [
        <xref ref-type="bibr" rid="ref13 ref5">13,5</xref>
        ]. Cuando se hace referencia a IoT,
normalmente se relaciona con una cosa u objeto f sico, pero un componente
fundamental en IoT es el software que se ejecuta en las cosas. Este software puede
estar presente en varias formas: embebido, middleware, aplicaciones, logica en la
composicion de servicios, y herramientas de gestion [
        <xref ref-type="bibr" rid="ref1 ref11">1,11</xref>
        ].
      </p>
      <p>Los avances alcanzados en materia de automatizacion y ambientes
inteligentes han llegado a niveles importantes, cada vez son mas las aportaciones en este
sentido a traves de los conceptos de IoT: ciudades inteligentes, automatizacion de
casas, e-health, manejo inteligente de uso de agua, por mencionar algunos. Con
los bene cios que han generado estos nuevos paradigmas, se ha presentado
tambien la complejidad en su desarrollo; es por ello que se han buscado alternativas
que faciliten los procesos de generacion e implementacion de aplicaciones
innovadoras. Entonces, el contar con modelos que conceptualicen el dominio de un
problema espec co, y que permitan identi car, clasi car, y abstraer los
elementos que lo conforman, representa la posibilidad de alcanzar una implementacion
automatica e ciente.</p>
      <p>
        En este sentido, el Desarrollo Dirigido por Modelos (del ingles Model Driven
Development, MDD) esta basado en modelos que, en un principio, minimizan
los aspectos tecnologicos de manera que sea mas e ciente la comunicacion entre
los usuarios, los analistas, y los desarrolladores de un sistema, permitiendo
seleccionar la plataforma tecnologica hasta el nal del proceso. La utilizacion de
MDD representa una mayor productividad y e ciencia, en cuanto a que se
genera automaticamente el codigo como producto de una serie de transformaciones
de modelos, favoreciendo a la consistencia como producto de la automatizacion.
Los modelos de alto nivel de abstraccion se transforman en modelos de nivel
mas bajo, en donde la relacion entre ambos da como resultado una dependencia
que guarda el proceso que se ha seguido hasta llegar a una solucion
tecnologica, contribuyendo a comprender las consecuencias de los cambios en cualquier
momento del proceso de desarrollo [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Al trabajar en base a modelos, es
posible lograr una facil adecuacion a los cambios, tanto tecnologicos como de los
requerimientos de los usuarios de negocio que puedan surgir en el proceso de
desarrollo, convirtiendo a los modelos en unidades re-utilizables y perdurables.
      </p>
      <p>
        Como parte del proceso de modelado, en donde los modelos son unidades
productivas de las cuales emanan las implementaciones automaticas, encontramos
como puntos medulares a la abstraccion, representada por lenguajes de modelado
de alto nivel; la automatizacion, que permite transformar los modelos en
programas computacionales; y los estandares, o herramientas complementarias de
desarrollo; con la nalidad de obtener los artefactos o modelos formales que
puedan ser comprendidos por una computadora [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Tomando en cuenta la ubicuidad
y particularidad presente en los ambientes inteligentes, MDD permite el manejo
de tecnolog as heterogeneas mediante modelos automaticos de transformacion y
generacion de codigo para plataformas espec cas. En MDD la transformacion
de modelos puede ser vertical, en donde a na modelos abstractos en modelos
mas espec cos. Tambien, puede ser en forma horizontal, elaborando mapeos
entre modelos del mismo nivel de abstraccion y de esta manera identi car la
mejor solucion [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. En este sentido, en el enfoque de la Arquitectura Orientada
a Servicios (del ingles, Service-Oriented Architecture, SOA), un sistema
complejo es tratado como un conjunto de objetos bien de nidos o subsistemas [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
Estos objetos o subsistemas pueden ser reutilizados, manteniendo su forma
individual. Entonces, los componentes de software y hardware en una arquitectura
IoT, implementados con SOA, pueden ser reutilizados y actualizados de
manera e ciente. Por lo tanto, cuando SOA es aplicado en IoT, el disen~o generado
puede proporcionar extensibilidad, escalabilidad, modularidad, e
interoperabilidad entre cosas heterogeneas, as como las funcionalidades y capacidades que se
encapsularon en un conjunto de servicios.
      </p>
      <p>En este art culo se propone un metodolog a basada en el MDD que permita
guiar el proceso de desarrollo de aplicaciones de software orientadas a servicios,
que posibiliten satisfacer los requerimientos de negocio del dominio de IoT. La
metodolog a se conforma de un conjunto de metodos basados en MDD con
diferentes niveles de abstraccion, punto de vista y granularidad. Ademas, se presenta
una arquitectura para sistemas de IoT compuesta de cuatro capas, y que se basa
en el enfoque de SOA. Lo anterior, permite garantizar la interoperabilidad
entre dispositivos heterogeneos en multiples v as, estableciendo un puente entre el
mundo f sico y el mundo virtual de IoT.
2.</p>
    </sec>
    <sec id="sec-2">
      <title>Arquitectura basada en SOA para sistemas de IoT</title>
      <p>El principal requerimiento de IoT es que las cosas u objetos en la red deben
estar interconectadas. La arquitectura de un sistema de IoT debe garantizar
las operaciones de las cosas, permitiendo establecer un puente entre las cosas
(parte f sica) y el mundo virtual de IoT. La arquitectura basada en SOA para
el desarrollo de sistemas de IoT propuesta se conforma de 4 capas, tal como se
muestra en la Figura 1 y se describen a continuacion.</p>
      <p>
        Figura 1. Arquitectura basada en SOA para IoT
Capa de Objetos. Esta integrada con los objetos de hardware disponibles en
la red que detectan el estado de las cosas. En la capa de objetos, los
sistemas inteligentes mediante etiquetas (tags) o sensores, son capaces de
detectar automaticamente el medio ambiente y el intercambio de datos entre
los dispositivos. Los objetos de esta capa deben tener una identidad digital
(identi cador unico universal, UUID), lo que permite raestrear al objeto en
el dominio digital, posibilitando cumplir con la expectativa de IoT de ser
una red f sica inter-conectada en todo el mundo, en el que las cosas estan
conectadas a la perfeccion y se pueden controlar de forma remota [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
Capa de Red. Consiste de la infraestructura que soporta las conexiones por
cable, inalambricas o moviles entre las cosas, permitiendo detectar su entorno,
lo que habilita compartir datos entre las cosas conectadas, posibilitando la
gestion de eventos y el procesamiento inteligente de IoT. En el enfoque SOA,
los servicios seran consumidos por las cosas que han sido habilitadas en la
capa de red. La capa de red es crucial en cualquier enfoque de IoT,
considerando funcionalidades de QoS, gestion e ciente de energ a en la red y en las
cosas, procesamiento de sen~ales y datos, seguridad y privacidad, entre otras.
Capa de Servicio. En esta capa se crean y gestionan los servicios requeridos
por los usuarios o aplicaciones de software. La capa de servicio se basa en
la tecnolog a de middleware, la cual es fundamental para consumir servicios
y la ejecucion de aplicaciones de IoT, donde las plataformas de hardware y
software pueden ser reutilizables. Es una de las capas de operacion cr tica de
la arquitectura, que funciona en modo bidireccional. Esta capa opera como
interfaz entre la capa de objetos (en la parte inferior de la arquitectura), y la
capa de aplicacion (en la parte superior de la arquitectura). Es responsable
de funciones como la gestion de dispositivos, gestion de informacion,
ltrado de datos, agregacion de datos, analisis semantico, y descubrimiento de
informacion [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. La capa de servicios se conforma de: descubrimiento de
servicios, composicion de servicios, APIs, y gestion de con abilidad (ver Figura
2), entre otros. El descubrimiento de servicios permite encontrar los objetos
que pueden proporcionar el servicio requerido y la informacion necesaria de
forma e caz, mediante el UUID en el registro de servicios o repositorio de
servicios. La composicion de servicios permite la interaccion entre las cosas
conectadas mediante la combinacion de los servicios disponibles para realizar
una tarea espec ca, es decir, cuando los servicios estan creados y
almacenados en el repositorio de servicios, se pueden combinar en servicios de mayor
nivel de complejidad a partir de la logica de negocio.
      </p>
      <p>
        Capa de Aplicacion. Es la capa responsable de la entrega de las aplicaciones
a los diferentes usuarios de IoT. La intencion de la arquitectura es soportar
aplicaciones verticales. El desarrollo de aplicaciones en IoT se ha centrado
en las areas de salud, agricultura, transporte, ciudades inteligentes,
automatizacion de casas, sistemas complejos para la toma de decisiones, gestion de
uso de agua, etc [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Figura 2. Esquema de la capa de servicios de SOA
3.</p>
    </sec>
    <sec id="sec-3">
      <title>Metodolog a MDD para Aplicaciones de IoT</title>
      <p>La metodolog a propuesta apunta al uso de modelos conceptuales en
diferentes puntos de vista, niveles de abstraccion, y de granularidad. Los artefactos
de salida de las fases de esta metodolog a se representan por medio de modelos
(de procesos y/o sistemas), generados mediante la aplicacion de los principios
del MDD. El resultado nal son los artefactos de implementacion de software,
es decir, el codigo de las aplicaciones o sistemas de software para IoT. En la
Figura 3 se presentan las fases que componen esta metodolog a: 1) analisis de
requerimientos de negocio, 2) de nicion de la logica de negocio, 3) disen~o de la
solucion integrada de servicios, y 4) generacion de la solucion tecnologica.</p>
      <p>Figura 3. Metodolog a basada en MDD para desplegar aplicaciones de IoT
Fase 1. Analisis de los requerimientos de negocio. Esta fase consiste
en analizar el dominio del problema e identi car los requerimientos de negocio.
Esto se realiza considerando los requerimientos funcionales y no funcionales del
sistema. Para de nir el modelo de requerimientos de negocio se utiliza el lenguaje
UML, capturando el ujo del proceso de software mediante diagramas de casos
de uso y diagramas de actividades, generando un modelo de nido en un nivel
PIM de MDD.</p>
      <p>Fase 2. De nicion de la logica de negocio. Esta fase se enfoca en el disen~o
de los procesos de negocio requeridos para soportar la logica de negocio y los
requerimientos de negocio. Entonces, se utiliza como entrada a la fase, el modelo
de requerimientos de negocio generado previamente, y se complementa mediante
la de nicion de la logica del proceso de negocio, utilizando el lenguaje de
modelado y notacion de procesos de negocio (Business Process Model and Notation,
BPMN), lo cual permite generar un modelo de la solucion de negocio de nido
en un nivel PIM del MDD, describiendo el comportamiento e interacciones del
proceso de negocio desde un punto de vista global.</p>
      <p>Fase 3. Disen~o de la solucion integrada de servicios. Esta fase tiene
por objetivo la de nicion de un modelo de la arquitectura de TI, en un nivel
independiente de la plataforma para separar la solucion de la logica de negocio
de los aspectos tecnicos de implementacion (TI), lo que permite que este tipo de
implementacion pueda generarse en diferentes plataformas destino. El modelo
de arquitectura de TI se deriva del modelo de la solucion de negocio generado
en la fase anterior, el modelo generado se mantiene sin cambios en cualquier
plataforma. En este caso, el modelo de la arquitectura de TI se genera siguiendo
el enfoque orientado a servicios SOA.</p>
      <p>Fase 4. Generacion de la solucion tecnologica. En esta fase se utilizan
conceptos espec cos de la plataforma de implementacion con el n de convertir
esta solucion en codigo ejecutable de una aplicacion de software en particular.
Esta fase se realiza mediante la ejecucion de dos etapas: 1) disen~o de la solucion
de la plataforma espec ca de TI, y 2) generacion de las especi caciones o codigo
del sistema de software. La primera etapa consiste en la de nicion de un modelo
de especi caciones basado en un estandar o tecnolog a espec ca (por ejemplo,
TinyOS 2.0 o WSN Operating Systems), utilizando como entrada a la fase, el
modelo de la arquitectura de TI generado previamente. El modelo de la
solucion tecnologica contiene la informacion requerida para la plataforma espec ca
(mensajes concretos en el formato de enviar o recibir para las cosas u objetos,
protocolos de transporte usados, UUID del sensor, emisor o receptor, etc.). La
segunda etapa consiste de una transformacion del modelo PSM de MDD a texto,
que representa el esqueleto de codigo o el codigo ejecutable de una aplicacion,
normalmente en especi caciones basadas en XML.
3.1.</p>
      <p>Metodos de Transformacion de Modelos</p>
      <p>Para reducir los costos y el tiempo de desarrollo, la metodolog a es
soportada por metodos basados en el enfoque MDD, permitiendo transformaciones
automaticas y semi-automaticas de modelos para generar los modelos de
salida de cada fase. Una transformacion de un modelo consiste de un conjunto de
reglas de transformacion, que de nen como un modelo de entrada es mapeado
a uno o mas modelos o codigo ejecutable de salida. Para soportar las
transformaciones de modelos necesarias para la metodolog a, se propone la aplicacion
de diferentes metodos de transformacion de modelos, tal como se muestra en
la Figura 4. Por un lado, un modelo independiente de la plataforma (del ingles
Platform Independent Model, PIM) es una vista del sistema independiente de
la plataforma, es decir, un modelo con alto nivel de abstraccion independiente
de cualquier tecnolog a o lenguaje de implementacion que exhibe un grado
suciente de independencia de la plataforma a n de permitir su mapeo a una o
mas plataformas. Por otro lado, un modelo espec co de la plataforma (del ingles
Platform Speci c Model, PSM) presenta una vista del sistema desde la
perspectiva de una plataforma tecnologica espec ca, es decir, un modelo de solucion
asociado a una plataforma que incluye los detalles del PIM y que describe como
realizar la implementacion en dicha plataforma.</p>
      <p>Figura 4. Transformaciones de modelos en diferentes niveles de abstracion
La Figura 4 muestra los metodos MDD que se proponen para generar las
soluciones tecnologicas en ambientes de IoT, mediante aplicaciones de software
orientadas a servicios. Se detallan los niveles de abstraccion de modelos de
acuerdo a MDD, que van desde un modelo en nivel PIM hasta el codigo. Tambien,
se detallan los artefactos (de modelos y de codigo) que se generan en cada fase.
Para cada uno de ellos se indica la transformacion que se realiza, el modelo y
el nivel de origen (de entrada), y el modelo o codigo que resulta (de salida o
destino), as como el nivel al que corresponde el modelo generado. Mediante la
transformacion T1 se genera un modelo conceptual de la solucion de negocio a
partir de un modelo de requerimientos de negocio, complementado con la logica
de negocio y con el proceso de negocio disen~ado, a traves de una
transformacion horizontal PIM-a-PIM. La transformacion modelo-a-modelo T2 apunta a
generar un modelo de la arquitectura de TI, de nido en un nivel PIM
mediante una transformacion horizontal. Esta transformacion se deriva del modelo de
la solucion de negocio, utilizando los conceptos de la arquitectura orientada a
servicios, manteniendo una independencia de la plataforma de implementacion.
En la Figura 5 se muestra un ejemplo de una regla de transformacion (T2),
utilizando como entrada el metamodelo del lenguaje BPMN y como destino el
metamodelo de la arquitectura SOA (Regla 1). Los metodos de transformacion
y las reglas propuestas se de nieron utilizando el lenguaje de transformacion de
modelos Eclipse Atlas Transformation Language (ATL)3.</p>
      <p>La solucion tecnologica (ver Figura 4) es generada mediante dos metodos
dirigidos por modelos. El primer metodo aplica una transformacion
modelo-amodelo T3, generando un modelo de salida basado en la plataforma de
implementacion espec ca que se seleccione, utilizando un modelo de la arquitectura
de TI como entrada. El modelo generado es de nido en un nivel espec co de la
plataforma PSM, utilizando conceptos de la plataforma de implementacion de
IoT. En la Figura 5 se muestra un ejemplo de una regla de transformacion (Regla
2) del metamodelo de SOA (nivel PIM) a un metamodelo en un nivel PSM. En
el ejemplo se generan los datos que se enviaran a un sensor de una aplicacion de
software de un simulador de veh culos inteligentes. El segundo metodo se lleva a
cabo mediante la transformacion directa modelo-a-texto T4, que consiste en la
generacion de un documento con el codigo fuente que representa la estructura y
comportamiento del objeto ante un evento.</p>
      <p>Figura 5. Ejemplo de reglas de transformacion del metodo T2 (Regla 1) y T3 (Regla
2)
3 www.eclipse.org/atl/</p>
    </sec>
    <sec id="sec-4">
      <title>Trabajos Relacionados</title>
      <p>
        En [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] se propone el uso del enfoque de MDD para crear metodos para la
generacion de codigo exible. Se muestra como, usando una transformacion modelo
a modelo, se deriva un modelo abstracto. Se presentan las bases para la
generacion de codigo para construir codi cadores y decodi cadores e cientes, con lo
que se pueden llevar a cabo traducciones automaticas entre diferentes esquemas
de codi cacion que pueden ser elegidos libremente en base a los requerimientos
espec cos de dominio. Mediante esquemas de MDD se genera un modelo comun
de representacion de formatos de datos derivado de diferentes fuentes. En base
a este esquema de generacion de codigo, se implementa un sistema de enlace, el
cual proporciona una interfaz de comunicacion con servicios de redes de sensores
inalambricos. La propuesta presentada en [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] es un esquema de desarrollo de
aplicaciones para sensores FRASAD, basada en MDD. En la arquitectura propuesta
se utiliza un modelo basado en reglas y DLS para describir las aplicaciones. Se
utilizan una interfase gra ca para el usuario, componentes de generacion de
codigo, y herramientas de soporte para auxiliar a los desarrolladores en el disen~o,
implementacion, y prueba de las aplicaciones de IoT.
      </p>
      <p>
        Por otro lado, en [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] se describe una herramienta basada en MDD para IoT,
la cual se fundamenta en el servicio de descubrimiento semantico, permitiendo
una seleccion y localizacion dinamica de recursos o dispositivos mediante una
interfaz gra ca. Se enfoca en las caracter sticas de la plataforma para el
manejo de IoT, describiendo como el enfoque de middleware puede simpli car el
uso de un manejador de IoT en un ambiente real de manufactura. Una
herramienta de desarrollo llamada IoTLink basada en el enfoque de MDD se presenta
en [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. IoTLink permite a los desarrolladores inexpertos elaborar aplicaciones
combinadas mediante el lenguaje espec co de dominio (DSL), el cual puede ser
con gurado para crear aplicaciones de IoT. A traves de componentes visuales,
IoTLink encapsula la complejidad de la comunicacion con los dispositivos y
servicios de internet, y los abstrae como objetos virtuales que son accesibles por
medio de diferentes tecnolog as de comunicacion, resolviendo la interoperabilidad
entre componentes IoT heterogeneos.
5.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusiones</title>
      <p>En este trabajo de investigacion se presento una metodolog a para el
desarrollo de aplicaciones de software para IoT. La metodolog a se basa en los principios
del desarrollo dirigido por modelos (MDD), por lo cual se de nieron un conjunto
de metodos de transformacion de modelos, los cuales se especi caron con
diferentes puntos de vista, niveles de abstraccion y granularidad. La metodolog a
propuesta permite guiar el proceso de desarrollo de aplicaciones de software
orientadas a servicios, a partir de modelos conceptuales hasta llegar al codigo
de una aplicacion espec ca y en una plataforma tecnologica seleccionada. El
enfoque propuesto tiene como objetivo disminuir los tiempos y costos del
desarrollo de software mediante la implementacion de transformaciones de modelos
automaticas y semi-automaticas.</p>
      <p>Ademas, se propuso una arquitectura para soportar las aplicaciones y/o
sistemas de software para IoT. La arquitectura describe de forma generica las
diferentes capas requeridas para el despliegue de aplicaciones de software en IoT,
utilizando los conceptos de la arquitectura orientada a servicios (SOA).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Atzori</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iera</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morabito</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The internet of things: A survey</article-title>
          .
          <source>Comput. Netw</source>
          .
          <volume>54</volume>
          (
          <issue>15</issue>
          ),
          <volume>2787</volume>
          {
          <fpage>2805</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bandyopadhyay</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sen</surname>
          </string-name>
          , J.:
          <article-title>Internet of things: Applications and challenges in technology and standardization</article-title>
          .
          <source>Wireless Personal Communications</source>
          <volume>58</volume>
          (
          <issue>1</issue>
          ),
          <volume>49</volume>
          {
          <fpage>69</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Conzon</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brizzi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kasinathan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastrone</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pramudianto</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cultrona</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Industrial application development exploiting iot vision and model driven programming</article-title>
          .
          <source>In: Intelligence in Next Generation Networks (ICIN)</source>
          ,
          <year>2015</year>
          18th International Conference on. pp.
          <volume>168</volume>
          {
          <issue>175</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fang</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>L.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahati</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pei</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>An integrated system for regional environmental monitoring and management based on internet of things</article-title>
          .
          <source>IEEE Transactions on Industrial Informatics</source>
          <volume>10</volume>
          (
          <issue>2</issue>
          ),
          <volume>1596</volume>
          {
          <fpage>1605</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Miorandi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sicari</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pellegrini</surname>
            ,
            <given-names>F.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chlamtac</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Internet of things: Vision, applications and research challenges</article-title>
          .
          <source>Ad Hoc Networks</source>
          <volume>10</volume>
          (
          <issue>7</issue>
          ),
          <volume>1497</volume>
          {
          <fpage>1516</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>X.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tran</surname>
            ,
            <given-names>H.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baraki</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geihs</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Frasad: A framework for modeldriven iot application development</article-title>
          .
          <source>In: Internet of Things (WF-IoT)</source>
          ,
          <source>2015 IEEE 2nd World Forum on</source>
          . pp.
          <volume>387</volume>
          {
          <issue>392</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pons</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giandini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perez</surname>
          </string-name>
          , G.:
          <article-title>Desarrollo de software dirigido por modelos</article-title>
          . Editorial
          <string-name>
            <surname>Universidad Nacional La Plata - McGraw Hill</surname>
          </string-name>
          , Argentina, 1a. edn. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Pramudianto</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kamienski</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Souto</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borelli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomes</surname>
            ,
            <given-names>L.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadok</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jarke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Iot link: An internet of things prototyping toolkit</article-title>
          .
          <source>In: Ubiquitous Intelligence and Computing</source>
          ,
          <source>2014 IEEE 11th Intl Conf on and IEEE 11th Intl Conf on and Autonomic and Trusted Computing, and IEEE 14th Intl Conf on Scalable Computing and Communications</source>
          and
          <string-name>
            <surname>Its Associated</surname>
          </string-name>
          <article-title>Workshops (UTCATC-ScalCom)</article-title>
          . pp.
          <volume>1</volume>
          {
          <issue>9</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Riedel</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yordanov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fantana</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scholz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A model driven internet of things</article-title>
          .
          <source>In: 2010 Seventh International Conference on Networked Sensing Systems (INSS)</source>
          . pp.
          <volume>265</volume>
          {
          <issue>268</issue>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Shancang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Da</surname>
            ,
            <given-names>X.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shanshan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>The internet of things: a survey</article-title>
          .
          <source>Information Systems Frontiers</source>
          <volume>17</volume>
          (
          <issue>2</issue>
          ),
          <volume>243</volume>
          {
          <fpage>259</fpage>
          (
          <year>2015</year>
          ), http://dx.doi.org/10.1007/s10796-014- 9492-7
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.B.</given-names>
            ,
            <surname>Thomas</surname>
          </string-name>
          ,
          <string-name>
            <surname>V.</surname>
          </string-name>
          :
          <article-title>Designing an application store for the internet of things: Requirements and challenges</article-title>
          . In: De Ruyter,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Kameas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Chatzimisios</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mavrommati</surname>
          </string-name>
          , I. (eds.) Ambient Intelligence: 12th European Conference,
          <source>AmI</source>
          <year>2015</year>
          , Athens, Greece,
          <source>November 11-13</source>
          ,
          <year>2015</year>
          , Proceedings, pp.
          <volume>313</volume>
          {
          <fpage>327</fpage>
          . Springer International Publishing (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Tello-Leal</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <article-title>R os-</article-title>
          <string-name>
            <surname>Alvarado</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopez-Arevalo</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chiotti</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Villarreal</surname>
          </string-name>
          , P.D.:
          <article-title>Metodolog a basada en el desarrollo dirigido por modelos para la ejecucion de procesos colaborativos mediante agentes de software</article-title>
          .
          <source>Ediciones UAT - Plaza y Valdes</source>
          , Mexico, 1a. edn. (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Tsai</surname>
            ,
            <given-names>C.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lai</surname>
            ,
            <given-names>C.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasilakos</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Future internet of things: open issues and challenges</article-title>
          .
          <source>Wireless Networks</source>
          <volume>20</volume>
          (
          <issue>8</issue>
          ),
          <volume>2201</volume>
          {
          <fpage>2217</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>