+ All Categories
Home > Documents > Ingeniería de Software - essi.upc.educcares/papers/ISOA_EjemploTropos.pdf · 2 Ingeniería de...

Ingeniería de Software - essi.upc.educcares/papers/ISOA_EjemploTropos.pdf · 2 Ingeniería de...

Date post: 03-Oct-2018
Category:
Upload: phungnga
View: 222 times
Download: 0 times
Share this document with a friend
14
1 Encuentro Tecnológico Informática y Gestión Ingeniería de Software Orientada a Agentes: un ejemplo usando Tropos Carlos Cares 1,2 ccares @ lsi.upc.edu Temuco, Chile, 17-18 Octubre 2007 1 2 Departamento de Ingeniería de Sistemas Universidad de La Frontera Departament de Llenguatges i Sistemes Informatics Universitat Politécnica de Catalunya Exposición Invitada Ingeniería de Software Orientada a Agentes Ingeniería de Software “La ingeniería de software es la disciplina de ingeniería relacionada con todos los aspectos de la producción de softwareSommerville I. Software Engineering. 7th ed: Addison Wesley, 2004.
Transcript

1

Encuentro Tecnológico Informática y Gestión

Ingeniería de Software Orientada a Agentes:

un ejemplo usando Tropos

Carlos Cares1,2

ccares @ lsi.upc.edu

Temuco, Chile, 17-18 Octubre 2007

1

2

Departamento de Ingeniería de Sistemas

Universidad de La Frontera

Departament de Llenguatges i Sistemes Informatics

Universitat Politécnica de Catalunya

Exposición Invitada

Ingeniería de Software Orientada a Agentes

Ingeniería de Software

“La ingeniería de software es la disciplina de ingeniería relacionada con todos los aspectos de la producción de software”

Sommerville I. Software Engineering. 7th ed: Addison Wesley, 2004.

2

Ingeniería de Software Orientada a Agentes

Ingeniería de Software

Incluye:1. Levantamiento de Requerimientos

2. Análisis de Requerimientos

3. Diseño de Solución Organizacional

4. Diseño de Solución de Software

5. Diseño de Software

6. Implementación

7. Prueba (Testing)

8. Mantención

Ingeniería de Software Orientada a Agentes

Ingeniería de Software

Requiere:

1. Representación y Seguimiento de un Proceso

(p.e. PERT, GANTT, Diagramas de Tarea UML)

2. Uno o varios Lenguajes de Diseño (p.e. Diagrama

de Clases UML, Diagrama Entidad – Relación,

3

Ingeniería de Software Orientada a Agentes

Ingeniería de Software Orientada a Agentes

Wooldridge M., Cincarani P. Agent-Oriented Software Engineering: The State of the Art. First International Workshop, AOSE 2000, Limerick, Ireland, June 10,

2000. LNCS 2001; vol 1957 p.1-28.

Es cuando se realizan las tareas de la

ingeniería de software usando como clave

de abstracción el concepto de agente

Ingeniería de Software Orientada a Agentes

El Concepto de Agente

Un agente es una pieza de software que “disfruta” de propiedades como autonomía, reactividad, proactividady habilidades sociales.

4

Ingeniería de Software Orientada a Agentes

Agente (Autonomía)

Autonomía significa que el agente tiene un estado interno que no es accedible a otros (agentes o humanos). El agente define su actuar de acuerdo a este estado interno.

Ingeniería de Software Orientada a Agentes

Agente (Autonomía)

Reactividad se basa en el supuesto que el agente se encuentra en un ambiente y tiene la habilidad de reaccionar a los cambios que ocurren en él.

5

Ingeniería de Software Orientada a Agentes

Agente (Proactividad)

Proactividad significa que un agente tiene sus propios objetivos y, por lo tanto, puede tomar las iniciativas acorde a las metas que tiene la intención de cumplir.

Ingeniería de Software Orientada a Agentes

Agente (Habilidad Social)

Habilidad Social es la característica que permite interactuar (con humanos o con otros agentes) y conformar actos de grupo ya sea para cooperar o negociar.

6

Ingeniería de Software Orientada a Agentes

Ingeniería de Software Orientada a Agentes

Requiere:

1. Representación y Seguimiento de un Proceso

2. Uno o varios Lenguajes de Diseño donde el concepto

clave de abstracción es el concepto de agente

Ingeniería de Software Orientada a Agentes

TROPOS Una Metodología Orientada a Agentes

Etapas

t

ActorSocial

Nuevo Sistema

Componentes

Agentes

Etapa temprana deRequerimientos

Etapa tardía deRequerimientos

Diseño de la Arquitectura

Diseño Detallado

Implemen-tación

7

Ingeniería de Software Orientada a Agentes

TROPOS Una Metodología Orientada a Agentes

Lenguaje de Modelación

Actores

Role

Position

Agent

Actor

Elementos Intencionales

Goal

Softgoall

Task

Resource

An actor and its boundary

Ingeniería de Software Orientada a Agentes

TROPOS Una Metodología Orientada a Agentes

Lenguaje de Modelación

Some Dependencies

Task-dependency Goal-dependency

Intentional Relationships

Means-end Contribution+ | ++ | - | --

Decomposition

Actor’s Relationships

is_a | is_part_of | instance_of | covers | plays | occupies

8

Ingeniería de Software Orientada a Agentes

Un ejemplo académico-didáctico

Primera Competencia en Sistemas Multiagente Basados

en Lógica Computacional del 2005: First CLIMA Contest(Computational Logic in MultiAgent-systems)

Principal Problema: Disminuir la distancia conceptual entre metodologías

orientada a agentes y la implementación de agentes

de software.

Problema para ejemplificar propuesta:Un conjunto de agentes recolectores de comida, jugando

diferentes roles, y cooperando para maximizar la comida

recolectada en un ambiente virtual

Ingeniería de Software Orientada a Agentes

Un ejemplo de ambiente

Una malla de

20 x 20

20

20

9

Ingeniería de Software Orientada a Agentes

Un ejemplo de ambiente

Comida

• Las celdas pueden

contener comida

• La comida es producida

por el ambiente

• La comida es posicionada

al azar

• Hay comida inicialmente

en el ambiente

Ingeniería de Software Orientada a Agentes

Un ejemplo de ambiente

Un depósito de comida

10

Ingeniería de Software Orientada a Agentes

Un ejemplo de ambiente

Agents

• Pueden “ver” la existencia de

comida sólo en su celda actual

• Pueden recoger la comida

• Pueden intercambiar

información si están en

posiciones adyacentes

• Deben juntar comida en el

depósito

Ingeniería de Software Orientada a Agentes

Etapa de Tardía de Requerimentos en TROPOS

11

Ingeniería de Software Orientada a Agentes

Etapa de Tardía de Requerimentos en TROPOS

Ingeniería de Software Orientada a Agentes

Diseño de la Arquitectura en TROPOS (Parcial)

12

Ingeniería de Software Orientada a Agentes

Ingeniería de Software Orientada a Agentes

Diseño Detallado en TROPOS (Parcial)

13

Ingeniería de Software Orientada a Agentes

Diseño Detallado en TROPOS (Parcial)

Ingeniería de Software Orientada a Agentes

Ejecución

DEMO

14

Ingeniería de Software Orientada a Agentes

Conclusiones del Programa

� Los agentes son autónomos y no tienen un control central.

Esto se refleja que dos o más agentes van tras una misma

pieza de comida. Incluso si ya ha sido recogida.

� Los agentes son reactivos, si van por una pieza de comida,

pero se encuentran con otra, recogen la actual y luego tratan

de alcanzar la original

� Los agentes son proactivos, buscan comida

autónomamente sin esperar información externa.

� Los agentes tienen habilidades sociales, comparten la

información y el estado parcial de la malla que ellos manejan

Ingeniería de Software Orientada a Agentes

Conclusiones Generales

� La complejidad de sistemas distribuidos puede ser

abordada desde la Ingeniería de Software Orientada a

Agentes y en particular usando Tropos.

� La metáfora de diseño de Tropos es útil tanto para el

diseño de software como para la representación de

sistemas organizacionales

� Tropos ofrece un lenguaje intuitivo para la modelación de

sistemas y organizaciones

� Es factible generar interpretaciones del Diseño Detallado

que permita la implementación de Sistemas Multi-Agente


Recommended