Model-Based systematization of software architecture design
Tesis
Publication date
2014Metadata
Show full item record
Cómo citar
Bastarrica Piñeyro, María Cecilia
Cómo citar
Model-Based systematization of software architecture design
Author
Professor Advisor
Abstract
La Arquitectura de Software juega un rol crucial en la Ingeniería de Software, permitiendo el control intelectual, la integridad conceptual, la comunicación efectiva, la administración de un conjunto relacionado de variantes de sistemas, y la reutilización de conocimiento, experiencia, diseño e implementación. Aplicar el conocimiento arquitectónico promueve la calidad, reduce los riesgos, y es esencial para alcanzar las expectativas de los interesados con resultados predecibles. El conocimiento arquitectónico actual es vasto y está en constante aumento, pero a su vez, es heterogéneo y disperso, está expresado en diferentes niveles de abstracción y rigor, y requiere de herramientas que raramente están disponibles en los ambientes de desarrollo. En la práctica, el diseño arquitectónico está limitado por las habilidades y experiencia del arquitecto y por el conocimiento que domina, y requiere de gran esfuerzo para ajustarlo y adaptarlo al escenario de desarrollo. Así, el diseño arquitectónico rara vez alcanza el nivel de calidad que es posible dado el conocimiento arquitectónico disponible. Además, el esfuerzo del arquitecto no es repetible ya que resultan embebidos en las descripciones de las arquitecturas.
Aunque las técnicas de modelado están siendo usadas en Arquitectura de Software, la mayoría de los enfoques carecen de generalidad y homogeneidad, dificultando su integración y aplicación. En este trabajo, usamos megamodelado para definir un mecanismo unificado y homogéneo para capturar conocimiento arquitectónico, haciéndolo compartible, reusable, manejable por herramientas, y directamente aplicable. Definimos una interpretación formal de los conceptos principales de la disciplina en términos de artefactos de modelado. Además, cambiamos el foco de construir la descripción de la arquitectura directamente, a capturar cómo dicha descripción es creada. Para ello, definimos un lenguaje para capturar las acciones de diseño, y lo interpretamos en términos de técnicas de modelado haciendo el diseño repetible. Validamos nuestro enfoque definiendo procedimientos para guiar a la comunidad en cómo capturar conocimiento arquitectónico usando nuestra interpretación formal, aplicando estos procedimientos para capturar las técnicas de descripción y diseño del SEI, y aplicando el conocimiento capturado al diseño de la línea de productos de mallas geométricas.
Nuestro trabajo realiza dos contribuciones originales. Primero, definimos un mecanismo unificado y homogéneo para capturar conocimiento arquitectónico, usando técnicas de Ingeniería Dirigida por Modelos, particularmente el enfoque de megamodelado Global Model Management, y usando semántica denotacional para la formalización. Segundo, definimos una representación de decisiones y soluciones arquitectónicas en términos de un lenguaje específico, haciéndolas descriptivas y aplicables. Así, facilitamos el cambio de foco del arquitecto haciendo el diseño arquitectónico explícito, repetible y reusable, y obteniendo descripciones de arquitectura implícitas y generables en forma automática.
General note
Doctor en Ciencias, Mención Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/131098
Collections
The following license files are associated with this item: