Transformación OperativaLa Transformación Operativa es una técnica en la construcción de sistemas de software colaborativos. Dicha tecnología nos sirve para aplicar control de concurrencia optimista en entornos de edición colaborativa. Con todo ello nos permitirá una variedad de funcionalidades de colaboración en sistemas software colaborativos avanzados. Esta estrategia transforma las operaciones concurrentes para que, aplicadas a estados intermedios (que posiblemente sean inconsistentes), den como resultado un estado final consistente. HistoriaLa Transformación Operativa fue iniciada por C. Ellis y S. Gibbs en 1989 en el sistema GROVE (Group Outline Viewing Edit). Varios años más tarde, se identificaron una serie de problemas correctivos y se propusieron de forma independiente varios enfoques para abordar estos problemas, seguidos de otra década de esfuerzos constantes por parte de una comunidad de investigadores dedicados para ampliar y mejorar la Transformación Operativa (TO). En 1998, se estableció un Grupo de interés especial sobre Edición Colaborativa para facilitar la comunicación y la colaboración entre los investigadores de EC y TO. Desde entonces, SIGCE ha organizado talleres anuales de CE junto con las principales conferencias CSCW (Trabajo cooperativo asistido por computadora) como ACM, CSCW, GROUP y ECSCW. FuncionamientoUn funcionamiento básico de TO se puede ilustrar con un escenario de edición de texto simple de la siguiente manera. Dado un documento de texto con la cadena "abc" replicado en dos sitios colaboradores y dos operaciones simultáneas:
Estas operaciones se generan respectivamente en los sitios colaboradores 1 y 2. Por ejemplo, si dos operaciones se generan en orden O1 y O2 (en el sitio 1). Tras ejecutar O1, el documento se convierte en "xabc". Para ejecutar O2 después de O1, O2 debe transformar O1 para convertirse en O2 '= Eliminar[3, "c"], cuyo parámetro posicional se incrementa en 1 ya que O1 insertó el carácter "x". Al ejecutar O2 ' en 'xabc' se elimina el carácter 'c' correcto y el documento se convierte en 'xab'.Sin embargo, si O2 se ejecuta sin transformarse previamente, eliminará por error el carácter "b" en lugar de "c". La idea básica de TO es transformar (o ajustar) los parámetros de una operación de edición de acuerdo con el efecto de las operaciones concurrentes realizadas antes, para que la operación transformada logre el efecto correcto y mantenga la consistencia del documento. RequisitosLos requisitos de la Transformación Operativa son los siguientes:
Modelos de consistenciaUna función de TO es apoyar el mantenimiento de la consistencia en los sistemas de edición colaborativa. La comunidad de investigación ha propuesto varios modelos de coherencia, generalmente algunos de uso común en sistemas de edición colaborativa, mientras que otros son específicos de algoritmos TO. El modelo CCEn el artículo de Ellis y Gibbs de 1989 "Control de concurrencia en sistemas de trabajo en grupo", un sistema de edición colaborativo requiere dos propiedades de consistencia:
Debido a que las operaciones simultáneas se pueden realizar en diferentes órdenes y las operaciones de edición generalmente no son conmutativas, las copias de documentos en diferentes ubicaciones pueden divergir (inconsistencias). El primer algoritmo TO se propuso en el artículo de Ellis y Gibbs para lograr la convergencia en un editor de texto grupal; los vectores de estado (o relojes de vectores en la computación distribuida clásica) se utilizan para preservar la propiedad de precedencia. El modelo CCIEl modelo CCI se propone como gestión de consistencia en sistemas de edición colaborativa. En el modelo CCI se agrupan tres atributos de coherencia:
El modelo CCI amplía el modelo CC con un nuevo estándar: preservación de la intención. La diferencia esencial entre la convergencia y la preservación de la intención es que la primera siempre puede lograrse mediante un protocolo de serialización, pero la segunda puede no ser posible mediante ningún protocolo de serialización si las operaciones siempre se realizaron en sus forma originales. La implementación de propiedades de preservación de la intención no serializables siempre ha sido un gran desafío técnico. Se ha encontrado que la Transformación Operativa es particularmente adecuada para lograr la convergencia y la preservación de la intención en los sistemas de edición colaborativa. El modelo CCI es independiente del tipo de documento o modelo de datos, tipo de operación o técnica de soporte (TO, versiones múltiples, serialización, deshacer/rehacer). No está diseñado para la verificación de corrección de técnicas(p. ej., TO) que están diseñadas para datos específicos y modelos operativos y aplicaciones específicas. El concepto de preservación de la intención se define y refina en tres niveles:
El modelo CSMPara propósitos de pruebas formales, las condiciones de preservación de la intención no se especifican formalmente en el modelo CCI. Los métodos SDT y LBT intentan formalizar condiciones alternativas que se pueden demostrar. El modelo de consistencia propuesto en estos dos enfoques incluye las siguientes condiciones formales:
El modelo CAEl modelo CSM anterior requiere especificar el orden total de todos los objetos en el sistema. En efecto, la especificación se reduce a nuevos objetos introducidos por operaciones de inserción. Sin embargo, especificar un pedido total implica estrategias específicas de la aplicación, como romper los lazos de inserción (es decir, nuevos objetos insertados por dos operaciones actuales en la misma posición). Por lo tanto, el pedido total se vuelve específico de la aplicación. Además, en el algoritmo se ha de mantener el orden total en la función de transformación y en el proceso de control, lo que aumenta la complejidad espacio-temporal del algoritmo. Alternativamente, el modelo CA se basa en la teoría de la admisibilidad. El modelo CA incluye dos aspectos:
Estas dos condiciones implican convergencia. Todos los sitios que cooperan convergen en un estado en el que existe un mismo conjunto de objetos que están en el mismo orden. Además, la ordenación está determinada por los efectos de las operaciones cuando se generan. Dado que estas dos condiciones también imponen restricciones adicionales sobre el orden de los objetos, en realidad son más fuertes que la convergencia. El modelo CA y la metodología de diseño/prueba se detallan en un documento de 2005. Ya no requiere que el orden total de los objetos se especifique en el modelo de consistencia y se mantenga en el algoritmo, lo que reduce la complejidad de tiempo/espacio del algoritmo. Referencias
|
Portal di Ensiklopedia Dunia