Nuestra admiración a Theo Jansen y su lenguaje del viento

Mis agradecimientos a NOVI (Nederlandse Organisatie voor Informatika) de Holanda, por la enseñanza en Lenguajes Estructurados en 1980.

JEGC


 Fundamentos Teóricos de los Lenguajes Estructurados

José Enrique González Cornejo
12 de julio de 2011
 

El presente artículo tiene por objeto describir básicamente los fundamentos de un lenguaje estructurado no verbal, que son la base para cimentar la comunicación en el ámbito de proyectos o de tareas automatizadas. Se registran los fundamentos para una comunicación estructurada entre múltiples actores (incluye máquinas) y diferentes organizaciones involucradas en la concreción de un proyecto.


Cuando dos o más agentes (personas, maquinas, instituciones,..) necesitan interpretar diseños de requerimientos y entregables, bajo la misma óptica. Entonces recurren a convenir un lenguaje estructurado, A partir de ese instante, la precisión y claridad en la comunicación comienza a hacer desaparecer las ambigüedades.

Lenguaje Estructurado

Un lenguaje estructurado tiene una sintaxis, una semántica y una pragmática y su objetivo es comunicar en forma no verbal, - a los diferentes actores involucrados (personas, maquinas, constructores,..) -, instrucciones orientadas a determinar acciones e interacción entre ellos. En efecto, para definir requerimientos se debe contar con un lenguaje que exprese, - con un mínimo de errores-, las exigencias que provienen de diferentes fuentes, que son dinámicas en el tiempo y que configuran un proyecto.

En nuestro caso, trabajaremos para comunicar requerimientos de diseño y entregables, formalizados con un lenguaje estándar y convencional, a fin que cada una de las partes comprenda el diseño de lo que será un programa de computación.

En general, podemos decir que un requerimiento consiste en una secuencia de instrucciones mediante un lenguaje y que aquel que recibe estas especificaciones debe construir el entregable, interpretando el requerimiento sin ambigüedades.

Estandarizar y convenir un lenguaje modelado es la parte principal del proceso de comunicación que necesitan todos los agentes involucrados en un proyecto informático.

Si se quiere discutir un diseño con alguien más, ambos deben conocer el lenguaje de modelado y no así el proceso que se siguió para obtenerlo. (Ver UML)

Tres conceptos básicos

Supongamos tenemos un léxico L, que está constituido por un conjunto finito de términos.

Sea L = {hombre, animal, comer, beber, pan, agua}

Definamos una sintaxis T sobre L, como:

Sea T: <sujeto><verbo><sustantivo>

Entonces, bajo la sintaxis T, se pueden construir frases tales como:

  1. Hombre come pan

  2. Animal bebe agua

  3. Hombre come agua

  4. Animal bebe pan

Por tanto, desde el punto de vista de la sintaxis T, las cuatro frases están correctamente construidas. Sin embargo, desde el punto de vista semántico diríamos inmediatamente que las frases 3 y 4 no están permitidas. Es decir, se debe convenir e ir definiendo una semántica S. La interpretación y significado de estructuras sitáxicas es justamente el problema más difícil al momento de transformar o traducir lenguajes humanos.

Por tanto, la sintaxis es la que se ocupa del orden o las reglas que determinan la frase u oración y la semántica se refiere a los aspectos del sentido o interpretación del significado de la frase.

Ahora expliquemos la pragmática. Supongamos un analista programador que está respondiendo a un ingeniero de procesos acerca de una funcionalidad y se refiere con diferentes expresiones. Por ejemplo, “me faltó un driver”, “hay que ponerle más RAM", o “se mandó un condoro”. Esta ultima expresión tiene sentido para la mayoría de los chilenos, refriéndose a que se cometió un error. Es decir, estas frases tienen significado en un determinado contexto y medio cultural.

Por tanto, la pragmática es el modo en que el contexto o situación le entrega interpretación al significado, pero que está fuera de las estructuras formales del lenguaje.

Nótese que un léxico que es un conjunto de términos o (gráficos y diagramas utilizados para representar el lenguaje) que tienen un significado, para al menos dos agentes (persona, maquina, animal,..). Cada término es un conjunto de símbolos que pertenecen a un alfabeto. La diferencia entre el léxico y un diccionario, es que este último es un conjunto ordenado de términos.

En síntesis, cuando se construye un lenguaje entre un mandante del requerimiento y el proveedor, lo que se intenta es lograr un modelo de comunicación que siga los métodos más utilizados y que continué evolucionando en conjunto y no por separado. La evolución puede ser la incorporación de nuevos símbolos en el alfabeto madre, nuevos términos en el léxico, nuevas estructuras sintáxicas y semánticas, nuevas notaciones,  connotaciones pragmáticas y reglas protocolares.

Volver

Modelo de Objetos

Los lenguajes estructurados que se han ido imponiendo para comunicar las especificaciones y diseño funcional,  constituyen una técnica de modelado de objetos y como tal suponen una abstracción de un sistema, con el fin de desarrollarlo  y ponerlo en producción. Es decir, un modelo es un esquema interpretativo de algún proceso, que se elabora para representarlo y comprenderlo previamente a su construcción.

¿Por qué modelar es político?

Un factor crítico para lograr un proyecto exitoso es la comunicación con las especificaciones del diseño y sus requerimientos. Para lograr este enlace, existen una serie de variables que dicen relación, no sólo con una acción técnica, sino también política. En efecto, primero que nada se debe poner de acuerdo al conjunto de agentes internos y externos involucrados en el plan.

Cada uno de los protagonistas,  que van desde lo más alto en la jerarquía hasta a aquellos que harán tareas operativas importantes, debe estar informado y tomado en cuenta en su justa medida. En seguida se debe diseñar, visualizando los posibles obstáculos y escenarios que hagan posible el proyecto. Este trabajo político, es complementado con un lenguaje bien definido y concertado, de modo que el diseño del modelo, - que es una interpretación teórica de la solución-, no se preste para ambigüedades.  (Ver Comunicación Efectiva)

El lenguaje estructurado, es por tanto el enlace, entre todos los protagonistas del negocio que darán solución a un problema. 

 

Volver  

Resumen proceso cognoscitivo

Objetivo Definición Relación y Acción
Acuerdo y Convención

Comunicación entre las partes mediante un Lenguaje Estructurado.

Se establece concepto metodológico y protocolo entre los protagonistas.

Conocimiento

Se toma conocimiento de los conceptos del Lenguaje Estructurado, se introduce la filosofía y nomenclatura de los objetos simples del UML. Se reconoce la información, idea de los procesos, se comparan casos anteriores, símbolos, definiciones, etc., .

Se utiliza casos describiéndolos, identificándolo, bosquejando un modelo de objetos y relaciones.

Comprensión

Se presenta la información del problema utilizando los elementos visuales y notación aprendidos. Se describen, según el protocolo, las causas, consecuencias y resultados que su diseño. Para resolver un problema se debe comprenderlo.

Se clasifica el proceso, se cita contraparte , se realiza una estimación (tiempo, costo, impacto,..) y se prepara su entrega. El numero de incertidumbres debiera disminuir, dado que se comunicó dentro del ámbito de las definiciones y acuerdos.

Aplicación

Se transfiere el requerimiento o entregable, mediante los medios establecidos para la comunicación. La aplicación del requerimiento o entregable  significa que está en marcha la solución concreta del problema.

La aplicación significa que comienza la interacción entre los protagonistas, tanto del requerimiento como del entregable.  Siempre la interpretación inicial propuesta, va a ir sufriendo modificaciones, ajustes y re-diseño en sus componentes. Dentro de la aplicación de un requerimiento y/o entregable se recoge, calcula, construye, administra, controla,  y resuelve.

Análisis

El análisis de la solución puesta en marcha exige realizar distinciones, clasificaciones y relacionar evidencias o estructuras, a partir de las cuales se formulen preguntas y elaboren hipótesis. La descomposición en partes permite continuar mejorando problemas y divergencias, identificando razones  y causas.

Reuniones de Coordinación, revisión de la sea en ambiente de prueba o producción. Rediseñar, precisar, separar, limitar, priorizar.

Síntesis

Los equipos intercambian ideas, planes y se propone nuevas formas de ajustar lenguaje, diseño y construcción.

Se documenta, se re-analiza la metodología y lenguaje a fin de adaptar y  continuar anticipando problemas.

Evaluación

Se emiten juicios sobre la base de criterios preestablecidos.
Se valora el producto según las propias opiniones gerenciales y objetivos determinados.

Sistema de indicadores, informes estadísticos sobre variables objetivas (generalmente frecuencias de fechas, cambios, entregas, cumplimiento de compromisos, etc..).

Volver

Conclusión

  • Nuestros clientes  han elegido la formalización de la comunicación, a partir  de su historia utilizando como punto de partida el UML (Unified Modeling Language), el cual es un Lenguaje Estructurado.

  • Nótese que los conceptos expuestos en el presente artículo, no excluyen la comunicación entre maquinas (M2M). Detrás de toda comunicación entre maquinas (computadoras, aparatos, dispositivos, censores, procesadores, etc..) existe un lenguaje estructurado que lo hace posible.

  • Por ejemplo entre sistemas computacionales es el lenguaje  XML, con sus protocolos correspondientes.

  • En el presente artículo, no se he hecho mayor énfasis en los lenguajes estructurados de comunicación entre maquinas, porque sus dificultades son técnicas y/o de ingeniería. Sin embargo, en los procesos donde hay intervención humana son más complejos y requieren de un trabajo de implantación del lenguaje.

  • La complejidad en un proyecto, es que intervienen diferentes equipos de personas y organizaciones, donde se planifican actividades interrelacionadas y coordinadas, con el fin de alcanzar objetivos específicos,  dentro de un marco de plazos de tiempo, presupuesto, estándares de calidad. etc..
  • Está más que demostrado, que no es suficiente la aplicación de conocimientos, habilidades, herramientas y técnicas a las actividades de un proyecto para satisfacer sus propósitos. La experiencia nos señala que además de acuerdos políticos y PMO,  se requiere convenir un Lenguaje Estructurado.

 

Nota.- El enfoque del artículo se inserta en el marco del quehacer de DocIRS  y de la denominada arquitectura de negocios y diseño funcional de sistemas. Específicamente, estos fundamentos se aplican sobre la Plataforma de Gestión de Calidad DocIRS, el Método Simple-DocIRS. Para el análisis de procesos y comunicación de procesos utilizamos la herramienta BizAgi BPM Software.  Para pasar del conocimiento a la práctica, entre el negocio, ingenieros y programadores se utiliza el UML (Lenguaje de Modelado Unificado) y herramientas de diagramación, con sus esquemas de apoyo de diseño, para la documentación, construcción e implantación de sistemas

 
 
Artículos Relacionados

Volver