Técnicas y Herramientas para mejorar la fiabilidad y el

Anuncio
PROYECTO DE INVESTIGACIÓN
Nuevas Extensiones para el Uso de Técnicas Formales en Modelado,
Verificación, Síntesis y Optimización
de Sistemas Empotrados y de Comunicaciones Móviles:
Aplicación a la Certificación de Protocolos LTE
Proyectos de Excelencia de la Junta de Andalucía - Convocatoria 2011
Investigadora Responsable:
María del Mar Gallardo Melgarejo
Universidad de Málaga
[email protected]
ÍNDICE
1
2
Resumen de la propuesta ................................................................................................ 4
Antecedentes del proyecto .............................................................................................. 7
2.1 Introducción al Model Checking ............................................................................. 7
2.2 Síntesis y optimización de programas...................................................................... 9
2.3 Verificación y síntesis de sistemas híbridos probabilísticos .................................... 9
2.3.1
Sistemas híbridos ............................................................................................ 11
2.3.2
Un ejemplo típico de sistema híbrido empotrado: el control ferroviario ....... 12
2.3.3
Herramientas de análisis y síntesis de sistemas híbridos ................................ 13
2.3.4
Sistemas probabilísticos ................................................................................. 14
2.3.5
Análisis de sistemas probabilísticos ............................................................... 15
2.3.6
Integración de sistemas continuos y estocásticos ........................................... 16
2.3.7
Integración de sistemas híbridos y estocásticos: el caso de los protocolos de
comunicaciones ............................................................................................................ 17
2.4 Generación de adaptadores .................................................................................... 19
2.4.1
Clasificación de propuestas de adaptación ..................................................... 19
2.4.2
Monitorización de los cambios de contexto ................................................... 20
2.4.3
Síntesis de adaptadores seguros ...................................................................... 21
2.5 Certificación de protocolos LTE ............................................................................ 22
2.5.1
Uso de técnicas formales en el campo de la certificación .............................. 23
3 Objetivos....................................................................................................................... 25
3.1 Propuesta de Investigación .................................................................................... 25
3.1.1
Integración de los sistemas discretos y continuos .......................................... 25
3.1.2
Verificación, síntesis y optimización de protocolos ....................................... 27
3.1.3
Síntesis y verificación de adaptadores ............................................................ 28
3.1.4
Una aplicación en el dominio de la certificación de protocolos y servicios en
redes LTE ..................................................................................................................... 29
3.2 Objetivos concretos ................................................................................................ 31
4 Metodología y plan de trabajo ...................................................................................... 32
4.1 Cronograma de tareas ............................................................................................ 45
4.2 Riesgos y planes de contingencia .......................................................................... 46
5 Resultados esperados, difusión y explotación, en su caso, de los mismos. .................. 46
5.1 Resultados esperados ............................................................................................. 46
5.2 Difusión y explotación de resultados ..................................................................... 47
6 Relación del personal del equipo del proyecto ............................................................. 49
6.1 Investigadores de la UMA y sus actividades de Internacionalización de la
investigación ..................................................................................................................... 49
6.2 Investigadores de AT4 wireless y sus actividades de Internacionalización de la
investigación ..................................................................................................................... 52
7 Financiación pública y/o privada, en otros contratos y proyectos de I+D, obtenidos por
los miembros del equipo ....................................................................................................... 53
8 Relación y perfil de los candidatos en las distintas modalidades de personal a
incorporar al proyecto cuando proceda, salvo en personal investigador en formación ........ 55
9 Descripción del carácter multidisciplinar y transversal del proyecto ........................... 56
10 Presupuesto total del proyecto y justificación del mismo ............................................ 59
2
11 Referencias ................................................................................................................... 60
12 Cartas de apoyo al proyecto de empresas relacionadas ................................................ 69
3
MEMORIA CIENTÍFICO TÉCNICA DEL PROYECTO
1
Resumen de la propuesta
La presencia del software está generalizada en casi todos los ámbitos de la sociedad.
Actualmente, hay una demanda creciente de tecnologías de la información y de las
comunicaciones que mejoren la calidad de vida de los ciudadanos. Los distintos
dispositivos de computación existentes en el mercado, así como las distintas aplicaciones
disponibles para éstos, han provocado mucho interés entre los usuarios finales, haciendo
que la distribución de la tecnología entre la población sea cada vez mayor.
Por un lado, los sistemas de computación están sustituyendo paulatinamente a tareas
que, de forma tradicional y debido a su carácter crítico, se han realizado manualmente. Por
ejemplo, los sistemas ferroviarios y de metro están cada vez más controlados mediante
sistemas automáticos que realizan tareas como planificación, señalización o cambio de vías.
Por otro lado, la evolución de la tecnología ha propiciado la aparición de nuevas
aplicaciones que implican la resolución de nuevos problemas. Por ejemplo, hoy día es muy
habitual que un usuario quiera acceder desde su dispositivo móvil a servicios que están a su
disposición por su ubicación o por su perfil de usuario. En cualquiera de los casos, para que
la interacción entre el dispositivo móvil y el servicio de interés se realice correctamente,
ambos deben entenderse, es decir, deben enviarse y recibirse los mensajes esperados y en el
orden previsto, lo que evidentemente no ocurre siempre. Es, por lo tanto, necesaria una
cierta negociación entre ambas entidades para que se realice la comunicación deseada.
Esta explosión de nuevas aplicaciones ha sido posible gracias a la mejora de los
dispositivos hardware que finalmente automatizan los procesos, y al desarrollo de la
industria del software que ha producido nuevas tecnologías de programación de nivel
intermedio y alto, con un poder expresivo mucho mayor, capaces de resolver problemas de
gran magnitud.
El resultado es que una aplicación software, que proporciona un servicio de interés para
los usuarios, puede estar constituida por miles de líneas de código que se ejecutan sobre un
hardware avanzado. Sin embargo, toda esta complejidad es transparente al usuario, que sólo
ve a los dispositivos como cajas negras que les proporcionan los servicios demandados.
De forma simultánea a este crecimiento en la demanda de servicios software, se han
desarrollado las denominadas técnicas formales, que tienen como objetivo mejorar la
calidad y fiabilidad del software que se proporciona al usuario. Estas técnicas hacen uso del
lenguaje matemático para minimizar el número de errores, garantizando que el software
satisface un conjunto de propiedades que se consideran críticas para su campo de
aplicación. Aunque en un principio, el uso de las técnicas formales fue cuestionado por su
dudosa aplicación práctica, hoy día, su uso está ampliamente aceptado, de manera que el
desarrollo de cualquier producto suele ir acompañado de su modelado y/o análisis mediante
alguna técnica formal. Esto se debe, fundamentalmente, al desarrollo de técnicas de
modelado y análisis potentes, así como de herramientas que soportan estas técnicas y que
han probado extensamente su utilidad en la práctica.
Quizás el método conocido como model checking es el que más ha influido en esta
integración progresiva de las técnicas formales en el desarrollo del software,
fundamentalmente de software concurrente o distribuido. La amplia difusión del model
4
checking y su evidente éxito a nivel industrial se debe a que combina de manera equilibrada
la formalización matemática, tanto de las propiedades como del sistema software que se
pretende analizar, y el carácter práctico, puesto que el model checking es una técnica
algorítmica orientada a la construcción de herramientas que lleven a cabo de forma
automática la tarea compleja de la verificación del software.
Una característica habitual del software es que define una dinámica discreta, en el
sentido de que produce una o varias (incluso un número infinito) secuencias numerables de
estados. Después de más de 30 años de desarrollo, se puede decir que existe un buen
número de técnicas formales establecidas que son capaces de abordar el problema del
modelado y verificación de sistemas software discretos teniendo en cuenta muy diversos
puntos de vista. Por ejemplo, si ponemos de relieve el carácter concurrente de una
aplicación existen gran cantidad de formalismos y de herramientas que nos pueden ayudar a
su diseño y verificación: sistemas de transiciones, álgebras de procesos, redes de Petri,
lógica temporal, model checking, testing, etc.
La tendencia actual en el área de las técnicas formales es, por lo tanto, la búsqueda de
nuevos formalismos, o la extensión de los ya existentes, teniendo en cuenta aspectos
diferentes del software que clásicamente no se han considerado. Por ejemplo, la mayoría de
los sistemas que aparecen en el mundo real no son completamente discretos, sino que
tienen alguna componente, normalmente asociada a algún dispositivo físico, que se
comporta de forma continua. Este tipo de sistemas se denominan híbridos, y se
caracterizan porque en ciertos momentos se comportan de forma discreta, mientras que, en
otros, evolucionan siguiendo una dinámica continua (no numerable). Otro aspecto
interesante de los sistemas reales es que, en muchos casos, tienen un comportamiento
aleatorio, de manera que incorporan algún parámetro de incertidumbre, existiendo
alguna función que define su evolución probabilística. Para modelar y analizar sistemas
híbridos y/o probabilísticos, es necesario incorporar nuevos parámetros en las técnicas
formales que hagan referencia a estos aspectos.
Aunque las principales aplicaciones de las técnicas formales son el modelado y
verificación, pueden encontrarse nuevos campos en los se demuestra su utilidad. En
concreto, el problema de la síntesis automática puede abordarse desde el punto de vista de
las técnicas formales. Por ejemplo, la técnica de model checking puede verse como un
método de búsqueda exhaustiva automática de estados, o secuencias de estados, que
satisfacen una propiedad, la cual puede interpretarse como un objetivo. En este caso, las
técnicas formales pueden proporcionar nuevas soluciones a problemas, como es el caso de
la síntesis de controladores y la optimización, que se han abordado desde otras
perspectivas. En esta misma línea, la aparición de nuevos escenarios de aplicación
software, como es la ya mencionada adaptación automatizada de componentes, en el
contexto de los servicios software, puede resolverse mediante el uso no estándar de técnicas
formales existentes, o definiendo nuevos marcos formales que permitan la construcción
correcta de adaptadores software.
El presente proyecto tiene dos objetivos técnicos. Por un lado, mejorar la calidad del
software, que puede contener componentes continuas, y factores de incertidumbre,
extendiendo la técnica de model checking de forma apropiada: mediante la definición de
nuevos lenguajes de modelado, que sean capaces de describir las nuevas características;
mediante la extensión de los algoritmos de model checking, para que tengan en cuenta los
5
aspectos continuos y de probabilidad; y mediante la extensión de herramientas de model
checking existentes que implementen estas propuestas.
Por otro lado, el segundo objetivo técnico es el estudio de nuevas aplicaciones no
estándares del model checking en el contexto de la síntesis y optimización de controladores
y adaptadores software, así como el desarrollo de nuevos marcos formales que resuelvan el
problema de la adaptación dinámica del software para la recepción correcta de servicios por
parte de usuarios.
En el proyecto estos dos objetivos técnicos se concretan en cuatro módulos de trabajo
principales, descritos en detalle en la memoria, y que se titulan del modo siguiente:
Módulo 1: Model checking de sistemas híbridos
Módulo 2: Verificación y síntesis de sistemas probabilísticos y su aplicación a
protocolos de comunicaciones
Módulo 3: Generación automática de adaptadores en tiempo de ejecución
Módulo 4: Extensión de infraestructuras de certificación de protocolos LTE para la
medida de QoS en servicios emergentes
Los tres primeros módulos de trabajo están dedicados al desarrollo de las propuestas
técnicas, tal y como se ha descrito brevemente en este resumen. En cada uno de estos
módulos se proponen distintas aplicaciones para probar la viabilidad y ventajas de las
propuestas tecnológicas, como son los sistemas empotrados de control ferroviario, el
servicio de videostreaming en telefonía móvil, y los adaptadores de servicios en
aplicaciones de redes sociales. Sin embargo, el Módulo 4 está íntegramente dedicado al
desarrollo de una aplicación específica más ambiciosa, con la que se demuestra la utilidad
de las propuestas realizadas en el proyecto de forma conjunta. En particular, en este módulo
se trata de extender los enfoques actuales para certificación de protocolos de señalización
en redes UMTS y LTE para abarcar también la certificación de los nuevos servicios como
la voz IP sobre LTE. En este contexto, hay que abordar el modelado de aspectos
continuos, como el nivel de señal o el consumo de energía, así como aspectos
probabilísticos relacionados con la pérdida de paquetes, o con el tipo de tráfico generado.
En particular, se utilizarán técnicas de model checking para la síntesis automática de
configuraciones óptimas de las pilas de protocolos, adecuadas a la calidad de servicio que
se demanda.
Este proyecto se plantea como un proyecto motriz cuya relevancia para el sector
industrial andaluz queda patente por las cartas de apoyo de las empresas que se adjuntan al
documento. La empresa AT4 wireless colaborará en el proyecto en la modalidad de
subcontratación para desarrollar parte de la infraestructura de certificación de servicios y
protocolos para redes LTE. La empresa ADIF (Administrador de Infraestructuras
Ferroviarias) hará el seguimiento de los trabajos en los sistemas de control ferroviario, y
facilitará al grupo el uso de su Laboratorio TIC en el Centro de Tecnologías Ferroviarias
de Málaga. La empresa Novasoft está interesada en los desarrollos relativos a la generación
de adaptadores dinámicos de servicios. Y la empresa Vodafone realizará el seguimiento de
los resultados en el campo de la telefonía móvil.
6
2
Antecedentes del proyecto
En esta sección, primero se motiva el uso del model checking en el desarrollo del
software, y se describen brevemente sus características. A continuación, se presenta el
problema de la síntesis y optimización de programas, y algunas de las soluciones que se han
propuesto en la literatura. Finalmente, en las siguientes secciones, se enumeran los
antecedentes en los distintos tipos de sistemas que se tratan en el proyecto, híbridos,
probabilísticos, y adaptadores software, y las técnicas formales que se han utilizado para
realizar el modelado, la verificación y la síntesis de estos sistemas.
2.1 Introducción al Model Checking
En un reciente artículo sobre verificación de software crítico [H08], Gerard J.
Holzmann, galardonado con el prestigioso premio “ACM Software System” en el año 2002
por la construcción del model checker SPIN [H03], explica que el código del controlador
que se utilizó en el primer aterrizaje lunar en 1969 tenía alrededor de 7.500 líneas de código
del actual lenguaje C (aunque, evidentemente, en aquel momento no se utilizó C, sino un
lenguaje ensamblador). En contraposición, los controladores actuales tienen de 5 a 10
millones de líneas de código. Es decir, el software para resolver el mismo problema ha
multiplicado aproximadamente por 1.000 las líneas de código en 40 años.
Una de las consecuencias de este crecimiento es que, a medida que se incrementa el
tamaño y la complejidad del software, el número de errores que contiene se ve
incrementado también de forma lineal. Se considera que es admisible encontrar un error sin
consecuencias graves por cada 1.000 líneas de código bien depuradas. En sistemas sobre
los que se ha trabajado fuertemente en depuración y verificación esa proporción podría
disminuirse hasta encontrar un error por cada 10.000 líneas.
En este contexto, las técnicas de depuración y verificación de software se consideran un
complemento imprescindible para minimizar el número de errores, y los efectos que pueden
tener sobre el entorno que utiliza el software. Cuando el software a analizar tiene un tamaño
razonable (por ejemplo, unas 7.500
líneas de código secuencial) podría
pensarse en un análisis basado en
técnicas de depuración. Sin embargo,
cuando el código a analizar es
concurrente y genera gran cantidad de
comportamientos posibles, o tiene un
tamaño superior (un millón de líneas
de código, por ejemplo), el problema
tiene necesariamente que afrontarse de
manera automática.
En los últimos años se ha
demostrado que la técnica de análisis
conocida como model checking [CES86, CGP99] es el método formal de verificación de
software más potente con implantación industrial. De forma simplificada se puede decir
que la técnica consiste en la exploración exhaustiva, mediante algún método algorítmico, de
todo el espacio de estados generado por un sistema, típicamente concurrente, buscando
comportamientos (que se llaman contraejemplos) que no satisfagan alguna propiedad
Figura 2.1. Ejemplo de un árbol de estados
7
especificada con anterioridad. De esta forma, la aplicación clásica de la técnica consiste en
el modelado de un sistema (utilizando un lenguaje de modelado), la especificación del
comportamiento esperado (mediante alguna lógica temporal), y la aplicación de algoritmos
de model checking (usando alguna herramienta), que de forma automática, comprueban si
el modelo satisface la propiedad deseada. La Figura 2.1 muestra un ejemplo de un árbol de
ejecución que podría ser construido por una herramienta de model checking. En el árbol, el
indeterminismo a la hora de seleccionar las instrucciones a ser ejecutadas puede venir dado
porque el propio sistema contenga instrucciones no deterministas, o por la concurrencia, si
el sistema está formado por varios procesos en ejecución.
La generación del espacio de estados implícita en la técnica tiene dos consecuencias
importantes. Por un lado, el sistema a analizar debe simplificarse (abstraerse) para acotar su
tamaño y que pueda ser representado en la memoria de la máquina. Por esta razón,
tradicionalmente, las herramientas de model checking han trabajado con modelos del
software. Para paliar este problema se han desarrollado distintas técnicas (abstracción,
compactación de estados, representación mejorada del heap, etc.) [CGL94, DGG97,
CGMS05, GMP02, HDZ00, HJ04] con el objetivo de optimizar la representación del
espacio de estados, de manera que, poco a poco, se están produciendo herramientas que
permiten analizar sistemas mayores. La Figura 2.2 muestra datos numéricos de algunos
protocolos analizados mediante model checking. Puede observarse que en la actualidad es
posible analizar sistemas que generan espacios de estados de más de 1 GB de memoria.
Esta situación ha permitido la construcción de model checkers que trabajan directamente
con sistemas finales, descritos en lenguajes de programación como C o Java [CDH00,
HS99, HP00].
Año
Protocolo
Núm. de estados
Memoria
Tiempo
Herramienta
2006
CSMA/CD
7.5e+07
734.003MB
-
SPIN
2006
Exclusión Mutua (4 proc.)
5.5e+07
410MB
-
SPIN
2000
Producer/consumer
2.4e+07
77MB
8min
SPIN
1999
7 proc. leader-election
2.8e+07
200MB
76 min
SPINdistribuido
1999
HAVi leader election
1.94+e09
3.8GB
49h43min
SPIN
1999
RETHER
25000
4.5MB
31min
CFL MC
Figura 2.2. Evolución del tamaño del espacio de estados en el tiempo
Por otro lado, para construir el espacio de estados se necesita que el sistema esté
completo, es decir, debe estar especificado tanto el comportamiento interno del software
como el del entorno. Sin embargo, el problema de cerrar el entorno puede ser más
complicado debido a que habitualmente no está completamente especificado o se comporta
de forma impredecible. Para simular su comportamiento pueden utilizarse modelos
indeterministas y probabilísticos que describan con el máximo de fiabilidad su
comportamiento real.
8
2.2 Síntesis y optimización de programas
La investigación en síntesis de programas mediante técnicas automáticas ha sido muy
activa en los últimos años, aunque no se ha llegado a ningún método completamente
aceptado en el contexto de la ingeniería del
software. El problema principal de la síntesis
está en la búsqueda de soluciones óptimas.
Dada una especificación del comportamiento
esperado del programa, si existe alguna
solución, normalmente pueden encontrarse
varias (incluso un número infinito) que se
ajusten a los requisitos esperados.
El control de muchas infraestructuras
complejas como plantas industriales, o
sistemas ferroviarios, requiere la asistencia de software para seleccionar las acciones de
control correctas. Es incluso posible que el operador humano pueda ser sustituido por un
sistema software para manejar el sistema crítico. El software del controlador es también
crítico, puesto que de él depende el funcionamiento correcto del sistema real. La Figura 2.3
muestra el papel del controlador y del procedimiento de síntesis. El controlador envía
órdenes al sistema real para indicarle qué acciones deben realizarse, teniendo en cuenta la
evolución y el estado actual del sistema real. Para sintetizar el controlador pueden tenerse
en cuenta algunas restricciones (por ejemplo, sobre los recursos disponibles en ese
momento), y ciertos objetivos con los que se intentan optimizar algunos parámetros, como
pueden ser la energía necesaria para llevar a cabo las instrucciones, el tiempo de respuesta
para parar el sistema, etc.
Figura 2.3. Comportamiento de un Controlador SW
Las primeras técnicas desarrolladas para síntesis de controladores se basaban en métodos
analíticos, y en la construcción manual de los programas. Con respecto a los métodos que
automatizan el proceso de síntesis, las principales diferencias entre las distintas propuestas
se encuentran en el tipo de modelado del sistema que va a controlarse, en la representación
de las restricciones, en el método de búsqueda de las soluciones, y en la forma de medir la
calidad de las soluciones encontradas.
En el contexto de los métodos formales, la mayor parte de los trabajos consideran el
problema de la síntesis automática como un problema de satisfacción de restricciones,
donde el sistema real se modela como un árbol de estados globales y el método de
búsqueda es una variante de la búsqueda exhaustiva.
Puesto que el model checking es una técnica de búsqueda, nuestra propuesta es aplicarla
para resolver el problema de la síntesis automática en diferentes dominios. La
característica clave del model checking que lo convierte en una técnica apropiada para la
síntesis es su capacidad de generación de contraejemplos, a partir de una descripción de
requisitos o comportamiento esperado [MS05, LKMCK08].
2.3 Verificación y síntesis de sistemas híbridos probabilísticos
La Figura 2.4 muestra una clasificación de los sistemas según las características
principales que se modelan y que, por lo tanto, pueden ser analizadas mediante
herramientas de verificación. Cada cubo del dibujo describe algunos aspectos relativos al
9
tipo de sistema que titula su cara frontal. Además, para cada sistema, la cara frontal del
cubo correspondiente muestra sus características, y las principales técnicas formales que
han abordado su modelado y análisis. En la cara superior se enumeran algunas aplicaciones
típicas del sistema representado, y en la cara lateral se resumen algunas de las herramientas
existentes para el modelado, análisis o síntesis. Además, a medida que subimos de la base
al cubo superior del dibujo nos vamos encontrando sistemas cada vez más complejos, que
incluyen más parámetros, y que, por lo tanto, requieren de técnicas formales más
sofisticadas para su modelado y verificación.
Figura 2.4. Clasificación de los sistemas según el tipo de modelado
La base de la estructura está constituida por los sistemas discretos y continuos puros.
Los sistemas discretos describen el comportamiento general del software. Pueden
modelarse como sistemas de transición etiquetados, máquinas de estados o autómatas, en
los que el conjunto de estados posibles es numerable. La realización de acciones (ejecución
de instrucciones) permite evolucionar al sistema de un estado al siguiente, pero en estas
transiciones no se tiene en cuenta, en general, el tiempo real. Por eso, aunque las
propiedades de las secuencias de ejecución se especifican con lógica temporal (LTL, CTL,
Calculus), esta lógica no hace alusión explícita al tiempo real. Sólo tiene operadores del
tipo siempre “always”, en algún momento “eventually”, etc. Existen diversas herramientas
que permiten analizar este tipo de sistemas. Por ejemplo, SPIN, CADP [G98] y NuSMV
[CCGGPRST02] son herramientas de model checking clásicas sobre las que se han
analizados muy diversos sistemas concurrentes, como pueden ser los protocolos de red. Así
mismo, las herramientas ns-2 [FV00], OPNET [C99] y OMNet++ [VH08] permiten hacer
simulaciones del comportamiento de sistemas discretos.
En contraposición, los sistemas continuos representan la evolución dinámica de un
sistema físico. Están constituidos por variables continuas, que toman valores en un dominio
10
real, y cuya evolución se describe mediante ecuaciones diferenciales. A diferencia de los
sistemas discretos, el tiempo real puede ser un parámetro imprescindible de los sistemas
continuos ya que la evolución de las variables se describe con relación al tiempo (que se
mueve de forma continua). La evolución en el tiempo de la temperatura de un recinto es un
ejemplo de un sistema continuo.
Otra característica adicional que puede tenerse en cuenta cuando se están modelando
sistemas reales para su análisis, es la posibilidad de que haya alguna componente aleatoria
que intervenga en su funcionamiento. La principal motivación para considerar
probabilidades a la hora de representar un sistema es la necesidad de obtener información
cuantitativa (en contraposición a la cualitativa) para analizar aspectos no funcionales de un
sistema, como son el rendimiento o la utilización de recursos. Una forma natural de incluir
este parámetro en un sistema de transiciones es añadir probabilidades que recojan
información cuantitativa del sistema real a las transiciones. De esta forma, dependiendo del
modelo de partida que se tome se pueden considerar sistemas discretos o continuos
probabilísticos.
Como los objetivos del presente proyecto se enmarcan en el modelado, verificación y
síntesis de sistemas que combinan aspectos discretos y continuos, así como características
deterministas y probabilísticas, en las siguientes secciones, se discute el estado del arte en
cada una de las cajas de la Figura 2.4 que aún no se han mencionado, y que constituyen el
punto de partida de este proyecto.
2.3.1 Sistemas híbridos
La teoría de los sistemas híbridos se encuentra en la intersección de dos áreas de
investigación a priori muy diferentes, la teoría de control y la verificación de software. Un
sistema híbrido es aquél que incluye componentes discretas y continuas. Muchos sistemas
reales presentan en su funcionamiento una combinación de este tipo. La parte continua
suele estar asociada a la parte física del sistema que se está modelando, mientras que la
parte discreta se asocia al comportamiento lógico que controla la parte física. Un subtipo de
los sistemas híbridos son los sistemas en tiempo real, en los que hay una fuerte dependencia
entre el tiempo y los estados discretos. Un ejemplo de un sistema híbrido lo constituyen los
sistemas de señalización en las redes ferroviarias, en los que según la distancia a la que se
encuentren los trenes (variable continua dependiente del tiempo) se activan diferentes
mecanismos de control (estados discretos).
Un sistema real que, por naturaleza, tiene un comportamiento híbrido, puede modelarse
como un sistema discreto, continuo o híbrido, dependiendo de las propiedades que se
quieran analizar. Por ejemplo, un sistema de depósitos de agua se puede considerar como
un sistema continuo si se quiere construir un controlador del nivel. Sin embargo, la cadena
de depósitos también puede verse como un sistema discreto si se analiza como parte de una
planta de procesado en la que sólo hay que tener en cuenta si los depósitos están vacíos o
llenos. Por otra parte, la planta completa puede también modelarse como un sistema
híbrido, en el que ciertas componentes (los depósitos, por ejemplo) se comportan de forma
continua, y otros (el estado de la planta) son discretos. En los últimos años, se ha visto un
aumento significativo de proyectos de investigación sobre sistemas híbridos (por ejemplo,
SAVE [SAVE] o VHS [VHS]) debido fundamentalmente a que no es posible analizar gran
11
cantidad de propiedades sobre sistemas reales si se tiene en cuenta únicamente su parte
continua o su parte discreta.
En el contexto de las técnicas formales, los sistemas híbridos pueden modelarse como
autómatas extendidos. Por ejemplo, la noción de autómatas híbridos [H96] permite definir
sistemas híbridos con comportamientos complejos, donde las variables continuas pueden
evolucionar siguiendo una dinámica dada por ecuaciones diferenciales cualesquiera.
Asimismo, los autómatas temporizados [AD94] constituyen una simplificación de los
híbridos en los que las variables continuas tienen que depender linealmente del tiempo. Esta
simplificación facilita el análisis de propiedades aunque limita los comportamientos
continuos que se pueden representar. Ambos formalismos se basan en un modelo de
tiempo, que puede ser discreto o denso, y que define la forma que tiene el sistema de
evolucionar. El modelo discreto asume que las lecturas de tiempo son de tipo entero y,
además, si hay varios relojes que todos se incrementan a la vez. Este modelo temporal es
más adecuado para describir sistemas síncronos en los que todos los procesos utilizan un
mismo reloj global. En contraposición, en el modelo de tiempo denso, las lecturas de
tiempo son de tipo racional o real, y todos los relojes se incrementan de manera uniforme.
Este modelo temporal es el más adecuado para sistemas distribuidos en los que se tienen
varios relojes y temporizadores.
2.3.2 Un ejemplo típico de sistema híbrido empotrado: el control
ferroviario
El aumento de la complejidad en los sistemas ferroviarios, y la heterogeneidad de éstos,
requiere que estén controlados de forma electrónica para asegurar su seguridad y eficiencia.
De esta forma, sistemas de control ferroviarios como el European Train Control System
(ETCS) establece un método de control basado en sistemas de control central, conocidos
como Radio Block Centre (RCB), encargados de monitorizar la posición de cada tren y de
establecer zonas autorizadas de movimiento para los trenes. Para ello, las vías están
equipadas con sensores y balizas encargadas de obtener la ubicación de cada tren, para
transferirlas al RCB, así como de proporcionar información sobre la zona autorizada al
vehículo y sobre la ruta a seguir. En base a la información obtenida a través de la baliza, un
ordenador de a bordo en cada tren se encarga de determinar la velocidad en cada momento,
de forma que el tren se encuentre siempre dentro de su zona autorizada de movimiento.
Cuando una zona de movimiento no es extendida, el tren debe parar ya que es posible que
haya trenes más allá de ella, o que existan puertas abiertas. El equipo encargado de
controlar los trenes, así como los RBC, requieren, por tanto, un alto grado de fiabilidad para
que las operaciones efectuadas sean correctas y seguras.
El ETCS se compone de dos subsistemas, el de tren o equipo embarcado y el de vía o
equipo de suelo. Estos subsistemas se comunican mediante interfaces estandarizados que
están fuertemente orientados a la interoperabilidad. La implantación del ETCS en todo el
territorio es paulatina, e irá evolucionando por diferentes niveles de funcionamiento, desde
el nivel 1, en el que se mantiene la señalización vertical y los mecanismos tradicionales de
medida y comunicación, hasta el nivel 3 donde se reemplazan por señalización en cabina y
sistemas más sofisticados de comunicaciones y medida. En la red ferroviaria española
podemos encontrar tanto tramos como trenes que llevan implementados diferentes variantes
de estos niveles proporcionados por diferentes suministradores.
12
Los sistemas de control ferroviario, como el ETCS, son altamente complejos y, por lo
tanto, la posibilidad de existencia de errores en ellos aumenta de forma significativa. De ahí
la importancia del uso de técnicas seguras y maduras para comprobar la fiabilidad de estos
sistemas. Por eso, el uso de las técnicas formales ha aumentado en los últimos años. Así,
normas europeas como CENELEC requieren que las aplicaciones que controlan sistemas
ferroviarios se desarrollen usando métodos formales para el análisis de propiedades que
aseguren la corrección del sistema (EN50126 (1999), EN 50128 (2001), EN 50129
(2001)).
Desde la Plataforma Tecnológica Ferroviaria Española (PTFE) se ha propuesto como
línea de investigación el uso de los métodos formales para resolver problemas surgidos
entre las diferentes versiones del ETCS y para mejorar la compatibilidad entre componentes
[Igl10]. Berg et al. [BSW08] analizaron las tablas de control que utilizaban la compañía de
ferrocarriles de Queensland, Australia mediante modelos híbridos y usando algoritmos de
model checking. Platzer and Quesel [PQ09] aplicaron técnicas formales para el diseño del
protocolo de cooperación del ETCS, encargado de evitar colisiones, probando su corrección
incluso cuando se introducían distorsiones. Cimatti et al. [CRT09] desarrollaron una lógica
con aspectos híbridos para la validación de requisitos en dominios de aplicación híbridos,
que se aplicó en el ETCS.
2.3.3 Herramientas de análisis y síntesis de sistemas híbridos
Los modelos teóricos desarrollados para la descripción de sistemas híbridos han dado
lugar a diversas herramientas de verificación. Cada herramienta se especializa en un tipo de
análisis sobre un tipo de sistema híbrido específico, con características muy concretas, que
normalmente lo simplifican.
Por ejemplo, Kronos [BDMOTY98] fue una de las primeras herramientas desarrolladas.
Kronos utiliza técnicas de model checking para el análisis de propiedades de sistemas de
tiempo real, que se describen como redes de autómatas temporizados. Su dominio de
aplicación incluye los protocolos de comunicación, y el modelado y análisis de sistemas
industriales [DY95].
La herramienta UPPAAL [BDL04] está también basada en redes de autómatas
temporizados, y permite modelar, simular y verificar propiedades sobre sistemas de tiempo
real, en los que la variable tiempo es la única que evoluciona de forma continua. La
especificación de propiedades se hace con la lógica TCTL, un subconjunto de CTL
enriquecido con aspectos temporales. Como el motor de verificación de UPPAAL es muy
eficiente, ha sido utilizado en otras herramientas, como por ejemplo en UPPAAL TIGA
[BCDFLL07], que está orientada a la síntesis de controladores mediante la resolución de
juegos temporizados, y en TIMES [AFMPY02], cuyo campo de aplicación es la
planificación de tareas en sistemas híbridos.
UPPAAL se ha utilizado con éxito en el análisis de sistemas industriales como plantas
de procesado [HLP01] o protocolos [HSLL97]. En [JRLD07] se ha utilizado UPPAAL
TIGA junto con Simulink y Real-Time Works [MSS] para sintetizar el controlador de un
termostato. En [AFPYS02] se utiliza TIMES para sintetizar la planificación de una célula
de producción formada por robots y cintas transportadoras.
Otras herramientas, como CheckMate [SRKC00] y PHAVer [F08], permiten modelar
sistemas híbridos con múltiples variables continuas que pueden tener una evolución no
13
lineal con el tiempo, y que pueden depender de otras variables continuas. CheckMate hace
uso de los módulos Simulink y StateFlow de MATLAB [MSS] para realizar tareas
computacionales intensivas e implementa algoritmos de verificación para analizar
propiedades de seguridad. El comportamiento continuo de los sistemas se expresa mediante
ecuaciones diferenciales ordinarias, mientras que la parte discreta se describe con máquinas
de estados finitas. Los casos de uso más destacados de CheckMate son del ámbito
automovilístico para analizar, por ejemplo, el comportamiento de un sistema de control de
velocidad [FK04], o el sistema de inyección en modo corte [SK00]. PHAVer surgió para
resolver problemas que presentaban las primeras herramientas de análisis de sistemas
híbridos: complejidad elevada, convergencia lenta y pérdida de precisión. Está basada en la
noción de autómata híbrido lineal, incluye la librería Parma Polyhedra [PPL] para tener una
aritmética exacta, e incorpora una heurística que mejora los problemas de convergencia.
Esta herramienta se ha utilizado junto a UPPAAL TIGA y Simulink para la síntesis de un
controlador robusto para maquinaria industrial [CFLRR09]
Finalmente, HybridSAL [T03] está orientada al análisis de sistemas biológicos
caracterizados como sistemas híbridos. Además de permitir la verificación, esta
herramienta presenta una extensión del lenguaje intermedio SAL para la especificación de
sistemas de transición discretos, que son soportados por diferentes herramientas de
verificación. HybridSAL se ha utilizado para modelar el proceso de metabolización de
azúcar en sangre de humanos [LT04].
2.3.4 Sistemas probabilísticos
La mayoría de sistemas reales no son completamente deterministas, sino que contienen
alguna componente que no puede ser prevista. Una forma simple de analizar estos sistemas
es incluir indeterminismo en su especificación. Por ejemplo, en un sistema de
comunicaciones, un mensaje puede llegar a su destino o perderse en el tránsito debido a las
características del medio de transmisión o la ocurrencia de errores en nodos intermedios. En
este contexto, el análisis se realiza teniendo en cuenta todas las posibles decisiones que se
pueden tomar en cada disyuntiva. Sin embargo, en muchos sistemas con indeterminismo es
posible conocer la probabilidad de que ciertas acciones ocurran, bien sean comportamientos
impredecibles, elementos no fiables o componentes aleatorias del propio sistema. Si esta
información no se utiliza en la fase de modelado, se están ignorando detalles de los
sistemas reales que pueden ser importantes, y está limitando, por lo tanto, el tipo de análisis
que se puede realizar.
De acuerdo a su naturaleza, podemos clasificar las propiedades a analizar sobre un
sistema como cualitativas o cuantitativas. Las propiedades cualitativas son aquellas cuya
respuesta posible es afirmativa o negativa. Por ejemplo, la ausencia de bloqueo en un
sistema concurrente, o la garantía de la recepción de un mensaje enviado. Las propiedades
cuantitativas son aquéllas a las que se puede asociar un valor, que representa su grado de
cumplimiento. Haciendo uso de estas propiedades se puede conocer si un sistema satisface
una propiedad dentro de un rango de probabilidades dado, o incluso conocer la probabilidad
exacta de su cumplimiento. Por ejemplo, podría ser interesante saber que un mensaje
llegará a su destino con un 99% de probabilidad a través de un canal con pérdidas
inevitables. En un sistema cuya descripción contenga información probabilística se podrán
analizar tanto propiedades cualitativas como cuantitativas.
14
Las propiedades cualitativas suelen estar relacionadas con los aspectos funcionales de un
sistema, mientras que las propiedades cuantitativas están relacionadas con los aspectos no
funcionales, como la fiabilidad, el rendimiento o el consumo de energía. Algunas
propiedades que, tradicionalmente, se han expresado de forma cualitativa, se transforman
en propiedades cuantitativas cuando se tienen en cuenta aspectos de incertidumbre que
están presentes en los sistemas reales.
Tradicionalmente, para la descripción de sistemas probabilísticos se han empleado
formalismos como las cadenas de Markov o los procesos de decisión de Markov [P94]. Una
cadena de Markov es un conjunto de estados y transiciones que tienen asociadas una
probabilidad. En el caso general, la probabilidad de una transición sólo depende del estado
actual, mientras que en las cadenas con memoria pueden influir los estados pasados. Los
procesos de decisión de Markov extienden las cadenas de Markov añadiendo
comportamiento indeterminista. Con esta información se puede modelar la composición
paralela asíncrona de sistemas probabilísticos y la subespecificación de algunos aspectos
del sistema.
2.3.5 Análisis de sistemas probabilísticos
Existen diversas herramientas que permiten analizar sistemas con componentes
probabilísticas. Algunas de estas herramientas se orientan a un campo de aplicación
concreto (las redes de comunicación), mientras que otras admiten descripciones genéricas.
Las redes de comunicación son sistemas complejos donde se incluyen diferentes
protocolos, aplicaciones y medios de transporte, organizadas en una topología específica.
Estos sistemas incluyen de forma natural muchas componentes probabilísticas que interesa
analizar. Por ejemplo, la probabilidad de pérdida de paquetes en un medio, o la
probabilidad de envío de paquetes por parte de una aplicación. Tradicionalmente, estos
sistemas han sido analizados mediante el uso de técnicas de simulación.
El simulador ns-2 [FV00] es uno de los más conocidos y usados en el ámbito académico.
Su núcleo consiste en un simulador de eventos discretos, que planifica eventos como la
llegada y salida de paquetes o el vencimiento de temporizadores. El resultado de una
simulación es una traza de ejecución sobre la que se pueden analizar propiedades, aunque
ns-2 no incluye ninguna herramienta para realizar este análisis. Los sistemas se describen
con una mezcla de C++ y Tcl, lo que permite configurar simulaciones de forma dinámica.
Otras herramientas hacen uso de ns-2, como Verisim [BGKLOSV02], que emplea una
extensión de la lógica LTL como lenguaje de propiedades.
En el ámbito comercial se encuentran los simuladores de redes OPNET y OMNeT++,
ambos basados en la simulación de eventos discretos. OPNET [C99] modela las redes en
una jerarquía de tres niveles (red, nodos y procesos), e incluye herramientas para definir los
datos a medir y analizar los resultados de una simulación. OMNeT++ [VH08] es una
plataforma para construir simuladores de redes de propósito específico, como Mobility
Framework o INET Framework. Los sistemas se describen mediante jerarquías de módulos,
separando la definición de los módulos de la descripción de los experimentos. La topología
de los sistemas puede variar dinámicamente, al contrario que en OPNET. OMNeT++
proporciona una serie de herramientas gráficas para la descripción de sistemas, y su
simulación y análisis.
15
Möbius [DCCDDDSW02] es otra herramienta de análisis de sistemas probabilísticos
mediante simulación de eventos discretos, pero no está orientada a ningún campo en
especial. En lugar de disponer de un formalismo de modelado propio, Möbius admite
múltiples lenguajes de descripción que se integran en la herramienta para hacer uso de las
diferentes capacidades de análisis disponibles. Möbius se ha aplicado a campos como la
biología, la seguridad o la ingeniería de satélites.
Por otro lado, existen herramientas de model checking que se pueden aplicar a sistemas
probabilísticos. Una de ellas es LiQuor [CB06] cuyo lenguaje de descripción, Probmela
[BCG04], es una extensión del lenguaje Promela del model checker SPIN. Este lenguaje
añade asignaciones aleatorias, un operador de elección probabilística y probabilidad de
pérdida en los canales, y su semántica viene dada por un proceso de decisión de Markov.
Las propiedades se especifican mediante fórmulas LTL regulares, obteniéndose las
probabilidades máxima y mínima de sus ocurrencias. LiQuor se ha aplicado al proceso de
sincronización de UMTS [CB06].
PRISM [KNP09] es otro model checker cuyo lenguaje de descripción de sistemas
soporta tres formalismos distintos: cadenas de Markov de tiempo discreto, procesos de
decisión de Markov y cadenas de Markov de tiempo continuo. Para los dos primeros se
emplea la lógica PCTL para definir propiedades, mientras que para el tercero se emplea la
lógica CSL. La herramienta PRISM también ha sido aplicada a modelos Probmela,
mediante el uso de un traductor [CBGP08]. Existen casos de estudio en un amplio espectro
de dominios, como protocolos de comunicación, seguridad, biología y gestión de energía.
En este último campo, en [NPKSG02] se ha estudiado el sistema de gestión dinámica de la
energía de un disco duro con diferentes políticas de control, mientras que en [KNP05] se
estudia además un gestor de escalado de voltaje dinámico.
MODEST [BDHK06] es un lenguaje de modelado descendiente de álgebras de procesos
como CSP y LOTOS, para sistemas reactivos temporizados. Permite modelar
indeterminismo (de acciones o de temporización de eventos) y probabilidad (de alternativas
y variables aleatorias). La herramienta desarrollada para trabajar con MODEST, MOTOR,
no realiza por sí misma la tarea de análisis del sistema, sino que se integra con otras
herramientas, por ejemplo Möbius [BHK07] y PRISM [HH09]. En el primer caso, el
análisis a realizar se especifica en la herramienta Möbius, mientras que en el segundo hay
un proceso de traducción al lenguaje de PRISM que también adapta las propiedades a
verificar. Entre otras aplicaciones, MOTOR se ha empleado para estudiar protocolos de red
adaptativos [BGGK05] y la fiabilidad de un sistema de señalización de trenes [HJU05].
2.3.6 Integración de sistemas continuos y estocásticos
Como ya se ha comentado, los sistemas reales frecuentemente incluyen procesos
infinitos y continuos. Normalmente, para simplificar su modelado se abstraen y se
convierten en sistemas finitos y discretos. Sin embargo, para muchas aplicaciones es
interesante utilizar modelos de tiempo continuo que nos permiten analizar otro tipo de
propiedades que tienen lugar en los sistemas reales.
Una definición de modelos continuos es: “Los modelos de tiempo continuo se
caracterizan por el hecho de que, en un intervalo de tiempo finito, las variables de estado
cambian de valor de forma infinita” [C91].
16
Los modelos de sistemas continuos se representan mediante un conjunto de ecuaciones
diferenciales. Entre los modelos de tiempo continuo se pueden distinguir dos clases: los
modelos matemáticos con parámetros agregados, que se describen con ecuaciones
diferenciales ordinarias o con sistemas lineales, y los modelos de parámetros distribuidos,
descritos por ecuaciones en derivadas parciales. Los circuitos eléctricos son un ejemplo de
sistemas continuos bien definidos, que pueden representarse completamente mediante
modelos de tiempo continuo.
Por otro lado, en numerosas ocasiones, es necesario introducir aspectos probabilísticos
en los modelos continuos para incorporar la incertidumbre presente en muchos sistemas
del mundo real. Un ejemplo es el ruido blanco en el campo de las comunicaciones, y más
concretamente en el ámbito del procesamiento de señales. Este tipo de sistemas se
denominan estocásticos de tiempo continuo. Un proceso estocástico de tiempo continuo es
un proceso estocástico en el cual el estado del sistema puede ser observado en cualquier
momento temporal. Los procesos de Poisson, los procesos de Markov y el movimiento
browniano estándar son algunos ejemplos de procesos estocásticos de tiempo continuo.
Para el modelado de sistemas continuos estocásticos, las técnicas usadas
tradicionalmente están basadas en el uso de cadenas de Markov de tiempo continuo
(CTMCs). Las CTMCs han sido ampliamente utilizadas en la literatura científica para el
modelado y evaluación de sistemas de comunicaciones desde un punto de vista
cuantitativo. Por otro lado, la técnica de model checking que tradicionalmente se centra en
la evaluación cualitativa de los modelos, se ha extendido para que soporte la lógica
estocástica continua (CSL) [BHHK03]. La lógica CSL también se ha utilizado para
expresar cuantitativamente propiedades de las cadenas de Markov de tiempo continuo
finitas. Existen referencias en la literatura en las que se ha demostrado la eficiencia de los
algoritmos desarrollados para la verificación con CTMCs finitas usando propiedades
especificadas con esta lógica [BHHK00], así como en herramientas como PRISM
[KNP04], ETMCC [HKMKS03], APNN [BKKT03] y MRMC [KKZ05].
2.3.7 Integración de sistemas híbridos y estocásticos: el caso de los
protocolos de comunicaciones
Los métodos formales para sistemas híbridos estocásticos permiten integrar en un mismo
modelo tanto el comportamiento híbrido de un sistema real, como la noción de
incertidumbre, propia de los sistemas probabilísticos. La incertidumbre puede integrarse en
un sistema híbrido de varias formas: asignando probabilidades a las transiciones,
permitiendo el indeterminismo en la componente continua, mediante el uso de un modelo
de tiempo con retardo, etc.
Aubin et al. [AFM07] define la semántica de las Redes de Restricciones Probabilísticas
(PCN) para modelar sistemas híbridos probabilísticos basándose en el paradigma de las
álgebras abstractas. Una PCN es una red en la que los nodos sirven como variables de las
ecuaciones que definen la parte probabilística. Estas variables pueden tomar valores
aleatorios siguiendo una distribución probabilística continua, como la de Gauss, o discreta,
como la de Poisson. Para modelar el comportamiento continuo del sistema, PCN define un
conjunto de ecuaciones que representan las transiciones entre nodos.
La propuesta [HW02] se centra en el problema de la diagnosis, es decir, en el análisis de
los síntomas que tiene un sistema híbrido tras producirse un fallo, lo que puede ser útil para
17
evitarlo en el futuro. Para ello, definen los autómatas híbridos probabilísticos concurrentes
(cPHA), que integran los modelos de Markov ocultos (HMM), utilizados para el modelado
sistemas discretos probabilísticos, con modelos continuos. Los HMM se extienden con
ecuaciones en diferencias con tiempo discreto y ecuaciones algebraicas que capturan la
evolución dinámica del sistema. El resultado es un modelo híbrido con probabilidad en las
transiciones.
Por último, Teige [T07] propone utilizar técnicas de análisis de “satisfacibilidad” (SAT)
mediante model checking simbólico acotado para analizar fallos en sistemas híbridos
estocásticos. La incertidumbre se incorpora definiendo la probabilidad de que ciertos
elementos fallen.
Los protocolos de comunicaciones son sistemas híbridos estocásticos en los que existen
múltiples dependencias e interacciones con otros protocolos, con las aplicaciones que hacen
uso de ellos, o con el propio medio de transmisión. El análisis y optimización de estos
protocolos es una tarea fundamental para obtener un buen rendimiento de los sistemas de
comunicaciones, tanto a nivel de calidad de servicio como en cuanto a consumo energético
y eficiencia de uso de recursos.
Generalmente los protocolos cuentan con parámetros que permiten ajustar su
comportamiento y rendimiento. Estos suelen presentar unos valores por defecto que se
consideraron adecuados para los casos generales. Sin embargo, el rendimiento que se
obtendrá usando los parámetros por defecto generalmente no será el óptimo. Por lo tanto,
dependiendo del escenario en el que deban operar, estos parámetros deberán configurarse
adecuadamente para obtener un buen rendimiento [YKKY08][CPGCV03].
Existen también protocolos que están orientados a un escenario concreto, como mitigar
el efecto de las desconexiones en entornos móviles [GMPG00]. No obstante, estos
protocolos también son susceptibles de ser optimizados según las condiciones de su
entorno.
Otra técnica que se está comenzado a explotar recientemente es el concepto de
arquitecturas cross-layer [SRK03][SM05]. Las pilas de protocolos tradicionales buscan
aislar el funcionamiento de cada una de las capas que las conforman. Las características
específicas de las comunicaciones inalámbricas dan lugar a obtener un mejor rendimiento si
varias de estas capas colaboran para ajustar mejor sus parámetros según las necesidades.
Esta información puede provenir de la capa física, informando del estado actual del canal
de transmisión, y ser de utilidad incluso en la capa de aplicación a la hora de transmitir
información multimedia [SS05]. La optimización de parámetros en una arquitectura crosslayer puede proporcionar un mayor aumento del rendimiento, pero supone explorar un
espacio de soluciones considerablemente mayor, además de la complejidad inherente a un
enfoque donde los límites entre bloques funcionales se disuelven [KK05].
Es necesario realizar un estudio de estos sistemas para conocer la configuración óptima
que se debe aplicar según el escenario. Estos estudios se pueden realizar de forma analítica
[PFTK00], mediante simulaciones [BLH06] o monitorizando implementaciones reales
[GMPG00]. Los dos primeros enfoques permiten realizar estudios previos a la
implementación o implantación de los protocolos. El uso de simulaciones está muy
extendido a la hora de analizar y evaluar sistemas de comunicaciones, resultando sencillo
crear escenarios complejos que se acerquen a un escenario real. Sin embargo, el sistema
18
estudiado es forzosamente una abstracción del sistema real, por lo que resulta fundamental
validar las conclusiones extraídas en un entorno real.
2.4 Generación de adaptadores
La habilidad de construir automáticamente sistemas móviles distribuidos mediante la
composición de servicios, generando adaptadores cuando sea necesario y monitorizando su
ejecución, es un paso fundamental en el desarrollo, la integración, y el mantenimiento de
dichos sistemas.
La necesidad de automatizar las tareas de adaptación ha dado lugar al desarrollo de la
adaptación software [BBGORT06, CMP06]. Esta disciplina gestiona la interacción entre
entidades a través de adaptadores, buscando la automatización del proceso de adaptación y
permitiendo que los servicios con problemas de emparejamiento interaccionen de manera
correcta. Los adaptadores se construyen automáticamente desde descripciones abstractas
(contratos de adaptación) que especifican cómo se resuelven los desajustes entre los
interfaces de los servicios. La adaptación software se caracteriza por procedimientos
altamente dinámicos que ocurren cuando, por ejemplo, los dispositivos y las aplicaciones se
mueven de red a red, modificando su comportamiento, y mejorando la flexibilidad y
mantenimiento de los sistemas. Dado el papel coordinador de los adaptadores, éstos
también cumplen el papel de controladores, tanto de los componentes individuales como de
la composición de los mismos.
2.4.1 Clasificación de propuestas de adaptación
La generación de controladores (o adaptadores) que adapten el sistema a
incompatibilidades, cambios de requisitos y de contextos ha dado lugar a la aparición de
numerosos trabajos en la literatura. Muchas de estas propuestas se pueden clasificar en
restrictivas [AINT07, BP07, NBMCC07] y generativas [BBC05, CPS08, DSW06]. Las
primeras restringen el funcionamiento normal del sistema a aquellas trazas y contextos en
los que se preservan las propiedades deseadas, limitando así la funcionalidad sin aportar
nuevos mecanismos al sistema. Por otro lado, los controladores o adaptadores generativos
son sintetizados con el objetivo de proporcionar la lógica adicional necesaria para cubrir
posibles deficiencias e incompatibilidades entre los componentes del sistema. Los
adaptadores generativos son más versátiles y tienen más capacidad de adaptación que los
restrictivos pero, en contraposición, tienen una mayor complejidad de síntesis y necesitan el
desarrollo de mecanismos rigurosos de verificación y monitorización.
La generación de adaptadores también se puede clasificar, según el momento en el que
se realice, en dos tipos: en tiempo de diseño [CSCCP07, CMSCOCP09, P09, CCP11] y en
tiempo de ejecución [HCDB99, CIJKS00, HK06]. El primer tipo es más potente dado que
los adaptadores generados en tiempo de diseño no están restringidos por las necesidades de
tiempo real del segundo tipo. Por ello, muchas de estas propuestas hacen uso de técnicas de
model checking y exploran exhaustivamente el controlador generado. En contrapartida, la
síntesis dinámica de adaptadores permite la adaptación en un rango más variado de
situaciones, ya que se pueden amoldar a cada contexto. Sin embargo, los adaptadores
sintetizados pueden no ser los óptimos dada las limitaciones temporales.
19
2.4.2 Monitorización de los cambios de contexto
La adaptación dinámica de un sistema en ejecución viene dada por un cambio de
contexto. Un contexto se define como “la información que puede usarse para caracterizar
la situación de una entidad. Una entidad es una persona, lugar, u objeto que se considera
relevante para la interacción entre un usuario y una aplicación, incluyendo al usuario y a
la aplicación” [DA00]. La información de contexto puede clasificarse en cuatro categorías
principales [KH03, SAW94]: (i) contexto de usuario (perfil, preferencias, idioma,
calendario, situación social o privilegios), (ii) contexto de dispositivo/computación
(conectividad a la red, capacidades de un dispositivo o carga del servidor), (iii) contexto de
tiempo (hora actual, día, año, mes o estación), y (iv) contexto físico (localización, tiempo o
temperatura). Por su naturaleza, los contextos pueden cambiar en tiempo de ejecución, por
lo que tienen que ser evaluados dinámicamente durante la ejecución del sistema.
La monitorización observa los servicios durante su ejecución y controla su entorno.
Además, reconoce los cambios de contexto o de la estructura del sistema, así como los
posibles fallos en tiempo de ejecución. Por lo tanto, la monitorización permite detectar
violaciones (fallos no detectados en análisis estáticos y testing) de comportamiento
esperado, recoger información sobre la ejecución de los servicios, y lanzar excepciones
apropiadas para cada tipo de fallo. Dentro de la monitorización, la reconfiguración
dinámica [M96] se refiere a cambios en la estructura física (inserción, eliminación o
reemplazo de servicios), y en la estructura lógica (adición o supresión de interacciones en el
comportamiento de los servicios) del sistema. Por ejemplo, imaginemos dos servicios que
pueden recibir fotos y vídeos, respectivamente; podría añadirse un tercer servicio para
gestionar música. Se han propuesto diferentes soluciones basadas en reconfiguración
dinámica aplicada a sistemas distribuidos y arquitecturas software [FL10, KM90],
lenguajes de coordinación [KMLA11], transformación de grafos [FL10, WLF01] o metamodelado [KB04]. Por su parte, las técnicas de recuperación de errores [TIRL03] permiten
monitorizar la gestión de fallos en la red, el sistema o los servicios, en tiempo de ejecución,
consiguiendo sistemas fiables. La elección de estos mecanismos depende de los tipos de
faltas y las características y requisitos del sistema. Hay dos clases principales de técnicas de
recuperación de errores [LA99]: backward y forward. Backward se basa en la recuperación
de servicios a un estado correcto en presencia de fallos. Forward implica la transformación
de los servicios en cualquier estado correcto mediante un mecanismo de manejo de
excepciones.
Un paso fundamental para la generación de adaptadores y la consecuente monitorización
de la ejecución del sistema, es la selección de los componentes que en cada momento y,
dependiendo de los cambios de contexto, interaccionarán en el sistema. La integración de
componentes o servicios en sistemas que van a ser controlados en base a su naturaleza
dinámica contextual requiere mecanismos de compatibilidad de comportamiento, así como
de emparejamiento semántico soportados por altos niveles de abstracción, tales como metamodelos. Por un lado, la ventaja de usar compatibilidad entre los procesos de negocio, que
definen el comportamiento de los componentes de un sistema, es que no sólo se hace un
control a nivel de la signatura de dichos componentes, sino también a nivel de su
comportamiento, evitando situaciones problemáticas, como interbloqueos.
Muy pocos enfoques han abordado la compatibilidad del comportamiento en el
descubrimiento de componentes o servicios considerando información de contexto [H07,
20
SMZ07, CCP10, CCP11]. Con respecto a los meta-modelos semánticos, son útiles para la
especificación y el control dinámico de cambios en parámetros como las preferencias de los
usuarios y las capacidades de los servicios que interaccionan en el sistema. Existen
diferentes enfoques que usan tecnologías de Web Semántica para considerar capacidades
semánticas, tales como WSMO [KLPF05], METEOR-S [AVMM04], o OWL-S [KFS06,
LH03, MFGI06]. Estas tecnologías proponen una representación formal de un conjunto de
conceptos dentro de un dominio, capturando las relaciones entre dichos conceptos. Esta
clasificación se denomina ontología y se expresa en un formato legible por máquina, que
permite a los componentes de un sistema comprender y enlazar los conceptos dentro un
mismo dominio. Así, usando ontologías, se pueden reconocer emparejamientos semánticos
y no sólo diferencias sintácticas. Diversos trabajos han abordado el uso de este tipo de
tecnologías para llevar a cabo síntesis de adaptadores [BHRT03, BPSKC04, BC08, BCP08,
CCP11, GRR10, MFGI06, WVKT06]. Aunque algunos de estos trabajos soportan técnicas
de emparejamiento semántico y/o información de contexto, sus modelos formales no
siempre contemplan los cambios dinámicos, así como otro tipo de parámetros
fundamentales a la hora de generar controladores o adaptadores automáticos, como son los
requisitos de calidad del sistema.
2.4.3 Síntesis de adaptadores seguros
Existen también gran cantidad de trabajos [M03, MM11, HCDB99, LYR022, MP10a]
centrados en los aspectos de seguridad, entre otros parámetros de calidad. La seguridad es
uno de los principales retos de la computación basada en servicios [PTDL07]. La
privacidad de los datos personales, amparada por la ley orgánica de protección de datos de
carácter personal (LOPD, 15/1999), es sólo parte de los distintos aspectos de seguridad en
los que también hay que garantizar otras propiedades como identificación (quién eres),
autenticación (asegurar la identidad contra ataques de suplantación), autorización (a qué
tienes acceso), integridad (los datos no han sido alterados), disponibilidad (los datos son
accesibles) y no repudio (no se puede rechazar la autoría de los datos y las acciones
realizadas), entre otras. Esto obliga a los ingenieros software a considerar aspectos
multidisciplinares como las leyes vigentes, reglas de negocio y los requisitos del sistema.
La seguridad está reñida con la mayoría de los parámetros de calidad. La encriptación
hace una comunicación más lenta y pesada. Las técnicas más comunes de autenticación
empeoran la usabilidad. Dado que normalmente la seguridad viene enfrentada al
rendimiento del sistema, en [HCDB99], los autores proponen un sistema que se adapta
dinámicamente a los intentos de ataque de seguridad. Normalmente, el sistema se ejecuta
bajo una seguridad mínima y un máximo rendimiento, pero esta seguridad se refuerza
cuando se detectan posibles ataques con la consiguiente sobrecarga computacional. En
[LYR02], se presenta una aproximación radicalmente distinta en la cual hay que realizar un
procesamiento intensivo de datos con distintos niveles de privacidad. En su propuesta, las
tareas son distribuidas entre múltiples nodos y éstos se coordinan, planifican y emplean las
medidas de seguridad oportunas según los datos a tratar en cada momento.
Una problemática recurrente en temas de seguridad es cómo permitir acceso a terceros
sin que vulneren la seguridad del sistema. Para ello, en [MM11] se desarrollan
controladores de seguridad que envuelven a los elementos externos e impiden que éstos
realicen cualquier acción que pueda afectar negativamente al sistema, asegurando las
propiedades de seguridad mediante técnicas de model checking parcial [A95].
21
Pese a que muchos de estos trabajos tratan una problemática común e incluso emplean
técnicas similares (álgebras de procesos, model checking, máquinas de estados y session
types, entre otros), ninguno de ellos aborda el problema en su totalidad, y su integración es
compleja y en muchos casos imposible. Por tanto, existe una necesidad de abordar el
problema de la seguridad monitorizando el control dinámico en los cambios de contexto y
considerando parámetros de calidad.
2.5 Certificación de protocolos LTE
La próxima generación de tecnologías de red celular conocida como LTE implica
cambios sustanciales tanto a nivel de la red de acceso radio, como a nivel del núcleo de red.
En esta sección, se da una breve introducción sobre los avances tecnológicos más
significativos de LTE y sobre lo que estos avances implican para la certificación de los
protocolos desplegados en LTE.
En general, la arquitectura de red se ha simplificado, pero esta simplificación ha
provocado el aumento de la complejidad de algunos elementos de red, los cuales han
aumentado su funcionalidad debido a esta reestructuración.
En el nivel de acceso radio se utiliza una nueva interfaz y una nueva arquitectura. Para
facilitar una gestión más dinámica tanto de la movilidad como de las tareas de planificación
de nivel 2, la red de acceso radio LTE está formada por un único tipo de nodo, el eNodeB,
que sustituye al NodeB y al RNC de UMTS. Las funciones de gestión de recursos radio y
de planificación se realizan ahora en los eNodeBs, que también tienen la posibilidad de
comunicarse directamente entre sí. Estos cambios implican una reducción de los tiempos de
latencia, y un aumento significativo de la flexibilidad en la configuración de la red de
acceso radio. Sin embargo, también suponen un aumento en la complejidad del eNodeB y,
por lo tanto, de las pruebas de conformidad que permiten certificar el comportamiento de
este elemento de red.
Otro de los cambios más importantes que conlleva la arquitectura LTE es la eliminación
del domino de conmutación de circuitos, y el uso de IP tanto en el transporte de la
información de señalización, como en el transporte de datos de usuario, incluidas las
llamadas de voz ahora desplegadas como servicio de VoIP. Este cambio hace que la
certificación deba extenderse hacia los dominios del plano de usuario y de la pila IP de
protocolos de aplicación. En este contexto, también adquiere sentido la certificación de
parámetros relacionados con calidad del servicio (QoS) ofertado a nivel de aplicación. La
calidad de servicio es un concepto que involucra la configuración de numerosos parámetros
a distintos niveles de la pila de telefonía y de la pila de protocolos IP. Los casos de pruebas
que hay que diseñar para validar aspectos relacionados con la QoS deben tener en cuenta un
gran número de elementos de red y variables.
La gestión de la movilidad es otro de los factores claves en los procesos de certificación.
Concretamente, la gestión de los handovers entre distintas tecnologías de acceso radio (IRAT) implica la correcta coordinación de todos los elementos de red. Existen numerosas
condiciones de temporización de variables y condiciones de carrera que necesitan ser
optimizadas para obtener una alta tasa de éxito en la ejecución de los handovers. La
configuración de las pruebas de conformidad para verificar esta compleja funcionalidad se
convierte, también, en una tarea tediosa. En LTE la complejidad de los handovers entre
sistemas se incrementa al aumentar el número de elementos que deben coordinarse para su
22
ejecución, ya que en LTE el servicio de voz es ahora desplegado a través del sistema IMS
(IP Multimedia Subsystem) y del HLR (Home Location Register).
Por último, el consumo energético es un aspecto que se ha tenido en cuenta desde su
inicio en el diseño de LTE. El rendimiento energético de los terminales móviles depende de
parámetros hardware y software tanto del terminal como del eNodeB. Por este motivo su
certificación también requiere una cuidadosa configuración de casos de pruebas, que deben
abordar distintos elementos de red y modos de funcionamiento.
2.5.1 Uso de técnicas formales en el campo de la certificación
Los nuevos requisitos que plantean, desde el punto de vista de las pruebas de
certificación, los cambios tecnológicos introducidos en LTE, demandan nuevas técnicas de
generación de casos de prueba. Dichas técnicas deben permitir abordar el incremento en la
complejidad de los sistemas a certificar, y por extensión, de las pruebas que deben ser
diseñadas para validar el comportamiento de los protocolos LTE. Por otro lado, surge la
necesidad de ir más allá del ámbito de la certificación y avanzar en técnicas que permitan la
verificación en entornos reales que sirvan al mismo tiempo para optimizar parámetros de
red.
En el proceso tradicional de generación de las pruebas de conformidad se utiliza
documentación textual informal, técnicas de descripción gráficas, diseño y análisis
estructural, etc. lo que lleva a una definición ambigua de las características deseadas.
La aplicación de técnicas formales en el caso concreto de la generación de tests de
conformidad para protocolos de comunicaciones puede proporcionar una metodología no
ambigua para diseñar y documentar los casos de prueba. Dicha metodología implicaría la
especificación y el modelado del protocolo, así como su síntesis.
La especificación se refiere a los requisitos que el sistema debe cumplir. En el ámbito de
las técnicas formales los protocolos se definen como sistemas reactivos, sistemas que
interaccionan continuamente con el entorno, reaccionando a los estímulos que éste genera.
Para la especificación de sistemas reactivos existen numerosas propuestas: máquinas de
estado finitas (FSM), MSC (Message Sequence Charts), usados para la especificación de
flujos de mensajes entre los componentes del sistema, SDL (Specification and Description
Language), usado para la especificación de sistemas de comunicación complejos y
diagramas UML, que permite generar diagramas de comportamiento, interacción y de
estructura. En el caso del model checking los requisitos se especifican, comúnmente,
mediante el uso de lógica temporal.
Existen antecedentes que validan el uso de técnicas formales en la generación de casos
pruebas de conformidad. El más importante de ellos es la iniciativa desarrollada en el seno
del ISO/ITU-T que se vio plasmada en la especificación Z.500 titulada “Marco de los
métodos formales en las pruebas de conformidad”.
Los objetivos de ese grupo de trabajo eran los siguientes [CFP96]:
(1) Investigar cómo el progreso de la teoría de testing puede proporcionar un mejor
entendimiento de los conceptos introducidos en la norma ISO 9646 sobre tests de
conformidad para protocolos OSI. Por ejemplo, los aspectos como la interpretación
formal de la conformidad, la ejecución de las pruebas o la cobertura de los tests.
23
Concretamente se trata de abordar los conceptos asociados a pruebas de
conformidad con técnicas de descripción formal.
(2) Evaluar la posibilidad de mejorar el proceso de desarrollo de tests a través de la
generación automática de casos de tests usando especificaciones formales.
La recomendación resultante de los trabajos llevados a cabo por este grupo de trabajo
define un marco para el uso de métodos formales en las pruebas de conformidad necesarias
para la certificación. La recomendación proporciona una guía para la definición de la
conformidad y el proceso de prueba de las implementaciones, con respecto a una
especificación que se expresa como una descripción formal. Sin embargo, la
recomendación no describe un método concreto para la generación de casos de prueba. Esta
generación, junto con la generación automática de configuraciones óptimas de las
implementaciones bajo prueba, serán los principales objetivos del módulo 4.
24
3
Objetivos
En esta sección se detallan los objetivos del proyecto. En primer lugar, se describe la
propuesta de investigación y cómo se va a desarrollar en cada uno de los campos que se han
mencionado en los antecedentes. A continuación, se enumeran estos objetivos de una forma
más resumida. En la siguiente sección, esta propuesta se estructura en módulos de trabajo,
que a su vez se detallan en tareas, cuyo cumplimiento puede cuantificarse en tiempo.
3.1 Propuesta de Investigación
Este proyecto sigue dos líneas de investigación principales. Por un lado, estamos
interesados en el modelado y verificación formal de sistemas discretos enriquecidos con
componentes continuas y aspectos de incertidumbre. Esto enmarca la propuesta dentro del
área de modelado y verificación de sistemas híbridos y probabilísticos. Por otro lado, el
proyecto aborda el desarrollo de técnicas de síntesis y optimización, que son de suma
importancia en las áreas de diseño de controladores software, y de adaptadores de servicios.
Como técnica básica para resolver ambos problemas, en el proyecto se utilizará el model
checking. El equipo de trabajo tiene mucha experiencia en esta técnica formal, por lo que
parece la más adecuada para afrontar nuevos retos.
Por otro lado, está claro que las técnicas formales sólo tienen una verdadera aplicación
práctica si van acompañadas de herramientas que soportan las propuestas teóricas. En este
sentido, se propone la construcción de prototipos que incorporen estas propuestas.
Finalmente, el proyecto propone el modelado, verificación y/o síntesis de aplicaciones
de tamaño medio, y de una aplicación de gran entidad a desarrollar por la empresa que
colabora en el proyecto motriz. Esta aplicación culmina de manera coherente las propuestas
tecnológicas realizadas.
A continuación, y con el fin de ser más específicos, se profundizan en los principales
aspectos tratados en el proyecto relacionándolos con los antecedentes que se han descrito
en la sección anterior.
3.1.1 Integración de los sistemas discretos y continuos
Como ya se comentado, un lenguaje de modelado de sistemas híbridos debe incluir
distintas características. Por un lado, debe permitir la descripción del comportamiento
discreto del sistema (mediante un sistema de transiciones o autómatas). Así mismo, debe
incluir alguna noción de tiempo (discreto o continuo) que permita definir la evolución de la
parte continua del sistema. La evolución continua del tiempo está normalmente implícita en
los modelos formales, pero si el tiempo cambia de forma discreta, esta evolución puede ser
transparente o explícita, aunque en este caso la primera solución es la más apropiada.
Finalmente, el lenguaje debe soportar variables continuas, es decir, variables cuyo valor sea
real y se modifique con el tiempo siguiendo algún patrón de comportamiento, típicamente
mediante una ecuación diferencial ordinaria. Normalmente, el valor de las variables reales
se actualiza de manera implícita también en el modelo formal. Sin embargo, la manera en la
que se realiza esta actualización determina la eficiencia de los algoritmos de model
checking.
25
Una opción para la construcción de un marco de verificación que soporte sistemas
discretos y continuos consiste en extender los formalismos y herramientas que existen para
sistemas discretos (SPIN, CADP, o SMV), de forma que sean capaces de interaccionar con
las herramientas que soportan el modelado y análisis de los sistemas continuos (como
MATLAB). Esta solución puede ser lo suficientemente versátil como para que el marco
extendido sea capaz de entenderse con distintas herramientas externas, en función del tipo
de análisis que desee realizarse.
Figura 3.1 Arquitectura para el análisis de sistemas híbridos
Una vez definido el lenguaje de descripción del sistema híbrido, la propuesta tiene que
incorporar necesariamente una extensión de los lenguajes de especificación habituales
sobre modelos discretos (lógica temporal, autómatas de Büchi) capaces de expresar
propiedades sobre el comportamiento no discreto del sistema. En particular, una primera
extensión necesaria es la inclusión del tiempo real como parte del lenguaje de
especificación. Existen en la literatura distintas lógicas extendidas con tiempo como, por
ejemplo, la lógica de duración [H97b] y su extensión a intervalos [P02] o la lógica TCTL
que soporta la herramienta UPPAAL. En cualquier caso, el lenguaje de especificación de
propiedades debe diseñarse de forma paralela al lenguaje de modelado sobre el cual se van
analizar las fórmulas.
Además del tiempo, el lenguaje de especificación también debe poder soportar
propiedades cualitativas sobre las variables continuas del sistema subyacente. Para ello, y
siguiendo la filosofía descrita anteriormente, el formalismo debe ser capaz de interaccionar
con herramientas externas que actúan como oráculos respondiendo a cuestiones relativas al
comportamiento continuo del sistema.
Otro aspecto de interés relativo al lenguaje de especificación es que debe servir también
para la descripción de propiedades objetivo cuando se realizan tareas de síntesis con las
26
herramientas de model checking. Esta nuevo papel sería más útil para usuarios no expertos
si la especificación admitiera representaciones gráficas y visuales más sencillas de entender
que las textuales.
Finalmente, la extensión de los lenguajes de modelado y de la especificación tiene que ir
acompañada de una reconstrucción de los algoritmos de model checking y de la
representación interna del espacio de estados para que se puedan soportar las nuevas
características de los sistemas modelados. Lo ideal es que los algoritmos y el modelo de
espacio se diseñen de manera modular de forma que la extensión afecte lo menos posible al
comportamiento que tienen las herramientas cuando se analizan sistemas discretos puros.
En esta línea se propone construir extensiones de los algoritmos y representaciones del
espacio de estados que se lleven a cabo sobre los algoritmos y representaciones de estados
que tienen las herramientas extendidas, siguiendo la metodología utilizada en [GMS09]. La
Figura 3.1 muestra la arquitectura inicialmente planteada para la extensión de la técnica de
model checking descrita en esta sección.
Un trabajo previo en la verificación y síntesis de sistemas híbridos fue desarrollado por
el grupo de trabajo en el contexto de la gestión automática de embalses [GMPL09,
GMPL11]
Figura 3.2 Arquitectura para verificación y optimización de protocolos
3.1.2 Verificación, síntesis y optimización de protocolos
El proyecto se centrará en dar soporte a la síntesis y verificación de sistemas
probabilísticos, y más concretamente a los protocolos de comunicaciones. Los canales de
comunicaciones son uno de los elementos específicos de sistemas de comunicaciones que
27
más se pueden beneficiar del uso de probabilidades. No es infrecuente modelar las pérdidas
de un canal por las condiciones del medio. Con extensiones probabilísticas se podrían
especificar de forma más realista estas pérdidas, además de añadir otros comportamientos
excepcionales como la duplicación, distorsión o reordenación de mensajes.
En esta línea, se tratan los problemas de análisis y optimización de protocolos de
comunicaciones parametrizados para obtener un mejor rendimiento, así como la
verificación de propiedades. En ambos casos se hace uso del model checking como técnica
de exploración guiada por objetivos. El objetivo es permitir la optimización de los
parámetros ofrecidos por los protocolos para adaptarlos a distintas situaciones, además de
facilitar la búsqueda de errores, tanto en modelos simulados como en implementaciones
reales.
En cuanto al análisis de estos sistemas, nuestra propuesta incluye la integración de
técnicas de model checking probabilístico y análisis exhaustivo, como las empleadas por
herramientas como PRISM o LiQuor, con otras de simulación y análisis probabilísticos de
tráfico, como las empleadas por los simuladores ns-2 y Möbius.
Estas herramientas deben dar soporte también a la síntesis de protocolos y controladores.
En este caso, el objetivo es acotar el espacio de diseño de un sistema híbrido-probabilístico
existente partiendo de unos requisitos de fiabilidad, rendimiento, uso de energía u otros
objetivos, optimizando dicho sistema de acuerdo con estos requisitos.
En este proyecto, se propone el diseño de un marco de análisis orientado a aplicaciones
y protocolos de comunicaciones, basado en la integración de simuladores de redes y
técnicas de model checking. En este marco, se parte de un modelo para el simulador de
redes, con algunas anotaciones extra. El modelo es ejecutado por el simulador de redes, y es
monitorizado y analizado por una herramienta de model checking. El model checker puede
comprobar propiedades sobre el comportamiento observado del simulador, como por
ejemplo, propiedades de rendimiento o calidad de servicio. Estas comprobaciones pueden
guiar la simulación en curso y la realización de más simulaciones, como parte de un estudio
de un modelo parametrizado, haciendo uso de modelos para ns-2 u OPNET. Usando este
marco como parte de un estudio parametrizado, se obtendrían aquellas configuraciones de
parámetros que cumplen las propiedades marcadas. Como ventaja adicional, el uso de
propiedades permite ahorrar tiempo de simulación, minimizando el tiempo dedicado a
simulaciones improductivas.
En esta línea, el proyecto propone la implementación de este marco de análisis con el
simulador de redes ns- 2 y el model checker SPIN. El simulador ns-2 se ha elegido por su
amplio uso dentro del mundo académico, y por su capacidad de extensión.
3.1.3 Síntesis y verificación de adaptadores
El control ha sido tradicionalmente una de las tareas principales de los sistemas
automatizados. En el caso de los sistemas distribuidos el control recae, entre otros, en
composiciones entre componentes software, orquestadores de servicios Web, coreografías
entre dichos servicios y controladores que envuelven e intermedian entre distintos
elementos del sistema acorde a los requisitos del sistema. Todas estas alternativas tienen en
común que han de considerar los acuerdos o contratos entre las entidades del sistema, ya
sea desde el interfaz de los mismos hasta acuerdos de calidad de servicio, políticas de
28
seguridad y procesos de negocio. En este proyecto se abordará el uso de las técnicas
formales para la generación de adaptadores que realicen las siguientes funciones:
 Coordinar los distintos elementos del sistema adaptando y superando las distintas
incompatibilidades en la interfaz, el comportamiento o la calidad de servicio, entre los
elementos involucrados. Por ejemplo, un controlador puede realizar balanceo de carga
entre dos servicios similares y mejorar así el rendimiento del sistema.
 Proteger los componentes o servicios frente a interacciones no deseadas. Por ejemplo,
un controlador puede verificar y filtrar las peticiones recibidas y administrar las trazas
de ejecución permitidas a fin de evitar interbloqueos o cuellos de botella.
 Forzar ciertos comportamientos que preserven las propiedades deseables del sistema.
Entre otros, un controlador puede limitar la propagación de errores ocurridos en algún
subsistema, monitorizar políticas de seguridad y de calidad de servicio y controlar que
se cumplan ciertas políticas de alto nivel, como que todo recurso solicitado ha de ser
devuelto, o que toda petición debe de provenir de un ente autenticado.
Todos estos objetivos se complican aún más cuando cambian en tiempo de ejecución y
el sistema tiene que adaptarse a ellos dinámicamente. En particular, en el proyecto se
abordará el problema de la adaptación dinámica que debe aplicarse necesariamente cuando
se utilizan dispositivos móviles.
La construcción de sistemas móviles distribuidos basados en servicios debe proporcionar
mecanismos de gestión, mantenimiento y modificación del sistema en tiempo de ejecución,
para disminuir substancialmente el tiempo y el coste del desarrollo de estos sistemas. En un
entorno distribuido tradicional, en el que todas las peticiones de un usuario reciben la
misma respuesta, la composición de servicios no resulta compleja. Sin embargo, la
introducción de dispositivos móviles ha creado la necesidad de una composición más
orientada al contexto en la que la respuesta a una petición dependerá de cierta información
del usuario y del entorno. Así, la dependencia de contexto da lugar a una nueva clase de
aplicaciones en la computación móvil y ubicua, proporcionando información relevante a los
usuarios. Además, debido a la naturaleza de caja negra, para promover y facilitar la
reutilización del software, así como para permitir la adaptación y reconfiguración
automática, los servicios deben ser equipados con interfaces que permitan accesos externos
a su funcionalidad. Sin embargo, mientras se componen servicios existentes, diferentes
cuestiones relacionadas con fallos o cambios surgen dinámica y continuamente, por lo que
tienen que ser detectadas y controladas. Estos problemas pueden clasificarse en cuatro
principales categorías: (i) problemas de desajustes, (ii) cambios en los requisitos y en la
configuración, (iii) fallos en la red o en el sistema remoto, y (iv) errores de servicio interno.
En el proyecto se dará respuesta a cada uno de estos problemas.
3.1.4 Una aplicación en el dominio de la certificación de protocolos y
servicios en redes LTE
Tradicionalmente, los trabajos en certificación de protocolos en redes móviles se centran
en el plano de control. Esta certificación es suficiente para los servicios desplegados sobre
conmutación de circuitos, como la voz, cuya complejidad y calidad dependen del
establecimiento inicial del canal con los parámetros adecuados, y de la asignación de los
29
recursos de red. Sin embargo, en LTE, todos los servicios se despliegan sobre conmutación
de paquetes, con las características que ofrece la conectividad IP. Por ello, es necesario
ampliar la tarea de certificación al plano de usuario y a toda la pila por encima de IP.
Por otro lado, y debido a la necesidad de reducir los costes de certificación, en las
pruebas de conformidad, se utiliza un conjunto de configuraciones limitado para minimizar
el tiempo de empleado en los tests. Sin embargo, la optimización de los parámetros de
configuración de red tiene un papel fundamental porque forma parte del know-how de los
operadores y es uno de los factores que les permite diferenciarse.
En esta línea, el objetivo del proyecto es extender los entornos de certificación de los
protocolos de señalización para abarcar también el estudio del comportamiento de los
nuevos servicios, incluyendo aspectos de calidad de servicio (QoS), consumo energético, y
la generación de configuraciones óptimas de los protocolos LTE para los aspectos
anteriores. En particular se contemplarán dos problemas:
- Generación de los casos de tests para certificar en el terminal el cumplimiento de
indicadores clave de rendimiento (KPI) identificados para distintos perfiles de servicios de
nivel de usuario.
- Optimización de la “configuración” de E-UTRAN en base a distintos perfiles de
servicios de nivel de aplicación.
La calidad de servicio no solamente se ve afectada por los algoritmos de planificación
sino por multitud de parámetros de configuración pertenecientes a las distintas capas que
conforman E-UTRAN. Tanto los algoritmos como los parámetros están fuera del marco
especificado en las normas. Por ejemplo, para garantizar ciertos retardos, probabilidades de
pérdidas de paquetes o tasas de transferencia determinadas para un servicio de usuario
concreto hay que tener en cuenta tanto parámetros de nivel MAC (como la configuración de
HARQ) como la configuración de los temporizadores de RRC.
Los algoritmos de planificación MAC tienen que ser cuidadosamente diseñados para
garantizar el servicio en condiciones adecuadas teniendo en cuenta la coexistencia de
múltiples usuarios con distintos requisitos de calidad, incluso entre distintos servicios de
un mismo usuario.
30
3.2 Objetivos concretos
Las contribuciones descritas como propuesta de investigación el proyecto se pueden
resumir en 4 objetivos más concretos:
Objetivo 1: Avances en model checking de sistemas híbridos.- Se persigue la definición de
un lenguaje de modelado formal que incluya aspectos continuos, además de los discretos,
y para el que se desarrollará una herramienta de verificación automática a partir de las
existentes. El lenguaje y la herramienta deberán ser aplicables en problemas reales en
sistemas empotrados de naturaleza híbrida, como el caso de sistemas de control
ferroviario.
Objetivo 2: Avances en verificación y síntesis de sistemas probabilísticos y su aplicación a
protocolos de comunicaciones.- Se pretende obtener una metodología para la verificación y
optimización de sistemas parcialmente probabilísticos, como los modelos de los
protocolos de comunicaciones. Para ello, se integrarán las técnicas de model checking con
los simuladores de red tradicionales como ns-2 y OPNET. La metodología y del conjunto
de herramientas resultante debe ser aplicable a protocolos reales, como los que soportan el
servicio de videostreaming en comunicaciones móviles.
Objetivo 3: Avances en generación automática de adaptadores en tiempo de ejecución.- Se
persigue desarrollar un marco para la generación automática de adaptadores de servicios
basado en el uso de técnicas formales, explorando sobre todo el uso de model checking
como técnica para la síntesis de adaptadores a partir del modelado formal de los
interfaces requeridos y ofrecidos por los servicios existentes y por otras informaciones de
contexto. La metodología, los lenguajes de especificación y las herramientas resultantes se
utilizarán para la adaptación en servicios de gran actualidad, como el acceso a las redes
sociales desde dispositivos móviles.
Objetivo 4: Demostración de la aplicabilidad de los resultados en una aplicación compleja
con impacto industrial en el campo de las comunicaciones inalámbricas.- Se plantea
aplicar el resto de resultados del proyecto en un dominio de aplicación en el que estén
presentes los comportamientos híbridos y probabilísticos y que requiera del modelado,
verificación y optimización. Concretamente, se pretende extender la certificación en redes
UMTS y LTE para abarcar la certificación de los nuevos servicios como la voz IP sobre
conmutación de paquetes. En este contexto, hay que abordar el modelado y verificación de
aspectos continuos como el nivel de señal o el consumo de energía, así como aspectos
probabilísticos relacionados con la pérdida de paquetes, o con el tipo de tráfico generado.
Se hará un uso real de la integración de model checking y simuladores de protocolos para la
síntesis automática de configuraciones óptimas de las pilas de protocolos, adecuadas a la
calidad de servicio que se demanda. El resultado debe ser la extensión de infraestructuras
de certificación de protocolos LTE existentes para contemplar medidas de QoS en
servicios emergentes.
31
4
Metodología y plan de trabajo
La organización del proyecto está dirigida por los objetivos. Al tratarse de un proyecto
que realiza un equipo multidisciplinar, se ha estructurado en módulos que agrupan las
tareas relativas a cada uno de los grandes objetivos indicados en la sección anterior. Los
tres primeros módulos de trabajo están dedicados al desarrollo de las propuestas técnicas
correspondientes a los tres primeros objetivos. Cada uno incorporará mecanismos de
validación de sus resultados, así como una aplicación que demuestra ventajas de las
propuestas tecnológicas. En particular, se abordan los sistemas de control ferroviario, el
servicio de videostreaming en telefonía móvil, y los adaptadores de servicios en
aplicaciones de redes sociales. El módulo 4 está íntegramente dedicado al desarrollo de
una aplicación específica más ambiciosa, con la se demuestre la utilidad de las propuestas
realizadas en el proyecto de forma conjunta, como se describe en el objetivo 4.
Como aspecto metodológico a resaltar, hay que indicar que el proyecto se aborda
tratando de identificar siempre los diferentes niveles presentes en la investigación con
técnicas formales: lenguajes de modelado y de propiedades, algoritmos de verificación o
síntesis, herramientas de procesamiento de esos lenguajes, y dominios de aplicación. En
cada nivel se tendrá que realizar una validación de las propuestas con los medios
adecuados. Por ejemplo, en todas las tareas que traten con los lenguajes de especificación y
algoritmos se emplearán las propias técnicas formales para garantizar la corrección de los
resultados, especialmente usando model checking cuando sea posible. En la evaluación de
las herramientas será necesario definir baterías de pruebas para obtener resultados
experimentales contrastables con los de otros autores. La evaluación de la aplicabilidad de
los resultados en dominios concretos se basará en la interacción con las empresas usuarias
finales de los resultados, y en el éxito que puedan tener a nivel de patentes o transferencia
de tecnología.
Las actividades de coordinación, gestión, difusión y explotación de resultados se han
incluido juntas en el módulo 0, en el que participan los responsables de los 4 módulos
orientados a tareas de investigación y desarrollo. A continuación, se detallan los mismos,
incluyendo sus objetivos, resultados esperados, participantes y responsables. Al final de la
sección se incluye un cronograma de organización de las tareas.
32
Módulo 0: Coordinación, Gestión, Difusión y Explotación
Responsable: María del Mar Gallardo
Participantes: María del Mar Gallardo (UMA), Pedro Merino (UMA), Ernesto Pimentel
(UMA), Joaquín Torrecilla (AT4)
Descripción:
En este módulo, se coordinan los esfuerzos y el progreso de ejecución del proyecto,
controlando que se alcancen los hitos previstos. También se incluyen las actividades de
difusión y explotación de resultados que se describen en la sección 5. Además de los
responsables de los módulos técnicos del proyecto, se tendrán en cuenta las evaluaciones
que puedan ir haciendo el resto de empresas que apoyan el proyecto.
Resultados
R.0.1 Informes anuales de seguimiento del proyecto para su evaluación por parte de la
Secretaría General de Universidades de la Junta de Andalucía. (3 informes)
R.0.2 Informes anuales de resultados que puedan resultar explotables, acompañados de
presentaciones electrónicas o demostradores. (3 informes)
Módulo 1: Model checking de sistemas híbridos
Responsable: María del Mar Gallardo
Participantes: Laura Panizo, María del Mar Gallardo, David Sanán, Meriem Ouderni, Blas
Ruiz, Pedro Merino, Ernesto Pimentel, Nathalie Moreno
Descripción:
El estudio de los sistemas híbridos ha demostrado que, en la mayoría de los casos, su
análisis con métodos formales, en general, y con model checking de forma específica, es no
decidible, es decir, no se puede asegurar que, en general, los análisis finalicen. Por esto, se
han definido algunas subclases de sistemas híbridos que, por sus características en cuanto a
su comportamiento continuo, sí pueden analizarse en tiempo finito. Los autómatas
temporizados [AD94] y los autómatas híbridos lineales [H96] son ejemplos de estas
simplificaciones. Por otro lado, la construcción de herramientas para el modelado y
verificación por model checking de sistemas híbridos es una tarea de gran magnitud. En
contraposición, existen herramientas muy potentes para la verificación de de sistemas
discretos, como SPIN o JPF. En esta línea, el objetivo del presente módulo es el desarrollo
de una metodología que nos permita reutilizar herramientas de model checking existentes
extendiéndolas de la forma más transparente posible para que puedan analizar algún subtipo
de sistemas híbridos. Esta metodología integrará las herramientas de model checking
discreto, como SPIN o JPF, con otras herramientas y/o librerías existentes que ayuden a
modelar la parte continua de los sistemas.
33
Resultados
R.1.1 Un informe sobre las contribuciones en la extensión de herramientas de model
checking para incorporar sistemas híbridos.
R.1.2 Una herramienta para la verificación de sistemas híbridos, construida sobre el model
checker SPIN.
R.1.3 Un modelo analizable de un sistema de control ferroviario.
R.1.4 Un informe sobre la verificación del sistema de control ferroviario con la herramienta
desarrollada en el módulo.
Tarea 1.1: Definición de un lenguaje para describir sistemas híbridos
Participantes: Laura Panizo, María del Mar Gallardo, Blas Ruiz, Ernesto Pimentel
Las herramientas de model checking discreto carecen del lenguaje adecuado para
expresar las características propias de los autómatas híbridos, como puede ser la definición
de variables continuas, invariantes en los estados discretos o el comportamiento continuo.
Por lo tanto, es necesario definir las sentencias básicas que doten a un lenguaje de
modelado discreto de los mecanismos necesarios para definir sistemas híbridos. Esta
extensión del lenguaje puede sufrir alguna variación en su sintaxis para adaptarse a los
diferentes lenguajes de modelado discretos, pero mantiene siempre la misma semántica.
Tarea 1.2: Estudio de la integración de las herramientas
Participantes: Laura Panizo, María del Mar Gallardo, David Sanán, Meriem Ouderni
La integración de las diferentes herramientas no es trivial dadas las diferencias entre las
diversas herramientas de model checking (lenguaje de modelado, lenguaje nativo de la
herramienta, etc) y las diferentes interfaces que proporcionar las librerías que se utilizarán
para el modelado del comportamiento continuo. Por lo tanto. En esta tarea será necesario
estudiar cuáles son las herramientas de model checking que permiten ser extendidas (según
la disponibilidad del código fuente, de los mecanismos de comunicación con el exterior, de
las facilidades para extender el lenguaje, etc.) y que librerías habría que integrar.
Otro objetivo adicional es que la integración de las herramientas sea flexible, de forma
que sea posible integrar futuras versiones tanto de la herramienta de model checking como
de las librerías. De esta forma, el mantenimiento y actualización de la herramienta
resultante tendrá un coste menor. Para conseguir este objetivo, proponemos realizar la
integración a nivel de modelo, como se refleja en la Figura 3.1. De este modo el usuario
modela con el lenguaje de modelado extendido, resultado de la tarea anterior, y se hace una
traducción a un modelo que incluyen la sintaxis original del model checker así como las
llamadas necesarias a las herramientas que controlan la parte continua del sistema.
34
Tarea 1.3: Desarrollo de un prototipo y realización de pruebas
Participantes: Laura Panizo, David Sanán, María del Mar Gallardo, Nathalie Moreno
Una vez estudiadas todas las implicaciones de la integración y seleccionadas las
herramientas de model checking que pueden extenderse mediante nuestra propuesta, el
objetivo de la presente tarea es la implementación de un prototipo con la arquitectura
propuesta. Actualmente, la herramienta de model checking que parece que mejor puede
adaptarse a esta propuesta es SPIN [H03], ya que es de código abierto y proporciona
mecanismos para ejecutar código C, lo que puede ser muy útil para representar las variables
continuas. La elección en primer lugar de SPIN no descarta otras alternativas para hacer
prototipos basados en otras herramientas de model checking como JPF. Con respecto a las
librerías externas, existen diferentes abstracciones con los que se puede representar el
comportamiento continuo. Unas de las más utilizadas cuando se trabaja con autómatas
híbridos lineales es la que se basa en los poliedros convexos. Existen múltiples librerías que
proporcionan las operaciones necesarias para trabajar sobre este tipo de elementos, como
por ejemplo, Parma Polyhedra Library [BHZ08] y Polylib [RB04].
Cuando el prototipo se haya implementado, será necesario hacer pruebas de rendimiento
que nos permitan comprobar en qué casos esta propuesta es competitiva frente a otras
herramientas de model checking para sistemas híbridos.
Tarea 1.4: Aplicación a Sistemas de control ferroviarios
Participantes: Laura Panizo, David Sanán, Pedro Merino, María del Mar Gallardo
Para probar la expresividad y capacidad de análisis de la herramienta de model checking
desarrollada en las tareas anteriores, en esta tarea se propone la implementación de una
aplicación que representa un sistema híbrido típico, un sistema de control ferroviario como
el descrito en la sección de antecedentes 2.3.2, para el que hace falta realizar tareas de
modelado, especificación y verificación de propiedades críticas.
Al tratarse de un sistema crítico, la técnica de model checking se convierte en una de las
alternativas más potentes para asegurar la corrección de los sistemas ferroviarios. Estos
sistemas contienen elementos estáticos que hay que verificar, como que las zonas de
autorización sean disjuntas. Por otro lado, la monitorización de la actuación del tren en
función de la velocidad añade una componente temporal al análisis, que hace necesario el
uso de model checking híbrido.
35
Módulo 2: Verificación y síntesis de sistemas probabilísticos y su
aplicación a protocolos de comunicaciones
Responsable: Pedro Merino
Participantes: Alberto Salmerón Moreno, Pedro Merino, Blas Ruiz, Almudena Díaz, Álvaro
Recio, María del Mar Gallardo
Descripción
Este módulo pretende dar soporte a la síntesis y verificación de sistemas probabilísticos,
y más concretamente a los protocolos de comunicaciones. En particular, se tratan los
problemas de análisis y optimización de protocolos de comunicaciones parametrizados para
obtener un mejor rendimiento, así como la verificación de propiedades.
Ambos problemas se abordan mediante el uso de model checking como técnica de
exploración exhaustiva, guiada por los objetivos de rendimiento que se persiguen. Esta idea
fue propuesta por primera vez en [MS10], donde se desarrolló un prototipo que integra el
model checker SPIN [H03] y el simulador de redes ns-2 [NS2]. El sistema a analizar se
describe mediante modelos para el simulador ns-2, y SPIN se encarga de guiar la búsqueda
de parámetros en base a unos objetivos que se han establecido. Estos objetivos permiten
además reducir el tiempo de análisis para hacerlo tratable cuando se maneja un espacio de
soluciones de gran tamaño.
En este módulo, se ampliará el uso de simulaciones para el análisis guiado por objetivos.
Además, se realizará la integración de este enfoque con implementaciones reales con un
doble objetivo: (1) obtener modelos para realizar simulaciones más realistas basándose en
mediciones de campo [DMR10]; y (2) analizar y optimizar implementaciones reales de
protocolos.
Como ventaja adicional, el enfoque basado en la exploración exhaustiva guiada por
objetivos se puede adaptar a la verificación de protocolos. En este caso, se pretende
encontrar violaciones de un objetivo, por ejemplo, que se dé la respuesta adecuada a una
petición para tratar de encontrar y corregir errores en un modelo o implementación de un
protocolo.
Resultados
R.2.1 Un informe sobre las contribuciones en la integración del model checker SPIN y los
simuladores de red ns-2 y OPNET
R.2.2 Una herramienta de soporte para el análisis y optimización de protocolos mediante
simulación, monitorización y ajuste de parámetros construida sobre el model checker SPIN
y los simuladores de red ns-2y OPNET.
R.2.3 Modelos para ns-2 y OPNET de protocolos relevantes en el servicio de
videostreaming en redes móviles.
R.2.4 Un informe sobre la los trabajos de verificación y optimización de los protocolos del
servicio de videostraming.
36
Tarea 2.1: Optimización de modelos de protocolos mediante model
checking
Participantes: Alberto Salmerón, Pedro Merino, Blas Ruiz, María del Mar Gallardo
Esta tarea se centra en ampliar el marco de trabajo desarrollado en [MS10] para la
verificación y optimización de protocolos y aplicaciones mediante el uso de model
checking. El prototipo existente se extenderá para dar lugar a una herramienta que facilite
la realización de estas tareas sobre modelos de protocolos para simuladores de redes.
También se contempla la obtención de respuestas con diferente grado de precisión, lo que
permitirá ajustar el tiempo de análisis.
Asimismo, se ampliará el alcance de esta herramienta para contemplar otros simuladores
de redes distintos del simulador ns-2. Para ello, se diseñará un protocolo de comunicación
entre el núcleo de análisis de la herramienta (el model checker SPIN) y un simulador de
redes.
Tarea 2.2: Incorporación de medidas reales
Participantes: Alberto Salmerón, Almudena Díaz, Álvaro Recio, Pedro Merino
Esta tarea se centra en la incorporación de medidas reales dentro del flujo de trabajo de
la herramienta desarrollada en la Tarea 2.1 para conseguir resultados más realistas. Para
ello se adaptarán herramientas de captura de tráfico, especialmente en entornos de redes
móviles. Los parámetros extraídos de las capturas se utilizarán para construir modelos
probabilísticos de aspectos parciales que se asemejen a los comportamientos reales. El uso
de estos modelos “realistas” en modelos completos del protocolo permitirá obtener mejores
resultados en el enfoque de síntesis-optimización controlada por model checking.
Tarea 2.3: Optimización de sistemas reales
Participantes: Alberto Salmerón, Álvaro Recio, Pedro Merino
En esta tarea se pretende ampliar el alcance de la herramienta desarrollada en T2.1 para
que, además de analizar modelos de protocolos, pueda analizar implementaciones reales de
protocolos. Para ello se deberá ampliar el núcleo de la herramienta (basado en model
checking) para permitir la conexión con implementaciones reales. Esta conexión se puede
realizar mediante la instrumentación del protocolo a analizar, lo que permitirá acceder a
parámetros habitualmente ocultos, o mediante la observación de trazas de su
comportamiento. Como resultado de estas tres primeras tareas se obtendrá una herramienta
integrada para el análisis y optimización guiados por objetivos de protocolos de
comunicaciones. Esta herramienta permitirá estudiar tanto modelos de protocolos en
escenario realistas como implementaciones reales.
37
Tarea 2.4: Aplicación a videostreaming
Participantes: Alberto Salmerón, Álvaro Recio, Almudena Díaz, Pedro Merino
En esta tarea se validará la herramienta desarrollada en las tareas anteriores mediante su
aplicación a un caso de estudio.
Como caso de estudio se tomará una aplicación de videostreaming. Estas aplicaciones,
por sus requisitos de tiempo real y calidad de servicio, se pueden ver especialmente
beneficiadas por una optimización de los protocolos utilizados. Se estudiará el
comportamiento del videostreaming ante distintos escenarios, y cómo se pueden configurar
los distintos parámetros disponibles para conseguir un buen rendimiento. Se prestará
atención a las particularidades a las que tienen que enfrentarse las comunicaciones a través
de redes móviles, así como a posibles soluciones de tipo cross-layer.
Módulo 3: Generación automática de adaptadores y monitorización de la
comunicación entre servicios móviles
Responsable: Ernesto Pimentel
Participantes: Ernesto Pimentel, Javier Cubo, José Antonio Martín, Javier Cámara, Nathalie
Moreno, José Luis Pastrana, Meriem Ouderni
Descripción
El objetivo de este módulo es el estudio y unificación de lenguajes de especificación que
cubran los niveles y vistas de los requisitos de los sistemas móviles y empotrados con el fin
de soportar un desarrollo basado en modelos. Dicho modelo incluirá la semántica necesaria
para que sea posible la síntesis de adaptadores y la verificación formal del sistema. Este
desarrollo hará uso de técnicas de model checking, satisfacibilidad lógica y demostraciones
formales de propiedades inherentes al modelo.
En este módulo, nos centramos en la generación de adaptadores dinámicos. En este
contexto, hay que hacer especial hincapié en recoger y analizar las preferencias del usuario
así como los requisitos del sistema. Tras estudiar las propuestas existentes para la
generación de adaptadores [SMZ07, BPSKC04, CCP11, GRR10, WVKT06], se detecta que
es necesario combinar esfuerzos para definir un modelo formal que contemple los cambios
dinámicos en el sistema, haciendo uso de la especificación del comportamiento, la
descripción semántica y la información de contexto.
También hay que monitorizar las capacidades de los servicios, verificar que los objetivos
se cumplen, sintetizar un plan de adaptación que reconfigure el sistema a los cambios de
contexto, y manejar al mismo tiempo distintos niveles de seguridad acordes a la
sensibilidad de los datos y operaciones en cada momento.
38
Resultados
R.3.1 Un modelo formal que identifique la información relativa a las preferencias de
usuario y los requisitos del sistema.
R.3.2 Una plataforma para la selección, la adaptación y la monitorización de los interfaces
de servicios móviles, haciendo uso del modelo formal previamente definido.
R.3.3 Un informe sobre el uso de la plataforma en la aplicación de redes sociales.
Las primeras aproximaciones a estos resultados han sido publicadas en los trabajos
[CMSCOCP09, CCP11]. Aunque sólo cierta información contextual es soportada en estos
trabajos, por lo que se pretende extender los modelos formales existentes para mejorar los
mecanismos de adaptación. A su vez también se ha afrontado la especificación de contratos
de adaptación con seguridad [MP10a], la síntesis y verificación de orquestadores seguros
conformes a dichos contratos y el descubrimiento dinámico de servicios [MP10b, CCP10].
Tarea 3.1: Identificación y control de preferencias de usuario, y
capacidades de servicios
Participantes: Ernesto Pimentel, Javier Cubo, Nathalie Moreno, José Luis Pastrana
Las preferencias de usuario y las capacidades de servicios constituyen una fuente
importante de información en el comportamiento de sistemas móviles y ubicuos. Sin
embargo, la obtención y mantenimiento de dicha información no resulta una tarea sencilla.
Esto se debe, en parte, a que este tipo de sistemas está sujeto a cambios en tiempo de
ejecución respecto de las necesidades de los usuarios, así como de la disponibilidad de
nuevos servicios o modificaciones de los existentes. Estos cambios afectarán tanto a las
preferencias de los usuarios como a las capacidades de los servicios del sistema, siendo
necesario controlar su mantenimiento.
En esta tarea se define un modelo para describir y componer semánticamente las
preferencias de usuario y los requisitos de calidad del sistema en tiempo de ejecución.
Dicho modelo debe soportar la especificación de preferencias cualitativas y cuantitativas, y
controlar las capacidades cambiantes de los servicios del sistema. La signatura y el
comportamiento de los servicios vendrán definidos a través de sistemas de transiciones
(máquinas de estado finito). Se hará uso de ontologías para soportar las descripciones
semánticas de los servicios. Por último, el modelo tendrá en cuenta diferentes tipos de
información de contexto heterogénea, que será recogida a través de sensores, o inferida a
través de la cabecera HTTP de los mensajes SOAP de los servicios. Esto hace que el envío
de dicha información sea independiente del usuario, y que tenga que ser evaluada
continuamente en tiempo de ejecución, para controlar los posibles cambios.
39
Tarea 3.2: Mecanismos de seguridad adaptada al contexto
Participantes: José Antonio Martín, José Luis Pastrana, Javier Cámara, Ernesto Pimentel
Todo sistema informático, y en especial los sistemas distribuidos, deben prestar especial
atención a la seguridad como parámetro de calidad. Los sistemas de autorización ralentizan
el acceso a los datos y dificultan su recuperación en caso de fallos informáticos. Nuestra
propuesta es instrumentar los requisitos de seguridad recogidos en la Tarea 3.1, de manera
que la seguridad del sistema sea aplicada y verificada automáticamente y, al mismo tiempo,
se generen garantías de seguridad que puedan ser verificadas por terceras partes. Esta tarea
evolucionará en colaboración con la Tarea 3.3 dado que se emplearán mecanismos de
adaptación y reconfiguración dinámica, técnicas de model checking parcial y
satisfacibilidad lógica. Todo ello con el objetivo de obtener orquestaciones con una mayor
tolerancia a fallos, debido a su adaptabilidad; fiables, gracias a las garantías generadas; y
seguras, dada la verificación formal y monitorización continua.
Tarea 3.3: Adaptación y monitorización dinámica en sistemas móviles
Participantes: Javier Cubo, José Antonio Martín, Javier Cámara, Ernesto Pimentel
Los problemas asociados a la adaptación dinámica de servicios en sistemas móviles
pueden clasificarse en cuatro principales categorías: (i) problemas de desajustes, (ii)
cambios en los requisitos y en la configuración, (iii) fallos en la red o en el sistema remoto,
y (iv) errores de servicio interno.
En esta tarea se aborda el control y mantenimiento de sistemas móviles distribuidos,
haciendo uso del modelo definido en las Tareas 3.1 y 3.2. El tipo (i) se refiere a los
problemas que pueden aparecer en diferentes niveles de interoperabilidad (nivel de
signatura, nivel de comportamiento o de protocolo, nivel de calidad de servicio, y nivel de
semántica o conceptual). En este caso se hará uso de la adaptación software para abordarlo
de forma no-intrusiva. Nuestra propuesta realizará una adaptación contextual dinámica para
controlar el sistema en tiempo de ejecución, considerando cambios de contexto en el
usuario y en el entorno, en base a las preferencias de usuario o capacidades del servicio. El
tipo (ii) es provocado por los cambios continuos (nuevos requisitos o servicios
completamente creados en tiempo de ejecución). Para este problema se usarán técnicas de
evolución o mantenimiento software [MD08], mediante reconfiguración dinámica, para
resolverlos de manera no-intrusiva o intrusiva, según corresponda al tipo de cambio en la
estructura física o lógica del sistema. Los problemas tipo (iii) y (iv) se relacionan con los
fallos en las redes (pérdida de conexión de red o no disponibilidad de un host remoto) y en
los servicios (suspensión de servicios durante la ejecución o error del sistema en tiempo
real), respectivamente. Ambos podrán ser abordados por mecanismos de tolerancia a fallos
o recuperación de errores.
40
Tarea 3.4: Servicios móviles reconfigurables para la Internet del futuro:
Una aplicación a las redes sociales
Participantes: Ernesto Pimentel, Javier Cubo, Meriem Ouderni, José Luis Pastrana
El uso incremental de los dispositivos móviles ha dado lugar a la creación de un nuevo
mercado de aplicaciones móviles durante los últimos años. En concreto, dentro de estas
nuevas aplicaciones, las redes sociales están siendo usadas cada vez más. En este tipo de
sistemas es relevante considerar las preferencias de usuario y los cambios dinámicos en el
entorno, para adaptar y reconfigurar automáticamente el comportamiento de los servicios
que interaccionen en el sistema en tiempo de ejecución. De esta manera, se pueden resolver
problemas relacionados con el tipo de conectividad, las restricciones de ancho de banda o
los recursos locales (por ejemplo, para controlar el rendimiento y el consumo de energía
durante la comunicación de los servicios), los perfiles de usuario (por ejemplo, para
encontrar usuarios con intereses similares), la localización del usuario (por ejemplo, para la
detección de servicios cercanos al usuario), etc. Además, es necesario dotar a estos sistemas
de la seguridad adecuada en las interacciones de los servicios, dependiendo de la
información del contexto desde el punto de vista del usuario y de los servicios,
considerando los posibles cambios dinámicos en el entorno de ejecución.
En esta tarea se plantea la validación de las técnicas de adaptación y monitorización
desarrolladas previamente. En primer lugar, se hará un estudio de la información del
usuario y del entorno del sistema a considerar, modelando parámetros de calidad del
servicio, cambios de contexto o seguridad. Finalmente, se aplicarán los mecanismos
necesarios para establecer automáticamente las configuraciones (mediante adaptadores y
monitorización pertinente) que permitan una correcta ejecución del sistema (interacción
entre usuario y servicios).
Módulo 4: Extensión de infraestructuras de certificación de protocolos
LTE para la medida de QoS en servicios emergentes
Responsables: Pedro Merino, Joaquín Torrecilla (AT4)
Participantes: Eusebio Gallardo (AT4), María Victoria Morillo (AT4), Almudena Díaz,
Alberto Salmerón, Álvaro Recio, David Sanán
Descripción
En este módulo se pretende abordar la generación de las configuraciones para EUTRAN y los casos de pruebas de QoS para el terminal a través del modelado de los
protocolos implicados, usando posteriormente técnicas de simulación dirigidas por model
checking para extraer las configuraciones óptimas. Los resultados obtenidos en este proceso
serán utilizados en la configuración y estimulación de un entorno de certificación real de
terminales móviles. Esta metodología se basará en un flujo iterativo que permitirá ir
refinando sucesivamente los datos extraídos del modelo en líneas con los resultados en la
ejecución real en el entorno de certificación.
41
El uso de dichas técnicas permitirá dotar a las técnicas de test tradicionales con la
exhaustividad necesaria para abordar el diseño de casos de prueba para QoS. Dichos
escenarios implican situaciones muy complejas que presentan numerosas permutaciones de
los parámetros de configuración. También existen antecedentes que avalan este enfoque,
como la recomendación Z-500 del ITU– T, que define un marco de trabajo para aplicación
de métodos formales en pruebas de conformidad, FMCT (Formal Methods in Conformance
Testing).
Resultados
R.4.1 Un informe con el diseño de una infraestructura de laboratorio para generación de
configuraciones y certificación de KPIs (QoS y de consumo energético) en servicios sobre
protocolos de LTE.
R.4.2 Herramientas software que implementan la infraestructura de generación de
configuraciones y certificación de servicios integrando emuladores de red LTE.
R.4.3 Modelos ns-s y OPNET de protocolos relevantes para la generación de
configuraciones que permitan optimizar servicios en redes LTE.
R.4.4 Informe sobre la validación de la infraestructura de generación de configuraciones y
certificación de servicios aplicada al servicio de VoIP.
Tarea 4.1: Diseño del entorno de certificación
Participantes: Joaquín Torrecilla, Eusebio Gallardo, María Victoria Morillo, Almudena
Díaz
Esta tarea tiene por objetivo diseñar la cadena de herramientas, como la que se muestra
en la Figura 4.1, que integre los resultados en técnicas formales dentro en un entorno de
certificación real. Como se ha comentado anteriormente, en primer lugar será necesario
modelar los protocolos LTE sobre los que posteriormente se aplicarán las técnicas
desarrolladas en los módulos 1, 2 y 3. Esta funcionalidad quedará dentro del módulo
denominado E-FMCT (Evolved – Formal Methods in Conformance Testing).
Las configuraciones y casos de prueba resultantes serán utilizados para configurar el
equipo de emulación de red. Para ello será necesario identificar los interfaces de
configuración y de transferencia de datos entre el E-FMCT y el emulador.
Asimismo será necesario diseñar un sistema de gestión y monitorización del entorno de
certificación resultante que permita controlar la ejecución de los casos de pruebas y
recopilar, analizar y evaluar los resultados obtenidos.
Por último, se identificarán los perfiles y KPIs de los servicios de interés para el diseño
de las configuraciones y los casos de prueba. El establecimiento de los KPI permitirá
definir el comportamiento esperado a nivel de QoS y consumo energético.
42
Figura 4.1. Diseño del entorno de certificación
Tarea 4.2: Modelado de protocolos LTE e implementación de técnicas de
optimización de configuraciones
Participantes: Alberto Salmerón, Pedro Merino, Álvaro Recio
Esta tarea se centra en la implementación del módulo denominado E-FMCT. En primer
lugar, se identificarán los protocolos y parámetros de configuración claves para el análisis
y evaluación de QoS y consumo energético. A continuación, se modelarán los protocolos y
se adaptarán las técnicas desarrollados en los módulos 1, 2 y 3 a la generación de
configuraciones óptimas y casos de pruebas para la validación de aspectos relacionados con
la QoS y el consumo energético.
Concretamente, para el caso del consumo energético, se pretende evaluar todos los
factores que pueden influir en el consumo de energía, desde el protocolo de transporte
empleado [ZR99] [SS02], hasta la gestión de recursos radio que se lleva a cabo en la red
celular [HSE07], pasando por el uso de diferentes tecnologías de acceso radio en función de
su disponibilidad [DM10].
Para la obtención de los casos de prueba de verificación de QoS se partirá de una serie
de objetivos que dirigirán la generación de configuraciones de parámetros óptimas
mediante la ejecución de simulaciones en las que se comprueba el cumplimiento de estos
objetivos, de acuerdo a la metodología aplicada en trabajos anteriores [MS10]. Como parte
43
de esta tarea se contempla el uso de trazas reales para fijar los objetivos y los
comportamientos que quieren ser inferidos y plasmados tanto en las pruebas como en las
configuraciones de parámetros.
En último lugar, se adaptarán la metodología y las herramientas desarrolladas en el
módulo 3 para la generación de configuraciones óptimas. Concretamente, esta adaptación
consistiría en hacer uso de las técnicas de adaptación y reconfiguración del módulo 3 para
poder establecer automáticamente las configuraciones de parámetros para adaptar los
requisitos exigidos a nivel de aplicación con la configuración de la pila de protocolos LTE.
Tarea 4.3: Implementación del sistema de certificación
Participantes: Joaquín Torrecilla, Eusebio Gallardo, María Victoria Morillo, David Sanán
En esta tarea se implementarán las interfaces (APIs) de monitorización, control y
configuración para el emulador de red y el entorno de gestión diseñados en la tarea 4.1. Se
analizarán las APIs disponibles en el emulador de red desarrollado por AT4 wireless
(E2010) para la configuración y ejecución de las pruebas de certificación tradicionales y
extenderlas con las funcionalidades identificadas y definidas en la tarea 4.1.
Como resultado de esta tarea se dispondrá de un entorno de certificación altamente
reconfigurable. Esto conferirá al entorno la flexibilidad y funcionalidad necesarias para
ejecutar casos de test de QoS para diferentes configuraciones de red. El objetivo es que con
cada una las configuraciones de test empleadas se configuren de forma distinta los
parámetros relacionados con la QoS en las distintas capas de protocolos de E-UTRAN.
Tarea 4.4: Validación del entorno con el servicio de VoIP
Participantes: Eusebio Gallardo, María Victoria Morillo, Almudena Díaz, Joaquín
Torrecilla
En esta tarea se llevará a cabo la validación completa en laboratorio del entorno de
certificación resultante tras integrar los módulos diseñados en las tareas anteriores.
Para la validación del entorno se tomará como servicio bajo test el servicio de VoIP. Los
aspectos bajo test serán aquellos relacionados con la calidad de servicio y el consumo
energético. Por otra lado, para la generación de los casos de tests de tendrán en cuenta tanto
escenarios estáticos como otros escenarios con configuraciones multi-celda que permitan
aspectos como la continuidad del servicio.
44
4.1 Cronograma de tareas
La planificación completa se recoge en la Figura 4.2. Hay que destacar que las tareas
relativas a las aplicaciones están activas desde el primer año del proyecto. Esto se debe a
que proporcionarán información para especificar los requisitos para el avance en las
técnicas de verificación y síntesis.
Primer año
Segundo año
Tercer año
M0: Gestión, Coordinación, Difusión y Explotación
Tarea 1.1: Diseño del lenguaje de modelado de sistemas
híbridos
Tarea 1.2: Estudio de la integración de las herramientas
Tarea 1.3: Desarrollo de un prototipo y ejecución de
pruebas
Tarea 1.4: Aplicación a sistemas de control ferroviario
Tarea 2.1: Optimización de modelos de protocolos mediante
model checking
Tarea 2.2: Incorporación de medidas reales
Tarea 2.3: Optimización de sistemas reales
Tarea 2.4: Aplicación a videostreaming
Tarea 3.1: Identificación y control de preferencias de
usuario, y capacidades de servicios
Tarea 3.2: Mecanismos de seguridad adaptados a contexto
Tarea 3.3: Adaptación y monitorización dinámica en
sistemas móviles
Tarea 3.4: Servicios móviles reconfigurables para la
Internet del futuro: Una aplicación a las redes sociales
Tarea 4.1: Diseño del sistema de certificación
Tarea 4.2: Modelado de protocolos LTE e implementación
de técnicas de optimización de configuraciones
Tarea 4.3: Implementación de la infraestructura de
certificación
Tarea 4.4: Validación del entorno con el servicio de VoIP
Figura 4.2. Cronograma de tareas del proyecto
45
4.2 Riesgos y planes de contingencia
Los problemas descritos en la propuesta del proyecto ya han sido estudiados por el
equipo investigador con cierta profundidad. En algunos casos ya se han realizado
evaluaciones con prototipos, como en la aplicación de model checking para síntesis y
optimización, o el estudio experimental de los parámetros que afectan al funcionamiento de
los protocolos. Por otra parte, el equipo tiene una amplia experiencia en proyectos
similares. Por todo ello, no se detecta que pueda haber problemas que impidan la
consecución de los objetivos del proyecto.
5
Resultados esperados, difusión y explotación, en su caso, de los
mismos.
5.1 Resultados esperados
Como se indica en cada uno de los módulos del plan de trabajo, el proyecto debe generar al
menos los siguientes resultados concretos:
R.1.1 Un informe sobre las contribuciones en la extensión de herramientas de model
checking para incorporar sistemas híbridos.
R.1.2 Una herramienta para la verificación de sistemas híbridos, construida sobre el model
checker SPIN.
R.1.3 Un modelo analizable de un sistema de control ferroviario.
R.1.4 Un informe sobre la verificación del sistema de control ferroviario con la herramienta
desarrollada en el módulo.
R.2.1 Un informe sobre las contribuciones en la integración del model checker SPIN y los
simuladores de red ns-2 y OPNET
R.2.2 Una herramienta de soporte para el análisis y optimización de protocolos mediante
simulación, monitorización y ajuste de parámetros construida sobre el model checker SPIN
y los simuladores de red ns-2y OPNET.
R.2.3 Modelos para ns-2 y OPNET de protocolos relevantes en el servicio de
videostreaming en redes móviles.
R.2.4 Un informe sobre la los trabajos de verificación y optimización de los protocolos del
servicio de videostreaming.
R.3.1 Un modelo formal que identifique la información relativa a las preferencias de
usuario y los requisitos del sistema.
R.3.2 Una plataforma para la selección, la adaptación y la monitorización de los interfaces
de servicios móviles, haciendo uso del modelo formal previamente definido.
R.3.3 Un informe sobre el uso de la plataforma en la aplicación de redes sociales.
46
R.4.1 Un informe con el diseño de una infraestructura de laboratorio para generación de
configuraciones y certificación de KPIs (QoS y de consumo energético) en servicios sobre
protocolos de LTE.
R.4.2 Herramientas software que implementan la infraestructura de generación de
configuraciones y certificación de servicios integrando emuladores de red LTE.
R.4.3 Modelos ns-2 y OPNET de protocolos relevantes para la generación de
configuraciones que permitan optimizar servicios en redes LTE.
R.4.4 Informe sobre la validación de la infraestructura de generación de configuraciones y
certificación de servicios aplicada al servicio de VoIP.
Esta lista de resultados demuestra que el proyecto pretende generar herramientas y
técnicas utilizables a nivel industrial en la verificación, síntesis, optimización y
certificación en los dominios de aplicación considerados. Por una parte, se proporcionarán
contribuciones en lenguajes de especificación, algoritmos de síntesis y optimización, y los
aspectos formales y metodológicos que amplían el uso de las técnicas formales más allá de
lo logrado hasta el momento. Esos resultados proporcionarán otros posiblemente
patentables y con aplicación más directa en el sector industrial, como las siguientes:
1. Nueva versión del model checker SPIN para la verificación de sistemas con
comportamiento híbrido y/o probabilístico
2. Modelos para SPIN extendido de sistemas de control ferroviario sobre los que
simular o probar estrategias de explotación
3. Modelos para ns-2 y para OPNET de protocolos concretos de la pila LTE, como
las capas MAC y RRC
4. Herramientas que integran SPIN y simuladores de red como ns-2 y OPNET para
la optimización de protocolos
5. Arquitectura para integrar herramientas software de simulación y optimización y
hardware para emulación de nodos de acceso LTE para la certificación de
aspectos de calidad de servicio y otros aspectos, como el consumo energético en
nuevas aplicaciones
5.2 Difusión y explotación de resultados
Los miembros del grupo solicitante han demostrado una amplia experiencia en la
difusión de conocimiento. La mayoría de ellos tiene experiencia en la organización de
conferencias y son miembros de comités de programa de conferencias de reconocido
prestigio.
Al tratarse de un grupo consolidado y con experiencia es posible plantear estrategias a
medio y largo plazo, que permiten abordar objetivos más ambiciosos y estratégicos.
Se pondrá énfasis en maximizar el impacto de los resultados obtenidos. Las principales vías
de difusión de resultados serán las conferencias y revistas estrechamente relacionadas con
el área objeto del proyecto y un sitio Web del proyecto que ofrecerá información
actualizada sobre el proyecto. Este portal Web informará sobre los objetivos del proyecto,
sobre las actividades que se programen y sobre los resultados de investigación, desarrollo y
47
transferencia tecnológica alcanzados. La página Web deberá estar disponible antes de los
primeros seis meses del proyecto, y deberá actualizarse sistemáticamente. Las
publicaciones a las que dé lugar y las herramientas software construidas con código abierto
se harán disponibles públicamente en el servidor Web.
Nuestra intención es preparar un plan de difusión de resultados, que ponga especial
énfasis en maximizar el impacto del proyecto en el sector industrial. Algunas de las
herramientas que se obtengan dentro del proyecto, construidas con software libre, y que
puedan utilizarse por sí solas serán distribuidas con licencias públicas, con el objeto de
maximizar el impacto y utilización de la metodología y herramientas propuestas. Este es el
caso de las extensiones que se realicen de model checkers como SPIN, de simuladores de
red como ns-2 OPNET, o de herramientas de depuración en terminales móviles como
SymPA. Para otros resultados, como los APIs que se realicen en colaboración con AT4
wireless para la monitorización y configuración de equipos de certificación, se publicará su
definición, pero puesto que su uso implica disponer del hardware de emulación de red, será
necesario realizar algún tipo de acuerdo entre las entidades interesadas en su uso y los
desarrolladores las mismas (AT4 wireless y la Universidad de Málaga). Se pondrá énfasis
en que haya contribuciones concretas de nuestro proyecto susceptibles de ser patentadas y
explotadas comercialmente a medio o largo plazo.
El acceso a la industria y a los centros de investigación para tratar de transferir los
resultados se hará de manera más directa por varias vías. Una vía serán los proyectos y
redes internacionales en las que participan los investigadores de la UMA de manera actica,
como el consorcio europeo para investigación en informática ERCIM (19 países), el
proyecto COST Action IC0701 en verificación de software orientado a objetos (19
países)socios de NN países), el proyecto sobre sistemas operativos para móviles
ARTEMIS-SYMBEOSE (23 socios de 8 países) o la plataforma tecnológica europea en
reses y servicios de comunicaciones Net!works (prácticamente todos los países europeos).
Otra vía para fomentar la transferencia de tecnología son los contactos comerciales de la
empresa AT4 wireless, cuya reputación y ámbito de actividad en el área de la certificación
de equipos wireless se extiende a la mayor parte de fabricantes de terminales a nivel
mundial.
También es interesante destacar el uso de contactos previos de instituciones que ya
emplean nuestros desarrollos, como es el caso de la herramienta SymPA, entre cuyos
usuarios están empresas o centros de I+D como Packet Video, University of Brunel,
N2Nsoft, Laboratoired'informatique de Paris 6 (LIP6), Kamlex, Tunisiana (Orascom
Telecom Tunisia), Hunan University, Orange (France Telecom Group), Telecom NZ,
Vector Max, Telefónica I+D, TMA Solutions, Aucklanduniversity of technology, Illinois
University, YonseiUniversity, MCG srl, Worllink, Its4Solutions Pvt. Ltd., etc. (la lista está
dispobible en http://www.lcc.uma.es/~pedro/mobile/Software/sympa.html)
Durante el proyecto, además de con AT4 wireless, se mantendrán encuentros
informativos con las otras entidades que lo respaldan de forma explícita. Novasoft está
interesada en todos los aspectos software, especialmente en los adaptadores de servicios.
Vodafone está interesada en la optimización de parámetros en el acceso a LTE y en los
servicios para móviles. ADIF está interesada en el control ferroviario.
48
6
Relación del personal del equipo del proyecto
El proyecto que se solicita es de tipo motriz, por lo que además del equipo investigador
de la Universidad de Málaga, en el mimo participarán investigadores de la empresa AT4
wireless. En total, participan 18 personas, con más del 30% de investigadoras, incluida la
responsable del proyecto.
6.1 Investigadores de la UMA y sus actividades de
Internacionalización de la investigación
Por parte de la Universidad de Málaga participan 9 doctores y 6 titulados superiores,
todos a tiempo completo. Está previsto que la mayoría de los titulados superiores defiendan
su tesis doctoral durante la vigencia del proyecto. La composición del equipo es la
siguiente:
Nombre del investigador
GALLARDO MELGAREJO, MARIA MAR
MERINO GOMEZ, PEDRO
PIMENTEL SÁNCHEZ, ERNESTO
RUIZ JIMENEZ, BLAS CARLOS
PASTRANA BRINCONES, JOSÉ LUIS
CUBO VILLALBA, JAVIER
DÍAZ ZAYAS, ALMUDENA
SANÁN BAENA, DAVID
CÁMARA MORENO, JAVIER
MORENO VERGARA, NATHALIE
MARTÍN BAENA, JOSÉ ANTONIO
PANIZO JAIME, LAURA
RECIO PÉREZ, ÁLVARO M.
SALMERÓN MORENO, ALBERTO
OUDERNI, MERIEM
DNI
34022069D
25086840G
25095535M
28406673V
33379137L
33366871N
53155810G
74826670B
74655852Z
25674851C
45713807L
44586363N
74843226F
75881563D
X9358698K
Doctor
X
X
X
X
X
X
X
X
X
Tiempo completo
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Además de los detalles disponibles en SICA y de los incluidos en las secciones
posteriores, como elemento adicional para evaluar la calidad del equipo investigador hay
que destacar que además los investigadores de la UMA tienen una larga trayectoria de
gestión y difusión de la investigación a nivel internacional, que se refleja en las siguientes
actividades:
1. La participación en la creación y dirección (como presidentes o como miembros de
los órganos de dirección) de grupos de trabajo o redes internaciones, como el
consorcio SpaRCIM para representar a España en ERCIM, el grupo de trabajo en
métodos formales FMICS, la acción COST en verificación de software orientado a
49
objetos o la plataforma tecnológica eMobility (actualmente renombrada como
Net!works).
2. La participación como miembros de la plataforma Europea dedicada a tecnologías
software y de servicios, NESSI (Networked European Software and Services
Initiative Technology Platform) y de la sociedad SDL Forum para la promoción de
los lenguajes formales de la ITU.
3. La colaboración con investigadores extranjeros en organización de eventos,
publicaciones conjuntas o intercambios. Entre ellos, y con relación directa con este
proyecto se pueden citar los siguientes:
-
-
-
Alessandro Fantechi (Universidad de Florencia), actual presidente del grupo de
trabajo FMICS y experto en el uso de técnicas formales para control ferroviario,
con quien se comparten actividades en el grupo FMICS .
Stefan Leue (Universidad de Costanza), con quien se organizó FMICS 2007 y
un número especial en Science of Computer Programming (vol. 76(2)).
Tiziana Margaria (Universidad de Potsdam), con quien se han organizado
sesiones especiales sobre técnicas formales en diversos eventos, y se han
iniciado propuestas como la plataforma FMICS J-ETI para el acceso remoto a
herramientas de verificación.
Erwin Schoisth (AARIT - Austrian Association for Research in IT), con quien
se ha un número especial sobre sistemas críticos en Ercim news (nº 77).
Antonio Brogi (Università di Pisa), Gwen Salaün (Grenoble INP-INRIA-LIG) y
Pascal Poizat (University of Evry Val d’Essone), con los que desde los últimos
años se mantienen colaboraciones de trabajo y relaciones para la organización
de congresos centrados en la temática de la aplicación de métodos formales
aplicados a la ingeniería software, computación de servicios, sistemas móviles y
ubicuos, y técnicas de verificación.
4. La participación habitual como revisiones de artículos de revistas relacionadas con
la temática del proyecto, como Software Testing, Verification and Reliability,
Software Tools for Technology Transfer, Formal Aspects of Computing, Science of
Computer Programming, Software and System Modelling, etc.
5. La participación en comités de programas de congresos internacionales relacionados
con la temática del proyecto como SAS (Static Analysis Symposium), SPIN
(Software Model Checking), FoVeOOS (International Conference on Formal
Verification of Object-Oriented Software), FMICS (Formal Methods for Industrial
Critical Systems), SDL Forum, CONQUEST(International Conference on Quality
Engineering in Software Technology), PIMRC (IEEE International Symposium on
Personal, Indoor and Mobile Radio Communications), NEW2AN (Next Generation
Wired/Wireless Advanced Networking), FLACOS (Formal Languages and Analysis
of Contract-Oriented Software), CIbSE (Congreso Iberoamericano en Software
Engineering), ECOWS (European Conference on Web Services), FOCLASA
(International Workshop on the Foundations of Coordination Languages and
Software Architectures), etc.
50
6. La incorporación de investigadores extranjeros al equipo investigador de la UMA
por periodos de varios meses y no como visitas breves, tanto como para estancias
predoctorales o postdoctorales como bien para la realización de sus tesis doctorales,.
El equipo solicitante ha acogido recientemente a Gwen Salaün (postdoc de INRIAFrancia), Christophe Joubert (postdoc de INRIA-Francia), Pekka Perala (de VTTFinlandia) y Meriem Ouederni (realizando tesis doctoral), e integrará en pocos
meses a Iwan Adhicandra como postdoc financiado parcialmente por una acción
Marie Curie concedida a ERCIM.
Por otra parte, los doctores más recientes y los investigadores que realizan la tesis doctoral
han tenido o tienen estancias postdoctorales o predoctorales en actividades directamente
relacionadas con la temática del proyecto en centros de prestigio, como los siguientes:
-
-
-
-
-
-
-
-
-
UCI (University of California – Irvine, EEUU)- Estancia predoctoral de 3 meses
de Javier Cámara, trabajando en programación orientada a aspectos y líneas de
producto software, con el Prof. Alfred Kobsa. (2007)
VTT (Finlandia) – Estancia predoctoral de 3 meses de Almudena Díaz para
trabajar en herramientas de monitorización de QoS en redes móviles con el
investigador Marko Jurvansu (2008).
INRIA (Francia)- Estancia predoctoral de 3 meses de David Sanán, con trabajos
en la extensión de la herramienta de verificación CADP para gestionar memoria
dinámica con el investigador Radu Matescu. (2008)
UCL (University College London, Reino Unido)- Estancia predoctoral de 3
meses de Javier Cubo, trabajando en la verificación de modelos para la
formalización de los interfaces de servicios Web adaptativos dependientes del
contexto, con el Prof. David S. Rosenblum. (2008)
CUL (City University London, Reino Unido)- Estancia predoctoral de J.
Antonio Martín de 3 meses al cargo de Prof. George Spanoudakis, trabajando en
el descubrimiento escalable de servicios Web adaptables al comportamiento
deseado. (2009)
ICL (Imperial College London, Reino Unido)- Estancia predoctoral de 3 meses
de Javier Cámara, para trabajar el ámbito del modelado de adaptadores, con los
Profesores Jeff Kramer y Jeff Magee. (2008)
INRIA (Francia)- Estancia predoctoral de 3 meses de Meriem Ouderni,
trabajando en la compatibilidad de servicios Web con el investigador Gwen
Salaün. (2009)
INRIA (Francia)- Estancia postdoctoral de 1 año de Javier Cámara, realizando
trabajos de sistemas de control en tiempo real para síntesis de controladores, con
los investigadores Antoine Girard y Gregor Goessler. (2010)
CNR (Consiglio Nazionale delle Ricerche, Italia)-Estancia predoctoral de J.
Antonio Martín de 3 meses con el investigador Fabio Martinelli,realizando
trabajos en síntesis, verificación y refinación de adaptadores capaces de
solventar incompatibilidades de comportamiento y seguridad entre servicios
Web. (2010)
51
-
-
-
-
UCSB (University of California – Santa Barbara, EEUU)- Estancia predoctoral
de 3 meses de Meriem Ouderni, realizando trabajos en la línea de
compatibilidad de servicios Web, con el Prof. Tevfik Bultan. (2011)
SUTD (Singapur University of Technology and Design, Singapur)- Estancia
postdoctoral de 1 año de David Sanán, que se iniciará en 2011, para trabajar en
la extensión de model checkers para lenguajes de programación con el profesor
Sun Jun.
VERIMAG (Francia)- Estancia predoctoral de 3 meses de Laura Panizo en
2011, para trabajar en la verificación de sistemas híbridos con el profesor
GoranFrehse
TUT (Tampere University of Technology, Finlandia)- Estancia predoctoral de 3
meses de Alberto Salmerón en 2011, para trabajar en el uso de simuladores
controlados por model cheking para optimizar estrategias de cross-layer en pilas
de protocolos con el profesor Yevgeni Koucheryavy
En los apartados 7 y 9 se dan más detalles de la amplia experiencia del conjunto del
equipo en aspectos como producción científica, proyectos de investigación, transferencia de
tecnología e internacionalización de sus actividades.
6.2 Investigadores de AT4 wireless y sus actividades de
Internacionalización de la investigación
AT4 wireless es una empresa internacional cuya sede principal está situada en Málaga y
con oficinas en Sevilla, Madrid, Herndon (EEUU), Taipei (Taiwan) y próximamente Chile.
Es una empresa líder en el sector de certificación de equipos de comunicaciones móviles e
inalámbricas, que cuenta con más de 300 empleados. En los últimos años ha recibido
numerosos premios a nivel regional y nacional en reconocimiento a sus actividades de
fomento de la innovación y la investigación. Tiene un centro de I+D en el ámbito de las
comunicaciones móviles e inalámbricas que participa en múltiples proyectos de
investigación de carácter regional, estatal y europeo en colaboración con universidades y
otras empresas internacionales del sector.
Una parte importante de su actividad la dedica al desarrollo de plataformas de medida y
ensayo para la certificación de equipos de comunicaciones, lo que requiere una constante
actualización en las últimas técnicas que se usan los sistemas de comunicaciones
inalámbricas para poder adaptar rápidamente sus sistemas a los cambios que se introducen
en los nuevos estándares.
En concreto, AT4 wireless fue el primer laboratorio de certificación de equipos del
WiMAX Forum, y ya proporciona servicios de ensayo y pre-certificación para el estándar
LTE.
La empresa participa en el proyecto con las siguientes personas:
1. Eusebio Gallardo, Ingeniero de Telecomunicación con 3 años de experiencia en
desarrollo de aplicaciones de prueba de protocolos para comunicaciones
inalámbricas.
52
2. María Victoria Morillo-Velarde, Ingeniera de Telecomunicación con 9 años de
experiencia en desarrollo de soluciones de prueba de protocolos para
comunicaciones inalámbricas. Actualmente es responsable del grupo de desarrollo
de pilas de protocolos en AT4 wireless.
3. Joaquín Torrecilla, Ingeniero de Telecomunicación con 19 años de experiencia en
los mercados del test y medida y de la certificación de terminales móviles e
inalámbricos. Actualmente es CTO en AT4 wireless.
Como muestra de la implicación de la empresa en este proyecto hay destacar el perfil de
los participante. Junto al CTO, responsable de toda la estrategia tecnológica de la empresa,
participará la responsable del desarrollo de pilas de protocolos, incluidos los protocolos de
LTE.
La dedicación del personal comprometida en la documentación adjunta es la siguiente:
Nombre del investigador
Dedicación en horas
Eusebio Gallardo Estrella
750 horas
María Victoria Morillo Velarde
300 horas
Joaquín Torrecilla Torregrosa
200 horas
7
Financiación pública y/o privada, en otros contratos y proyectos de
I+D, obtenidos por los miembros del equipo
Los participantes del equipo de la UMA han contado con un alto grado de financiación
para el desarrollo de sus actividades investigadoras. Dicha financiación se ha obtenido
gracias a su participación en convocatorias públicas de proyectos de investigación (tanto a
nivel nacional como internacional) y a la firma de gran cantidad de contratos y convenios
con empresas. Globalmente, desde su creación en 1990, el grupo de investigación GISUM,
identificado como TIC-136 por la Junta de Andalucía, ha contado con más de 90 proyectos
de investigación, en los que hay que destacar unos 20 proyectos del Plan Nacional de
investigación, una decena de proyectos europeos del Programa Marco y 7 proyectos de
excelencia de la Junta de Andalucía. La financiación al grupo consolidado TIC136 de la
Junta de Andalucía con la máxima puntación en los últimos años. Asimismo, se ha
realizado una importante labor de transferencia de tecnología a empresas a través de
diferentes convenios y contratos, que junto a la financiación pública hace que el grupo
tenga unos 2 millones de euros anuales de financiación. Todos esos datos constan en la
base de datos SICA.
Como muestra de la actividad del equipo de la UMA que solicita el proyecto, a
continuación se indican algunos proyectos y contratos recientes (últimos 5 años)
relacionados con la temática de la presente propuesta y en los que participan algunos los
investigadores relacionados en la sección anterior. Se incluye título, período y financiación
(ayuda total/ayuda para la UMA). En ellos, hay que destacar que los fondos provienen de
forma equilibrada de diferentes, tanto por su naturaleza (desde de proyectos de
investigación fundamental hasta contratos más aplicados), como por el tipo de institución
que financia (empresas nacionales e internacionales, gobierno autónomo, nacional o
Comisión Europea). También hay que destacar a capacidad de transferencia de
tecnología, que incluye un proyecto competitivo de más de 1 millón de euros. La
relación de proyectos y contratos sólo incluye los que han tenido vigencia dentro de los
últimos 5 años.
53
Proyectos europeos
Financiación global/ UMA
1. SYMBEOSE: SYMBEOSE- Symbian: the Embedded Operating System for
Europe, FP7- ARTEMIS-2010-1-269123, 2011-2013. (en proceso de firma)
11 M€/ 147.000 €
2. Formal Verification of Object-Oriented Software,
COST ICT Action IC0701, 2007-2012.
10 M €/*
3.European Partnership for Development in Mobile Technology Competence
(MoTeCo),Leonardo da Vinci- 2008-1-PL1-LEO05/02068 2008-2010
168,750€/ 53.000 €
4. Alain Bensoussan Career Development Enhancer (ABCDE),
FP7- Marie Curie, Grant Agreement Number 246016, coordinado por
ERCIM, 2010-2013
3.500.000 €/ * €
5. SMEPP: Secure Middleware for Embedded Peer to Peer Systems. 6th
Framework STREP project IST-033563. 2006-2009.
2.899.167 €/ 482.955 €
Proyectos del Plan Nacional de Investigación
6. SELF: Formalismos Ágiles en Ingeniería del Software. TIN2004-07943C04-012005-2007.
7. Desarrollo de Software para Sistemas Distribuidos P2P. TIN2005-09405C02-012005-2008.
8. CAReSS: Construcción y Adaptación de Servicios Software Fiable.
TIN2007-67134 2007-2008.
9. ResCUE: Composición de Software Fiable en Entornos Ubicuos. TIN2008059322008-2012.
191.600 €.
524.790 €.
72.600 €.
405.350 €.
Proyectos de Excelencia de la Junta de Andalucía
10. Propuesta Integrada para la calidad de sistemas software,P06-TIC-02250
2007-2009
170.536 €
11. Técnicas para mejorar la calidad de los servicios de Internet en Telefonía
Móvil, P07-TIC-03131, 2008-2011
297.000 €
Proyectos competitivos de transferencia de tecnología con ayudas públicas
12. BEFESA AGUA, Desarrollo de Una Arquitectura Software para La
Construcción de Sistemas de Ayuda a la Toma de Decisiones en Gestión de
Aguas, CENIT TECOAgua P07-TIC-03131, 2009-2012
200.000 €
13. AT4 wireless, Investigación en metodologías de diseño y desarrollo de
software para la emulación de elementos de comunicaciones inalámbricas ",
Proyecto Integrado del CDTI WiTLE2, 8.06/5.47.3154-1 2010-2012
1.083.677 €
14. Andago, Answare Technology, Entropy, Universidad Rey Juan Carlos,
REDES Sociales - ANDROID, entorno para el desarrollo de una nueva
generación de redes sociales móviles basadas en ANDROID, Plan Avanza,
2008 TSI-020100-2008-528, 2008-2009
24.000€.
54
15. Andago, Answare Technology, Entropy,Universidad Rey Juan Carlos,
Entorno para el desarrollo de una nueva generación de redes sociales móviles
basadas en ANDROID, Plan Avanza, 2009 TSI-020100-2009-342, 2009-2010
16. M-Quality: Medición de la Calidad del Servicio en la
Telefonía Móvil de Tercera Generación. 2006-2008 – PETRI, PTRPTR1995-0961-OP
52.800€.
54.000€.
Contratos de transferencia de tecnología directos con empresas
17. CITIC / CETECOM, Aplicación de SDL a unidades de señalización
80.700 €
18. TARTEC-OPTIMI, Medida de calidad de servicio en terminales GRPS
98.708 €
19. AT4 wireless, Metodologías para desarrollo de software para B3G
20. COPT, Junta de Andalucía, Sistema de Información para el transporte
Metropolitano en móviles basado en localización
21. AT4 wireless, Software de Comunicaciones para redes de comunicaciones
móviles 3.9G y 4G.
260.000 €
28.850 €
121.323 €
En los proyectos en los que no se indica una ayuda concreta para la UMA (marcados
como *) la gestión del presupuesto es centralizada y la UMA obtiene fondos en función de
sus necesidades y actividad. Por ejemplo, en el proyecto ABCDE se financian estancias
postdoctorales, recibiendo la UMA el 30% del coste de cada postdoc que acoge dentro del
programa, con una estimación de unos 80k€ en los próximos 3 años.
Por último, hay que hacer notar que los objetivos marcados en este proyecto representan
un avance sobre los trabajos actualmente en ejecución y no cuentan con financiación
directa de las empresas arriba mencionadas, por lo que no se incluyen otras partidas en el
presupuesto solicitado.
8
Relación y perfil de los candidatos en las distintas modalidades de
personal a incorporar al proyecto cuando proceda, salvo en personal
investigador en formación
El proyecto no incluye un investigador externo de reconocido prestigio para el que se
solicita un presupuesto específico. Se solicita presupuesto para 2 contratos, en la modalidad
de “personal contratado”. En particular, se solicitan dos contratos de titulados superiores
(preferiblemente Ingeniero/a en Informática/Telecomunicación).
55
9
Descripción del carácter multidisciplinar y transversal del proyecto
Como se puede ver en la relación de proyectos anteriores y en la base de datos del SICA,
el equipo investigador solicitante tiene experiencia reciente en proyectos que se acercan a la
temática propuesta ahora desde puntos de vista diferentes. Esa experiencia es la que se ha
tenido en cuenta en la asignación de participantes a cada módulo y tarea.
Por una parte, varios miembros del equipo participan en proyectos y contratos orientados
a la fiabilidad del software, abordando aspectos básicos y aplicados. En el primer caso se
estudian lenguajes de especificación y su semántica o algoritmos para optimización de
memoria basados en análisis estático y su aplicación a model checking de software. En esa
misma línea, miembros del equipo realizan trabajos más aplicados con las técnicas
formales, como es el caso del uso de SDL y UML en el desarrollo de unidades de
señalización para UMTS y LTE con la empresa.
Un segundo grupo de investigadores está centrado en la problemática de la adaptación
de servicios. Este grupo está trabajando en el desarrollo de una toolbox, llamada ITACA
(Integrated Toolbox for Automatic Composition and Adaptation) para el soporte
automático del proceso de adaptación, incluyendo: (i) diferentes métodos para construir
contratos de adaptación entre servicios, (ii) técnicas de simulación y verificación que
ayuden a identificar y corregir comportamientos erróneos o ejecuciones bloqueantes, y (iii)
técnicas para la generación de adaptadores basados en los contratos de adaptación.
Por otra parte, hay investigadores que trabajan en el análisis de protocolos en
comunicaciones móviles y especialmente en la construcción y uso de herramientas de
monitorización para redes vivas. Esta experiencia será necesaria para una de las dos
aplicaciones consideradas en el proyecto.
Es importante destacar que varios miembros del equipo tienen experiencia en varios de
los campos mencionados y participarán en diversas tareas del proyecto, asegurando una
correcta coordinación entre todas ellas.
A continuación se enumeran algunas publicaciones del equipo investigador que son
relevantes como punto de partida para el proyecto y que demuestran su carácter
multidisciplinar y trasversal:
Gallardo, M.M.; Merino, P.; Panizo, L., Linares, A. A practical use of model checking for
synthesis: generating a dam controller for flood management. En Software Practice &
Experience.To appear. John Wiley, 2011.ISSN: 0038-0644
Gallardo, M.M.; Panizo, L. Extending PROMELA and SPIN for hybrid system analysis. En
Proceedings of the 10th international workshop on automated verification of critical
systems and the rodin user and developer workshop. AVoCS'10. Düsseldorf, Germany.
September 20-23, 2010. págs. 118-119, 2010.
56
Gallardo, M. M., Sanán D. 2010. Verification of Dynamic Data Tree with mu-calculus
extended with Separation En 8th International conference on software engineering and
formal methods. SEFM 2010: p.211-221
Gallardo, M.M.; Merino, P.; Panizo, L; Sanán, D. y Linares, A.Dam management based on
model checking techniques. En 8th International conference on software engineering and
formal methods. SEFM 2010: proceedings of the posters and tooldemo session. CNR, Pisa,
Italy 13-18 september 2010. págs. 9-13. Consiglio Nazionale delle Ricerche: Pisa, Italy,
2010.ISBN: 978-88-7958-006-9
Gallardo, M. M., Merino, P., Panizo, L., Linares, A. 2009. Developing a decision support
tool for dam management with SPIN. In María Alpuente; Byron Cook and Christophe
Joubert (eds.). Formal Methods for Industrial Critical Systems: 14th International
Workshop, FMICS 2009. Lecture Notes in Computer Science. 5825. p. 210-212.
Gallardo, M.M., Merino, P., Sanán, D. 2009. Model Checking Dynamic Memory
Allocation in Operating Systems. In Journal of Automated Reasoning, no.2-4, vol.42,
p.229-264.
Gallardo, M.M., Martínez J., Merino P., Núñez, P., Pimentel, E.: PiXL: Applying xml
standards to support the integration of analysis tools for protocols. Science of
Computer.Programing. 65(1): 57-69 (2007).
Gallardo, M. M., Merino, P., Panizo, L. 2009.Integration of quantitative aspects into SPIN
to develop a decision support tool for dams. In Susana Andova, et al. (eds.). Workshop on
Quantitative Formal Methods: Theory and Applications (QFM'09).Preliminary
proceedings.p.95-100.
Alpuente, M., Gallardo, M,M., Pimentel, E., Villanueva, A.: Verifying Real-Time
Properties of tccp Programs. Journal of Universal Computer Science12(11): 1551-1573
(2006).
Alpuente, M., Gallardo, M,M., Pimentel, E., Villanueva, A.: A semantic framework for the
abstract model checking of tccp programs. TheoreticalComputerScienceJournal 346(1): 5895 (2005)
de la Cámara, P., Gallardo, M. M., Merino, P.,Sanán, D. 2009. Checking the Reliability of
Socket Based Communication Software. In Int. Journal on Software Tools For Technology
Transfer, no.5, vol.11, p.359-374.
dela Cámara,P., Castro,J.R., Gallardo, M-M., Merino, P. 2010.Verification support for
ARINC-653-based avionics software.In Software Testing, Verification and Reliability.John
Wiley&Sons (en prensa).
Díaz, A., Merino, P.,Rivas, F.J. 2010. Mobile Application Profiling for Connected Mobile
Devices.In IEEE Pervasive Computing vol.9, no.1, p.54-61.
57
Díaz, A., and Merino, P. 2010. A Testbed for Energy Profile Characterization of IP
Services in Smartphones over Live Networks.Mobile Applications& Networks (en prensa).
Martínez, J., Merino, P., Salmerón, A., and Malpartida, F. 2009. UML-Based ModelDriven Development for HSDPA Design.InIEEE Software 26(3), vol.26, p.26–33.
Cubo, J., Salaün, G., Cámara, J., Canal, C., Pimentel, E. Context-Based Adaptation of
Component Behavioural Interfaces. In Proc. of COORDINATION’07, volume 4467 of
Lecture Notes in Computer Science, pages 305–323. Springer, 2007.
Cámara, J., Martín, J. A., Salaün, G., Cubo, J., Ouederni, M., Canal, C., Pimentel, E. 2009.
ITACA: An Integrated Toolbox for the Automatic Composition and Adaptation of Web
Services. In Proc. of ICSE ’09, pages 627–630. IEEE Computer Society.
Cubo, J., Canal, C., Pimentel, E.Context-Aware Service Discovery and Adaptation Based
on Semantic Matchmaking. In Proc. of ICIW’10, pages 554–561. IEEE Computer Society,
2010.
Cubo, J., Canal, C., Pimentel, E.Context-Aware Composition and Adaptation Based on
Model Transformation. Journal of Universal Computer Science, 2011.En imprenta.
Martín, J. A., Pimentel, E. Contracts for Security Adaptation. JLAP, número especial de
FLACOS’09, Elsevier.
Martín, J. A., Pimentel, E.Feature-Based Discovery of Services with Adaptable Behaviour.
In Proc. Of ECOWS’10.IEEE ComputerSociety, 2010.
58
10 Presupuesto total del proyecto y justificación del mismo
Para la ejecución del proyecto, se solicita una ayuda de 218.800 € que cubra los
siguientes conceptos:
Gastos de Personal
 Personal de apoyo: 106.800 €
o Dos titulados superiores como técnicos de apoyo para trabajar en la
implementación de herramientas y en el desarrollo de los modelos y las
aplicaciones, cada uno durante 2 años, con un coste total de 106.800 €
Gastos de Ejecución
 Inventariable: 26.000 €
o Se solicita un total de 15.500 € para la adquisición de 3 ordenadores
portátiles, 1 impresora láser, 6 ordenadores de sobremesa y 10
actualizaciones de equipos.
o Se solicitan 4.000 € para un servidor con altas prestaciones de cómputo para
ejecuciones que demanden un alto consumo de memoria y de tiempo
o Se solicitan 2.500 € para la adquisición de teléfonos móviles programables
para emplearlos en la evaluación de la aplicaciones
o Se solicitan 4.000 € para licencias de herramientas software
 Fungible: 7.500 €
o Se incluyen 2.000 € para material bibliográfico diverso, 2.000 € para material
fungible informático (soporte magnético y electrónico, cartuchos para
impresora, etc.), 1.000 € para material de oficina, fotocopias,
encuadernaciones, etc., 1.000 € para tarjetas prepago de telefonía para
pruebas con operadores, y 1.500 € para mensajería y otros.
 Subcontratación como proyecto motriz: 33.000 €
o Como se indica en el compromiso de participación de la empresa AT4
wireless y en el plan de trabajo, dicha empresa realizará parte del proyecto.
El presupuesto para subcontratación incluye la dedicación de personal a
tiempo parcial y la amortización de equipos.
Gastos Complementarios
 Viajes: 30.500 €
o Teniendo en cuenta el número de participantes, se ha estimado la asistencia a
12 congresos internacionales (4 anuales) y 6 nacionales, así como la
participación en reuniones para solicitar alguno de los instrumentos del VII
Programa Marco. Los gastos de desplazamiento y dietas para estas
actividades suman 25.000 €. Se dedicarán 5.500 € para invitar a
investigadores externos y empresas para reuniones de trabajo y seguimiento.
 Material de promoción: 5.000€
o Se contemple la generación de material impreso y demostradores de carácter
profesional para contribuir a la difusión de resultados entre las empresas.
 Inscripciones en congresos y seminarios: 10.000 €.
59
11 Referencias
[A95] Andersen, H.R. 1995. Partial model checking (extended abstract). In Proc. of LICS’95, IEEE
Computer, pages 398–407.
[AD94] Alur, R. and Dill, D. L. 1994. A theory of timed automata. Theor. Comput. Sci. 126, 2, p.183-235.
[AFM07] St-Aubin, R., Friedman, J. and Mackworth, A. K. 2006. A formal mathematical framework for
modeling probabilistic hybrid systems. Annals of Mathematics and Artificial Intelligence 47, 3-4 (Aug. 2006),
p.397-425.
[AFMPY02] Amnell, T., Fersman, E., Mokrushin, L., Pettersson, P. and Yi, W. 2002. TIMES - A Tool for
Modelling and Implementation of Embedded Systems. In Proceedings of the 8th international Conference on
Tools and Algorithms For the Construction and Analysis of System. LNCS vol. 2280, p.460-464.
[AFPYS02] Amnell, T., Fersman, E., Pettersson, P., Yi, W. and Sun, H. 2002. Code synthesis for timed
automata. Nordic J. of Computing, 9(4).
[AINT07] Autili, M., Inverardi, P., Navarra, A. and Tivoli, M.. 2007. SYNTHESIS: A Tool for Automatically
Assembling Correct and Distributed Component-based Systems. In Proc. of ICSE’07, pages 784–787.te
[AVMM04] Aggarwal, R., Verma, K., Miller, P. and Milnor, W. Constraint Driven Web Service Composition
in METEOR-S. In Proc. of SCC’04, pages 23–30. IEEE Computer Society, 2004.
[BBC05] Brogi, A., Bracciali, A. and Canal, C. 2005. A formal approach to component adaptation. The
Journal of Systems and Software, 74:45–54. Special Issue on Automated Component-Based Software
Engineering.
[BBGORT06] Becker, S., Brogi, A., Gorton, I., Overhage, S., Romanovsky, A. and Tivoli, M. Towards an
Engineering Approach to Component Adaptation. In Architecting Systems with Trustworthy Components,
volume 3938 of Lecture Notes in Computer Science, pages 193–215. Springer, 2006.
[BC08] Brogi, A. and Corfini, S., Ontology- and behavior-aware discovery of Web service compositions. Int.
J. Cooperative Inf. Syst., 17(3):319–347, 2008.
[BCDFLL07] Behrmann, G., Cougnard, A., David, A., Fleury, E., Larsen, K.G. and Lime, D. 2007.
UPPAAL-TIGA: Time for Playing Games! In Proceedings of the 19th International Conference on Computer
Aided Verification (CAV 2007), LNCS 4590, p.121-125.
[BCG04] Baier, C., Ciesinski, F. and Größer, M. 2004. PROBMELA: a modeling language for
communicating probabilistic processes. In Proc. of the 2nd ACM and IEEE International Conference on
Formal Methods and Models for Co-Design (MEMOCODE '04), p.57–66
[BCP08] Brogi, A., Corfini, S. and Popescu, R. Semantics-Based Composition-Oriented Discovery of Web
Services. ACM Transactions on Internet Technology, 8(4):19:1– 19:39, 2008.
[BDHK06] Bohnenkamp, H., D'Argenio, P. R., Hermanns, H. and Katoen, J. 2006. MODEST: A
Compositional Modeling Formalism for Hard and Softly Timed Systems. IEEE Trans. Softw. Eng. 32, 10
(Oct. 2006), 812-830.
60
[BDL04] Behrmann, G., David, A., and Larsen, K.G. 2004. A Tutorial on Uppaal. In Formal Methods for the
Design of Real-Time Systems. Springer, p.200-236.
[BDMOTY98] Bozga, M., Daws, C., Maler, O., Olivero, A., Tripakis, S. and Yovine, S. 1998. Kronos: A
Model-Checking Tool for Real-Time Systems. In Proceedings of the 10th international Conference on
Computer Aided Verification (June 28 - July 02, 1998). LNC vol. 1427, p.546-550.
[BGGK05] Bohnenkamp, H., Gorter, J., Guidi, J. and Katoen, J.-P. 2005. Are you still there? - A lightweight
algorithm to monitor node presence in self-configuring networks. In Proc. Int. Conf. on Dependable Systems
and Networks (DSN 2005), p.704–709.
[BGKLOSV02] Bhargavan, K., Gunter, C.A., Kim, M., Lee, I., Skolsky, O. and Viswanathan, M. 2002.
Verisim: Formal Analysis of Network Simulations. IEEE Transactions on Software Engineering, vol. 28, no.
2, p. 129-145.
[BHHK00] Baier, C., Haverkort, B. R., Hermanns, H. and Katoen, J. 2000. On the Logical Characterisation of
Performability Properties. In Proceedings of the 27th international Colloquium on Automata, Languages and
Programming (July 09 - 15, 2000). LNCS, vol. 1853, p.780-792.
[BHHK03] Baier, C., Haverkort, B., Hermanns, H. and Katoen, J. 2003. Model-Checking Algorithms for
Continuous-Time Markov Chains. IEEE Trans. Softw. Eng. 29, 6 (Jun. 2003), p.524-541.
[BHK07] Bohnenkamp, H., Hermanns, H. and Katoen, J. 2007. Motor: The MoDeST Tool Environment. In
Proc. of the 13th International Conference on Tools and Algorithms for Construction and Analysis of
Systems, Braga, Protugal. LNCS vol.4424, p.500–504
[BHRT03] Benatallah, B., Hacid, M., Rey, C. and Toumani, F. Request Rewriting-Based Web Service
Discovery. In Proc. of ISWC’03, volume 2870 of Lecture Notes in Computer Science, pages 242–257.
Springer, 2003.
[BHZ08] Bagnara, R., Hill, P.M. and Zaffanella, E.2008. The Parma Polyhedra Library: Toward a complete
set of numerical abstractions for the analysis and verification of hardware and software systems. Science of
Computer Programming; 72(1–2):3–21.
[BKKT03] Buchholz, P. and Katoen, J.P. and Kemper, P. and Tepper, C. 2003 .Model-checking large
structured Markov chains. Journal of Logic and Algebraic Programming, 56 1,2
[BLH06] Baig, A., Libman, L. and Hassan, M., Performance Enhancement of On-Board Communication
Networks Using Outage Prediction (2006), in:Selected Areas in Communications, IEEE Journal on,
24:9(1692--1701)
[BP07] Brogi, A. and Popescu, R. 2006. Automated generation of BPEL adapters. In Proc. of ICSOC ’06,
volume 4294 of LNCS, pages 27–39.
[BPSKC04] Broens, T., Pokraev, S., van Sinderen, M., Koolwaaij, J. and Costa, P. Context-Aware, OntologyBased Service Discovery. In Proc. of EUSAI’04, volume 3295 of Lecture Notes in Computer Science, pages
72–83. Springer, 2004.
[BSW08] van den Berg, L. Strooper, P. and Winter, K. Introducing Time in an Industrial Application of
Model-Checking Lecture Notes in Computer Science (4196)56-67.Springer Berlin/Heidelberg. 2008
[C91] Cellier, F. E. 1991 Continuous System Modeling. Springer-Verlag New York, Inc.
61
[C99] Chang, X. 1999, Network simulations with OPNET. In Proc. of the 31st Conference on Winter
Simulation: Simulation – a bridge to the future, vol. 1, p.307-314, Phoenix, Arizona.
[CB06] Ciesinski, F. and Baier, C. 2006. LiQuor: A tool for Qualitative and Quantitative Linear Time
analysis of Reactive Systems. In Proc. of the 3rd international Conference on the Quantitative Evaluation of
Systems (September 11 - 14, 2006). QEST. IEEE Computer Society, Washington, DC, p.131-132.
[CBGP08] Ciesinski, F., Baier, C., Größer, M., and Parker, D. 2008. Generating Compact MTBDDRepresentations from Probmela Specifications. In Proceedings of the 15th international Workshop on Model
Checking Software (Los Angeles, CA, USA, August 10 - 12, 2008). LNCS vol. 5156, p.60-76
[CCP10] Cubo, J., Canal, C. and Pimentel, E. Context-Aware Service Discovery and Adaptation Based on
Semantic Matchmaking. In Proc. of ICIW’10, pages 554–561. IEEE Computer Society, 2010.
[CCP11] Cubo, J., Canal, C. and Pimentel, E.Context Aware Composition and Adaptation Based on Model
Transformation. Journal of Universal Computer Science, 2011. En imprenta.
[CCGGPRST02] Cimatti, A., Clarke, E.M., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M.,
Sebastiani, R., and Tacchella, A. 2002. NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In
Proceedings of the 14th international Conference on Computer Aided Verification (July 27 - 31, 2002). LNCS
vol.2404, p.359-364.
[CDH00] Corbett, J. C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C. S., Robby, and Zheng, H. 2000.
Bandera: extracting finite-state models from Java source code. In Proceedings of the 22nd international
Conference on Software Engineering (ICSE '00). ACM, New York, NY, p.439-448.
[CES86] Clarke, E.M., Emerson, E. A. and Sistla, A.P. 1986. Automatic verification of finite-state concurrent
systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8, 2 (Apr. 1986), p.244-263.
[CFLRR09] Cassez, F., Jessen, J. J., Larsen, K. G., Raskin, J., and Reynier, P. 2009. Automatic Synthesis of
Robust and Optimal Controllers --- An Industrial Case Study. In Proceedings of the 12th international
Conference on Hybrid Systems: Computation and Control (San Francisco, CA, April 13 - 15, 2009). LNCS,
vol. 5469, p.90-104.
[CGL94] Clarke, E.M., Grumberg, O. and Long, D. E. 1994. Model checking and abstraction. ACM Trans.
Program. Lang. Syst. 16, 5 (Sep. 1994), p.1512-1542.
[CGMS05] de la Cámara, P., Gallardo, M. M., Merino, P., and Sanán, D. 2005. Model checking software with
well-defined APIs: the socket case. In Proceedings of the 10th international Workshop on Formal Methods
For industrial Critical Systems (Lisbon, Portugal, September 05 - 06, 2005). FMICS '05. ACM, New York,
NY, 17-26.
[CGP99] Clarke, E.M., Grumberg, O., and Peled, D.A. 1999 Model Checking. MIT Press.
[CIJKS00] Casati, F., Ilnicki, S., Jin, L.J., Krishnamoorthy, V. and Shan, M.C. 2000. Adaptive and Dynamic
Service Composition in eFlow. LNCS 1789, pages 13-31.
[CMP06] Canal, C., Murillo, J. and Poizat, P. Software Adaptation. L’Objet, 12(1):9–31, 2006. Special Issue
on Coordination and Adaptation Techniques for Software Entities.
62
[CMSCOCP09] Cámara, J., Martín, J.A., Salaün, G., Cubo, J., Ouederni, M., Canal, C. and Pimentel, E.
2009. ITACA: An Integrated Toolbox for the Automatic Composition and Adaptation of Web Services. In
Proc. of ICSE ’09, pages 627–630. IEEE Computer Society.
[CPGCV03] Calveras, A., Paradells, J., Gomez, C., Catalan, M. and Valles, J. C. Optimizing TCP/IP
parameters over GPRS and WLAN networks, in: Vehicular Technology Conference, 2003. VTC 2003-Fall.
2003 IEEE 58th, pages 2569--2573, 2003
[CPS08] Canal, C., Poizat, P. and Salaün, G. 2008. Model-based adaptation of behavioural mismatching
components. IEEE Transactions on Software Engineering, 4(34):546–563.
[CRT09] Cimatti, A., Roveri, M., and Tonetta, S. Requirements Validation for Hybrid Systems. In Lecture
Notes in Computer Science, (5643)188-203.Springer Berlin/Heidelberg. 2009.
[CSCCP07] Cubo, J., Salaün, G., Cámara, J., Canal, C. and Pimentel, E. Context-Based Adaptation of
Component Behavioural Interfaces. In Proc. of COORDINATION’07, volume 4467 of Lecture Notes in
Computer Science, pages 305–323. Springer, 2007.
[DA00] Dey, A. and Abowd, G. Towards a Better Understanding of Context and Context-Awareness. In Proc.
of Workshop on the What, Who, Where, When and How of Context-Awareness, pages 304–307, 2000.
[DCCDDDSW02] Deavours, D.D., Clark, G., Courtney, T., Daly, D., Derisavi, S., Doyle, J.M., Sanders,
W.H. and Webster, P.G. 2002. The Möbius framework and its implementation. Software Engineering, IEEE
Transactions on 28(10), vol. 28, p.956–969
[DGG97] Dams, D., Gerth, R. and Grumberg, O. 1997. Abstract interpretation of reactive systems. ACM
Trans. Program. Lang. Syst. 19, 2 (Mar. 1997), p. 253-291.
[DM10] Díaz, A., Merino, P. 2010. Testbed for Energy Profile Characterization of IP services in Smartphones
over Live Networks. Pendiente de publicación en Mobile Networks and Applications, Springer.
[DMR10] Diaz, A., Merino, P. and Rivas, F.J. Mobile Application Profiling for Connected Mobile Devices
IEEE Pervasive Computing, pp. 54-61, January-March, 2010
[DSW06] Dumas, M., Spork, M. and Wang, K.. 2006. Adapt or Perish: Algebra and Visual Notation for
Service Interface Adaptation. In In Proc. of BPM’06, volume 4102 of LNCS, pages 65–80. Springer.
[DY95] Daws, C. and Yovine, S. 1995. Two examples of verification of multi-rate timed automata with
Kronos. In Proceedings of the 16th IEEE Real-Time Systems Symposium (December 05 - 07, 1995). RTSS.
IEEE Computer Society, Washington, DC, p.66.
[F08] Frehse, G. 2008. PHAVer: algorithmic verification of hybrid systems past HyTech. Int. J. Softw. Tools
Technol. Transf. 10, 3 (May. 2008), p.263-279.
[FK04] Fehnker, A. and Krogh, B. H. 2004. Hybrid System Verification Is Not a Sinecure:The Electronic
Throttle Control Case Study. In ATVA 2004. LNCS vol 3299, p.263-277.
[FL10] Fiadeiro, J. and Lopes, A. A Model for Dynamic Reconfiguration in Service-Oriented Architectures.
In Proc. of ECSA’10, volume 6285 of Lecture Notes in Computer Science, pages 70–85. Springer, 2010.
[FV00] Fall, K. and Varadhan, K. 2000, The ns Manual.
63
[G98] Garavel, H. 1998. OPEN/CAESAR: An Open Software Architecture for Verification, Simulation, and
Testing, In Proc. of TACAS'98, LNCS vol.1384, p.68-84.
[GMP02] Gallardo, M., Merino, P. and Pimentel, E. 2002. Refinement of LTL Formulas for Abstract Model
Checking. In Proceedings of the 9th international Symposium on Static Analysis. LNCS, vol. 2477, p.395410.
[GMPL09]Gallardo, M. M., Merino, P., Panizo, L. and Linares, A. 2009. Developing a decision support tool
for dam management with SPIN. InMaría Alpuente; Byron Cook and Christophe Joubert (eds.). Formal
Methods for Industrial Critical Systems: 14th International Workshop, FMICS 2009. Lecture Notes in
Computer Science. 5825. p. 210-212.
[GMPL11]Gallardo, M.M., Merino, P., Panizo, L. and Linares, A.A practical use of model checking for
synthesis: generating a dam controller for flood management. En Software Practice & Experience.págs. to
appear. John Wiley, 2011.ISSN: 0038-0644
[GMPG00] Goff, T., Moronski, J., Phatak, D. S. and Gupta, V. Freeze-TCP: a true end-to-end TCP
enhancement mechanism for mobile environments, in: INFOCOM 2000. Nineteenth Annual Joint Conference
of the IEEE Computer and Communications Societies. Proceedings. IEEE, pages 1537--1545, 2000
[GMS09] Gallardo, M-M., Merino, P. and Sanán, D. 2009. Model Checking Dynamic Memory Allocation in
Operating Systems. In Journal of Automated Reasoning, no.2-4, vol.42, p.229-264.
[GRR10] García, J., Ruiz, D. and Ruiz-Cortés, A. A Model of User Preferences for Semantic Services
Discovery and Ranking. In Proc. of ESWC’10, volume 6089 of Lecture Notes in Computer Science, pages 1–
14. Springer, 2010.
[H03] Holzmann, G.J. The SPIN Model Checker: Primer and Reference Manual, Addison-Wesley
Professional, 2003
[H07] Hameurlain, N. Flexible Behavioural Compatibility and Substitutability for Component Protocols: A
Formal Specification. In Proc. of SEFM’07, pages 391–400. IEEE Computer Society, 2007.
[H08] Holzmann G.J. 2008. Software Safety and Rocket Science. In Ercim News 75, Special: Safety-Critical
Software.
[H96] Henzinger, T. A. 1996. The theory of hybrid automata. In Proceedings of the 11th Annual IEEE
Symposium on Logic in Computer Science. LICS. IEEE Computer Society, Washington, DC, p.278.
[H97b] Hansen, M.R. 1997. Duration calculus: Logical foundations. Journal Formal Aspects of Computing 3,
vol.9 p.283-330
[HCDB99] Hinton, H., Cowan, C., Delcambre, L. and Bowers, S. 1999. SAM: Security adaptation manager.
In Proc. Of ACSAC’99, IEEE, 1999, pages 361 – 370.
[HDZ00] Hatcliff, J., Dwyer, M. B., and Zheng, H. 2000. Slicing Software for Model Construction. Higher
Order Symbol. Comput. 13, 4 (Dec. 2000), p.315-353
[HH09] Hartmanns, A. and Hermanns, H. 2009. A Modest Approach to Checking Probabilistic Timed
Automata. In Proceedings of the 2009 Sixth international Conference on the Quantitative Evaluation of
Systems (September 13 - 16, 2009). QEST. IEEE Computer Society, Washington, DC, p.187-196.
64
[HJ04] Holzmann, G. J. and Joshi, R. 2004. Model-Driven Software Verification, In Proc. of SPIN 2004,
LNCS, vol.2989, p.76-91.
[HJU05]Hermanns, H., Jansen, D. N. and Usenko, Y S.: From StoCharts to MoDeST: a comparative
reliability analysis of train radio communications, WOSP '05: Proceedings of the 5th international workshop
on Software and performance, ACM, 13–23, 2005
[HK06] Hirschfeld, R. and Kawamura, K. 2006. Dynamic service adaptation. Software: Practice and
Experience 36 (11-12), pages 1115-1131.
[HKMKS03] Hermanns, H. and Katoen, J.P. and Meyer-Kayser, J. and Siegle, M. 2003. A tool for modelchecking Markov chains. Int. Journal on Software Tools for Technology Transfer, 4, 2.
[HLP01] Hune, T., Larsen, K.G. and Pettersson, P. 2001. Guided synthesis of control programs using
UPPAAL. Nordic J. of Computing, 8(1).
[HP00] Havelund, K. and Pressburguer, T. 2000. Model Checking JAVA Programs using JAVA PathFinder.
In Int. Journal on Software Tool for Technology Transfer, 2 vol. 4, p.366-361.
[HS99] Holzmann, G.J. and Smith, M. 1999. Software model checking: Extracting verification models from
source code. In Invited Paper. Proc. PSTV/FORTE99 Pulb. Kluwer, 1999
[HSE07] Haverinen, H., Siren, J. and Eronen, P. 2007. Energy Consumption of Always-On Applications in
WCDMA Networks. IEEE 65th Vehicular Technology Conference. VTC2007-Spring, p.964-968.
[HSLL97] Havelund, K., Skou, A., Larsen, K.G. and Lund, K. 1997. Formal Modelling and Analysis of an
Audio/Video Protocol: An Industrial Case Study Using Uppaal. In Proc of the 18th IEEE Real-Time Systems
Symposium, p.2-13. San Francisco, California.
[HW02]Hofbaur, M.W. and Williams, B.C. 2002. Mode Estimation of Probabilistic Hybrid Systems. In
Proceedings of the 5th international Workshop on Hybrid Systems: Computation and Control. LNCS
vol.2289, p.253-266.
[I10] Iglesias, J. Área 2: Interoperabilidad y ERTMS. Asamblea PTFE. Mayo 2010
[JRLD07] Jessen, J.J., Rasmussen, J.I., Larsen, K.G., and David, A. 2007. Guided Controller Synthesis for
Climate Controller Using UPPAAL Tiga. In FORMATS 2007. LNCS vol.4763, p.227240.
[KB04] Ketfi, A. and Belkhatir, N. A Metamodel-Based Approach for the Dynamic Reconfiguration of
Component-Based Software. In Proc. of ICSR’04, volume 3107 of Lecture Notes in Computer Science, pages
264–273. Springer, 2004.
[KH03] Kouadri, S. and Hirsbrunner, B. Towards a Context-Based Service Composition Framework. In Proc.
of ICWS’03, pages 42–45, 2003.
[KK05] Kawadia, V. and Kumar, P. R. A cautionary perspective on cross-layer design (2005), in: Wireless
Communications, IEEE, 12:1(3 – 11)
[KKZ05] Katoen, J., Khattri, M. and Zapreev, I. S. 2005. A Markov Reward Model Checker. In Proc. of the
Second international Conference on the Quantitative Evaluation of Systems.
[KFS06] Klusch, M., Fries, B. and Sycara, K. Automated Semantic Web Service Discovery with OWLS-MX.
In Proc. of AAMAS’06, pages 915–922. ACM Press, 2006.
65
[KLPF05] Keller, U., Lara, R., Lausen, H., Polleres, A. and Fensel, D. Automatic Location of Services. In
Proc. of ESWC’05, volume 3532 of Lecture Notes in Computer Science, pages 1–16. Springer, 2005.
[KM90] Kramer, J. and Magee, J. The Evolving Philosophers Problem: Dynamic Change Management, IEEE
Transactions on Software Engineering 16 (11) (1990), 1293–1306.
[KMLA11] Krause, C., Maraikar, Z., Lazovik, A. and Arbab, F. Modeling Dynamic Reconfigurations in Reo
using High-Level Replacement Systems, Sci. Comput. Program. 76 (2011), 23–36.
[KNP04] Kwiatkowska, M., Norman, G. and Parker, D. 2004. Probabilistic symbolic model checking with
PRISM: a hybrid approach. Int. J. Softw. Tools Technol. Transf. 6, 2 (Aug. 2004), p.128-142.
[KNP05] Kwiatkowska, M., Norman, G. and Parker, D. 2005. Probabilistic Model Checking and PowerAware Computing. In Proc. 7th International Workshop on Performability Modeling of Computer and
Communication Systems (PMCCS'05), p.6–9
[KNP09] Kwiatkowska, M., Norman, G. and Parker, D. 2009. PRISM: probabilistic model checking for
performance and reliability analysis. SIGMETRICS Perform. Eval. Rev. 36, 4 (Mar. 2009), p.40-45.
[LA99] Lee, P. and Anderson, T. Fault Tolerance Principles and Practice (Dependable Computing and FaultTolerant Systems. Springer, 1999.
[LH03] Li, L. and Horrocks, I. A Software Framework for Matchmaking Based on Semantic Web
Technology. In Proc. of WWW’03, pages 331–339. ACM Press, 2003.
[LKMCK08] Lerda, F. and Kapinski, J. and Maka, H. and Clarke, E.M. and Krogh, B.H. 2008. Model
checking in-the-loop: Finding counterexamples by systematic simulation. In American Control Conference, p.
2734-2740.
[LT04] Lincoln, P. and Tiwari, A. 2004. Symbolic systems biology: Hybrid modeling and analysis of
biological networks. In Hybrid Singerbread es exponencial y el Samsung Galaxy ystems: Computation and
Control (HSCC). LNCS vol.2993, p.417-431.
[LYR02] Li, J., Yarvis, M. and Reiher, P. 2002. Securing distributed adaptation, Computer Networks 38 (3)
(2002) 347–371.
[M03] Martinelli, F. 2003. Analysis of security protocols as open systems, TCS 290 (1) (2003) 1057–1106.
[M96] Medvidovic, N. ADLs and Dynamic Architecture Changes. In Proc. of ISAW ’96, pages 24–27. ACM
Press,1996.
[MD08] Mens, T. and Demeyer, S. Software Evolution. Springer, 2008.
[MFGI06] Mokhtar, S., Fournier, D., Georgantas, N. and Issarny, V. Context-Aware Service Composition in
Pervasive Computing Environments. In Proc. of RISE’05, volume 3943 of Lecture Notes in Computer
Science, pages 129–144. Springer, 2006.
[MM11] Martinelli, F. and Matteucci, I. A framework for automatic generation of security controller,
Software Testing, Verification and Reliability. En imprenta.
[MP10a] Martín, J.A. and Pimentel, E. 2010. Contracts for Security Adaptation. JLAP, número especial de
FLACOS’09, Elsevier.
66
[MP10b] Martín, J.A. and Pimentel, E. 2010. Feature-Based Discovery of Services with Adaptable
Behaviour. In Proc. of ECOWS’10. IEEE Computer Society.
[MS05] Morgenstern, A. and Schneider, K. 2005. Using Model Checking to Solve Supervisor Synthesis
Problems. In 44th IEEE Conference on Decision and Control, and 2005 European Control Conference. CDCECC '05, p. 2757-2762.
[MS10] Merino,P. and Salmerón, P. Combining SPIN with ns-2 for protocol optimization, in: 17th
International SPIN Workshop on Model Checking of Software, SPIN 2010, pages 40--57, Springer, 2010
[MSS] The MathWorks-Product Listing, http://www.mathworks.com/products/product_listing
[NBMCC07] Nezhad, H.R.M., Benatallah, B., Martens, A., Curbera, A. and Casati, F. 2007. Semi-automated
adaptation of service interactions. In Proceedings of the 16th International Conference on the World Wide
Web (WWW ’07), pages 993–1002.
[NPKSG02] Norman, G., Parker, D., Kwiatkowska, M., Shukla, S. K. and Gupta, R. K. 2002. Formal analysis
and validation of continuous-time Markov chain based system level power management strategies. In
Proceedings of the Seventh IEEE international High-Level Design Validation and Test Workshop. HLDVT.
IEEE Computer Society, Washington, DC, 45.
[NS2] The Network Simulator - ns-2: http://www.isi.edu/nsnam/ns/
[P94] Puterman, M. L. 1994 Markov Decision Processes: Discrete Stochastic Dynamic Programming. 1st.
John Wiley & Sons, Inc.
[P02] Panday, P.K. 2002. Interval Duration Logic: Expressiveness and Decidability. In Electr. Notes Theor.
Comput. Sci. 6, vol.65.
[P09] Padovani, L. Contract-based discovery and adaptation of Web services. 2009. SFM, pages 213–260.
[PFTK00] Padhye, J., Firoiu, V., Towsley, D.F. and Kurose, J.F. Modeling TCP Reno performance: a simple
model and its empirical validation, Networking, IEEE/ACM Transactions on , vol.8, no.2, pp.133-145, Apr
2000
[PPL] PPL: The Parma Polyhedra Library . http://www.cs.unipr.it/ppl/
[PQ09] Platzer, A and Quesel, J. {European Train Control System}: A Case Study in Formal Verification. In
proceedings of the 11th International Conference on Formal Engineering Methods. ICFEM 2009, Rio de
Janeiro, Brasil, December 9-12, 2009.p 246-265
[PTDL07] Papazoglou, M.P., Traverso, P., Dustdar, S. and Leymann, F. 2007. Service-Oriented Computing:
State of the Art and Research Challenges, Computer 40 (11) (2007) 38–45.
[RB04]Remondino F, Börlin N. 2004. Polylib - a library of polyhedral functions. International Archives of
Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol. XXXIV, Part 5/W16, H.-G.
[SAVE]
Specification and
Verification
http://www.ida.liu.se/~eslab/SAVE.html
of
Heterogeneous
Electronic
Systems
Project.
[SAW94] Schilit, B., Adams, N. and Want, R. Context-Aware Computing Applications. In Proc. of
WMCSA’94, pages 85–90. IEEE Computer Society, 1994.
67
[SK00] Silva, B. I. and Krogh, B. H. 2000. Formal Verification of Hybrid System Using CheckMate: A Case
Study. In American Control Conference2000, vol. 3, p.1679-1683.
[SM05] Srivastava, M. and Motani, M. Cross-layer design: a survey and the road ahead (2005), in:
Communications Magazine, IEEE, 43:12(112 – 119)
[SMZ07] Spanoudakis, G., Mahbub, K. and Zisman, A. A Platform for Context Aware Runtime Web Service
Discovery. In Proc. of ICWS’07, pages 233–240. IEEE Computer Society, 2007.
[SRK03] Shakkottai, S., Rappaport, T. S. and Karlsson, P.C. Cross-layer design for wireless networks (2003),
in: Communications Magazine, IEEE, 41:10(74—80)
[SRKC00] Silva, B., Richeson, K., Krogh, B. and Chutinan, A. 2000. Modeling and verifying hybrid dynamic
systems using CheckMate. In Proc Conference on automation of mixed processes: hybrid dynamic systems,
p.323-328.
[SS02] Singh, H. and Singh, S. 2002. Energy consumption of TCP Reno, Newreno, and SACK in multi-hop
wireless networks. In Proceedings of the 2002 ACM SIGMETRICS international Conference on Measurement
and Modeling of Computer Systems (Marina Del Rey, California, June 15 - 19, 2002). SIGMETRICS '02.
ACM, New York, NY, p.206-216.
[SS05] van Der Schaar, M. and Shankar, S. N, Cross-layer wireless multimedia transmission: challenges,
principles, and new paradigms (2005), in: Wireless Communications, IEEE, 12:4(50 – 58)
[T03] Tiwari, A. 2003. HybridSAL: Modeling and abstracting hybrid systems. Technical report, SRI
International.
[T07] Teige, T. 2007. SAT-Modulo-Theory based Analysis of Probabilistic Hybrid Systems. In Proc. of the
Dagstuhl Graduate School Meeting 2007. Verlag Mainz p.86-87.
[TIRL03] Tartanoglu, F., Issarny, V., Romanovsky, A. and Levy, N. Dependability in the Web Services
Architecture. In Proc. of ADS’03, volume 2677 of Lecture Notes in Computer Science, pages 90–109.
Springer, 2003.
[VH08] Varga, A. and Hornig, R. 2008. An overview of the OMNeT++ simulation environment. In Proc. of
the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and
Systems & Workshops. Marseille, France
[VHS] European Project ESPRIT-LTR Project 26270 VHS (Verification of Hybrid Systems) http://wwwverimag.imag.fr/PROJECTS/TEMPO/VHS/main.html
[WLF01] Wermelinger, M., Lopes, A. and Fiadeiro, J.L. A Graph Based Architectural (Re)configuration
Language. In Proc. of ESEC/FSE’01, pages 21–32. ACM Press, 2001.
[WVKT06] Wang, X., Vitvar, T., Kerrigan, M. and Toma, I. A QoS-Aware Selection Model for Semantic
Web Services. In Proc. of ICSOC’06, volume 4294 of Lecture Notes in Computer Science, pages 390–401.
Springer, 200
6.
[YKKY08] Ye, T., Kaur, H.T., Kalyanaraman,S. and Yuksel, M. Large-scale network parameter
configuration using an on-line simulation framework (2008), in: IEEE/ACM Trans. Netw., 16:4(777--790)
[ZR99] Zorzi, M. and Rao, R.R. 1999. Is TCP energy efficient?. IEEE International Workshop on Mobile
Multimedia Communications, (MoMuC '99), p.198-201.
68
12 Cartas de apoyo al proyecto de empresas relacionadas
69
Descargar