2. Forma

La mejor arma del concepto de Patrones es la abstracción.  Pero ¿cómo podemos utilizar la abstracción?  Como una entidad abstracta es imposible, porque no tendría forma; debemos darle un modelo de interacción que nos permita crear y/o utilizar patrones.

Los primeros patrones, que fueron los utilizados en Arquitectura, eran pequeños documentos que explicaban la manera correcta de hacer detalles pequeños.  Por ejemplo, ¿cómo debería ser el lugar para almorzar en una casa?  ¿cuál es la forma correcta de separar espacios de trabajo en un lugar pequeño?  ¿cómo hay que orientar una casa dependiendo del comportamiento de la luz emitida por el sol?  Obviamente son factores importantes, que juntos nos podrían ofrecer pautas muy valiosas para diseñar una casa, pero que son lo suficientemente sencillos como para entenderlos como una sola unidad funcional.

Con el tiempo, y con la incorporación de profesionales en otras áreas, en particular de la Informática, el formato original de estos patrones se hizo más conciso y tiende a mantenerse en un conjunto levemente pequeño de características.

Por lo tanto, el patrón, siendo un concepto abstracto, puede poseer una representación concreta.
 

Erich Gamma et al [Gamma95], describe unos patrones de diseño mediante un formato consistente que ha comenzado a utilizarse como la norma; existen variantes a esta norma, pero por lo general son tratadas como eso, como variantes.

Según Gamma, hay que crear un documento por patrón que ofrezca la siguiente información:

En clases posteriores entraremos en detalles sobre lo que significa cada uno de estos puntos.  Lo importante es indicar que son una recomendación, y que muchas veces, dependiendo de la aplicabilidad que se le esté ofreciendo al patrón, existen puntos que no aplican.  Al final del capítulo se ofrece un ejemplo de un patrón de Biología; alguien con los conocimientos adecuados podrá comprender el trasfondo total del problema, pero en general cualquiera puede darse una idea general del mismo.

Si el texto del patrón estuviera inmerso dentro de un texto de biología en forma de prosa, es casi seguro que nadie que no fuera un biólogo entendería lo que está ocurriendo.  Sin embargo, el patrón mantiene una estructura que es más o menos semejante a la que ofrece Gamma95.  Es cierto que Gamma no habla de Fuerzas, Problema o Soluciones, pero sí habla de Motivación, Participantes, Colaboraciones, Consecuencias, Implementación... el material sigue una tónica semejante, y el patrón podría, sin mucha dificultad, ser reescrito en la plantilla que recomienda Gamma.

La estandarización es importante, tanto como lo es la flexibilidad.  La única forma de comunicarnos bajo un mismo idioma, es siguiendo algunas reglas, pero estas reglas deben ser flexibles para que motiven la creatividad.


Les presento la traducción de un patrón sobre Biología que apareció hace poco en un foro de discusión sobre patrones.  No pretendo que entiendan todo lo que dice el patrón (de hecho, lo traduje lo mejor que pude, pero como no soy biólogo, pude haber cometido algunas fallas).  Lo que quiero es que observen que un problema específico puede ser descrito de una manera clara mediante un documento muy bien estructurado.

El ejemplo, las consecuencias y los patrones relacionados están en blanco, ya que el patrón no está terminado.

Probablemente en la sección del ejemplo el autor pondría algunas células que interactuaran desde el punto de vista proteínico, con algunos diagramas, cuadros estadísticos, etc.  Las consecuencias hablarían de lo que ocurre normalmente con las células, la energía y las proteínas en diversos episodios, unos buenos y otros malos, y los patrones relacionados nos mostrarían la interacción que este detalle descrito como patrón, tiene con otros detalles también descritos como patrones.

Hay muchos patrones, algunos hablan de seguridad, otros de redes, aspectos financieros, cuestiones sociales, etc.  Como son orientados a problemas particulares, su formulación muestra detalles del área en la que nacen, pero si fueran un poco más abstractos podrían servir para cualquier área.

Este patrón, en particular, habla sobre la necesidad de cuidar la energía vital cuando se realizan operaciones que son ajenas al trabajo normal.  Esto es una verdad universal, tan solo que el escritor del patrón lo documentó desde el punto de vista biológico... nosotros podríamos documentarlo desde un punto de vista bancario.

Luego incluiré otros patrones que irán ilustrando algunos aspectos particulares conforme se vayan trabajando en el curso.
 

El escritor del original en inglés es de Ben Lieberman, un Arquitecto de Sistemas que trabaja en Jones Cyber Solutions (blieberman@jonescyber.com)

Nombre

            Regulación Transcripcional

También conocido como:

                Administración de Control de Punto
                Regulación de Proceso Crítico

Motivación

                En todos los sistemas biológicos la creación de proteína es esencial para la vida; las células deben ser capaces de crear o reemplazar proteínas dañadas.  Este proceso es parte del ciclo normal de vida de la célula (conocido como "quehaceres domésticos" housekeeping).  Adicionalmente, los organismos multicelulares deben ser capaces de activar o suprimir varios genes durante el desarrollo de una manera ágil y con dependencia local.  Producción no apropiada o niveles inadecuados de componentes vitales de la proteína pueden llevar a consecuencias catastróficas en la célula.  Finalmente, las células deben poder responder a señales del ambiente, incluyendo "condiciones de tensión", estimulación molecular (e.g. señales endocrinas), etc.  Independientemente del evento activante, la producción de proteína es un proceso que consume mucha energía y debe ser cuidadosamente regulado.

                El proceso de creación de proteína involucra muchos pasos y han evolucionado varios puntos de "pausa" en los cuales el proceso puede ser detenido para reducir costos innecesarios de energía a la célula.  Esos puntos de control incluyen la inicialización de transcripción (creación de moléculas de ARN a partir de una plantilla de ADN), el procesamiento de nuevas cadenas de ARN (combinación intron/exon), la traducción de códigos de ARN en cadenas de proteína, la modificación translacional posterior de proteína (separación de proteína), y finalmente el pliege y transporte de la proteína hacia su área de acción.

                Las señales ambientales pueden variar en intensidad (e.g. respuesta a situaciones de alta intensidad "stressful") y proximidad celular (e.g. inicio de la reproducción).  La célula debe ser capaz de escalar sus respuestas tan cercanamente como sea posible a sus necesidades inmediatas.

Problema

                ¿Cómo puede permitirse tanto la expresión constante del producto proteína, como la necesidad de producción aumentada o disminuída en varias oportunidades a través del ciclo de vida celular?

Fuerzas

Solución

                Para proveer una respuesta no-lineal a los factores ambientales, las células han desarrollado puntos de control que son afectados por factores reguladores sinergéticos positivos y negativos (i.e. no-aditivos).  Específicamente, durante la creación de nuevas proteínas ("de novo" in biologese), la tasa de inicialización transcripcional es afectada de manera positiva (enriquecedor) o negativa (supresor) por la combinación de proteínas reguladoras que se enlazan a la maquinaria transcripcional principal (una colección de proteínas especializadas que crean la cadena de ARN a partir de la plantilla ADN).  Esas combinaciones se encuentran en muchas combinaciones para muchos genes, permitiendo una respuesta muy precisa y escalable a las señales celulares.

                La combinación de esos factores en el sitio de la transcripción es dictada de manera usual por un reconocimiento de secuencia basado en el ADN (enlace ADN), o por enlaces con factores que son en tal caso, ligados al ADN.

Ejemplo:

Consecuencias:

Patrones Relacionados o Interactuantes:

Usos Conocidos:

Como usted puede observar, el patrón se encuentra incompleto.  Cualquiera interesado en trabajar conmigo en él es bienvenido de contactarme por mi correo electrónico.

Ben Lieberman


[Gamma95] Gamma, Erich et al. Design Patters, Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Massachusetts 1995. ISBN 0-201-63361-2.
 
  1