Gestión de transformación
Introducción
La 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.
Historia
La 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.
Funcionamiento
Un 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.