• No se han encontrado resultados

La notaci´on propuesta provee lo necesario para realizar especificaciones de diagramas RAD. Con el fin de tener un apoyo automatizado de la notaci´on propuesta, se hizo una implementaci´on delCλRADen el lenguaje funcional Haskell. La implementaci´on consta

de los tipos definidos para especificar un diagrama RAD tanto en alto como en bajo nivel, las funciones asociadas a esos tipos y de las funciones para describir un RAD, est´as ´ultimas funciones se presentan en el cap´ıtulo V de esta tesis.

De esta manera, mientras se pueden realizar las especificaciones de forma manual y de la misma forma aplicar las funciones definidas en la notaci´on, la implementaci´on de la notaci´on provee las bases para tener implementadas las especificaciones de

los diagramas, adem´as de permitir realizar la aplicaci´on de las funciones de forma autom´atica.

Figura 29: ejemplo de funcionamiento de la implementaci´on de la notaci´on

As´ı, por ejemplo, para la implementaci´on de la especificaci´on formal del modelo OSCA, se le pueden aplicar algunas de las funciones definidas y obtener de forma autom´atica los resultados. En la figura 29 se puede observar la aplicaci´on de las funciones obtenerN ombreP roceso y obtenerN ombreRol a algunos de los elementos de la especificaci´on. Adem´as se puede obtener de que tipo son los elementos de la especificaci´on.

IV.7

Resumen

En este cap´ıtulo se present´o el CλRAD, el cual es una extensi´on al c´alculo λ, el CλRAD

es la notaci´on desarrollada para poder especificar formalmente diagramas RAD. Se describi´o el conjunto de tipos que conforman a la notaci´on y la sintaxis del formalismo, junto con una colecci´on de funciones asociadas a los tipos. Tambi´en se describi´o la

forma de especificar un modelo RAD en CλRAD:

• Se mostr´o c´omo especificar cada elemento gr´afico de la notaci´on RAD en un

CλRAD-t´ermino.

• Se mostr´o como especificar formalmente diagramas RAD en alto y bajo nivel. Adem´as se presentaron algunas de las pruebas de consistencia que se le realizaron a la notaci´onCλRAD. Los diagramas RAD de los procesos de ejemplo escritor colaborador y

juego de la cerveza, permitieron ejemplificar la forma en que se realizan especificaciones formales de diagramas RAD en CλRAD. La ´ultima parte del cap´ıtulo permite observar

el uso del CλRAD en procesos organizacionales reales, donde hay m´as complejidad en

la relaci´on de los componentes.

Se puede notar que aunque la notaci´onCλRADes formal, es bastante simple e intuitiva.

Esas caracter´ısticas permiten que su uso no se limite a personas expertas en aspectos formales, sino que puede ser utilizado tambi´en por personas en el dominio de aplicaci´on y con conocimiento b´asicos de la notaci´on RAD, para poder realizar especificaciones formales de sus modelos. M´as a´un, con las funciones definidas de cada tipo se pueden mostrar ciertas propiedades de los elementos de la notaci´on RAD. En el siguiente cap´ıtulo se presenta a m´as detalle la forma de describir y verificar formalmente los diagramas RAD mediante CλRAD.

Descripci´on y verificaci´on en

RAD

V.1

Introducci´on

En el cap´ıtulo anterior se describi´o la extensi´on realizada al c´alculo λ para poder especificar cada uno de los componentes de los diagramas RAD sin estados, el resultado de tal extensi´on es elCλRAD. ElCλRADmantiene la misma teor´ıa de pruebas del c´alculo

λ pero diferente sintaxis. En este cap´ıtulo se presenta:

• La forma de obtener informaci´on de un proceso a partir de la especificaci´on formal, en CλRAD, de su modelo en diagramas RAD. A la obtenci´on de informaci´on, a

partir de la especificaci´on formal de los elementos gr´aficos de un diagrama RAD, se le llama descripci´on de la especificaci´on.

• Parte de la verificaci´on estructural de los diagramas RAD. La verificaci´on se realiza por medio de la especificaci´on formal de los diagramas RAD en

CλRAD y comprobando que todos los CλRAD-t´erminos, que forman parte de la

especificaci´on, tienen una relaci´on v´alida entre ellos.

Para realizar las tareas anteriores se definieron funciones que permiten realizarlas. Para ilustrar de mejor manera la forma en que trabajan esas funciones se utilizan diagramas de dependencia de funciones. Estos diagramas de dependencia muestran la manera en que se relacionan las funciones y como operan. Un diagrama de dependencia de funciones consta de los siguientes elementos gr´aficos:

• Un rect´angulo dividido en cinco campos representa una funci´on, en el campo superior va el nombre de la funci´on, en el campo intermedio del lado izquierdo va

Figura 30: elementos de un diagrama de dependencia

el dominio de la funci´on, en el campo intermedio del lado derecho va el codominio de la funci´on, si la funci´on no es recursiva los campos inferiores van en blanco, de otra forma en el campo inferior izquierdo va la condici´on que finaliza la recursi´on y en el campo inferior derecho el resultado de esa condici´on.

• Un rect´angulo con dos campos representa la acci´on de obtener un elemento que forma parte de un tipo compuesto, en el campo izquierdo va el tipo compuesto y en el campo derecho el elemento que se obtiene.

• Las flechas indican dependencia, el lado al que apunta la flecha indica que la funci´on o tipo compuesto es ocupado por la funci´on que tiene el inicio de la flecha.

• Un c´ırculo con el operador “:” indica que se realiza la construcci´on de una lista de elementos.

• Un c´ırculo con el operador “|” indica polimorfismo y representa las posibles operaciones que se pueden realizar.

• Un c´ırculo con el operador “◦” indica composici´on de funciones.

En la figura 30 se muestran los elementos de un diagrama de dependencia.

V.2

Descripci´on de diagramas RAD especificados