Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como UML

Prueba de máquinas de estados planas y jerárquicas mediante casos de prueba

El artículo explora una serie de estrategias, como punto de partida, para probar software que representa máquinas de estados tanto tradicionales (o planas) como de estados anidados (o jerárquicas). Estas últimas también conocidas como Statecharts [5] o máquinas UML. Dichas estrategias se aplican bajo conceptos como el desacople de módulos, el uso de stub , spy y mock [1][6], los casos de prueba unitarios y sus fases , entre otros, los cuales permiten aplicar de manera inmediata el desarrollo de software dirigido por pruebas ( TDD ), en este caso para las máquinas de estados, con los beneficios que ello implica. Aunque lamentablemente poco explorado para la aplicación en software dirigido por eventos (reactivo). Cada una de las estrategias expuestas se respalda con ejemplos de código fuente, escritos en lenguaje C para el framework de prueba Unity y Cmock , aunque pueden extrapolarse fácilmente a otros similares.  Finalmente, el presente artículo muestra una estrateg...

Especificación de Máquinas de Estados UML y Compatibilidad en RKH

El presente artículo describe en detalle la semántica y notación de cada uno de los elementos que constituyen las máquinas de estados especificadas por UML, las cuales se basan en el modelo de comportamiento dinámico Statechart escrito por el profesor David Harel [1]. Adicionalmente, describe la compatibilidad y grado de cumplimiento de la versión 2.4.4 o superior del framework RKH [2] con la especificación de máquinas de estados definida por OMG, en la especificación “OMG Unified Modeling Language”, Version 2.5 , Capítulo 14 “StateMachine”, pág. 319 [3]. Si bien la especificación UML de OMG es libre y pública, dista bastante de ser fácil de leer e interpretar, por aquellas personas que no se dedican exclusivamente a estos temas, pero si requieren formalizar la manera en que desarrollan software, en especial aquel aplicado a los embedded systems . Por tal motivo, el objetivo fundamental del presente artículo, es acercar la especificación (semántica y notación) de U...