Vous êtes sur la page 1sur 6

UML y REDES DE PETRI EN LA EVALUACION DE

PERFORMANCE DE SISTEMAS
Santiago Pérez, Mario Distefano, Antonio Paseo, Atilio Ranzuglia
{santiagocp, mdistefa, apasero, aranzuglia}@frm.utn.edu.ar

MIP
(Grupo de Modelos Industriales Paralelos)
Facultad Regional Mendoza,
Universidad Tecnológica Nacional
Mendoza Argentina
0261-4239119 (int. 176)

I) Resumen in ArgoSPE [7] sobre ArgoUML [8] de la


En el estudio de la Ingeniería de Software se Universidad de Zaragoza (España), que
ha destinado un gran esfuerzo por parte de genera archivos de GSPN en el formato de la
distintos grupos de investigación, para herramienta de simulación y análisis de
incorporar a las especificaciones de software, performance GreatSPN [9] de la Universidad
ciertos atributos no funcionales relacionados de Turín (Italia).
con la performance, tiempo, fiabilidad, Se describen estas herramientas y su
planificación, entre otros. Específicamente, necesidad para la evaluación de performance
debido al vacío importante entre el diseño de de sistemas.
software y el análisis de performance, la
Ingeniería de Performance de Software (SPE- I1) Introducción
Software Performance Engineering [1]) El diseño e implementación de sistemas
considera el análisis cuantitativo de la complejos, en general, es una difícil tarea de
conducta de los sistemas de software, desde ingeniería. En los últimos años, la
las fases iniciales de desarrollo. Varios modelación, validación, evaluación de
lenguajes han sido propuestos para tal fin, y performance e implementación de tales
existen trabajos proponiendo especificar sistemas ha sido fortalecida con la ayuda de
performance a partir del lenguaje de modelos formales.
modelado UML [2]. Estos esfuerzos han Las GSPN son un adecuado paradigma formal
llevado a la adopción del perfil de UML para para soportar el ciclo de vida completo de un
la planificación, performance y sistema de evento discreto complejo. Han sido
comportamiento temporal del software UML- usadas para la modelación y la evaluación de
SPT [3], teniendo en cuenta también que el sistemas de fabricación flexibles,
lenguaje UML progresivamente se ha arquitecturas multiprocesador, sistemas de
convertido en un estandar universal para la comunicación, y también para la escritura de
modelación de software. Es un lenguaje programas concurrentes eficientes y
semiformal y esta respaldado por el Object confiables.
Management Group (OMG)[4]. La En las aplicaciones de sistemas de software,
especificación de performance de software los requerimientos funcionales son
con un lenguaje semiformal como UML, obviamente importantes, pero no son los
requiere su integración con un formalismo de únicos. Los objetivos de performance son
modelación de performance, como las Redes también importantes. Es decir,: el grado en
de Petri Estocásticas Generalizadas (GSPN- que un sistema de software satisface sus
Generalize Stochastic Petri Nets [5][6]). objetivos de tiempo, aspecto que se vuelve
Sobre esta base, se puede construir una crítico en algunas aplicaciones de tiempo real.
herramienta CASE que permita el traslado de Dado que la Ingeniería de Software es una
los diagramas UML a GSPN, y a partir de disciplina relativamente joven, se han
ello, la evaluación de performance de asumido y reconocido la importancia del uso
sistemas. Se toma como antecedente, el plug- de metodologías, métodos formales, lenguajes
y herramientas de desarrollo bien establecidas Existen experiencias en el proceso de
en el tiempo. Sin embargo, los objetivos de integración de la modelación de performance
performance no están usualmente incluidos en dentro del proceso de desarrollo de software.
las primeras etapas del ciclo de vida del A continuación se resumen las fases
software. Siendo los requerimientos de principales de un proceso de ingeniera de
performance críticos para el éxito de los performance de software apropiado, basado
sistemas de software de hoy en día, varios en UML y GSPN.
productos de software finales fallan para
cumplir aquellos requerimientos.. Por ello, III) Proceso de Performance de
varios investigadores defienden el principio
Software
que la performance debería ser incluida en el
Algunos trabajos se han propuesto para
proceso de diseño de software desde muy
combinar UML y formalismos de modelación
temprano. El campo de investigación que trata
de performance, para analizar aspectos
con el objetivo de construir software con
cuantitativos de sistemas de software. Todos
performance predecible, especificando y
comparten algunos principios básicos, y se
analizando la conducta cuantitativa desde las
podría argumentar que existe un proceso
fases de desarrollo iniciales de un sistema a
ampliamente aceptado entre la comunidad de
través de su ciclo de vida entera ha sido
SPE:
reconocida con el termino Software
- La conducta y arquitectura del sistema se
Performance Engineering (SPE). El lenguaje
describe a través de un conjunto de
de modelación unificado (UML) combinado
diagramas UML, que corresponden al
con una metodología orientada a objetos, es
diseño del sistema,
hoy en día la aproximación más ampliamente
- Este diseño UML es anotado en
usada en la comunidad de Ingeniería de
performance de acuerdo a un perfil OMG
Software. Así, la mayoría de herramientas
estándar, llamado el diseño anotado,
CASE soportan la metodología orientada a
- El diseño anotado se convierte en un
objetos, y usan UML como el lenguaje de
formalismo de modelación de performance,
diseño.
- Se lleva a cabo un análisis cuantitativo, si el
Dado que los objetivos de performance no
modelo formal lo permite,
están incluídos en la práctica usual de los
- El modelo formal se analiza usando técnicas
ingenieros de software, se puede pensar que
de análisis cuantitativas ya desarrolladas
existe una necesidad de integrar un modelo de
para el formalismo adoptado.
performance con las metodologías de
Entre los diagramas UML están incluidos: los
desarrollo de software existentes. Entre las
casos de uso (UC), los diagramas de
herramientas de modelación formales se
secuencia (SD), los diagramas de actividad
pueden enumerar las cadenas de Markov, las
(AD), los diagramas de estado (SC), y los
redes de colas, las álgebras de procesos
diagramas de despliegue (DD).
estocásticos y las Redes de Petri Estocásticas
La carga de trabajo, las utilizaciones, los
Generalizadas, siendo probablemente los
tiempos de respuesta o el rendimiento
paradigmas de modelación de performance
caracterizan la vista de performance del
mejor estudiados. De ellos, las GSPN son un
diseño del sistema, el denominado diseño
instrumento especial para modelar sistemas
anotado. El perfil UML para especificación de
paralelos y distribuídos, por su simplicidad
la planificación, performance y tiempo
matemática, su generalidad de modelación, su
(UML-SPT) es el estandard ampliamente
adecuación para expresar todas las semánticas
usado para anotarlos.
básicas de concurrencia, su ubicación para
estados y acciones y representación gráfica,
sus bien desarrolladas técnicas de análisis
cualitativo y cuantitativo, y la existencia de
herramientas de análisis.
IV) UML y ArgoSPE mientras que el módulo ArgoSPE implementa
ArgoSPE es una herramienta para la y coordina las funciones: configurador del
evaluación de performance de sistemas de modelo, y el procesador del modelo
software, y ha sido implementado como un (conversor del modelo, analizador del modelo
conjunto de módulos Java, que son plugged y el conversor de resultados).
en la herramienta de código abierto
ArgoUML (figura nº 1), siguiendo la
arquitectura propuesta en el estándar UML-
SPT (figura nº 2).

figura nº 2

V) GreatSPN
El modelo GSPN es una extensión de las
Redes de Petri Ordinarias [10], donde están
definidas transiciones temporizadas con
retardos exponenciales negativos y además
transiciones inmediatas. Es el modelo
figura nº 1 matemático utilizado por ArgoSPE
Formalmente un modelo GSPN es una 10-
Desde el punto de vista del usuario, ArgoSPE tupla [5]
es un conjunto de consultas de performance
que pueden ejecutarse para obtener el análisis
ΜGSPN = {P,T , I , O, H , Π,W , PAR, PRED, MP}
cuantitativo del sistema modelado. Se • P es un conjunto de lugares.
entiende que una consulta de performance es • T es un conjunto de transiciones.
un procedimiento donde el modelo UML se T IP =φ
analiza para obtener automáticamente un • I, O y H son entradas, salidas y función
índice de performance predefinido. Los pasos inhibición asociadas a T. Es un multiconjunto
de este procedimiento se ocultan al usuario. en P.
Cada consulta de performance está • Π es la función de prioridad de las
relacionada a un diagrama UML donde es transiciones que representa el nivel de
interpretada, pero su computo se obtiene en prioridad con un número natural.
un modelo GSPN automáticamente para • W Es una función que introduce el
ArgoSPE. Para el analista en performance que componente estocástico en el modelo GSPN.
tiene experiencia en modelación y análisis de Es la tasa en una transición temporizada (rate)
Redes de Petri, puede usar directamente la y el peso (weight) en una transición
herramienta GreatSPN para computar las inmediata.
métricas especificadas usando los modelos • PAR es un conjunto de parámetros.
GSPN, que ArgoSPE genera • PRE es un conjunto de restricciones del
automáticamente. rango de parámetros.
Como se indicó, ArgoSPE sigue la propuesta • MP es una función asociada con cada
de UML-SPT. La herramienta CASE lugar, un número o bien un rango de
ArgoUML trabaja como el editor del modelo,
parámetros del conjunto de los números ecuaciones lineales. Cada incógnita
naturales (marcado). corresponde a un estado de marcado posible
En una aplicación concreta, PAR y PRE en el diagrama de estado.
están incorporados en el marcado inicial. Por 6) Los índices de performance deben ser
tanto el modelo GSPN se reduce a una 8- computados de la solución de la cadena de
tupla. En cualquier marcado todos los retardos Markov en función del modelo de la
de disparo de las transiciones temporizadas aplicación; por ejemplo: tiempo medio de
tiene una exponencial negativa (función espera de un servicio, tiempo de ocupación de
densidad de probabilidad PDF) y todos los una memoria compartida, tiempo medio de
retardos independientes son variables ocupación de una máquina o procesador,
aleatorias. rendimientos de productividad, índices de
Varios pasos deben ser seguidos en el estudio costos operativos, etc..
de un sistema con GSPN, a saber: Todos estos pasos deben realizarse con una
1) El modelo debe ser construido, herramienta de software conveniente que
posiblemente usando una técnica estructurada, provea el ambiente de modelado con GSPN,
ya sea de arriba hacia abajo o de abajo hacia permitiendo la creación gráfica y
arriba, dependiendo del sistema a ser modificación de un modelo, la definición de
modelado. índices de performance, análisis estructural y
2) El modelo luego debe ser validado usando el análisis estocástico del modelo. Uno de
los resultados del análisis estructural, estos programas es el GreatSPN [12].
proveyendo algunas propiedades de la Se incluye el ejemplo del modelo GSPN para
conducta del modelo. lectores-escritores que requieren acceder a
3) Los índices de performance de interés una base de datos (figura nº3). El modelo
deben ser definidos en términos de marcado y GSPN se compone de 13 lugares y 13
de disparo de transiciones del GSPN. transiciones, 5 temporizadas y 8 inmediatas.
4) El conjunto y el grafo de alcanzabilidad El marcado paramétrico inicial asigna K
corresponde a una cadena de Markov de marcas a Pthink, o sea que K procesos son
tiempo continuo (CTMC) [11]. inicialmente asignados a sus memorias
5) La cadena de Markov se resuelve por: privadas. Una marca en Pdb indica que la base
πQ = 0 de datos está desocupada. Una marca PLAN
indica que la LAN esta inicialmente
∑π i i
=1
disponible. La transición Texec modela la fase
Donde Q es la matriz de tasa (tiempo de ejecución de los procesos en su memoria
probabilístico exponencial) de transición. privada; y es temporizada con el parámetro λ.
Donde π es el vector de probabilidad en el
estado estacionario. Es un sistema de

figura nº 3
La variación del tiempo de ejecución en la simple-servidor, donde no mas de una LAN
memoria privada es 1/λ y donde todas las transfiere actividad a un tiempo. Transiciones
ejecuciones proceden en paralelo con la tthink y treaccess tienen igual prioridad 1. y forma
semántica de infinito-servidor. un conflicto de libre-elección de transiciones
El disparo de Texec modela el final de la fase inmediatas. Sus pesos son 9 y 1
de ejecución y la generación de un respectivamente, indica que 10% del tiempo
requerimiento de acceso a la base de datos de los procesos inmediatamente reinicia un
colocando una marca en Prequest. Un conflicto requerimiento de acceso a la base de datos
de libre-elección comprende las transiciones después de completar el acceso previo,
inmediatas tread y twrite de niveles de prioridad mientras el 90% del tiempo de los procesos
2, se modela el hecho que el requerimiento vuelven a ejecutarse en la memoria privada.
del acceso a la base de datos puede ser para
leer o para escribir, generando una marca en VI) Referencias
pr o en pw respectivamente. Asumiendo que el 1.Smith, C.U.: Perf. Engineering of Software
80% de los requerimientos son para leer y Systems. Addison Wesley (1990)
solamente el 20% para escribir, los pesos en 2.United Modeling Language Specification.
tread y twrite son 8 y 2 respectivamente. (http://www.uml.org)
Las prioridades de tstart-r y tstart-w se ponen en 3 3.UML Profile for Schedulabibity,
y 4 respectivamente, tal que el requerimiento Performance and Time Specification.
a escribir tiene prioridad sobre el de leer. El (http://www.uml.org).
peso asociado a las dos transiciones es 4.Object Management Group.
irrelevante por lo tanto se ponen en 1. El lugar (http:/www.omg.org).
pwritw puede contener a lo sumo una marca, y 5.Ajmone Marsan, M., Balbo, G., Conte, G.,
la transición Twrite es temporizada con una Donatelli, S., Franceschinis, G.: Modelling
tasa de µ w con lo cual es inverso a la with Generalized Stochastic Petri Nets.
variación del tiempo de escritura; la John Wiley Series (1995)
semántica de esta transición es de simple- 6.Lopez-Grao, J.P., Merseguer, J., Campos,
servidor. El disparo de Twrite modela el final J.: From UML Activity Diagrams to
del acceso a la base de datos para una Stochastic Petri Nets: Application to
escritura y genera una marca en PLAN-w. El Software Performance Engineering. (In:
lugar pread puede contener varias marcas y la ACM WOSP'04) 25-36
transición Tread es temporizada con una tasa 7.The ArgoSPE project
µ r; la semántica es de infinitos-servidores, (http://argospe.tigris.org)
donde todos los accesos a lectura son en 8.The ArgoUML project
paralelo. El disparo de Tread modela el final (http://argouml.tigris.org)
del acceso a la base de datos y coloca una 9.The GreatSPN tool
marca en PLAN-r. Las transiciones tstart-LAN-r y (http://di.unito.it/~greatspn)
tstart-LAN-w, tienen igual prioridad de nivel 1 y 10. Manuel Silva – Las Redes de Petri en la
esto forma un conflicto de no libre-elección Automática y la Informática – Editorial
de transiciones inmediatas. Sus pesos son AC –España – 1985.
ambos puesto a 1, esto indica que la 11. S.M. Ross – Probability Models for
asignación de la LAN a procesos que han Computer Science - University of
completado una lectura o escritura en la base California Berkeley,CA - A Harcourt
de datos es igualmente probable. Las Science and Technology Co – 2002.
transiciones TLAN-r y TLAN-w modela la 12. GreatSPN User`s Manual – Departamento
actividad de transferencia de datos a la LAN. de Informática - Universidad de Torino
Ellas son temporizadas con tasas de ρr y ρw,
respectivamente y sus semánticas es de