Evaluación del impacto del estilo del líder en...

114

Transcript of Evaluación del impacto del estilo del líder en...

Evaluación del impacto del estilo del líder en el desempeño de un equipo de trabajo.

Jair Estrada Rosalio

[email protected] Centro de Investigación y de Estudios Avanzados – IPN

Av. Instituto Politécnico Nacional 2508, San Pedro Zacatenco, 07300 DF, México

Gerardo Flores Alvarez geflores computacion.cs.cinvestav.mx

Centro de Investigación y de Estudios Avanzados – IPN Av. Instituto Politécnico Nacional 2508, San Pedro Zacatenco, 07300 DF, México

Agosto de 2007

Resumen

El propósito del presente proyecto fue analizar y mostrar las dimensiones que conforman el liderazgo y el ejercicio del mismo, así como el impacto en la cultura organizacional y en la eficiencia de un grupo de trabajo, mediante un sistema de software que permitiera evaluar el comportamiento del líder y dar una calificación que permita estimar el impacto y proyectar el desempeño del equipo de trabajo. Para la implementación del sistema se hacer uso del conocimiento de la Psicología y la Sociología, con el fin de evaluar el comportamiento del líder y poder hacer inferencias del impacto que éste tiene en el grupo de trabajo. De esta forma el sistema evalúa la personalidad del líder mediante la aplicación de un cuestionario llamado “MMPI-II”. Una vez realizado lo anterior se implemento un modulo en el sistema de software, quien simulará y evaluara el comportamiento del líder para estimar el impacto y proyectar el desempeño del grupo de trabajo en base a cualquier área en donde exista ó pudiera existir un líder.

Palabras clave: Líder, Liderazgo, Grupo de Trabajo , MMPI-II

1. Antecedentes 1.1 Problemática: El liderazgo puede ser la clave para despertar motivación y el comportamiento positivo dentro de un grupo. Es el líder quien interpreta y aplica los planes y controles y por lo tanto, puede hacerlos significativos para los empleados y dar importancia a las tareas que enfrentan, pues de cierta forma el impacto de líder puede resultar definitivo. Por lo tanto se busca desarrollar un sistema que en base a una serie de parámetros pueda determinar las cualidades que el candidato a líder tiene y en base a esto evaluar el impacto que éste llegaría a tener en el desempeño de un grupo de trabajo. Por supuesto el sistema tendrá que tomar encuentra que dentro de una estructura de grupo el liderazgo se puede ver influenciado por cualquiera de las siguientes características: 1) Por la tendencia a tomar la iniciativa en la estructura y dirigir las actividades de un grupo 2) Por la tendencia a mostrar consideración hacia los sentimientos de los subordinados y tenerlos en cuenta al tomar decisiones. 1.2 El Líder 1.2.1 Atributos de Un Líder Para poder analizar la influencia del líder en un grupo de trabajo, es necesario introducir las bases teóricas sobre las que se puede construir el conocimiento que permita iniciar un buen estudio, para posteriormente poder obtener conclusiones. En este apartado, se intentara mostrar las teorías actuales sobre el liderazgo de la mano de la sociología y la psicología social. La personalidad se considera como un conjunto estable de “rasgos”, que permiten determinar la conducta de los individuos. Las teorías sobre la personalidad han sido una constante en la psicología, la cual ha buscado analizar y sistematizar la personalidad individual y el comportamiento social para prever y explicar la conducta humana. Sólo existe una forma de observar de modo empírico la personalidad, consiste en registrar la conducta observable y en el análisis de los procesos cognitivos asociados. Para “medir” y catalogar los rasgos de personalidad se utilizan pruebas psicométricas “test” de respuesta directa (MMPI, CEP, CLEAVER…) o pruebas proyectivas.

El problema de determinar la personalidad del líder está basado en gran medida en el hecho de que a los líderes sólo podemos conocerlos después de la realización de actos propios del liderazgo. El elemento más consistente señalado en las múltiples definiciones de liderazgo es que éste implica un proceso de influencia entre el líder y sus seguidores. 1.2.2 Personalidad de líder Para estudiar la personalidad del líder nos basaremos en los estudios que M. E. Shaw realizó sobre el comportamiento de líderes en grupos. Obtuvo tres conclusiones fundamentales: 1º El líder tiende a ser más inteligente. 2º Los más inteligentes tienden a ser más activos. 3º Los más inteligentes suelen ser más inconformistas. El líder será por tanto inteligente (para persuadir), activo (para arrastrar) e inconformista (para cambiar pautas). La fe y la voluntad que debe contagiar, nacerán de su grado de inteligencia y de su actividad e inconformismo. El liderazgo es un proceso que, asumido, se autoalimenta de forma que el líder cada vez demandará más poder y será más exigente en recibirlo. Por su parte, los miembros del equipo estarán cada vez más sometidos puesto que cuanto más dura sea la exigencia, más exigente se podrá ser con los situados en estatus inferiores. El líder marca el inicio de los procesos, las relaciones de dominio, el deseo de los demás, los objetivos a alcanzar y la dirección a seguir. El equipo ofrece al líder, a cambio de ello, obediencia, respeto, lealtad y admiración. Aparecen entre sus miembros, en consecuencia: deseos de cooperación, pautas de conductas generales, estímulos mutuos en el logro de objetivos, motivación para actuar, coordinación entre ellos e interacción de las diferentes conductas en sus miembros. La interacción entre líder y grupo se establece mediante un sistema difuso de influencias definido como una forma específica de actuar (conducta o arte de tratar), un conjunto de atributos psíquicos (capacidad o habilidad) y un principio activo sin definir (fuerza o principio). 1.2.3 La identidad del líder La identidad del líder suele ser perfectamente conocida, reafirmada y valorada por los miembros del equipo. Según los investigadores de orientación empirista, para conocer la identidad del líder dentro de un grupo basta con preguntar a sus miembros por la persona de mayor influencia, y hacer la misma pregunta a un número de observadores objetivos del grupo.

El liderazgo sería, en una sociedad compleja, una estructura de la que el líder sería la cabeza. Al surgir la necesidad de ser dirigidos, se elige entre ellos a "uno" u "otro" en función de sus aptitudes, quedando el resto de los componentes de esa "punta de jerarquía" integrados en la estructura del liderazgo. Las fuerzas en conflicto entre subgrupos desaparecen ante la aparición de un líder poderoso, ya que al unificarse el grupo, los líderes del subgrupo son desplazados por el líder supremo. Parece deducible que tras unos primeros tanteos, los líderes menos capacitados para la tarea desaparecen integrándose en la estructura y dejando al elegido libre para aportar, sin trabas, sus decisiones. Aunque se ha venido afirmando que el líder surge ante la aparición de la necesidad (tesis específica), hay escuelas que mantienen el punto de vista opuesto: Una persona líder en una situación, lo será en todas (tesis general o tesis del "Gran Hombre"). Éstos, al estudiar la personalidad del líder, exponen una teoría llamada del "Gran Hombre". Según ella, el hombre excepcional aparece y es consustancial con la sociedad, lo que sucede es que ésta no "lo reconoce" en la medida en que "no lo necesita", pero se vuelve hacia él una vez que comprende que sólo él puede solucionar el problema sobrevenido. El "Gran Hombre" sería pues una persona de cualidades innatas y superiores, preexistente ya fuera del contexto histórico y ajeno al momento situacional del grupo. Según este modelo, este Gran Hombre debería poseer las siguientes características:

­ Tiende a permanecer como tal a lo largo de todo el período histórico de observación.

­ En las discusiones en que participa se observan resultados

superiores a la media en los campos de sugestión y adopción de acuerdos.

­ Disuelve la tensión del grupo al participar.

­ Obtiene óptimos resultados de solidaridad y relajación.

Es, por tanto, poseedor de una personalidad férrea y mantenida, capaz de "convencer" y "arrastrar", evitando "diferencias de opinión" y posibles conductas irritables. La posición intermedia parece más defendible: Aparecida la necesidad y surgido el líder (tesis específica), éste tenderá a mantenerse como tal, y si la estructura de poder es óptima, seguirá solucionando todos los problemas que aparezcan (tesis general), hasta un punto en el cual no puede progresar y se requiera un cambio de liderazgo y estructuras (evolución y revolución). En resumen: No por ser líder tendrá capacidad para solucionar todos los problemas sino que por su demostrada capacidad para solucionar problemas habrá sido elegido líder.

1.2.4 Las cualidades de líder El líder debe poseer ciertas cualidades y actuar de cierta forma para comunicar e influir algo en los demás. Los rasgos fundamentales de su personalidad son los siguientes, recogidos de las diferentes Escuelas que los deducen:

• Superación de la media intelectual, del nivel de responsabilidad y de la capacidad de participación de la media del grupo.

• Superación de la media de sociabilidad, iniciativa, persistencia, autoconfianza, eficacia, comprensión de la situación, cooperatividad, popularidad, capacidad de adaptación y facilidad de expresión verbal.

• Superar las cualidades medias que se consideran específicas del grupo a liderar (fuerza física en pandillas jóvenes o nivel intelectual en grupos maduros).

• Poseer en mayor medida que la media las siguientes cualidades: Originalidad, popularidad, sociabilidad, capacidad de juicio-agresividad, deseo de destacar, sentido del humor- cooperatividad, vivacidad y capacidad atlética.

• Debe ser una persona "querida" por todos, de reconocida sensatez y buen juicio y capaz de aportar soluciones originales, que contagia ilusión en el logro de las mismas y de gran viveza mental para hacerse cargo de las nuevas situaciones.

1.2.5 Tipos de líder En función de la naturaleza del problema a solventar, el liderazgo ejercido será de un tipo u otro. Bogardus [2] considera los siguientes tipos de liderazgo:

• El Autocrático: Emerge en una poderosa organización para dirigir el funcionamiento de la misma. - Establece los objetivos. - Controla toda todas las actividades paso a paso. - No hay lugar para desviaciones. - Evalúa el trabajo. - Es el que tiene la última palabra. - El resultado es bastante efectivo, pero en ausencia del jefe o cuando no determina lo que hay que hacer, se desatiende el trabajo. Inhibe la iniciativa de los demás, no produce sinergia, la moral es baja así como la motivación, se trabaja por temor.

• El Democrático:

Surge en el grupo para representar los intereses de un colectivo (líder político). - Los temas son discutidos en grupo. - Los objetivos se determinan conjuntamente y así se asignan las tareas.

- Trabajan en equipo. El resultado es un mayor interés por el trabajo, más originalidad, buena moral y cohesión, en ausencia del líder se sigue trabajando. Es un líder aceptado por el equipo.

• El Ejecutivo:

El que organiza, planifica, dirige y coordina las tareas del grupo (Director comercial de una gran compañía).

• El Intelectual: De carácter reflexivo y con problemas para conseguir un mínimo amplio de Seguidores. Hay que marcar dos observaciones por su carácter permanente y con el fin de fijar ideas:

- Los grupos grandes tienen mayor demanda de líder, que los grupos pequeños. - El grupo tiende a aceptar líderes con capacidades y características que faciliten los objetivos del grupo.

• “Laissez faire” (Cada cual hace lo que quiere): El resultado es bajo rendimiento, escasa calidad, poca cohesión y moral baja. Todo liderazgo comporta unas relaciones de poder y dominio; cuando las relaciones de dominio parten de la minoría gobernante y se refieren a toda la masa 1.2.6 El entorno de acción del líder. Los requisitos establecidos en el paradigma se realizan en el ejercicio de la responsabilidad individual en la generación y producción de resultados efectivos, a cualquier nivel de decisión y acción colectiva (política, social, empresarial, laboral). Por ejemplo, este modelo permite mostrar a un líder como una persona que toma la iniciativa en las acciones y un grupo de seguidores que lo apoyan, pero sin embargo habrá factores en contra que evitaran el buen desempeño del grupo de trabajo. Por lo que el líder deberá hacer uso de sus cualidades de persuasión para atenuar estos factores. Este sistema puede representarse en el siguiente gráfico, cuyas diferentes etapas serán descritas en las secciones subsecuentes, conjuntamente con las consecuencias que cada uno de ellos se explicaran como resultado de las diferentes ontologías del contexto en el que se está trabajando:

Figura 1: Entorno del líder

1.3 Evaluación de la personalidad El concepto de personalidad procede del latín "personalitas", que se utilizaba para designar las máscaras o caretas que los actores utilizaban en las representaciones teatrales. Este concepto presenta varias connotaciones desde su origen (apariencia externa, papel representado, actor en sí mismo y aspectos de valor social). En el presente ámbito de estudio se utilizará en referencia al actor en sí mismo. 1.3.1 Métodos de evaluación de personalidad La personalidad se puede estudiar desde dos perspectivas, por métodos clínicos y por métodos psicométricos (test) [4]: Los métodos clínicos resultan con frecuencia más sensibles, pero menos específicos que los psicométricos. La información que proporcionan los primeros no resulta habitualmente susceptible de comparación con otros individuos, lo que sin embargo si resulta asequible con las pruebas psicométricas. En ambos métodos existe un observador y un sujeto observado, por lo tanto se pueden producir errores de interpretación en ambos, al no seguir unas pautas concretas y precisas de observación y evaluación. Se han descrito diversos sesgos en las respuestas como la respuesta más deseable o más "normal".

Se han realizado numerosos intentos de clasificación de los sujetos, en relación a determinadas características permanentes o rasgos. Se han utilizado criterios cualitativos o categóricos y dimensionales. 1.3.2 Cuestionarios utilizados en el estudio de la personalidad Conviene distinguir determinados conceptos a la hora de evaluar la personalidad [7]:

a) RASGOS: son disposiciones más o menos estables en las situaciones y ocasiones que se expresan en la respuesta al medio estimular. Los "Temperamentos", se basan en rasgos afectivos.

b) ESTADOS: son disposiciones transitorias de respuesta al medio, que

fluctúan en las distintas situaciones y ocasiones.

c) DIMENSIONES: los sujetos pueden agruparse en relación a determinadas puntuaciones obtenidas en relación a un criterio sobre su personalidad.

Ejemplos: más extrovertido / más neurótico En relación a los cuestionarios utilizados en el estudio de la personalidad, se pueden distinguir cuestionarios generales y escalas específicas. MMPI (Minnesosta Multiphasic Personality Inventory) de Hathaway y McKinley (1975). Es el cuestionario más utilizado en ámbitos clínicos y tiene orientación psiquiátrica, ya que los factores nos informan directamente sobre entidades de diagnóstico. Sus características son las siguientes: objetivo clínico, consta de 566 items, se clasifica en relación a puntuaciones típicas (T), se evalúa en relación a los perfiles de respuesta, que tienen notación específica [3]: - cuatro escalas de validación: ?: Duda (no sé). L: sinceridad. F: validez. K: factor corrector. - diez escalas clínicas: 1. (Hs) Hipocondriasis. 2. (D) Depresión. 3. (Hy) Histeria. 4. (Pd) Desviación psicopática. 5. (Mf) Masculinidad-Feminidad. 6. (Pa) Paranoia. 7. (Pt) Psicastenia. 8. (Sc) Esquizofrenia. 9. (Ma) Hipomanía

10. (Si) Introversión social. - cinco factores adicionales: A. (Es) Fuerza del Yo. B. (Dy) Dependencia. C. (Do) Dominancia. D. (Re) Responsabilidad. E. (Cn) Control. Como se ha dicho con anterioridad, el MMPI se evalúa en relación a los perfiles conformados entre la elevación de dos o más elementos (díada, tríada, tétrada), aunque se considera que puntuaciones en cada factor superiores a 70 son significativas de un trastorno en relación a la población normal. Entre los perfiles que se estudian habitualmente se encuentran los Siguientes:

a) Tríada neurótica: elevación en 123 ("V" de conversión). b) Tétrada psicótica: elevación en 6789 (6879: esquizofrenia paranoide). c) Conducta suicida: elevación 2, con 4,7 u 8. d) Depresión endógena: 287. e) Depresión reactiva: 231.

1.4 Lógica Fuzzy: Cuando decimos “lógica”, normalmente nos estamos refiriendo a la lógica de Aristoteles, la lógica clásica, propuesta en 300 A.D. La lógica Aristótélica es la base de muchos pensamientos de Occidente. Se ha estudiado y ha sido explorada por miles de científicos y filósofos desde su comienzo. Está basada sobre ideas sencillas, simples pero comprendidas por todos: Una declaración es verdadera o falsa. Es una lógica binaria que permite sólo dos valores, cualquiera es verdadero o no lo es. No hay posición intermedia entre dos extremos. La mayoría de los fenómenos que encontramos cada día son imprecisos, es decir tienen implícito un cierto grado de difusidad en la descripción de su naturaleza. Esta imprecisión puede estar asociada con su forma, posición, momento, color, textura, estado de ánimo, personalidad o incluso en la semántica que describe lo que son. En muchos casos el mismo concepto puede tener diferentes grados de imprecisión en diferentes contextos o tiempo. Un día cálido en invierno no es exactamente lo mismo que un día cálido en primavera. La definición exacta de cuando la temperatura va de templada a caliente es imprecisa –no podemos identificar un punto simple de templado, tal que aumentando un simple grado la temperatura del ambiente sea considerada caliente.

Este tipo de imprecisión o difusida asociado continuamente a los fenómenos, es común en todos los campos de estudio: sociología, sociológico, biología, Ingeniería, oceanografía, etc. Aceptamos la imprecisión como una consecuencia natural de “la forma de las cosas en el mundo”. La dicotomía entre el rigor y la precisión del modelado matemático en todos los campos y la intrínseca incertidumbre de “el mundo real no es generalmente aceptada por los científicos, filósofos y analistas de negocios. Una de las disciplinas matemáticas con mayor número de seguidores actualmente es la llamada lógica difusa o borrosa, que es la lógica que utiliza expresiones que no son ni totalmente ciertas ni completamente falsas, es decir, es la lógica aplicada a conceptos que pueden tomar un valor cualquiera de veracidad dentro de un conjunto de valores que oscilan entre dos extremos, la verdad absoluta y la falsedad total. Conviene recalcar que lo que es difuso, borroso, impreciso o vago no es la lógica en sí, sí no el objeto que se estudia: expresa la falta de definición del concepto al que se aplica. La lógica difusa permite tratar información imprecisa, como inteligencia promedio, poco amigable, temperatura baja, etc, en términos de conjuntos borrosos que se combinan en reglas para definir acciones: “si es inteligente entonces es inconformista” o “Si la temperatura en alta entonces enfría mucho”. De esta manera, los sistemas de control basados en lógica difusa combinan variables de entrada, definidas en términos de conjuntos difusos, por medio de grupos de reglas que producen uno o varios valores de salida. Estamos capacitados para formular planes, tomar decisiones y reconocer conceptos compatibles con altos niveles de vanguardia y ambigüedad. Considera las siguientes sentencias:

• El líder es muy amigable. • Mi vecino es poco inteligente. • La temperatura del ambiente es caliente • La inflación actual aumenta rápidamente • Los grandes proyectos generalmente tardan mucho • Jorge es popular pero Miguel no lo es.

Estas proposiciones forman el núcleo de nuestra relación con “la forma de las cosas en el mundo”. Sin embargo, son incompatibles con el modelado tradicional y el diseño de sistemas de información. Si podemos incorporar estos conceptos, lograremos que los sistemas sean potentes y se aproximen más a la realidad.

Pero, es la imprecisión un concepto artificial utilizado para aumentar o disminuir en uno o más las propiedades de los fenómenos? O es una parte intrínseca del fenómeno en sí mismo?. Esta es una pregunta importante ya que es la parte fundamental de las medidas de la teoría difusa. La fusión es independiente de cualquier capacidad para medir, ya que un conjunto difuso es un conjunto que no tiene límites bien definidos (se verá mas adelante). Un conjunto difuso tiene muchas propiedades intrínsecas que afectan la forma del conjunto, su uso y como participa en un modelo. La lógica difusa ha cobrado una fama grande por la variedad de sus aplicaciones, las cuales van desde el control de complejos procesos industriales, hasta el diseño de dispositivos artificiales de deducción automática, pasando por la construcción de artefactos electrónicos de uso doméstico y de entretenimiento, así como también de sistemas de diagnóstico. De hecho, desde hace ya, al menos, década y media, la expedición de patentes industriales de mecanismos basados en la lógica difusa tiene un crecimiento sumamente rápido en todas las naciones industrializadas del orbe[11]. La lógica Difusa es particularmente útil en el sistema experto y otras aplicaciones de inteligencia artificial. La Lógica Difusa, que hoy en día se encuentra en constante evolución, nació en los años 60 como la lógica del razonamiento aproximado, y en ese sentido podía considerarse una extensión de la Lógica Multivaluada. La Lógica Difusa actualmente ésta relacionada y fundamentada en la teoría de los Conjuntos Difusos. Conjunto difuso: Para ilustrar el concepto de conjunto difuso, recordemos primero la definición tradicional de un conjunto: colección de objetos finitos que están bien definidos su partencia al conjunto por medio de reglas (ejemplo supongamos que los hombres inteligentes son los que tiene IQ mayor a 115). En el caso de conjuntos difusos si seguimos el ejemplo del IQ un ser humano con una inteligencia de 116 pertenece el conjunto de seres inteligentes pero si tiene un IQ de 115 ya no pertenece a este conjunto. Sin embargo, no parece muy lógico decir que un hombre es inteligente y otro no lo es cuando su IQ difiere en un punto. El enfoque de la lógica difusa considera que l conjunto “Seres humanos Inteligentes” es un conjunto que no tiene frontera clara para pertenecer o no pertenecer a él: mediante una función que define la transición de “Inteligente” a “no inteligente” se asigna a cada valor de inteligencia un grado de pertenencia al conjunto, entre 0 y 1, Así por ejemplo, un hombre que tenga un IQ. De 115 podría pertenecer al conjunto difuso “seres humanos Inteligentes” con un grado de 0.79 de pertenecía, uno que tenga un IQ de 116 con un grado de 0.8, y uno que tenga un IQ de 85 con un grado de 0.58.

Visto desde esta perspectiva se puede considerar que la lógica clásica es un caso límite de la lógica difusa en el que se asignan un grado de pertenencia 1 a los hombre con un IQ. Mayor a 115 y un grado de pertenencia 0 a lo que tienen un IQ menor o igual 115.

Figura 2 Lógica Clásica versus Lógica Fuzzy

Función Característica: Según esta teoría, el grado de pertenecía de un elemento a un conjunto va a venir determinado por una función de pertenencia, que puede tomar todos los valores reales comprendidos en el intervalo [0,1]. La representación de la función de un elemento a un conjunto Difuso se representa según la figura 3:

Figura 3 Función de pertenencia a un Conjunto Difuso

Los operadores lógicos que se utilizan en la Lógica Difusa (AND, OR, etc) se definen también usando tablas de verdad, pero mediante un “principio de extensión” por el cual gran parte del aparato matemático clásico existen puede ser adaptado a la manipulación de los Conjuntos Difusos y, por tanto, a las variable lingüísticas.

La operación más importante para el desarrollo y creación de Reglas Lógicas es la implicación, simbolizada por “? ” que representa el “Entonces” de las reglas SI (….) Entonces (….). Así en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir una “función (matemática) de implicación” distinta en cada caso para representar a la implicación. La última característica de los sistemas lógicos es el procedimiento de razonamiento, que permite inferir resultados lógicos a partir de una serie de antecedentes. Generalmente, el razonamiento lógico se basa en silogismos, en lo que los antecedentes son por un lado la proposiciones condicionales (nuestras reglas), y las observaciones por otro (serán las premisas de cada regla). Es por lo anterior que se ha elegido a la lógica fuzzy para realizar el proyecto que nos hemos propuesto.

2. Diseño y Metodología

2.1 El Test Para el desarrollo de este proyecto se deben tener en cuenta el conocimiento que se tienen para poder medir la personalidad de un ser humano. Como ya se ha mencionado, una de las formas para medir este atributo en un individuo desde el punto de vista de las Psicología y la Sociología es la realización de un test Psicométrico escrito donde se realizan preguntas. Posterior mente este test es evaluado por un experto quien define la personalidad del individuo. Existen diferentes test Psicométricos, se selecciono el MMPI-2 es el estudio que el personal especializado de la SSA realiza en los Nosocomios Psiquiátricos y no Psiquiátricos (como son el Fray Bernardino Álvarez y Juan N. Navarro, Zona de Hospitales en la Ciudad de México).

Figura 4 Test MMPI-II

Este Test consta de una batería de 566 preguntas, las cuales se contestan binariamente, como falso o verdadero, sin embargo el evaluador no solamente se limita a evaluar las preguntas simple y llanamente, sino por el contrario también evalúa la forma en que el individuo ha llenado el test, primordialmente observa los siguientes puntos:

• El individuo ha marcado los dos ovalos en una pregunta. • El individuo no ha marcado ningún ovalo en una pregunta. • El individuo ha marcado solo uno de los ovalos en una pregunta

Se conjuntan los dos primeros casos y el especialista realiza una evaluación de este comportamiento. En el último caso se asigna un puntaje a la pregunta según sea verdadera o falsa y se realiza una grafica de los resultados obtenidos, donde se conjuntan las preguntas que evalúan alguna característica de la Psique.

Figura 5 Grafica de escalas del MMPI-II

Nuestra Observación muestra que el test no tiene una lógica binaria, esto es no por el hecho de que la respuesta a una pregunta sean falsa o verdades, significa que se tengan solo dos valores, por el contrario el evaluador (valga la expresión) ve entre las líneas del test y también evalúa las preguntas que el evaluado no ha respondido o que ha llenado como falsa y verdadera en una sola respuesta, debido a esta forma de evaluar, se considera no solo el significado de la respuesta Falsa o Verdadera, sino también el que no se conteste ó se conteste doblemente una pregunta. Por otro lado ya que se ha realizado un conteo de las respuestas verdaderas o falsas y se les han proporcionado el puntaje correspondiente, se realizo estadística para poder catalogar las respuestas en función de la personalidad o padecimiento de la Psique con la finalidad de encontrar los puntos más sobresalientes, con los cuales muestran la tendencias más sobresalientes de la personalidad.

La manera de realizar esta última parte es utilizando estadísticas, que ayudara a encontrar de intervalos de clase y posteriormente a realizar histogramas con los cuales se pueden aplicar diferentes métodos estadística para poder encontrar las tendencias más sobresalientes de la personalidad del individuo. 2.2 Lógica Fuzzy [1]

Como se ha visto el test MMPI-2 nos ayudaran a realizar mediciones de las características más sobresalientes de la personalidad de un individuo; el siguiente paso será ponernos de acuerdo en cómo serán representadas estas características y la escala de mediciones que represente la intensidad de estas. Con frecuencia vamos por la vida etiquetando las características de la personalidad más sobresalientes de los individuos, (inteligente, sociable, efusivo, extrovertido, amable, cansado, experimentado, etc.), de manera cualitativa, sin pensar en realizar una evaluación cuantitativa. Es difícil pensar en que se deba utilizar un valor numérico para medir la intensidad de las características personales de un individuo. Es importante para efectos del proyecto realizar mediciones que cuantifiquen los atributos de la personalidad de un individuo; de esta forma se puede hablar que algunos de los atributos del personalidad de algún sujeto es bajo, mediano o alto (por ejemplo podríamos decir que la experiencia en la materia de Jorge es bajo, mediano o alto), de esta forma estaríamos cuantificando los niveles de las cualidades de los seres humanos [10] . Con el uso de la lógica fuzzy es posible expresar la intensidad de los parámetros antes mencionados [10] . El uso de la lógica clásica limita una declaración a falso o verdadero, sin dejar lugar a valores intermedios (o es blanco o es negro pero no puede ser gris o amarillo). Por ejemplo según la lógica clásica o se es inteligente (genio) o estúpido, pero no existen términos medios. Sin embargo la Lógica confusa o fuzzy, permite que se manejen términos medios, donde se puede poseer una inteligencia media o no tan estúpida, dando cabida a un manejo más real de los valores de los atributos de la personalidad que se desea manejar. En la referencia [10] se realizo un proyecto en el que nos hemos basado y continuaremos basándonos ya que el trabajo que hemos estado desarrollando es una mejora que se le implementa al modelo propuesto por la referencia ya mencionada.

Por tal motivo muchas de las afirmaciones que a continuación se hacen son obtenidas del trabajo que han realizado los autores de la referencia [10], en donde nuestra labor es añadir las características de la personalidad que el test MMPI nos arroja y fusionarlas con las del Test Cleaver en el caso específico del Líder del proyecto. Por ese motivo a partir de esta parte y al finalizar esta sección haremos mención de la referencia [10] continuamente. El la referencia [10] el primer paso que se realiza dentro del la lógica “fuzzy” ha sido el reconocimiento de los atributos que serán fuzzificados y se determina su gama de valores que pueden tomar. En el Artículo se dan los siguientes lineamientos a los siguientes atributos de la personalidad que en el marco del examen Cleaver se manejan:

• Para el conjunto borroso se toma una gama de valores que van desde 0 a 100.

• En esta escala de valores (0 a 100) se dividen en tres categorías los conjuntos borrosos que pueden ser bajo, medio y alto.

• Se toman para el test Cleaver, 11 atributos, de los cuales se toman los siguientes intervalos:

Valores para los atributos

Características internas Bajo Medio Alto 1 Emoción, Cognoscitivo y

Social 0 a 35 25 a 75 65 a 100

2 Estrés 0 a 25 20 a 80 65 a 100 3 Conjunto de atributos

interrelacionados 0 a 40 20 a 80 60 a 100

Se menciona que en el caso de los atributos relacionados con el estrés se toman un intervalo diferente debido a que están más relacionados con el funcionamiento de la persona en el trabajo. La última característica de desarrolla pensando en que la mezcla de todos los atributos definen la personalidad del individuo y se menciona que la personalidad dominante se encuentre en el estado Alto. Otro punto importante es que estos intervalos han sido puestos de manera empírica y que el usuario puede realizar ajustes a éstos. De esta forma se obtiene la siguientes graficas:

Gráfico 6

Caso1 conjunto borroso para los valores de los atributos relacionados con las Emociones , Cognoscitivo y Sociales

Gráfico 7

Caso2 conjunto borroso para los valores de los atributos relacionados con el Estrés

Gráfico 8

Caso3 conjunto borroso para los valores de los atributos interrelacionados

En el sistema que se está desarrollando tiene como principal objetivo medir la personalidad del líder que se integrara a un grupo de trabajo, y como se ha venido diciendo que se utilizara el test MMPI-2 para medir los tributos de la personalidad del líder, por lo que se puede observar en la figura 3 que la escala que el MMPI-2 representa esta en una escala de 0 a 100, la cual representa una escala equiparable a la que el test Cleaver utiliza, por lo que realizar la medición de los atributos del Líder del grupo de trabajo no es necesario realizar conversiones de valores entre las escalas del MMPI-2 y el Cleaver . Un punto que si se debe considerar es que el test MMPI-2 realiza mayor numero de inferencias de los atributos de la personalidad, por lo que es un examen más fino y detallado que el Cleaver; se desea enriquecer la cantidad de atributos que el sistema propuesto por Juan Martínez, Alvarado, Arantza Aldea y René Bañares-[2] en cuanto a la personalidad del Líder del grupo. Los atributos que se proponen agregar al sistema junto con los valores de los atributos propuestos empíricamente, son los que se muestran en la siguiente tabla:

Valores para los atributos Número Atributo Bajo Medio Alto

1 Inteligencia 2 Objetividad 3 Inconformidad 4 Decisión 5 Independencia

0 a 25

20 a 80

65 a 100

En el caso de los atributos relacionados con el líder se modelan con los intervalos mostrados en la anterior tabla, que son diferentes debido a que están más relacionados con el desempeño del individuo en estudio en el grupo de trabajo. Obteniéndose una grafica parecida al del caso 2 (grafico 7). Para poder realizar las pruebas del comportamiento del equipo de trabajo y poder inferir el desempeño de este y su líder, se debe modelar la interacción entre los integrantes del grupo de trabajo y las tareas que les son asignadas. Las tares que un grupo de integrantes del grupo de trabajo efectuaran se deben modelar de esta forma, por lo que en el modelado se han seleccionado 11 atributos importantes, que darán paso a este modelado [10]. 1. Número de participantes en la tarea. 2. Duración estimada de la tarea (medida en días). 3. Secuencia (secuencial o en paralelo). 4. Prioridad dentro del proyecto. 5. Plazo. 6. Coste. 7. Calidad. 8. Dominio.

9. Descripción de la tarea 10. Grado de dificultad de la tarea. 11. Tipo de especialización requerida. El parámetro número 10 y 11 son multivaluados; donde se mide el nivel de especialización para lograr llevar a cabo la tarea. Para ambos parámetros, los valores e intervalos que se manejan son [10]:

Valores para los atributos Número Atributo Bajo Medio Alto

1 Dificultad de la tarea

2 Especialización requerida

0 a 35

25 a 75

65 a 100

El grafico obtenido es similar al del caso 1, grafico 6. Estos parámetros borrosos de la tarea serán utilizados para generar el comportamiento del agente por las reglas borrosas que encienden Por otro lado la capacidad para realizas una tarea especifica en un trabajo cada integrante debe ser analizada y valorada, así como la interacción con el resto de los miembros del equipo; en resumen se debe evaluar individualmente la capacidad para realizar una tarea y sus habilidades sociales que afectan al funcionameinto del grupo de trabajo. Los siguientes parámetros han sido propuestos para determinar el desempeño de un integrante del grupo de trabajo [10]: 1. Logro de las metas. 2. Puntualidad. 3. Calidad de la tarea realizada. 4. Nivel de la colaboración del equipo. 5. Nivel individual de contribución. 6. Nivel requerido de supervisión. Estos parámetros han sido tomados de los formatos utilizados por los líderes de proyecto del Instituto Mexicano del Petróleo (IMP), este formato es llenado por cada líder de proyecto para cada integrante del equipo de trabajo. Para la parametrización y la optimización de cada miembro del equipo se toman valores de 0 a 100, dividiéndola en cinco intervalos:

Muy Bajo Bajo Mínimo Aceptable Satisfactorio 0 a 30 25 a 65 45 a 75 65 a 95 90 a 100

El grafico se muestra en la grafica 9:

Gráfico 9

2.2.1 Evaluación del Impacto del Lider y el sistema de puntuación: Para evaluar el desempeño de una persona (en este caso especifico al líder) en un grupo de trabajo existen varios métodos, muy variados y distintos, por ejemplo podemos pensar en cuestionarios que nos permiten hacer preguntas acerca de cómo se comporto el líder en el grupo durante el desarrollo del proyecto, otra forma es verificar los objetivos que se lograron y en que tiempo, evaluar su participación en el grupo etc. Existen unas características comunes en cada grupo de trabajo, y cada una de ellas se da con distinta intensidad en cada uno de los puestos. Además, para cada característica se admite una importancia diferente. El sistema de puntuación define estas características, llamadas factores (caracteristicas de la personalidad), y las distintas intensidades, llamadas grados (aplicados mediante logica fuzzy, mismos que van desde alto, medio y bajo). En la valoración se trata de asignar a cada puesto, en cada factor, el grado que se ajusta a los requisitos de aquél. Como se observa no todos los factores tienen la misma importancia. El valor que representa a esta importancia lo llamamos ponderación y se expresa en cifras mediante la fuzzificacion. El conjunto de factores, grados y ponderación constituye el manual de valoración (en este caso son nuestras reglas), que es el instrumento de medida a emplear. Determinados en cada puesto los grados correspondientes, dotados de su puntuación, podremos con una simple suma tener el valor representativo del puesto y su impacto.

El método de puntuación de factores fue diseñado por Merril R. Lott en 1925 para ser aplicado en su empresa, Sperry Gyroscope C. Inc. El método de Puntos por Factor se basa en el análisis y descripción de puestos, este método consta de las siguientes etapas: 1. Elección de los factores de valoración. Todos los trabajos de un grupo tienen unas características o factores comunes, pero si considerásemos el trabajo humano en toda su variedad, ciertamente, obtendríamos una larga relación. No se trata, por tanto, cuando pretendemos determinar los factores de cómo calificar el desempeño de un líder, de obtener una lista exhaustiva, sino deducir unos factores que, siendo comunes al grupo estudio y el dirigente, nos sirvan para establecer diferencias lógicas entre ellos. Estudios realizados demuestran que es innecesaria la aplicación de muchos factores. Análisis estadísticos demuestran que cinco factores pueden ser suficientes para evaluar el desempeño de un lider:

• Inteligente • Objectivo • Desicivo • Inconformista • Independiente

En el desarrollo de proyectos, los factores podrían agruparse en:

• Dificultad Técnica • Responsabilidad • Cumplimiento de objetivos • Dedicación • Incompatibilidad

2. Ponderación de los factores y subfactores. La ponderación de factores se hace de acuerdo con su importancia relativa, ya que éstos no son idénticos en su contribución al desempeño de los puestos. La ponderación consiste en atribuir a los factores su peso relativo en las comparaciones entre los puestos. Se suele utilizar el peso porcentual con que cada factor será considerado en la valoración de los puestos. Este porcentaje tendrá una traducción a puntos. 3. Establecimiento de grados. Definido cada factor, es preciso determinar el número de reglas (100 aproximadamente) en que podemos dividirlo y delimitarlos con tanta precisión como sea posible.

Los grados son definidos de forma que cada uno refleje un poco más de dificultad e importancia que el anterior dentro del impacto en el grupo de trabajo y de tal manera que la expresada por el primero coincida con la de los cargos asignados de mayor a menor importancia, abarcando así entre todos la gama completa del factor que se está estudiando.

• 4. Confección del Manual de Valoración. El manual de valoración o conjuntos de reglas es el instrumento que se utilizará para establecer la importancia de cada puesto de trabajo en relación con los demás. Este manual contiene las instrucciones para su aplicación y las descripciones de los factores y grados y, de su aplicación, resultará una puntuación para evaluar el impacto generado del lider en cada puesto de trabajo valorado( como es obvio los miembros del grupo valoran el desempeño de un líder).

• 5. Valoración de puestos. Es posible pasar directamente a la valoración definitiva del líder por parte de la ejecución de las reglas constituidas para tal efecto. No obstante, es conveniente hacer una aplicación previa que pruebe la adecuación del manual al tiempo que facilite una tentativa de puntuaciones por puestos, mediante herramientas como Jess y FuzzyJ.

• 6. Asignación del porcentaje de impacto el grupo. Con los valores en puntos para cada puesto de trabajo, según los resultados de la valoración de puestos, es posible establecer la correspondencia entre la puntuación obtenida por cada puesto y su impacto. Para este análisis se utiliza la relación de metas logradas y tiempos de ejecución de tareas tanto individual como grupalmente. Con estos valores puede dibujarse un gráfico, que muestra la relación entre objetivos e impacto .

2.3 Diagramas de UML 2.3.1 Modelo de Casos: El modelo de Casos plantea que todo principio que se viene a la mente, es lo que se va ha hacer. Por lo mismo, es necesario realizar una definición del problema bien aterrizada. Por lo que la definición del sistema debe describir la funcionalidad que se esta esperando que el sistema tenga. El modelo de Casos plantea en principio el tener que establecer las principales transacciones que contendrá el sistema. Siendo una transacción cualquier interacción que el sistema tendrá con los agentes externos a él. Como estamos atacando el problema de seleccionar al mejor líder de un grupo de personas y medir el impacto que éste tiene en un grupo de trabajo definido, las transacciones podrían ser:

- Llenar el test

- Guardar datos.

- Evaluar cuestionario

- Evaluar grupo de trabajo con lider selecionado

Lo importante es plantear las transacciones más significativas, si tomamos en cuenta las transacciones secundarias estas podrían ser:

- Desplegar cuestionario

En el Modelo de Casos cada transacción recibe el nombre de Caso de Uso. Cada Caso de Uso requiere que se que se especifique, no sólo su nombre sino también la secuencia de pasos necesarios para poder llevar a cabo. La secuencia de pasos estará establecida para transacciones que no contemplen situaciones de excepción o de error. Cada interacción con el sistema será realizado por el agente externo a él. A este agente externo se le denomina Actor. Los actores no forman parte del sistema, sino que interactúan con él a través de Casos. Un Actor no necesariamente tiene que ser una persona, sino pueden ser otro sistema que deba interactuar con el sistema que se está desarrollando

• Actor:

Figura 9

• Caso de Uso:

Figura 10

• Relaciones:

o Asociación

Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple.

o Dependencia o Instanciación

Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.

o Generalización

Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso (<<uses>>) o de Herencia (<<extends>>).

2.3.1.1 Diagramas de Casos Generales de Uso:

Ingresar datos del grupo

Seguimiento del desempeño del grupo

Evualador

Figura 11. Caso de uso Evaluador

Realizar test MMPIPosible Lider

El sistema dará la opción de que un posible candidato haga el MMPI para determinar los niveles caracteristicos del lider, ejemplo creatividad =Alto

Figura 12. Caso de uso Lider

Evaluar desempeño del grupoSIMULAgentTEAMwork

SIMULAgentTEAMwork es un sistema que permite evalualr el desempeño de un grupo en base a parametros requeridos por el Test Cleaver

Figura 13. Caso de uso SIMULAgentTEAMwork

Evaluar y enviar datos

evaluar resultados

SIMULAgentTEAMwork

(from Diagramas de Caso de USo)...)

Repositorio de Datos

(from Actors)

cuantificar las respuestas

Figura 14. Caso de uso Realizar evalución

Evaluar al lider

evaluar grupo de trabajo con caracteristicas del lider seleccionado

SIMULAgentTEAMwork

(from Diagramas de Caso de USo). . .)

Evualador

(from Diagramas de Caso de USo). . .)

Generar resultados

Figura 15. Caso de uso Ver Resultados

2.3.1.2 Diagrama completo de Casos de Uso En la Figura 16, se reunen todos los diagramas de caso de uso, en donde se presenta el modelado del sistema que permitira evaluar el impacto del lider en el desempeño del grupo de trabajo. En este diagrama se puede observar como se interactuara el entorno exterior con el sistema así como los procesos que se encuentran inmersos dentro del sistema.

El evaluador solo llenara dos datos del lider solo cuando éste no lo haya realizado antes

Genera las caracteristicas del lider en base a la información generada por el MMPI

Posible Lider Contestar Test MMPI Evaluar desempeño del grupo y el

impacto del lider (from Diagramas de Caso de USo)

datos generales Obtener carateristicas del lider

Capturar datos del grupo

Capturar datos del lider en su caso

SIMULAgentTEAMwor k

(from Diagramas de Caso de USo) ... )

Evualador (from Diagramas de Caso de USo) ... )

Almacena Datos del grupo de trabajo

Almacenar datos

Almacena resultados de la evaluacion

Consultar Resultados

Mostrar Resultados

Repositorio de Datos

(from Actors)

Figura 16 Diagrama de Caso de Uso

A continuación en la descripción de cada Caso se planteará paso a paso en qué consiste la transacción. La descripción debe ser con el fin que pueda asimilarse de manera fácil, indicando pasos concretos que permitan ver el avance de la transacción al paso del tiempo, indicando en qué momento el Actor hace actividad con el sistema y cuando el sistema entrega información al Actor.

Paso Descripción 1 El Posible líder ingresa en una interfaz gráfica sus datos personales y

responde al cuestionario del test, que se le presenta en la pantalla. 2 La información y las respuestas del cuestionario del Posible líder son

guardadas en un Repositorio de Datos. 3 Cuando él aspirante ha llenado el test, la información correspondiente

al aspirante y las respuestas que ha proporcionado del test son enviadas a realizar una cuantificación de la calidad de las respuestas, así como la evaluación de estas. Obteniéndose de este procedimiento la valoración de la personalidad del aspirante.

4 Los resultados obtenidos de esta valoración es enviada al repositorio de Datos y a un grupo de trabajo.

5 Se realizara una integración entre el grupo y el candidato a líder para conformar un grupo de trabajo, donde se realizara una simulación de la interacción del grupo y del líder, con la finalidad de realizar pruebas de desempeño y empatía del grupo de trabajo y del líder propuesto, para poder medir el impacto que este tiene en el grupo de trabajo.

6 Fin de Caso. Los diagramas de Casos son muy simples en su planteamiento. Note que en este caso se describe que el Actor “Posible Líder” interactúa con él sistema proporcionando una entrada de información, pero existen otros actores que están conformados por subsistemas que deben realizar un proceso de evaluación. De tal forma que si se logra identificar los casos más relevantes, se estará en la posición de definir el objeto sistema. Pero también se pueden visualizar a los Casos y los Actores como clases, aunque serán clases muy especializadas en lo que respecta a su sentido semántico, pero clases al fin, lo que les permite establecer propiedades y comportamientos.

2.3.2 Diagramas de Colaboración y Secuencia

: Evualador Capturar datos del grupo de trabajo

Capturar datos de lider

: SIMULAgentTE...

Evuar

ingresa datos

ingresa datos

envia datos

envia datos

Evaluar resultados

Datos procesados

Figura 17 Diagrama de Colaboración para el evaluador

: Evualador

Capturar datos del grupo de trabajo

Capturar datos de lider

: SIMULAgentTEA...

Evuar

1: ingresa datos

4: ingresa datos

2: envia datos

5: envia datos 3: Evaluar resultados

6: Datos procesados

Figura 18 Diagrama de Secuencia para el evaluador

: Posible Lider

Capturas datos

Realizar MMPI :

SIMULAg...

Evaluar MMPI

: Repositorio de DatosDatos generales

Realizar Test

Enviar datos

FalsoEvaluar

Resultado evaluacion

Evaluar 566 items

Verdadero

Almacenar resultados

Almacenar datos

Mostrar resultados

Consultar resultados

Mostrar resultados

Figura 19 Diagrama de Secuencia para el Lider

2.3.3 Diagrama de Clase: El Modelo del Dominio del Problema tiene como objetivo identificar los objetivos de la información y las relaciones que guardan entre sí. Lo anterior se plasma en un Diagrama de Clases. Para cada Caso del Modelo de Casos, se obtiene un Diagrama de Clases, de tal forma que éste contendrá los objetos que necesite para desarrollarse. La forma en la que hemos obtenido el “Diagrama de Cases”, obedece a un esquema sistematizado en el cual hay una serie de pasos para llevar a cabo. Los pasos a seguir son los siguientes: 1.- Identificación de Casos como candidatos a Cases a partir del Caso de Uso. Ya que se parte del Caso, se tomará la descripción textual del Caso de Uso y se identificarán los Sustantivos de cada oración como candidatos a objetos y consecuentemente a clases. También es posible identificar los sustantivos que actúan sobre los verbos.

Paso Descripción 1 El Posible líder ingresa en una interfaz gráfica sus datos personales y

responde al cuestionario del test, que se le presenta en la pantalla. 2 La información y las respuestas del cuestionario del Posible líder son

guardadas en un Repositorio de Datos. 3 Cuando él aspirante ha llenado el test, la información correspondiente

al aspirante y las respuestas que ha proporcionado del test son enviadas a realizar una cuantificación de la calidad de las respuestas, así como la evaluación de estas. Obteniéndose de este procedimiento la valoración de la personalidad del aspirante .

5 Los resultados obtenidos de esta valoración es enviada al repositorio de Datos y a un grupo de trabajo .

4 Se realizara una integración entre el grupo y el candidato a líder para conformar un grupo de trabajo . Se realizara una simulación de la interacción del grupo y del líder (SIMULAgentTEAM), con la finalidad de realizar pruebas de desempeño y empatía del grupo de trabajo y del líder propuesto, para poder medir el impacto que este tiene en el grupo de trabajo.

6 Fin de Caso. De donde se obtiene :

- Posible Líder

- Datos personales

- cuestionario del test = test

- Información

- Respuestas del cuestionario = Respuestas del test

- Repositorio de Datos

- Evaluación

- personalidad del aspirante

- Calificaciones

- Grupo de trabajo

- Pruebas de desempeño.

- SIMULAgentTEAM

2.- Eliminación de casos inadecuados: Algunos de los casos seleccionados no deben convertirse en clases, pues no corresponden a objetos. Cuidando se esté realizando la eliminación deben considerar los siguientes criterios: Registros: todos los objetos seleccionados necesitan almacenar información pues, de otra forma no tendrán estado por lo que no serán objetos.

Más de un atributo: No es una regla, pero cuando un objeto tiene un solo atributo, lo más seguro es que en realidad sea un atributo. Funcionalidad: Los objetos deben tener comportamiento que sea relevante para el problema, no pueden existir objetos sin métodos o bien con comportamientos que dependan de la implantación del sistema, de tal forma que aquellos candidatos que no se les observe comportamiento pueden ser eliminados. Atributos y funcionalidad comunes: Todos los atributos y métodos propuestos para la clase deben aplicar para todos y cada uno de los objetos que se espera se genere a partir de ella. Más de una Instancia: Una clase debe generar más de un objeto.

Candidato Decisión Tomada Posible Líder Se toma como Clase. Datos personales Se toma como atributo (este debe estar compuesto en

varia partes) Información Se elimina por no tener capacidad de almacenar

información. Respuestas del cuestionario Se toma como atributo Repositorio de Datos Se toma como Clase. Cuestionario del Test Se toma como atributo Evaluación Se toma como Clase. personalidad del aspirante Se desecha por estar contenido en la evaluación. Calificaciones Se toma como atributo, un que el nombre puede varia a

evaluación. Grupo de trabajo Se toma como Clase. SIMULAgentTEAM Se toma como Clase. Prueba de desempeño Se toma como método, pero estas constituido por varios

métodos de pruebas 3.- Establecimiento de los atributos básicos de cada clase. Una vez establecidas las Clases iníciales, es posible asignar los atributos básicos a cada una de ellas. Este punto, se establece que la información que contienen las clases será de varios tipos:

- Información de referencia: en este caso solo se designa una clave y una descripción.

- Información sensible al tiempo. Son clases que estarán registrando transacciones de la organización.

Figura 20 Diagrama de clases 4.- Identificación de las asociaciones estáticas entre casos: Una vez establecidas las clases en una forma básica es necesario establecer los vínculos que tendrán entre sí los objetos.

Figura 21 Diagrama de Clases II

2.4 Ontologías: El software que se ha utilizado para la implementación de la ontología es Protege 3.2.1, se utiliza este software por:

­ Es de código libre ­ Es muy sencillo de utilizar para implementar las ontologías ­ La manera de representar la información es muy sistemática. ­ Permite realizar toma de decisiones en base a la información que

contiene. La configuración de protege básicamente se divide en:

­ Clases ­ Atributos ­ Instancias

Como se podrá observar estos datos los podemos tomar directamente de los diagramas UML que se han mostrado con anterioridad.

Para implementar las ontologías dentro del software propuesto se siguieron los siguientes pasos:

1. Se tomaron las clases definidas en UML que definen la comunicación en el entorno en donde la aplicación es utilizada y se tomaron los conceptos más generales.

2. Se tomo una jerarquía de clases misma que son definidas en el modelo

antes mencionado.

3. Se tomaron y describieron los atributos de cada clase. Las ontologías definen reglas que regulan la combinación entre términos y relaciones en un dominio de conocimiento. Uno de los productos generados cuando uno crea una ontología se llama modelo de conceptos, cuyo objetivo es expresar todos los conceptos existentes de un determinado dominio, o sea, cuando ellos se identifican estamos generando también un modelo de conocimiento, en nuestro caso será el dominio del Líder. Para la parte de Administración de conocimiento se han configurado las siguientes ontologicas, mismas que muestran la relación del líder con su grupo de trabajo, sus atributos como dirigente y la forma en que este impacta en el grupo. Por lo anterior se pueden formular conceptos definidos en la ontología y, así, capturar los datos independientemente de donde estén promoviendo mejoras en los procesos de recuperación de la información en cuanto al desempeño del grupo de trabajo e impacto del líder. Una de las ventajas del uso de ontologías es la posibilidad del mantenimiento y explicación de todo lo que ocurre dentro del dominio de conocimiento que se esta modelando, además de permitir la reutilización del conocimiento. La siguiente figura 22 muestra la manera de cómo se ha implementado la ontología en Protege. De esta forma, la codificación del dominio que se esta estudiando se llevará a cabo mediante una descomposición jerárquica, a partir de unas dependencias establecidas entre cada una de las entidades. Esta estructura se muestra en las clases del modelo UML, donde se refleja la descomposición jerárquica narrada anteriormente a partir de los distintos casos de uso que conforman el dominio.

Figura 22 Ontologicas del Líder

Una vez que el modelo del dominio ha sido generado dentro de protege podemos generar el código OWL con la misma herramienta, mismo que es generado en un documento XML. El código OWL generado es el siguiente: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://www.owl-ontologies.com/unnamed.owl#" xml:base="http://www.owl-ontologies.com/unnamed.owl"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="Lider_Democratico"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Surge en el grupo para representar los intereses de un colectivo (líder político).</rdfs:comment> <rdfs:subClassOf> <owl:Class rdf:ID="LIDER"/> </rdfs:subClassOf> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lider Democratico</rdfs:label> </owl:Class> <owl:Class rdf:ID="Grupo_de_Trabajo"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Un grupo de trabajo es un subsistema especializado dentro de una organización. Las personas que lo componen lo diseñan con un funcionamiento fijo para proyectar y realizar el mismo tipo de tareas.</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Grupo de Trabajo</rdfs:label>

</owl:Class> <owl:Class rdf:ID="Coordinador_de_Proyecto"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Persona encargada para para dirigir y organizar una tarea en el grupo de trabajo.</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Coordinador de Proyecto</rdfs:label> <rdfs:subClassOf rdf:resource="#Grupo_de_Trabajo"/> </owl:Class> <owl:Class rdf:ID="Lider_Autocratico"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Emerge en una poderosa organización para dirigir el funcionamiento de la misma.</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lider Autocratico</rdfs:label> <rdfs:subClassOf> <owl:Class rdf:about="#LIDER"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Lider_Intelectual"> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lider Intelectual</rdfs:label> <rdfs:subClassOf> <owl:Class rdf:about="#LIDER"/> </rdfs:subClassOf> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >De carácter reflexivo y con problemas para conseguir un mínimo amplio de Seguidores.</rdfs:comment> </owl:Class> <owl:Class rdf:ID="Técnico__a_"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Persona que domina los conocimientos específicos de una ciencia, de un arte o de una actividad</rdfs:comment> <rdfs:subClassOf rdf:resource="#Grupo_de_Trabajo"/> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Técnico (a)</rdfs:label> </owl:Class> <owl:Class rdf:ID="Especialista_Sr."> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Personaje que hace su trabajo con una gran abilidad y que tiene gran experiencia en ella</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Especialista Sr.</rdfs:label> <rdfs:subClassOf> <owl:Class rdf:ID="Especialista"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="#LIDER"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >El liderazgo puede ser la clave para despertar motivación y el comportamiento positivo dentro de un grupo.</rdfs:comment> </owl:Class> <owl:Class rdf:about="#Especialista"> <rdfs:subClassOf rdf:resource="#Grupo_de_Trabajo"/>

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Personaje que hace su trabajo con abilidad .</rdfs:comment> </owl:Class> <owl:Class rdf:ID="Lider_Ejecutivo"> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lider Ejecutivo</rdfs:label> <rdfs:subClassOf rdf:resource="#Coordinador_de_Proyecto"/> <rdfs:subClassOf rdf:resource="#LIDER"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >El que organiza, planifica, dirige y coordina las tareas del grupo</rdfs:comment> </owl:Class> <owl:Class rdf:ID="Ayudante"> <rdfs:subClassOf rdf:resource="#Grupo_de_Trabajo"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Persona que ayuda en un trabajo a otra</rdfs:comment> </owl:Class> <owl:Class rdf:ID="Lider_de_Proyecto"> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lider de Proyecto</rdfs:label> <rdfs:subClassOf rdf:resource="#Grupo_de_Trabajo"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >El líder de proyecto es pieza fundamental en el desarrollo y éxito del mismo. El líder de proyecto no es su jefe dentro de la jerarquía organizacional; sin embargo, durante el proyecto, es su responsable.</rdfs:comment> </owl:Class> <owl:Class rdf:ID="Especialista_Jr."> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Especialista Jr.</rdfs:label> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Personaje que hace su trabajo con una abilidad y que tiene poca experiencia.</rdfs:comment> <rdfs:subClassOf rdf:resource="#Especialista"/> </owl:Class> <owl:FunctionalProperty rdf:ID="Influencia"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Poder, autoridad o dominio sobre treceros</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Deseo"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"

>Impulso enérgico de la voluntad hacia el conocimiento, hacia la el desarrollo</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="ontologia_Slot_30"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="ontologia_Slot_31"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Desicion"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Firmeza y ausencia de vacilación en la forma de actuar</rdfs:comment> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Inquietudes"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Inclinación o interés de tipo intelectual</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain>

</owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Interes"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Inclinación, curiosidad o afición hacia algo</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Preocupacion"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lo que despierta Inquietud, intranquilidad o temor</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Experiencia"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Enseñanza que se adquiere con el uso, con la práctica o con las propias vivencias</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Trabajo_solo"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Persona que por sus habitos prefiere el trabajo solo</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"

>Trabajo solo</rdfs:label> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Creatividad"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Facultad o capacidad para crear</rdfs:comment> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Introvertido"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >persona, que tiende a concentrarse en su mundo interior y a evitar exteriorizarlo</rdfs:comment> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Reflexivo"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Que habla o actúa después de haber pensado las cosas</rdfs:comment> <rdfs:domain rdf:resource="#Lider_Intelectual"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Trabajo_en_equipo"> <rdfs:domain> <owl:Class>

<owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Preferencias de trabajar en equipo</rdfs:comment> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Trabajo en equipo</rdfs:label> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Extrovertido"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Referido a una persona, que tiene un carácter abierto y sociable, y que tiende a manifestar sus sentimientos</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Inteligencia"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#LIDER"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Facultad de comprender, conocer y razonar</rdfs:comment> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Objetividad"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain rdf:resource="#LIDER"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Imparcialidad en la forma de considerar un asunto, sin seguir criterios o intereses personales y analizando la realidad como algo externo al sujeto</rdfs:comment> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Independiente"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Persona, que actúa con libertad y autonomía, sin dejarse presionar</rdfs:comment>

<rdfs:domain rdf:resource="#LIDER"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Moral"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Conjunto de valores espirituales y normas de conducta de una persona o de una colectividad que se consideran buenos o aceptables:</rdfs:comment> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="ontologia_Slot_5"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="No_conformista"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain rdf:resource="#LIDER"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >No conformista</rdfs:label> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Persona que necesita mejorar la cosas y no se conforma con los primeros resultados positivos</rdfs:comment> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Capacidad_para_conducir_a_un_grupo"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Capacidad para conducir a un grupo</rdfs:label> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Conformidad">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Resignación o tolerancia ante las adversidades</rdfs:comment> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Grupo_de_Trabajo"/> <owl:Class rdf:about="#LIDER"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="ontologia_Slot_29"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> </rdf:RDF> <!-- Created with Protege (with OWL Plugin 3.2.1, Build 365) http://protege.stanford.edu --> Una de las utilidades principales del Protege en este caso, es la de generar automáticamente plantillas de presentación para visualizar la información relativa al modelo del dominio que hemos implementado. Protege permite generar estas plantillas a partir de una página prediseñada el cual contiene el modelo del dominio comentado que se ha programado mediante OWL anteriormente. Una vez que el proceso de generación ha finalizado con éxito, el usuario puede Acceder a las plantillas creadas en la página del LIDER. En la Figura 23 se muestra la página de plantillas disponibles que el Protege ha generado, donde para el trabajo que se ha elaborado aparecen todas las plantillas generadas (una por clase), junto con el acceso a los objetos instanciados para estas plantillas. Este acceso se lleva a cabo mediante la URL del Link que Protege genera de forma que cuando el usuario pulsa en el objeto elegido, el motor de busqueda del navegador que se utiliza muestra el documentos web del objeto seleccionado a partir de la plantilla. Esta plantilla se corresponde con el nombre de la clase a la que pertenece el propio objeto, un ejemplo podría ser la plantilla para Líder. A partir de entonces, el usuario interactúa con nuestra ontologia través del portal, controlando directamente el navegador que utilice.

La configuración del código anterior nos genera la siguiente página de navegación Web.

Figura 23 Portal de Ontologias del Líder

3. Implementación La implementación del proyecto se ha realizando en base a los Diagramas UML y Ontologías que se han determinado. Para ello se ha utilizad0 Java JDK1.5[12] como lenguaje de programación con el entorno desarrollo GEL – Expert [13 ]. 3.1 Librerias para Administración del Conocimiento Para la parte de administración del conocimiento se hará uso de las siguientes librerías: • JADE ver 2. (http://jade.tilab.com/) • JESS ver. 6.1 o superior. (http://herzberg.ca.sandia.gov/jess/) • FuzzyJ ( http://www.iit.nrc.ca/IR_public/fuzzy/fuzzyJToolkit2.html) 3.1.1 JADE JADE( Java Agent DEvelopment Framework) es un software desarrollado completamente en lenguaje Java. Simplifica la puesta en práctica de los sistemas multi-agente a través de un middle-ware que demande conformarse con las especificaciones de FIPA (Foundation for Intelligent Physical Agents) y a través de un sistema de herramientas que apoya en la fase el eliminación de errores y de despliegue. La plataforma de ejecución del agente se puede distribuir a través de las máquinas (que no incluso necesitan compartir el mismo OS) y la configuración puede ser controlada por un GUI remoto. La configuración se puede incluso cambiar en el tiempo de ejecución moviendo agentes a partir de una máquina otra, a medida que es requerido. 3.1.2 JESS Jess es un analizador de reglas desarrollador para la plataforma de Java. Para utilizarlo se especifican reglas lógicas usando uno de dos formatos: El lenguaje de reglas para JESS(preferido) o XML. Se proporcionar algunos datos, los cuales las reglas comienzan a evaluar y al mismo tiempo a inferir información o datos nuevos. Las reglas son desarrolladas en texto plano por cualquier editor de textos y son almacenados en un archivo *.clp. 3.1.3 FuzzyJ

FuzzyJ es un razonador y al mismo tiempo manipulador de Lógica Fuzzy, este es un API desarrollado en Java para ser implementado en aplicaciones que se hayan e laborado en el mismo lenguaje. Cabe mencionar que este paquete trabaja en conjunto de JESS, mismo que se ha mencionado con anterioridad.

3.1 Programación del software El software que se ha implementado se ha desarrollado de forma modular, por lo cual su integración esta echa mediante un conjunto de clases que se encuentran en el proyecto “SIMULAgent TEAMwork”, cada una como archivo *.java. A continuación se muestra la estructura del directorio del proyecto en donde se encuentran todos los archivos que conforman la aplicación.

Figura 24 Archivos del Sistema Cada archivo se encuentra debidamente documentado, en base a las normas de programación exclusivas para el lenguaje JAVA. Por lo cual se pueden consultar los códigos fuentes si se desea. Cabe aclarar que por motivos de espacio no se incluye el contenido de cada fichero.

El archivo que se encarga de hacer el llamada de toda la aplicación es Interfaz.java, su contenido es el siguiente: import javax.swing.UIManager; import java.awt.*; import jade.core.Runtime; import jade.core.Profile; import jade.core.ProfileImpl; import jade.wrapper.*; import jade.wrapper.AgentContainer; import jade.core.Agent; import jade.core.AID; public class Interfaz extends Agent{ boolean packFrame = false; // public static PlatformController Container; /**Construct the application*/ public Interfaz() { System.out.println(""); System.out.println(""); System.out.println("*********************************************"); System.out.println("This is Multi-Agent System to Simulate Human"); System.out.println("Behaviour within a Team Work."); System.out.println("version 2.0.0"); System.out.println(""); System.out.println("@author: Juan C. Martinez Miranda."); System.out.println(" [email protected]"); System.out.println("Institution: Universitat Rovira i Virgili."); System.out.println("WINTER 2003"); System.out.println("*********************************************"); System.out.println(""); System.out.println(""); Principal frame = new Principal(); //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame.pack(); } else { frame.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; }

frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); } /**Main method*/ public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); } new Interfaz(); } } El archivo test. java, contiene el modulo que permite realizar la evaluación de la personalidad del lider, su contenido es el siguiente: /*********************************************************************** test.java Multi-Agent System to Simulate the Human Behaviour within a Team Work version 1.0 This is the test that to get the personality of leader team work. @author: Gerardo Florez Alvarez y Jair Estrada Rosalio. [email protected] Institution: CINVESTAV - IPN august 2007. ************************************************************************/ import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.sql.*; public class test extends JFrame { JLabel Pregunta = new JLabel(""); JTextField NPregunta = new JTextField("PRESIONE UN BOTON PARA COMENZAR"); JTextArea resultados = new JTextArea(); JScrollPane Scrl_Principal = new JScrollPane(); JButton siguiente =new JButton("VERDADERO"); JButton anterior =new JButton("FALSO"); JButton terminar = new JButton("TERMINAR"); JButton cerrar = new JButton("CLOSE"); JPanel p1,p2; Driver driver; Principal princ = new Principal(); String ask=""; String no=""; String resultado[][]=new String[600][1]; //Variables que permiten obtener el record y la evaluacion de la personalidad int Q=0; int F=0;

int K=0; int HS=0; int D=0; int HY=0; int PD=0; int MFM=0; int MFF=0; int PA=0; int PT=0; int SC=0; int MA=0; int SI=0; int L=0; GridBagLayout reticula; GridBagConstraints restricciones; String url="jdbc:odbc:datos"; //String login="postgres"; //String pwd="jair"; String login=""; String pwd=""; Connection con; Statement st; ResultSet rs; String sql; void addComponent(Component comp, GridBagLayout bag, GridBagConstraints bagcons, int linea, int columna, int ancho, int alto){ bagcons.gridx=columna; bagcons.gridy=linea; bagcons.gridwidth=ancho; bagcons.gridheight=alto; bag.setConstraints(comp, bagcons); add(comp); } public test() { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(Exception ex){ System.out.println("Error ejecutando forName..."); } try{ con=DriverManager.getConnection(url, login, pwd); st=con.createStatement(); //String sql; sql="select * from MMPI;"; rs = st.executeQuery(sql); rs.next(); ask =rs.getString(1); no =rs.getString(2); Pregunta.setText("Pregunta No:"+no); NPregunta.setText(" "+ask);

}catch (SQLException e){ } reticula = new GridBagLayout(); setLayout(reticula); resultados.setEditable(false); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=1; restricciones.fill=GridBagConstraints.CENTER; addComponent(Pregunta,reticula,restricciones,0,0,1,1); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=1; restricciones.fill=GridBagConstraints.BOTH; addComponent(NPregunta,reticula,restricciones,1,0,3,1); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=1; addComponent(siguiente,reticula,restricciones,2,0,1,1); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=1; addComponent(anterior,reticula,restricciones,2,1,1,1); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=1; addComponent(terminar,reticula,restricciones,2,2,1,1); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=15; restricciones.fill=GridBagConstraints.BOTH; Scrl_Principal.setBounds(new Rectangle(10, 10, 364, 327)); Scrl_Principal.getViewport().add(resultados, null); addComponent(Scrl_Principal,reticula,restricciones,3,0,3,1); restricciones = new GridBagConstraints(); restricciones.weightx=1; restricciones.weighty=1; restricciones.fill=GridBagConstraints.BOTH; addComponent(cerrar,reticula,restricciones,4,1,1,1); /*********************** PERTENECE VERDADERO ********************/ siguiente.addActionListener( new ActionListener() { // clase interna anónima // terminar la aplicación cuando el usuario haga clic en elementoSalir public void actionPerformed( ActionEvent evento ) {

try{ if(rs.next()){ ask =rs.getString(1); no =rs.getString(2); // terminar.setEnabled(false); resultado[Integer.parseInt(no)-1][0]="TRUE"; System.out.println("resultado:"+resultado[Integer.parseInt(no)-1][0]); } else{ terminar.setEnabled(true); siguiente.setEnabled(false); anterior.setEnabled(false); } }catch(SQLException e) { System.out.println("exception:"+e); } System.out.println(no); System.out.println(ask); NPregunta.setText(" "+ask); Pregunta.setText("\t\tPregunta No: "+no); } } // fin de la clase interna anónima ); // fin de la llamada a addActionListener /*********************** PERTENECE FALSO ********************/ anterior.addActionListener( new ActionListener() { // clase interna anónima // terminar la aplicación cuando el usuario haga clic en elementoSalir public void actionPerformed( ActionEvent evento ) { try{ if(rs.next()){ ask =rs.getString(1); no =rs.getString(2); //terminar.setEnabled(false); resultado[Integer.parseInt(no)-1][0]="FALSE"; System.out.println("resultado:"+resultado[Integer.parseInt(no)-1][0]); } else{ anterior.setEnabled(false); siguiente.setEnabled(false); terminar.setEnabled(true); } }catch(SQLException e) { System.out.println("exception:"+e); } System.out.println(no); System.out.println(ask); NPregunta.setText(" "+ask); Pregunta.setText("\t\tPregunta No: "+no); }

} // fin de la clase interna anónima ); // fin de la llamada a addActionListener /******************* CALCULAR RESULTADOS ***********************/ terminar.setEnabled(false); terminar.addActionListener( new ActionListener() { // clase interna anónima // terminar la aplicación cuando el usuario haga clic en elementoSalir public void actionPerformed( ActionEvent evento ) { /********************Suma de valores para F********************/ try{ sql="select * from KEYF;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE F"); while(rs.next()){ ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ F=F+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para k********************/ try{ sql="select * from KEYF;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE k"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ K=K+1; } }

}catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para HS********************/ try{ sql="select * from KEYHS;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE HS"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ HS=HS+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para D********************/ try{ sql="select * from KEYD;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE D"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ D=D+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para HY********************/ try{ sql="select * from KEYHY;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE HY"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){

HY=HY+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para PD********************/ try{ sql="select * from KEYPD;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE PD"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ PD=PD+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para MFM********************/ try{ sql="select * from KEYMFM;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE MFM"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); //System.out.println(ask); //System.out.println(no); if( no.equalsIgnoreCase(ask)){ MFM=MFM+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para MFF********************/ try{ sql="select * from KEYMFF;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE MFF"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0];

no =rs.getString(2); //System.out.println(ask); //System.out.println(no); if( no.equalsIgnoreCase(ask)){ MFF=MFF+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para PA********************/ try{ sql="select * from KEYPA;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE PA"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ PA=PA+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para PT********************/ try{ sql="select * from KEYPT;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE PT"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ PT=PT+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para SC********************/ try{ sql="select * from KEYSC;"; rs = st.executeQuery(sql);

System.out.println("EVALUACION DE SC"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ SC=SC+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para MA*******************/ try{ sql="select * from KEYMA;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE MA"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ MA=MA+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /********************Suma de valores para SI********************/ try{ sql="select * from KEYSI;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE SI"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ SI=SI+1; } } }catch(SQLException e){ System.out.println("exception:"+e); }

/********************Suma de valores para L********************/ try{ sql="select * from KEYL;"; rs = st.executeQuery(sql); System.out.println("EVALUACION DE L"); while(rs.next()){ //System.out.println(rs.getString(2)); ask= resultado[Integer.parseInt(rs.getString(1))][0]; no =rs.getString(2); // System.out.println(ask); // System.out.println(no); if( no.equalsIgnoreCase(ask)){ L=L+1; } } }catch(SQLException e){ System.out.println("exception:"+e); } /************fin de calculos*******************/ //CalculaResultadosTest(); K= (K*100)/30; HS= (HS*100)/33; PD = (PD*100)/50; PT = (PT*100)/48; MA = (MA*100)/46; D = (D*100)/60; HY = (HY*100)/60; MFM = (MFM*100)/60; PA = (PA*100)/40; PT = (PT*100)/48; L = (L*100)/15; String Intelli=""; String Object=""; String Unconfor=""; String Desici=""; String Indepe=""; String Introverted=""; String Work=""; String Creativity=""; // String Experience=""; String Drive=""; String Influence=""; String Stainess=""; String Compliance=""; /********************************************************* Implementacion de lógica Fuzzy para determinar los grados de Personalidad.

*********************************************************/ if (((K+PT)/2) >= 66) Influence = "High"; else if (((K+PT)/2) <= 33) Influence = "Low"; else Influence = "Medium"; if (L >= 66) Stainess = "High"; else if (L <= 33) Stainess = "Low"; else Stainess = "Medium"; if (D >= 66) Introverted = "High"; else if (D <= 33) Introverted = "Low"; else Introverted = "Medium"; if (PT >= 66) Drive = "High"; else if (PT<= 33) Drive = "Low"; else Drive = "Medium"; if (HY >= 66) Work = "High"; else if (HY <= 33) Work = "Low"; else Work = "Medium"; if (HY >= 66) Creativity = "High"; else if (HY <= 33) Creativity = "Low"; else Creativity = "Medium"; if (PA >= 66) Compliance = "High"; else if (PA <= 33) Compliance = "Low"; else

Compliance = "Medium"; if (MFM >= 66) Work = "High"; else if (MFM <= 33) Work = "Low"; else Work = "Medium"; if (K >= 66) Intelli = "High"; else if (K <= 33) Intelli = "Low"; else Intelli = "Medium"; if (HS >= 66) Object = "High"; else if (HS <= 33) Object = "Low"; else Object = "Medium"; if (PD >= 66) Unconfor = "High"; else if (PD <= 33) Unconfor = "Low"; else Unconfor = "Medium"; if (PT >= 66) Desici = "High"; else if (PT <= 33) Desici = "Low"; else Desici = "Medium"; if (MA >= 66) Indepe = "High"; else if (MA <= 33) Indepe = "Low"; else Indepe = "Medium"; resultados.setText(resultados.getText() + " Intelligence:"+Intelli); resultados.setText(resultados.getText() + "\t Objectivity:"+Object); resultados.setText(resultados.getText() + "\t Desicion:"+Desici+"\n");

resultados.setText(resultados.getText() + " Unconformist:"+Unconfor); resultados.setText(resultados.getText() + "\t Independence:"+Indepe); resultados.setText(resultados.getText() + "\t Introverted:"+Introverted+"\n"); resultados.setText(resultados.getText() + " Work Team:"+Work); resultados.setText(resultados.getText() + "\t Creativity:"+Creativity); //resultados.setText(resultados.getText() + " Experience:"+Experience+"\n"); resultados.setText(resultados.getText() + "\t Influence:"+Influence+"\n"); resultados.setText(resultados.getText() + " Drive:"+Drive+" "); resultados.setText(resultados.getText() + "\t Influence:"+Stainess+" "); resultados.setText(resultados.getText() + "\t Stainess:"+Compliance+"\n"); cerrar.setEnabled(true); } } // fin de la clase interna anónima ); // fin de la llamada a addActionListener addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { try{ st.close(); con.close(); } catch(SQLException ex){System.out.println("ERROR AL SALIR:"+ex); } // dispose(); //System.exit(0); } }); cerrar.setEnabled(false); cerrar.addActionListener(

new ActionListener() { // clase interna anónima // terminar la aplicación cuando el usuario haga clic en elementoSalir public void actionPerformed( ActionEvent evento ) { dispose(); } }); } public static void main(String[] args) { test frame = new test(); frame.setBounds(50,50,700, 300); frame.setTitle("TEST"); frame.setVisible(true); } } 3.2 Desarrollo de los ficheros *. clp Los ficheros *.clp contienen las reglas que permitirán hacer la simulación para evaluar el desempeño del líder en conjunto del equipo de trabajo. La aplicación esta compuesta por tres ficheros BehaviourRules2.clp, TasksRules.clp, TasksRulesScript.clp, UpdtEmRules.clp los cuales son muy amplios debido a que en ellos se prevén todas las reglas de los casos que se podrían llegar a dar en la interacción con un grupo de trabajo. BehaviourRules.clp En este archivo están las reglas que modifican las emociones de un agente a partir de los parámetros de la tarea asignada y de los parámetros internos propios. TasksRules.clp En este archivo están las reglas que generan el desempeño sobre cada uno de los seis parámetros con que se evalúa al agente a partir del estado emocional y de su personalidad. UpdtEmRules.clp En este archivo están las reglas que actualizan las emociones de un agente a partir del resultado obtenido en cada uno de los seis parámetros con que se evalúa su desempeño. El archivo con el que ilustraremos el contenido de nuestro trabajo es BehaviourRules2.clp, debido a que este contiene las características del comportamiento del Agente o Agentes, el contenido de los demás archivos es similar.

Continuación mencionaremos parte de su estructura: ;BehaviourRules2.clp ;Multi-Agent System to Simulate the Human Behaviour within a Team Work ;version 2.0 ; ;This is the file with Fuzzy Rules to change the Internal State of the Agent ;according to the Assigned Tasks Parameters, Kind of Agent, and Personality of ;of the agent. ; ;@author: Juan C. Martinez Miranda. ; [email protected] ;Institution: Universitat Rovira i Virgili. ;Winter 2003. ;Modify by Gerardo Flores Alvarez and Jair Estrada Rosalio ;Institution: CINVESTAV-IPN ;August 2007 ************************************************************************/ ;********************* Definicion de variables*****************************************/ (defglobal ?*FIntelligence* = (new nrc.fuzzy.FuzzyVariable "intelligence" 0.0 100.0)) (defglobal ?*FObjetivity* = (new nrc.fuzzy.FuzzyVariable "objetivity" 0.0 100.0)) (defglobal ?*FUnconformist* = (new nrc.fuzzy.FuzzyVariable "unconformist" 0.0 100.0)) (defglobal ?*FDesicion* = (new nrc.fuzzy.FuzzyVariable "desicion" 0.0 100.0)) (defglobal ?*FIndependence* = (new nrc.fuzzy.FuzzyVariable "independence" 0.0 100.0)) (?*FIntelligence* addTerm "Low" (new ZFuzzySet 0.0 40.0)) (?*FIntelligence* addTerm "Medium" (new PIFuzzySet 50.0 30.0)) (?*FIntelligence* addTerm "High" (new SFuzzySet 60.0 100.0)) (?*FObjetivity* addTerm "Low" (new ZFuzzySet 0.0 40.0)) (?*FObjetivity* addTerm "Medium" (new PIFuzzySet 50.0 30.0)) (?*FObjetivity* addTerm "High" (new SFuzzySet 60.0 100.0)) (?*FUnconformist* addTerm "Low" (new ZFuzzySet 0.0 40.0)) (?*FUnconformist* addTerm "Medium" (new PIFuzzySet 50.0 30.0)) (?*FUnconformist* addTerm "High" (new SFuzzySet 60.0 100.0)) (?*FDesicion* addTerm "Low" (new ZFuzzySet 0.0 40.0)) (?*FDesicion* addTerm "Medium" (new PIFuzzySet 50.0 30.0)) (?*FDesicion* addTerm "High" (new SFuzzySet 60.0 100.0)) (?*FIndependence* addTerm "Low" (new ZFuzzySet 0.0 40.0)) (?*FIndependence* addTerm "Medium" (new PIFuzzySet 50.0 30.0)) (?*FIndependence* addTerm "High" (new SFuzzySet 60.0 100.0)) (store INTELLIGENCEFUZZYVARIABLE ?*FIntelligence*) (store OBJECTIVITYFUZZYVARIABLE ?*FObjetivity*) (store UNCONFORMISTFUZZYVARIABLE ?*FUnconformist*) (store DESICIONFUZZYVARIABLE ?*FDesicion*) (store INDEPENDENCEFUZZYVARIABLE ?*FIndependence*) ;*******************************************************************************/

;***************Funciones y reglas de evaluacion****************/ (defrule high_advance_duration_high_intelligence (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (intelligence ?dr&:(fuzzy-match ?dr "High")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Equal")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH HIGH INTELLIGENCE; ") )

) (defrule high_advance_duration_medium_intelligence (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (intelligence ?dr&:(fuzzy-match ?dr "Medium")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Down")) (change_stress (new FuzzyValue ?*ChangeStress* "Down")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH MEDIUM INTELLIGENCE; ") ) ) (defrule high_advance_duration_low_intelligence (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (intelligence ?dr&:(fuzzy-match ?dr "Low")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "HighUp")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH LOW INTELLIGENCE; ") ) ) ;2***/ (defrule high_advance_duration_high_objetivity (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (objetivity ?dr&:(fuzzy-match ?dr "High")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Equal")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH HIGH OBJECTIVITY; ") ) ) (defrule high_advance_duration_medium_objetivity (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (objetivity ?dr&:(fuzzy-match ?dr "Medium")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Down")) (change_stress (new FuzzyValue ?*ChangeStress* "Down")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH MEDIUM OBJECTIVITY; ") ) ) (defrule high_advance_duration_low_objetivity (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (objetivity ?dr&:(fuzzy-match ?dr "Low")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up"))

(change_interest (new FuzzyValue ?*ChangeInterest* "HighUp")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH LOW OBJECTIVITY; ") ) ) ;3***/ (defrule high_advance_duration_high_unconformist (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (unconformist ?dr&:(fuzzy-match ?dr "High")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Equal")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH HIGH UNCONFORMIST; ") ) ) (defrule high_advance_duration_medium_unconformist (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (unconformist ?dr&:(fuzzy-match ?dr "Medium")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Down")) (change_stress (new FuzzyValue ?*ChangeStress* "Down")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH MEDIUM UNCONFORMIST; ") ) ) (defrule high_advance_duration_low_unconformist (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (unconformist ?dr&:(fuzzy-match ?dr "Low")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "HighUp")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH LOW UNCONFORMIST; ") ) ) ;4***/ (defrule high_advance_duration_high_desicion (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (desicion ?dr&:(fuzzy-match ?dr "High")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Equal")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH HIGH DESICION; ") )

) (defrule high_advance_duration_medium_desicion (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (desicion ?dr&:(fuzzy-match ?dr "Medium")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Down")) (change_stress (new FuzzyValue ?*ChangeStress* "Down")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH MEDIUM DESICION; ") ) ) (defrule high_advance_duration_low_desicion (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (desicion ?dr&:(fuzzy-match ?dr "Low")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "HighUp")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH LOW DESICION; ") ) ) ;5***/ (defrule high_advance_duration_high_independence (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (independence ?dr&:(fuzzy-match ?dr "High")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Equal")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH HIGH INDEPENDENCE; ") ) ) (defrule high_advance_duration_medium_independence (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (independence ?dr&:(fuzzy-match ?dr "Medium")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up")) (change_interest (new FuzzyValue ?*ChangeInterest* "Up")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Down")) (change_stress (new FuzzyValue ?*ChangeStress* "Down")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH MEDIUM INDEPENDENCE; ") ) ) (defrule high_advance_duration_low_independence (and (advance ?a&:(fuzzy-match ?a "HighAdvance")) (independence ?dr&:(fuzzy-match ?dr "Low")) ) => (assert (change_desire (new FuzzyValue ?*ChangeDesire* "Up"))

(change_interest (new FuzzyValue ?*ChangeInterest* "HighUp")) (change_disgust (new FuzzyValue ?*ChangeDisgust* "Equal")) (change_anxiety (new FuzzyValue ?*ChangeAnxiety* "Equal")) (change_stress (new FuzzyValue ?*ChangeStress* "Equal")) ) (bind ?*rulesThatFired* (str-cat ?*rulesThatFired* " HIGH ADVANCE WITH LOW INDEPENDENCE; ") ) ) ;*****************************************************************************/

En las líneas anteriores se presentaron las definiciones de las variables que se van a utilizar en la evaluación que se realizará en base a las reglas programadas. Solo se presenta una de las 100 reglas que han sido programadas para interactuar con la lógica fuzzy y los agentes generados.

3.3 Interfaz de Usuario La siguiente figura muestra GUI que se utiliza para interactuar con el usuario:

Figura 25 Interfaz de usuario de AgentTEAMwork Desde esta ventana, el usuario podrá configurar los valores que éste desee tanto para el líder de proyecto como para grupo de trabajo. Esta pantalla permite también realizar el test si es que se desea, este último es optativo.

4. Pruebas y Resultados A continuación se menciona como utilizar el software, es importante mencionar que lo que a continuación se explica se ha tomado del trabajo elaborado por Juan C. Martínez Miranda, sin embargo lo que sigue continuación ha sido enriquecido con nuestro trabajo, por lo cual existen modificaciones importantes que van desde el mejorar la interfaz grafica hasta el anexo del modulo de evaluación de desempeño del líder.

La fase de prueba se incluye en la sección de configuración del equipo de trabajo, debido que en ese punto se pretende mostrar con un caso real el uso del programa.

Por ello se podrá observar las tareas y agentes participantes así como las gráficos que nos presenta como resultado de las simulaciones y los porcentajes de participación en cada tarea tanto de manera individual como grupal.

EJECUCION DEL SISTEMA

Para ejecutar el programa debe iniciarse una ventana de MS-DOS y moverse al directorio en el cual esta el programa instalado (C:\Teak).

Dentro de este directorio debe ejecutarse el archivo por lotes startproject.bat

Este archivo contiene la instrucción real de cómo se ejecuta el programa:

java jade.Boot Interfaz:Interfaz

La instrucción jade.Boot ejecuta la plataforma de agentes de JADE. El parámetro Interfaz:Interfaz significa que se crea un agente de nombre Interfaz y la clase java que implementa este agente se llama Interfaz.class. Este agente interfaz es el que crea los agentes de acuerdo a los parámetros establecidos por el usuario.

Al ejecutar este archivo, aparece la ventana principal del programa (Fig. 1).

Fig. 1 Ventana Principal.

4.1CONFIGURACION DE UN EQUIPO DE TRABAJO 4.1 .1Creación de un Agente

El primer paso para crear un agente es seleccionar el rol que tendrá dentro del equipo eligiéndolo de la lista desplegable etiquetada como Select type of person.

Posteriormente se pone un nombre al agente en el cuadro de texto etiquetado con Name.

No deben existir dos o más agentes con el mismo nombre.

Una vez elegidos el rol y el nombre, se deben configurar los valores de los parámetros internos del agente.

Los primeros valores son los referentes a las características sociales establecidos por la etiqueta Social Status: introvertido/extrovertido, prefiere trabajar en equipo/prefiere trabajar solo.

En la segunda etiqueta, Cognition, se debe configurar la intensidad de los dos valores cognitivos: Creativity y Experience.

En la tercer etiqueta (Emotions) no se cambian los valores, todas las emociones tienen un valor medio por default.

En la cuarta (Personality) se establece la intensidad para cada uno de los cuatro valores CLEAVER: Drive, Influence, Steadiness, Compliance . El valor más alto de los cuatro da como resultado el tipo de personalidad del agente (Fig. 2).

En la quinta (Leader) se establece la intensidad para cada uno de los valores que representan la personalidad del lider deacuerdo a cualquiera de los siguientes parámetros:

1.-Criterio del Evaluador

2.-Resultado del Test MMPI (Fig 2 a)

Los valores para esta etiqueta, así como el menú Test, solo estarán activos cuando la persona seleccionada sea el Líder.

a) Resultado del Test MMPI

Fig. 2 Configuración del Tipo de Personalidad.

Una vez establecidos los valores del agente, para crearlo hay que hacer clic en el botón Create Agent (Fig. 2). Al crear el agente, el rol y el nombre deben aparecer en la lista de la parte derecha etiquetada: Created Agents. Este proceso debe repetirse tantas veces como integrantes en un equipo se deseen.

4.1.2 Consultar/Modificar los Parámetros de un Agente

Para consultar cualquier valor interno de un agente ya creado, debe seleccionarse el nombre del agente de la lista etiquetada Created Agents. Una vez seleccionado, debe hacerse clic con el botón derecho del ratón sobre este agente y aparecerá un menú desplegable con dos opciones. Debe elegirse la opción Edit Agent.

Obsérvese cómo los parámetros del agente seleccionado se muestran en cada una de las etiquetas correspondientes. Los únicos dos parámetros que no pueden modificarse en un agente, son el rol y el nombre (Fig. 3). Nótese que estos dos parámetros aparecen deshabilitados. Para cambiar el nombre o el rol del agente, primero debe eliminarse el agente (sección 4.2) y volver a crearse con los parámetros nuevos.

El parámetro con valor más alto da el tipo de personalidad.

Botón para crear el agente.

El menú Test permite realizar el MMPI para obtener la personalidad de líder

Fig. 3 Consultar Valores de un Agente.

Para ver un resumen de los valores internos del agente, debe seleccionarse el botón Show. Al oprimir este botón, la información sobre el agente aparecerá en el recuadro inferior (Fig. 4).

El botón Clear limpia todos los valores del agente, es decir, establece los valores por default a todos los parámetros y se tendrán que volver a configurar cada uno de ellos como se explica en la sección 4.1.

En este punto se pueden cambiar los valores de todos los parámetros del agente (Social Status, Cognition y Personality). Una vez hechos los cambios deseados, para guardarlos debe oprimirse el botón Modify Agent (Fig. 4).

Menú desplegable para consultar/modificar o eliminar un agente.

Fig. 4 Modificar Valores de un Agente.

4.2 Eliminar un Agente

Para eliminar un agente ya creado, debe seleccionarse el nombre del agente de la lista etiquetada Created Agents. Una vez seleccionado, debe hacerse clic con el botón derecho del ratón sobre este agente y aparecerá un menú desplegable con dos opciones (Fig 3). Debe elegirse la opción Remove Agent. El agente elegido será eliminado del equipo de trabajo.

4.3 Guardar un Equipo

Una vez creados los agentes que formarán el equipo, se puede guardar en un archivo para su posterior utilización. En el menú File , debe seleccionarse la opción Save Team. Se pedirá que se introduzca un nombre para el archivo. El nombre del archivo deberá tener la extensión .tem.

El sistema no asigna automáticamente la extensión, el usuario debe ponerla al guardar el archivo. Si no se pone esta extensión al archivo en el momento de guardarlo, no se podrá abrir posteriormente.

Botón para mostrar los valores internos del agente.

Botón para realizar las modificaciones sobre los valores internos del agente.

Botón para “limpiar” todos los valores internos del agente.

Area de texto en la cual se muestran los valores internos del agente.

4.4 Abrir un Archivo de Equipo

Para abrir un archivo que contenga un equipo de agentes, debe seleccionarse la opción Open Team del menú File . Aparecerán únicamente aquellos archivos que tengan la extensión .tem. Los agentes del archivo elegido aparecerán en la pantalla principal del sistema y podrán modificarse los parámetros de cualquier agente de este equipo si se desea (sección 4.1.2). Para poder abrir otro archivo de equipo, primeramente se deberá descargar de memoria el equipo abierto actualmente (Sección 4.5).

4.5 Cerrar un Equipo

Para cerrar un archivo de equipo abierto, debe seleccionarse la opción Close Team del menú File. El equipo mostrado en pantalla se descargará de memoria y podrá configurarse uno nuevo o abrir uno existente. Si el equipo que se cierra NO ha sido previamente guardado en un archivo, toda la información se perderá.

Fig. 5 Menú File.

Abre un archivo de equipo.

Descarga de memoria el equipo mostrado en la ventana.

Guarda en un archivo el equipo mostrado en la ventana.

Termina la aplicación.

El archivo que contiene al equipo configurado con los datos del IMP es: grupoprueba4.tem

4.6 CONFIGURACION DE UN PROYECTO Y PRUEBAS

Apartir de este punto se menciona como se configura un proyecto para su simulación, es importante mencionar que el ejemplo que se esta usando es un caso real que se aplico en el IMP (Instituto Mexicano del Petroleo).

Para crear un proyecto, debe seleccionarse la opción Create Tasks del Menú Tasks (Fig. 6).

Fig. 6 Menú Tasks.

Al elegir esta opción, aparecerá la ventana en la cual se crearán las tareas del proyecto de manera gráfica (Fig. 7).

Menú para crear un proyecto.

Menú para asignar las tareas de un proyecto al equipo mostrado en la pantalla.

4.6.1 Crear una Tarea

La creación de las tareas y sus relaciones de precedencia se hacen de manera gráfica. Para crear una tarea debe seleccionarse el botón que contiene un cuadrado, el cual representa una tarea. Al elegir este botón, el cursor del ratón toma forma de cruz indicando que se debe elegir la posición donde se dibujará la tarea que se está creando (dentro del área en blanco). Al hacer nuevamente clic con el ratón, se dibujará un rectángulo, el cual representa gráficamente la tarea, y se habilitarán las opciones de la parte derecha en la cual se establecen los valores para los parámetros de la tarea (Fig. 7).

Fig. 7 Ventana de Configuración de Proyectos.

De momento la validación de errores en la entrada de valores de los parámetros de la tarea no está implementada. Esto quiere decir que TODOS los parámetros de la tarea deben tener un valor. El valor para el campo Deadline debe tener el formato dd/mm/aaaa.

Si se desea cancelar la operación de crear la tarea se debe elegir el botón Cancel, la representación gráfica de la tarea desaparecerá.

Una vez que se han llenado los parámetros de la tarea se debe oprimir el botón Ok para crear la tarea (Fig. 8).

Botón para crear una tarea.

Botón para crear relaciones de precedencia.

Botón para borrar TODO el proyecto.

Parámetros de las tareas.

Fig. 8 Crear Tareas.

4.6.2 Crear Relaciones de Precedencia

Para indicar que una tarea es precedente a otra se debe dar clic en el botón de la parte superior izquierda que tiene el dibujo de una línea. Las líneas entre las tareas representan las precedencias entre ellas (Fig. 8). Para construir la precedencia se debe hacer un clic en cualquier parte dentro del rectángulo que representa la tarea precedente. Después hacer otro clic dentro del rectángulo que representa la tarea posterior. Se dibujará la línea que representa la precedencia entre ellas.

El botón de la parte superior izquierda que contiene el dibujo de un borrador es para eliminar TODO el proyecto. Si la configuración hecha no se ha guardado en un archivo, toda la información se perderá.

4.6.3 Consultar/Modificar los Valores de una Tarea

Para consultar los valores de una tarea se debe hacer un doble clic dentro del área del rectángulo de que representa la tarea. Aparecerán los valores de la tarea. Si no se desea modificar la tarea, se debe oprimir el botón Cancel.

Representación gráfica de una tarea.

Representación gráfica de una relación de precedencia (La Tarea A es precedente a la Tarea

Botón para cancelar la creación de una tarea.

Botón para crear una tarea.

Si se desea modificar cualquier valor de la tarea, una vez que se hayan realizado los cambios deseados se deberá oprimir el botón Modify.

4.6.4 Guardar un Proyecto

Para guardar un proyecto en un archivo debe elegirse la opción Save Project del menú File de la ventana de configuración de proyectos (Fig. 9). Se pedirá que se introduzca un nombre para el archivo. De manera similar que cuando se guarda un equipo, el nombre del archivo debe tener la extensión .tsk.

El sistema no asigna automáticamente la extensión, el usuario debe ponerla al guardar el archivo. Si no se pone esta extensión al archivo en el momento de guardarlo, no se podrá abrir posteriormente.

Fig. 9 Menú File de la Ventana para Configurar Proyectos.

4.6.5 Abrir un Proyecto Existente

Para abrir un archivo que contenga la representación de un proyecto, se debe elegir la opción Open project file del menú File (Fig. 9).

Debe elegirse el nombre del archivo y la representación gráfica del proyecto aparecerá en la ventana. Las tareas del proyecto cargado podrán consultarse y/o modificarse siguiendo los pasos descritos en la sección 3.3.

Menú para salir del módulo de configuración de proyectos.

Menú para abrir un proyecto ya creado.

Menú para guardar el proyecto en un archivo.

El archivo que contiene la representación del proyecto del IMP utilizado como caso de estudio es: F23962.tsk

Actualmente el sistema NO cuenta con la funcionalidad de borrar una tarea y/o una relación de precedencia entre tareas.

4.6.6 Asignar Tareas a un Equipo

Una vez construidos el equipo y el proyecto, se deberá proceder a la asignación de las tareas a cada uno de los integrantes del equipo. Esto se hace eligiendo la opción Assign Tasks del menú Tasks de la ventana principal (Fig. 6).

NOTA: Antes de asignar las tareas deben realizarse dos tareas: i) el equipo al cual se le hará la asignación debe estar cargado en memoria, i.e. el equipo debe estar visible en la pantalla principal del sistema. ii) El proyecto que se va a asignar debe estar guardado en un archivo (ver sección 3.4).

Al seleccionar esta opción, el sistema pedirá que se elija el archivo que contiene el proyecto que se asignará al equipo. Después de elegir el proyecto aparecerá la ventana en la cual se realizarán las asignaciones de tareas a los miembros del equipo (Fig. 10).

Fig. 10 Ventana de Asignación de Tareas.

Lista con todos los integrantes del equipo.

Lista de los agentes asignados a una tarea

Lista desplegable con las tareas del proyecto elegido.

En esta ventana aparecerán tres listas. La lista del lado izquierdo contiene a todos los integrantes del equipo. En el lado derecho hay dos listas. La lista desplegable es la que contiene todas las tareas del proyecto. La lista inferior contendrá a los integrantes del equipo asignados a la tarea que aparece en la lista desplegable.

Para asignar un agente a una tarea, debe hacerse un clic con el ratón sobre el nombre del agente elegido. Una vez elegido, debe oprimirse el botón ---> y el agente se moverá hacia la lista de agentes asignados. Si se desea quitar un agente de la tarea, se deberá oprimir el botón <---.

El botón Clear all quita a TODOS los agentes de TODAS las tareas del proyecto.

Una vez hechas todas las asignaciones, se debe oprimir el botón Ok, con el cual se guardarán las asignaciones realizadas y se cerrará esta ventana (Fig. 11).

Antes de oprimir el botón Ok deben haberse asignado TODAS las tareas del proyecto, de lo contrario el sistema no dejará continuar.

Fig. 11 Botones para la Asignación de Tareas.

Las asignaciones del caso de estudio del IMP ya están configuradas de acuerdo a la información real.

Botones para asignar/quitar agentes a una tarea.

Botón para ejecutar las asignaciones elegidas.

Botón para quitar TODOS los agentes a TODAS las tareas.

4.7 EJECUTAR LAS SIMULACIONES

Asignadas todas las tareas del proyecto al equipo de trabajo, el siguiente paso es ejecutar las simulaciones. Para hacerlo debe elegirse la opción Start simulation del menú Simulations de la ventana principal (Fig. 12).

NOTA: Para poder ejecutar las simulaciones, el equipo y el proyecto deben estar cargados en memoria. Un equipo está cargado en memoria cuando puede verse en la lista de la ventana principal. Un proyecto se carga en memoria cuando se utiliza el módulo de Asignación de Tareas. Si las tareas ya fueron asignadas con anterioridad, no es necesario volver a entrar a este módulo. En este caso cuando se elija la opción Start simulation, el sistema pedirá el nombre del proyecto con el cual se ejecutarán las simulaciones.

Una vez elegida esta opción, se deberá introducir el número de simulaciones que se desean realizar. El sistema mostrará una barra con el progreso de todas las simulaciones mientras se están ejecutando.

Debe esperarse a que se termine este proceso (actualmente es un proceso lento, 30 simulaciones tardan aproximadamente 1 hora). Al terminar las simulaciones aparecerá un letrero con el mensaje Simulations Completes.

Fig. 12 Menú Simulations.

Menú para configurar las reglas.

Menú para ejecutar las simulaciones.

El menú Parameters configuration era para poder configurar las reglas que generan el comportamiento del agente. Este módulo servía hasta antes de la estancia en el IMP, dado que eran pocas reglas. Ahora mismo no sirve y es mejor NO entrar a ese módulo. En caso de hacerlo, NO oprimir el botón OK ya que los archivos con las reglas se modificarían y no servirían para realizar las simulaciones.

4.8 RESULTADOS DE LAS SIMULACIONES

Una vez terminadas las simulaciones, el usuario ya podrá ver los resultados gráficos de las mismas. Para esto debe seleccionar la opción All Simulations del Menú Results (Fig. 13).

En la ventana en la cual se muestran los resultados de las simulaciones, inicialmente se muestra información sobre las reglas que se dispararon en el transcurso de las simulaciones. Estos datos los muestro solo como información para mí, no es relevante mostrarla y/o explicarla en una posible presentación.

Existen dos maneras de ver los resultados de las simulaciones. La primera de ellas es ver los resultados del desempeño que generó cada uno de los agentes en sus respectivas tareas. Para hacer esto se debe seleccionar uno de los sietes parámetros con los que se evalúa el desempeño de un agente frente a su tarea del menú Agent Behaviour del menú Show Results (Fig. 14).

Al seleccionar el parámetro deseado, aparecerá una lista con todos los agentes que forman el equipo y se deberá seleccionar uno de ellos para consultar el desempeño mostrado en el parámetro elegido.

Menú para ver los resultados de las simulaciones.

Fig. 13 Menú Results.

Una vez elegido el parámetro y el agente a consultar, aparecerá la gráfica que muestra el desempeño (la medida en el parámetro elegido) del agente en cada una de las tareas que le fueron asignadas (Fig. 14). Este procedimiento funciona de la misma manera para consultar el desempeño en todos los parámetros de todos los agentes.

Fig. 14 Ventana de Resultados.

La segunda forma de consultar los resultados es viendo las gráficas globales de todas las tareas del proyecto. Estos resultados globales hacen referencia a la duración y la calidad con que fueron hechas las tareas. Para ver la duración de todas las tareas del proyecto se debe seleccionar la opción Project Results Opportunity del menú Show Results. Para ver la calidad de todas las tareas se debe elegir la opción Project Quality del menú Show Results (Fig. 15).

El sistema ofrece la funcionalidad de ver las características de la tarea al hacer un doble clic sobre la gráfica que representa una tarea. De esta manera se pueden ver qué agentes tienen asignada esa tarea, y los valores que tiene la tarea en sus parámetros internos (Fig. 15.). Esta funcionalidad puede utilizarse

Menú para ver los resultados del desempeño de cada agente.

Menú con cada uno de los parámetros que evalúan el desempeño del agente.

Gráficas que muestran el desempeño de un agente en cada una de las tareas que tiene asignadas.

en cualquiera de las dos formas de ver los resultados (de manera individual por cada agente, y/o de manera global para todas las tareas del proyecto).

Fig. 15 Resultados Globales del Proyecto (Calidad y Duración de las

Tareas).

Menús para ver los resultados globales del proyecto (Duración y Calidad de las tareas).

Ventana que aparece al dar doble clic sobre la gráfica de una tarea.

Características de la tarea elegida.

Agentes asignados a la tarea elegida.

Una de las partes importantes de este proyecto es el poder observar los resultados de la medición del impacto del líder en el desempeño del grupo de trabajo, para ello tenemos que ir al menú show results, Agent Behaviour y seleccionar Impact in the group, tal y como se muestra en la figura 16.

Figura 16 Impacto en el desempeño del grupo

Una vez seleccionada esa opción, el sistema nos pide elegir al líder que se desee evaluar. El sistema genera el impacto que el agente elegido tiene en el grupo.

Fig. 17 Medición del impacto de líder en el desempeño del grupo

4.8.1 Guardar los Resultados de las Simulaciones

Los resultados de una simulación pueden ser guardados para su posterior consulta en un archivo. Para realizar esta operación, se debe seleccionar la opción Save results del menú File (Fig. 18). Se pedirá que se introduzca un nombre para el archivo. El nombre del archivo debe tener la extensión .rst.

El sistema no asigna automáticamente la extensión, el usuario debe ponerla al guardar el archivo. Si no se pone esta extensión al archivo en el momento de guardarlo, no se podrá abrir posteriormente.

4.8.2 Abrir un Archivo de Resultados

Para abrir un archivo que contenga los resultados de una simulación, se debe elegir la opción Open results file del menú File (Fig. 18).

Se puede abrir un archivo de resultados directamente sin necesidad de realizar ninguna simulación. El único requisito para esto, es que el equipo con el que se obtuvieron los resultados esté cargado en memoria.

El archivo que contiene los resultados de las 30 simulaciones realizadas en el caso de estudio del IMP se llama: RF23962.rst

Fig. 18 Menú File del Módulo de Resultados.

4.9 Ventajas del sistema

Menú para abrir un archivo con resultados de las simulaciones.

Menú para guardar un archivo con resultados de las simulaciones.

Menú para salir del módulo de resultados.

4.10 CASO DE ESTUDIO:

La conformación del grupo de trabajo asi como la personalidad, ha sido desarrollado hipoteticamente en las cuales se prentende validar la implementacòn del modulo que realiza las pruebas del desempeño del líder en el grupo de trabajo. Las pruebas y las validaciones que a continucaión se presentan han sido modeladas en referencia a dos casos de estudio: Caso 1: Integrado por 7 agentes y el Lider. Se realizan tres mediciones con este grupo de trabajo, en donde las caracteristicas de cada integrantes permanecen constantes y la caracteristica del Lider se modifican con la finalidad de poder verificar el desempeño del Lider que se observara en el desempeño del grupo de trabajo en la realizacion de un proyecto. En la siguiente tabla se muestran los valores de los atributos de la personalidad de los siete agentes que integran el equipo de trabajo; estos atributos permanecieron constantes durante las tres pruebas efectudas:

Social Status

Agente Introverted/Extroverted Preferens to work

Alone/in team

Coordinador 1 M HT

Coordinador 2 HE M

Specialist Sr. M HT

Specialist Jr. M HT

Technician 1 M HT

Technician 2 M HT

Assistant M HT

HE: High extroverted11

HI: High Introverted1

HT: Highly preferents to work in team1

HA: Highly prefenrets to work alone1. 1 Obtenido de la referencia [10]

Cognition

Agente Creativity Experience

Coordinador 1 L L

Coordinador 2 MH MH

Specialist Sr. MH MH

Specialist Jr. M MH

Technician 1 M MH

Technician 2 M MH

Assistant M MH

Emotions

Agente Desire Interest Disgust Anxiety Stress

Coordinador 1 M M M M M

Coordinador 2 M M M M M

Specialist Sr. M M M M M

Specialist Jr. M M M M M

Technician 1 M M M M M

Technician 2 M M M M M

Assistant M M M M M

Personality

Agente Drive Influence Stainess Compilance Type of personality

Coordinador 1 L L L L Analytical

Coordinador 2 M MH MH MH Amiable

Specialist Sr. M MH MH H Analytical

Specialist Jr. High M MH MH Driver

Technician 1 M MH M MH Analytical

Technician 2 M MH MH MH Amiable

Assistant M MH MH MH Analytical

H: High2

M: Medium2

L: Low

MH: Medium high2

ML: Medium low2

Los atributos de la personalidad para el Líder del grupo de trabajo son los que se muestran en las siguientes tablas:

Social Status

Número de Corrida Introverted/Extroverted Preferens to work

Alone/in team

1 HE HT

2 M M

3 L L

HE: High extroverted3

HI: High Introverted3

HT: Highly preferents to work in team3 1 Obtenido de la referencia [10] 3 Obtenido de la referencia [10]

HA: Highly prefenrets to work alone3.

Cognition

Número de Corrida Creativity Experience

1 H H

2 M M

3 L L

Emotions

Número de Corrida Desire Interest Disgust Anxiety Stress

1 M M M M M

2 M M M M M

3 M M M M M

Personality

Número de Corrida

Drive Influence

Stainess Compilance Type of personality

1 H H H H Analytical

2 M M M M Expressive

3 L L L L Driver

Leader

Número de Corrida

Intelligence Objetive Desicion Uncorformist Independence

1 H H H H H

2 M M M M M

3 L L L L L

H: High4

M: Medium4

L: Low4

MH: Medium high4

ML: Medium low4

Caso 2: Integrado por 7 agentes y el Lider. Se realizan dos mediciones con Un Líder con características de exelencia, donde estas permanecerán contantes en las dos medidas. El grupo de trabajo, en donde las caracteristicas de cada integrantes se de exelentes a buenas; con la finalidad de poder verificar el desempeño del Lider que se observara en el desempeño del grupo de trabajo en la realizacion de un proyecto. En la siguiente tabla se muestran los valores de los atributos la personalidad del Líder; estos atributos permanecieron constantes durante las dos pruebas efectudas:

Social Status

Número de Corrida Introverted/Extroverted Preferens to work

Alone/in team

1 y 2 HE HT

HE: High extroverted5

HI: High Introverted3

HT: Highly preferents to work in team3

HA: Highly prefenrets to work alone3.

1 Obtenido de la referencia [10] 5 Obtenido de la referencia [10]

Cognition

Número de Corrida Creativity Experience

1 y 2 H H

Emotions

Número de Corrida Desire Interest Disgust Anxiety Stress

1 y 2 M M M M M

Personality

Número de Corrida

Drive Influence

Stainess Compilance Type of personality

1 H H H H Analytical

Leader

Número de Corrida

Intelligence Objetive Desicion Uncorformist Independence

1 H H H H H

H: High6

M: Medium4

L: Low4

MH: Medium high4

ML: Medium low4

1 Obtenido de la referencia [10]

En las siguientes tablas se muestran los valores de los atributos de la personalidad de los siete agentes que integran el equipo de trabajo; estos atributos se variaron en las dos pruebas efectudas:

Primera ejecución:

Social Status

Agente Introverted/Extroverted Preferens to work

Alone/in team

Coordinador 1 HE HT

Coordinador 2 HE HT

Specialist Sr. HE HT

Specialist Jr. HE HT

Technician 1 HE HT

Technician 2 HE HT

Assistant HE HT

HE: High extroverted17

HI: High Introverted1

HT: Highly preferents to work in team1

HA: Highly prefenrets to work alone1.

Cognition

Agente Creativity Experience

Coordinador 1 H H

Coordinador 2 H H

Specialist Sr. H H

Specialist Jr. H H

7 Obtenido de la referencia [10]

Technician 1 H H

Technician 2 H H

Assistant H H

Emotions

Agente Desire Interest Disgust Anxiety Stress

Coordinador 1 M M M M M

Coordinador 2 M M M M M

Specialist Sr. M M M M M

Specialist Jr. M M M M M

Technician 1 M M M M M

Technician 2 M M M M M

Assistant M M M M M

Personality

Agente Drive Influence Stainess Compilance Type of personality

Coordinador 1 H H H H Analytical

Coordinador 2 H H H H Analytical

Specialist Sr. H H H H Analytical

Specialist Jr. H H H H Analytical

Technician 1 H H H H Analytical

Technician 2 H H H H Amiable

Assistant H H H H Analytical

H: High8

M: Medium2

L: Low

MH: Medium high2

ML: Medium low2

Segunda ejecución:

Social Status

Agente Introverted/Extroverted Preferens to work

Alone/in team

Coordinador 1 M M

Coordinador 2 HE M

Specialist Sr. M HT

Specialist Jr. M HT

Technician 1 M HT

Technician 2 M HT

Assistant M HT

HE: High extroverted19

HI: High Introverted1

HT: Highly preferents to work in team1

HA: Highly prefenrets to work alone1.

1 Obtenido de la referencia [10] 9 Obtenido de la referencia [10]

Cognition

Agente Creativity Experience

Coordinador 1 M M

Coordinador 2 M M

Specialist Sr. M MH

Specialist Jr. M MH

Technician 1 M M

Technician 2 M M

Assistant M M

Emotions

Agente Desire Interest Disgust Anxiety Stress

Coordinador 1 M M M M M

Coordinador 2 M M M M M

Specialist Sr. M M M M M

Specialist Jr. M M M M M

Technician 1 M M M M M

Technician 2 M M M M M

Assistant M M M M M

Personality

Agente Drive Influence Stainess Compilance Type of personality

Coordinador 1 M M M M Amiable

Coordinador 2 M M M M Amiable

Specialist Sr. MH M MH MH Driver

Specialist Jr. MH M MH MH Driver

Technician 1 M M M M Amiable

Technician 2 M M M M Amiable

Assistant M M M M Analytical

H: High10

M: Medium2

L: Low

MH: Medium high2

ML: Medium low2

1 Obtenido de la referencia [10]

4.11 RESULTADOS

Los resultados generados por las simulaciones de la aplicación en el marco del impacto del líder en el grupo de trabajo , propuestas, son mustradas en los siguientes Graficos en los dos Casos. CASO 1: Tres simulaciones con el mismo grupo de trabajo y tres Liders con diferentes atributos de la personalidad; se muestran a continuación: Primer Simulación:

Segunda Simulación:

Tercer Simulación:

CASO 2: Dos simulaciones con el mismo Lider y grupo de trabajo con atributos diferentes de la personalidad; se muestran a continuación: Primer Simulación:

Segunda Simulación:

5 Análisis y Comparación de Resultados

En la aplicación el funcionamiento de los agentes esta furtemente ligado en primer caso al buen funcionamiento del Cleaver, por lo tanto debemos reconocer que la personalidad del Líder de trabajo y los valores de los atributos de éste dependen fuertemente de los resultados que él test MMPI-2 nos generen. Asu vez estos atributos serán las entradas a la aplicación con las cuales atravez de la manupulación de las reglas de lógica difusa se obtendrán resultados. Asi es que si los valores de los atributos que el test MMPI-2 nos proporciona, son bajos por ende los resultados que se obtengan de la aplicación en cuanto a líder serán deficientes, por lo que en grupo deberá tener una calidad de trabajo final baja. Por el contrario si el Test nos proporciona valores de las cualidades del Lider muy aceptables, en la aplicación y con la lógica difusa se tendrán que la calidad de los resultados del grupo deberán ser bastante aceptables. Hemos realizado la comparación de resultados para un solo caso de estudio, estos han sido los resultados iniciales, donde se genero un equipo de trabajo de 7 integrantes y el Lider, donde en las tres ejecuciones de la simualción las características de los siete integrantes se permanecieron fijas y las características del Líder fueron variadas de muy buenas, medianas y muy bajas, con la finalidad de que esatas se vean reflejadas en los reaultados obtenidos en el grupo de trabajo.

Las siguientes graficas muestras la comparación de nuestros resultados:

Figura 25 Comparación de la calidad del proyecto

Tiempo de entrega

0

2

4

6

8

10

12

1 2 3 4 5 6

C1

C2C3

Figura 26 Comparación del tiempo de entrega

Calidad del Proyecto

0

10

20

30

40

50

60

70

80

90

1 2 3 4 5 6

C1

C2C3

Comparacion de Impactos

0

10

20

30

40

50

60

70

80

90

100

C1 C2 C3

Figura 27 Impacto Generado

6 Conclusiones: Como se menciono al inicio del presente trabajo, se ha hecho uso de la lógica difusa para modelar el comportamiento del Líder de los proyectos en un grupo de trabajo. Se hace uso de la Lógica Difusa para poder llevar una representación de la personalidad y sus dones que con llevan a un buen líder a llevar el éxito a un grupo de trabajo. Estas características especiales influencian a la gente que conforma el grupo de trabajo hacia un mejor desempeño y por consecuencia a que el trabajo final sea exitoso. Se hacen uso de reglas borrosas para realizar el modelado del comportamiento y predecir el posible impacto del desempeño del grupo de trabajo y de la persona que dirige a éste. En la sección anterior se presenta una iniciativa de validación del modelo, donde los resultados son discutidos, con forme a los resultados obtenidos en la referencia [10], quienes han mostrado resultados en un grupo de trabajo en el IMP. Se puede observar en el la figura 17 de la sección 4 que el impacto del grupo en el desempeño del Líder fue mayor al 90 %, lo que implicaría de inicio que una persona que dirige un grupo de trabajo con personalidad de líder en primera instancia debería ayudar a mejorar el desempeño del grupo de trabajo y esto daría por conclusión en obtener mejores trabajos

Referencias [1] MÓDULO 8: EL INDIVIDUO Y EL ENTORNO DE TRABAJO, Aena–

SENASA, España [2] Bogardus, E (1930): “A race Relations Cycle”, American Journal of

Sociology, vol. 35, n 4, enero de 1930.

[3] Hathaway y Mc Kinley, Inventario Multifásico de la Personalidad de Minnesotta (MMPI) 2. Edit. El Manual Moderno, México, 1998.

[4] Robbins, Sthepen POR (1999). Comportamiento Organizacional. México: Prentice Hall, Hispanoamericana, S. A.

[5] Morgan, H. Henry y Cogger, John W. (1975). El Manual del Entrevistador. México: Manual Moderno.

[6] Aiken, Lewis R. (1996). Test Psicológicos y Evaluación. México: Prentice Hall, Hispanoamericana. S.A.

[7] Kahn, R. y Katz, D. Leadership Practices in Relation to Productivity and Morale. USA: Paterson.

[8] Bogardus, E (1930): “A race Relations Cycle”, American Journal of Sociology, vol. 35, n 4, Enero de 1930.

[9] Luis Fernando, Castro C. “Análisis y Diseño Orientado a Objetos”, UAM-Iztapalapa, 2005.

[10] Juan Martínez-Miranda, Matías Alvarado, Arantza Aldea, and René Bañares-Alcántara. “Modelling Human Behaviour at Work using Fuzzy Logic: The Challenge of Work Teams Configuration”, Department of Computer Engineering and Mathematics, Universitat Rovira i Virgili, Mexican Institute of Petroleum, Department of Computing, Oxford Brookes University, Department of Engineering Science, University of Oxford.

[11] Guillermo Morales-Luna, Introducción a la lógica difusa, Centro de

Investigación y Estudios Avanzados del IPN, México, D.F. 17 de febrero de 2002.

[12] http://www.java.com [13] http://www.gexperts.com/gel.html

[14] http://www.ioc.upc.es/IVIS/main/Proyectos/