16
Architectural description languages (ADLs) vs UML- a review Construcción de Software Construcción de Software Seminario de investigación Seminario de investigación Presentado por: Giovanni Andrés Villegas

gv_adls_vs_uml

Embed Size (px)

DESCRIPTION

arquitectura de software

Citation preview

  • Architectural description languages (ADLs) vs UML- a reviewConstruccin de SoftwareSeminario de investigacinPresentado por: Giovanni Andrs Villegas

  • ContextoThe software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationship among them. [1] (Bass, Clements, Kazman)Software architecture [is a level of design that] involves the description of elements from which systems are built, interactions among those elements, patterns that guide their composition, and constraints on these patterns. [2] (Shaw Garlan)

  • ProblemaCuando se habla de arquitectura, se est hablando de sistemas grandes y complejosDescripciones a alto nivel, que idealmente se deben refinarLas descripciones tienden a volverse ambiguas si no tienen un cierto nivel de formalidadLa arquitectura debe comunicar, pero esto puede ir en contra de la formalidad

  • ADLsLenguajes de descripcin de arquitectura (ADLs)Es una herramienta para describir formalmente la arquitectura de un sistema de softwareProveen un framework conceptual y una sintaxis concreta, para caracterizar arquitecturas de softwareAparte de ser una herramienta centrada en la arquitectura de software, poseen algunas caractersticas distintivas:Un dominio especficoEstilos arquitecturalesSimulacin [1] [2]Anlisis [1] [2]

  • Requisitos de un ADL[3]Creacin de una arquitectura, refinamiento y validacin. Reglas para definir completitud y consistencia.Debe permitir la representacin de estilos arquitecturales.Proveer vistas del sistema, de acuerdo a la informacin que se quiera observarFamilias de implementacin que compartan elementos comunesProveer anlisis a nivel de arquitectura, o capacidad de generar prototipos de implementacin

  • Requisitos de un ADL[2]Debe permitir modelar explcitamente: componentes, conectores y sus configuraciones.Pero para ser realmente til debe dar soporte de herramientas.Deben estar orientados a los siguientes problemas:RepresentacinSoportar el proceso de diseoAnlisis esttico y dinmicoEvolucin en tiempo de especificacin y ejecucinRefinamientoTrazabilidadSimulacin / Ejecutabilidad

  • Clasificacin[2]Un componente es una unidad de procesamiento o almacenamientoUn conector es un bloque arquitectural, que sirve para modelar las interacciones entre los componentesLas configuraciones son topologas, o grafos de componentes y conectores que describen estructura arquitectural

  • Caractersticas de un Toolkit genrico de ADLsEspecificacin activaIntrusivaNo IntrusivaVistas mltiplesPara cada stakeholderSobre la arquitecturaAnlisisSimulacinRefinamientoVarios nivelesGeneracin de implementacinDinamismoCambios y visualizacin en caliente

  • UML es un ADL? (1)Grady Booch (Uno de los creadores de UML)S, es un lenguaje grfico que posee tanto una vista estructural como de comportamiento. David Garlan (Carnegie Mellon University)Habiendo modelado una arquitectura con Uml, qu podemos hacer con ella? Cmo se comparan el entendimiento y la capacidad de anlisis de Uml con respecto a otras notaciones?Sridhar Iyengar (Unisys Fellow)Uml se ha usado de facto para describir arquitecturas de softwareNo siempre con los resultados esperados

  • UML es un ADL? (2)Cris Kobryn (Chief Architect)Es un lenguaje grficoOfrece varios puntos de vistaOfrece adems una visin dinmica y esttica del sistema modeladoVictoria Stavridou (Director System Design Lab. SRI)Desde el punto de vista de los practicantes UML es un ADLSin embargo, los ADLs tienen varias fortalezas y debilidades

  • Fortalezas de los ADLsRepresentan una manera formal de describir una arquitecturaGeneralmente son textuales, lo que facilita su ser ledo por una mquina y automatizacinSoportan la descripcin de un sistema a alto nivelDada su naturaleza formal, pueden ayudar a validar completitud, consistencia, desempeo, entre otros.Generacin de automtica de los sistemas

  • Debilidades de los ADLsAl ser textuales, pueden no ser tan atractivos para los arquitectos u otros usuarios diferentes al dominio para el cual fue creadoAlgunos se especializan en dominios muy especficosAlgunos carecen de caractersticas de soporte sobre herramientas, e.g. no tienen una notacin grfica o un editorEn general, el soporte sobre herramientas es muy limitado o centrado en la academiaAn no soportan mltiples vistasRestrictivas a veces, no dan flexibilidad para que el arquitecto cambie el modelo arquitecturalAlgunos son muy genricosFalta de herramientas profesionales para el ambiente profesional

  • Y UML?FortalezasProvee una notacin grficaSoporta mltiples vistasMuchas herramientas que lo soportanEs un lenguaje de propsito general

    DebilidadesNo es apropiado para el anlisis automtico, validacin, verificacin de un arquitecturaNo tiene una semntica formal, puede generar ambigedad, inconsistencia en algunos casos

  • ConclusionesUML se ha vuelto un estndar de facto para describir arquitecturas, en la opinin de los autores debido a que es un lenguaje grfico y existen muchas herramientas que lo soportanUml sin embargo, necesita de extensiones como profiles, para poder centrarse en un dominio especfico y an as es difcil hacer un anlisis formalLos ADLs an no tienen una caracterizacin que permita, sin caer en los lmites de las definiciones, determinar formalmente qu es y no es un ADLExiste un nfasis desde inicios de la dcada, en las herramientas, pero estas an no son tan profesionales, ni flexibles, ni extensibles y su adopcin se ha hecho difcil en entornos industriales debido al gap entre la academia y la prctica

  • Referencias[1] R. K. Pandey. 2010.Architectural description languages (ADLs) vs UML: a review. SIGSOFT Softw. Eng. Notes 35, 3 (May 2010), 1-5. DOI=10.1145/1764810.1764828[2] Nenad Medvidovic and Richard N. Taylor. 2000. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. Softw. Eng. 26, 1 (January 2000), 70-93. DOI=10.1109/32.825767[3] Clemens, Paul. A Survey of Architecture Description Languages 1996 - http://portal.acm.org/citation.cfm?id=858261

  • Preguntas?

    ****************