Separación multidimensional de aspectos para la especificación y reutilización de requisitos en lenjuaje z

Loading...
Thumbnail Image

Authors

Journal Title

Journal ISSN

Volume Title

Publisher

Universidad Internacional de La Rioja

Abstract

La separacion de intereses (Separation of Concerns) ha sido abordada desde hace varias decadas como una manera de enfrentar la creciente complejidad en los sistemas de software. Un interes (concern) es una parte o unidad que es relevante para un concepto particular, objetivo o proposito relacionado con el software que se esta desarrollando. En la Ingenieria de Requerimientos se ha reconocido la importancia de contar con una adecuada separacion de intereses para lograr una buena gestion de las especificaciones y contar con caracteristicas como buena trazabilidad, facilidad de mantenimiento y evolucion en los elementos subsecuentes a lo largo de todas las actividades de desarrollo. La separacion de intereses en el paradigma orientado a objetos ha resultado util para enfrentar la complejidad en la construccion de software. Las clases proporcionan grandes ventajas al permitir clasificar los intereses en jerarquias; sin embargo, es bien reconocido que este paradigma puede resultar inflexible pues impone una descomposicion de clases que es adecuada para una sola separacion de intereses en particular. Esto impide manejar efectivamente los intereses transversales (aquellos que impactan el software en diferentes lugares). Por su parte la orientacion a (OA) es una forma de separar los intereses de un sistema de software que pretende superar las desventajas de la separacion de intereses de la orientacion a objetos. En la ultima decada la OA ha sido bien recibida en la fase de programacion de aplicaciones y ha ganado popularidad principalmente gracias a la existencia de un lenguaje orientado a estable y accesible como ASPECT-J basado en Java. ASPECT-J ha implementado un modelo de separacion de intereses bidimensional, en donde la funcionalidad principal del software se aisla de los intereses transversales, estos ultimos se encapsulan en y contienen informacion esencial para afectar a la funcionalidad base. El modelo bidimensional ha sobrepasado la fase de programacion para influenciar los diferentes enfoques de trabajo de las primeras etapas del ciclo de vida, en los cuales se ha acunado el termino de aspectos para referirse a los intereses transversales durante las etapas previas a la programacion. A pesar de su popularidad, el modelo bidimensional tiene limitaciones reconocidas, debidas a que no superan totalmente las limitaciones impuestas por la descomposicion inicial dominante de intereses establecida por los paradigmas tradicionales como el orientado a objetos; por ejemplo, en este modelo los mantienen un fuerte acoplamiento con los intereses base, lo que dificulta su reutilizacion, reduce la facilidad de configuracion y disminuye la versatilidad que el desarrollador puede lograr con el software. Como una solucion a estos problemas del modelo bidimensional, surgio el modelo abstracto multidimensional que puede ser adaptado a las diferentes etapas del ciclo de vida para trabajar desde diversas perspectivas, segun sean las necesidades particulares del formalismo que lo adopte. El objetivo principal del modelo multidimensional es superar las limitaciones de adherirse a una descomposicion inicial proporcionando, en consecuencia, las ventajas de mejor modularizacion, reutilizacion y facilidad de configuracion y mantenimiento. En un espacio influenciado por el modelo multidimensional, en el presente trabajo convergen cuatro areas de estudio de la Ingenieria de Software: separacion de intereses, tempranos en la Ingenieria de Requerimientos, lenguajes formales y reutilizacion. En esta tesis se propone Z-SIIMD-Z con Separacion de Intereses con Influencia Multidimensional), un enfoque de trabajo para la especificacion de requerimientos formales en lenguaje Z tomando como base una separacion multidimensional de intereses que permita contar con un escenario donde sea posible reutilizar los elementos de las especificaciones realizadas. Con la influencia del modelo multidimensional, particularmente para la etapa de especificacion de requerimientos, en esta tesis se ha optado por no exigir una organizacion inicial unica de intereses dividida en funcionales o transversales, por el contrario, todos los intereses se pueden especificar de manera homogenea con sus estados, entradas y salidas. Posteriormente, mediante reglas separadas se establecen las relaciones entre los intereses con sus respectivos detalles de afectacion. Las reglas contienen las directrices que guian al proceso de composicion, el cual se ocupa de construir un modelo integrado completo en base a los requerimientos especificados y a las reglas definidas en un proyecto. Las reglas permiten organizar mejor las interacciones entre los intereses y hacen que su analisis resulte mas sencillo; tambien facilitan el mantenimiento general de las especificaciones al mismo tiempo que dejan sin cambio la estructura original de los intereses, aun cuando las relaciones entre ellos se modifiquen. Se propone tambien el uso de un repositorio para almacenar requerimientos, intereses y reglas de composicion con el objetivo de sustentar su reutilizacion. De esta manera, los elementos de un proyecto pueden ser agregados al repositorio, o de el pueden ser extraidos algunos elementos existentes para incorporarlos al diseno de cualquier proyecto en curso. Para facilitar su clasificacion y busqueda, se proporcionan palabras clave o definiciones en lenguaje natural para cada elemento en el proyecto. Con el objetivo de validar la propuesta, se ha desarrollado un prototipo software denominado SPZS (Software Prototipo para Z-SIIMD), que implementa las principales caracteristicas de esta tesis, proporcionando los medios para capturar requerimientos, intereses y reglas y obtener un modelo completo configurable despues de haber ejecutado un algoritmo de composicion. El prototipo realizado tambien incluye un mecanismo de reutilizacion que facilita el acceso a un repositorio de elementos que pueden ser incorporados en diferentes proyectos de especificacion. En conclusion, en esta tesis se propone una manera de especificar formalmente los requerimientos de software en lenguaje Z desde una perspectiva multidimensional que propicia la reutilizacion de los elementos involucrados en las especificaciones, y se acompana de un prototipo de software que incorpora las principales ideas del trabajo realizado.

Description

Citation

Endorsement

Review

Supplemented By

Referenced By

Creative Commons license

Except where otherwise noted, this item's license is described as Acceso restringido / Suscripción (Metadatos de producción científica)