Professional Documents
Culture Documents
Abstracto -Modelo-Driven Ingeniera (MDE) puede aprovechar para tratar con ellos. Cuando se usan juntos, facilitan la tarea de disear
la ingeniera de dominio, ofreciendo apoyo a la variabilidad compleja e implementacin arquitecturas de MDE. Los controladores guan el arquitecto dominio a travs de la
automtica. Sin embargo, se presta poca atencin al proceso de diseo de una arquitectura
identificacin de las diferentes posibilidades de variabilidad de dominio, mientras que
de dominio que se adapta bien a las tcnicas de MDE, como los idiomas fi cas de
los patrones ayudan proporcionando soluciones a algunos de los problemas
dominio-especfico y transformaciones de software. Una arquitectura de software fi
co-dominio especfico se desarrolla normalmente en base a unos requisitos cionado e implicados en el diseo de dominio basado en modelos.
importantes Se-, llamado conductores arquitectnicos. Este artculo presenta tres tipos de
controladores arquitectnicos que se pueden utilizar para construir una arquitectura de Tambin se presentan los resultados de una evaluacin llevada a cabo para demostrar la
software que se puede sacar el mximo provecho de los beneficios de MDE. Tambin se
viabilidad, los beneficios y las desventajas de la utilizacin de estos controladores y los
presentan algunos patrones que se pueden utilizar para ayudar en el diseo arquitectnico.
patrones.
Tambin se presenta una evaluacin, lo que demuestra que, cuando se usan juntos en un
proyecto de ingeniera de dominio basado en modelos, estos controladores y los patrones se
II. re Omain V Y ARIABILITY METRO ODEL- re HENDIDO
pueden llevar a algunos beneficios en trminos de capacidad de reutilizacin y complejidad,
pero que en algunos casos hay inconvenientes que deben tenerse en cuenta en un anlisis mi NGENIERA
de compensaciones.
La variabilidad es el concepto clave detrs de una arquitectura de dominio exitosa [1].
Hay dos tipos de dominio de la variabilidad [6]: rutinaria con fi guracin - un subconjunto de
caractersticas se selecciona para con fi gura un producto, el uso de estructuras en forma
Palabras Clave: modelo impulsado por ingeniera; ingeniera de dominio; los conductores de
de rbol; y cre- ativa de construccin - modelos describen la variacin a travs de
arquitectura; patrones; idiomas fi dominio C-especfico; codigo de GENERACION;
estructuras de grfico similar.
105
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
Figura caractersticas de dominio de autora 1. Web y las diferentes posibilidades con fi guracin producto. Desarrollado con ToolDAy [5].
sin seleccionar. En lugar de ello, tienen que ser combinadas de una manera creativa para con A. fi cacin de los conductores de variabilidad basados en caractersticas
106
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
B. La identificacin de los conductores de variabilidad basados en DSL Consideremos por ejemplo el dominio de web se muestra en la Figura 1A.
En este dominio, el subdominio de creacin puede ser iden- ti fi ed. Las
Algunos autores han propuesto extensiones a la tcnica bsica de modelado
caractersticas que representan este subdominio ( Autora, DocumentType y Relacin)
caracterstica para este fin [4]. Sin embargo, incluso el modelo de caractersticas
ser el punto de partida del metamodelo del DSL. Estas caractersticas son
extendidas tiene una notacin fijada cin, genrico. Esto puede no ser un problema en
luego analizados para determinar la forma en que se relacionan entre s y si se
el principio, durante el anlisis de variabilidad, pero ms tarde en el proceso MDE esta
necesitan conceptos adicionales. Por ejemplo, el modelo de meta- muestra en
notacin genrica no es capaz de representar todas las complejidades y detalles
la figura 3 incluye, adems de Autora, DocumentType y Relacin, obtenida
necesarios para la generacin de cdigo [3].
directamente del modelo de caractersticas, las relaciones entre ellos, y los
nuevos conceptos, tales como una Autor, Campo y Tipo de campo. Este modelo
desarrollo DSL es un complejo, tarea que consume tiempo [16], por lo que no es
describe la esencia meta del DSL y la variabilidad en ese subdominio en
viable construir un DSL completa slo para propsitos de diseo arquitectnico. Sin
particular.
embargo, la estructura de un DSL subyacente - su sintaxis abstracta, o metamodelo
[17] - se pueden utilizar para formalizar el espacio variacin en determinadas zonas
del dominio (subdominios). Se puede introducir limitaciones y reglas que van ms all
de la informacin contenida en el modelo de funcin, de fi nir con mayor precisin C. La identificacin de los conductores de integracin subdominio
cmo las aplicaciones varan en estas zonas, hasta un punto en el que el diseo
Tener identi fi aquellos conductores que describen la variabilidad basada en
puede comenzar. A diferencia de la variabilidad basado en funciones, los escenarios
DSL basado en funciones y, cada uno normalmente contenida en un subdominio
no son tiles aqu, porque no estn en posibilidades de variacin finitas.
fi bien de nido, el arquitecto dominio tiene que hacer frente a la integracin entre
ellos. Por ejemplo, en el dominio de web (Figura 1A) el subdominio de
navegacin puede contener referencias al subdominio de creacin (por ejemplo,
Por lo tanto, se propone la identificacin y desarrollo de metamodelos DSL para ser
una pgina que apunta a un tipo de documento fi ca). Estas interdependencias
utilizados como conductores de arquitectura. La identificacin del metamodelo del DSL
subdominio se deben hacer explcita, de modo que la arquitectura se puede
se basa principalmente en el modelo de funcin [6], pero el conocimiento del dominio
preparar para la existencia de varios subdominios y posiblemente mltiples DSL
del experto [3] Tambin es importante. Tambin depende de la identificacin de los
[10], [11]. Puede ser que sea necesario, por ejemplo, para definir un nico
subdominios, mediante el anlisis de por ejemplo la caracterstica de depen- dencias [7]
metamodelo para varios subdominios, y luego desarrollar concreta diferente
o su potencial para la automatizacin basada en modelos 1.
metamodelo del DSL. Proponemos que esta tarea debe comenzar por el anlisis de la caractersticas
de la tecnologa de dominio [ 7]. Estas son las caractersticas que representan formas fi cas
palabras, son bloques de construccin del dominio sobre el cual las funciones y servicios
de la tecnologa de dominio son buenos candidatos a formar parte de una conexin DSL.
1 Subdominios identi fi cacin est fuera del alcance de este documento. Otras lecturas en [9]
Figura 3. De definicin del metamodelo de autora de subdominio.
107
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
sintaxis para cada uno de ellos, para que puedan integrar bien, pero todava tienen se implementa como una subclase diferente de un prototipo comn. El generador de
diferentes puntos de vista. cdigo es responsable de generar cdigo que crea una instancia nica de la
Para lograr esta tarea, se inspecciona cada subdominio (modelos de caractersticas y alternativa seleccionada.
modelos DSL), en busca de elementos (caractersticas o metaelements DSL) que Si una caracterstica tiene que ser implementado por diferentes clases, se sugiere el
dependen de un elemento en un subdominio dife- rentes. Mltiples usos del mismo uso de la Resumen de fbrica o Mtodo de fbrica
nombre, sinnimos y homnimos pueden destacar este hecho. A continuacin, las patrones. Estos permiten, a travs de la herencia de la fbrica, para construir ms
dependencias deben estar documentados de forma clara, la anotacin de los modelos de de una clase ( ConcreteProduct) para la misma funcin. Para automatizar este
caractersticas y los modelos de DSL, o el uso de un documento separado que se patrn, las caractersticas alternativas que se implementan como productos de
enumeran estas dependencias. hormign, y el generador es responsable de producir el mtodo de fbrica o
planta de hormign que corresponde a la alternativa seleccionada.
En un trabajo previo [20], presentamos cmo algunos de los patrones GoF [21]
puede ayudar a hacer la arquitectura listo para los diferentes tipos de variabilidad
basado en funciones. A continuacin, extendemos ese trabajo, poniendo de relieve
cmo MDE se integra con cada patrn y especificar qu partes se pueden generar
de forma automtica. El escenario es el siguiente: un modelo de caractersticas se
describen las partes comunes y variables. Un generador de cdigo toma como
entrada una seleccin de caractersticas / sub-caractersticas que sern parte de la
solicitud generada, y produce el cdigo correspondiente. Dependiendo del tipo de
funcin, un patrn diferente se puede aplicar.
caractersticas alternativas. Estas son caractersticas que slo una alternativa de Figura 4. Ejemplo de fbrica abstracta se utiliza para caractersticas alternativas.
108
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
Derby y MySQL 2. Dependiendo de qu caracterstica es selec- cionado, se genera proach [23]. En este modelo, el modelo de entrada es atravesada y cada elemento es
un conjunto diferente de clases. visitado. Para cada elemento, una plantilla correspondiente se llama, de acuerdo con
El siguiente listado muestra una pieza de JET 3 cdigo que genera la clase DAOAbstractFactory.
el tipo del elemento del modelo. En el escenario de la ingeniera de dominio, que
Este cdigo utiliza etiquetas JET < c: Iterar> y < c: obtener>, junto con XPATH puede ser particularmente til para diferentes tipos de caractersticas obligatorias y
[22] consultas, para iterar a travs de todos los tipos de documentos y opcionales [7]. Un visitante atraviesa el modelo de caractersticas y, para cada funcin
generan un mtodo creador para cada tipo de documento. seleccionada, llama a la plantilla correspondiente. Normalmente, cada plantilla
produce un solo tting clase fi en la arquitectura a travs de los patrones de diseo
Este patrn, que se muestra en la Figura 6, aboga por el uso de una capa
de datos independiente, construida en una tecnologa que es independiente de
Figura 5. Modelo de Visitantes aplica la generacin de cdigo basado en funciones a. la herramienta DSL, y que contiene la informacin que es esencial para el
generador, y nada ms. De esta manera, la informacin que necesita el
El patrn primera (Figura 5) se conoce como la visitante AP- generador se hace explcito, lo que facilita la evolucin tanto del generador y
2 http://db.apache.org/derby/ y http://www.mysql.com
3 Java emisor plantillas (http://www.eclipse.org/modeling/m2t) 4 www.isis.vanderbilt.edu/projects/gme/ y www.eclipse.org/modeling/
109
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
la herramienta DSL. Tambin permite el desarrollo de ambos lados en paralelo (un el cambio es, podra no ser necesario cambiar el generador, que es una
equipo de desarrollo del generador y otro equipo de desarrollo de las herramientas / tarea ms compleja, propenso a errores.
metamodelos). Por ltimo, se libera el generador de una tecnologa de modelado en Para proteger el generador de modificaciones en el cdigo no generado, el adaptador
particular, y restringe la necesidad de aprender las particularidades de una [ 21] patrn puede ser utilizada, en recoger, de filtro y / o preparar la
herramienta de modelado fi ca a un solo equipo. El equipo de trabajo con la informacin que necesita el cdigo generado. los puente [ 21] patrn puede ser
generacin de cdigo puede centrarse en sus propias tareas. usado con el mismo propsito, la creacin de una representacin abstracta de
un cdigo de referencia, que es libre de ser modi fi introducir simples modi fi
Un segundo patrn es el caractersticas capa de datos. Normalmente, el modelo de caciones. Las clases parciales son otra manera de lograr esto, como muestra
caractersticas es un punto central de informacin para los generadores, incluso los que se el siguiente cdigo:
dedica exclusivamente a la variabilidad basada en DSL. Este patrn propone que una capa
comn de datos contiene toda la informacin relacionada con las caractersticas. Esta capa de
// Este archivo se genera clase parcial pblica ClientNodeObject {
datos debe estar diseado para ser accedido por cualquier generador, permitiendo que se
capa de datos delgada se puede utilizar para almacenar los datos de caractersticas sin depender de
El segundo ejemplo de cdigo en la seccin IV-A ilustra la caractersticas // Este archivo es escrito a mano clase parcial pblica
capa de datos patrn. En lugar de directamente ClientNodeObject {
Estos patrones tienen por objeto proporcionar una buena integracin entre el DefaultDAOFactoryProvider public class {DAOAbstractFactory esttica
privada
software generado por la no generado y, particularmente en aquellas reas
theInstance = null;
relacionadas con las fronteras de un subdominio. Los patrones de esta seccin se
dividen en cuatro categoras, de acuerdo con la dependencia entre el cdigo generado DAOAbstractFactory public static
getDefaultDAOFactoryInstance () {if (theInstance == null)
y no generado:
El cdigo generado depende de cdigo no generado. Este es el tipo ms theInstance = new DerbyDAOFactory (); volver theInstance; }}
simple de la interaccin, y consiste en hacer el cdigo de producto generador
que utiliza el cdigo existente, no generado, tal como un marco o API.
los fachada [ 21] patrn se puede utilizar para simplificar la interaccin entre El cdigo generado depende del cdigo generado. Esto suele suceder cuando
el cdigo generado y no generado. lugar In- de generar cdigo que utiliza hay dos subdominios que dependen unos de otros. Un problema que surge
mltiples clases y mtodos, un solo grupo lata clase Fachada todas las clases y cuando varias de red subdo- estn relacionados es cmo asegurar esta relacin
los mtodos necesarios. Esto no slo hace que las dependencias ms explcita, entre ellos. Una posibilidad es el uso de los nombres de los elementos como
sino que tambin puede proporcionar cierta proteccin contra los cambios en el referencias, es decir, el nombre de una referencia en un modelo debe coincidir
cdigo no generado. Dependiendo de la profundidad con el nombre del elemento que se hace referencia en otra
110
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
nmero de estudio 1 2 3
Dominio Autora de web Las aplicaciones basadas en la nube eventos cientficas
Ubicacin CCIM / USP - S~ ao Carlos / SP - Brasil Microsoft Research - Redmond / WA - EE.UU. Sistemas Aptor - S ao Carlos / SP - Brasil
Participantes 1 (autor) 2 (incl. Autor) 2
Duracin 3 meses (tiempo completo) 3 meses (tiempo completo) 2 meses (a tiempo parcial)
Num. DSL 4 3 2
Num. artefactos generacin 38 29 8
Tamao (LOC) de generacin de artefactos 1610 2847 1375
Tamao (LOC) ref. implementacin 5941 12127 71873
Num. de caractersticas de dominio 15 - 29
tecnologas de implementacin Apache Tomcat, MySQL, Java, JSP, JSTL, Servlets, Visual Studio 2008, SQL Server, C #, .NET,
XML, SQL, Eclipse .NET Remoting, Volta, PNRP, DBML, LINQ Adobe Dreamweaver, PHP, MySQL
tecnologas MDE Modelado del eclipse, el JET (Java emisor plantillas) Visual Studio 2008, Microsoft Las plantillas de texto, Modelado del eclipse, el JET (Java emisor plantillas)
Genrico Modelado Medio Ambiente
Tabla I
S UMARIO de los casos prcticos
modelo. Aunque no es ideal, esta simpli fi ca el proceso de implementacin de las Hay pocas mtricas orientadas al modelo disponibles y ex periencia han
referencias entre modelos [11]. demostrado que estos a menudo no son fiables [24]. Algunos autores han utilizado
Otra opcin son los puentes modelo, que consisten en los duplicados IONES indicadores clsicos orientados a objetos para evaluar los modelos [25], [26],
CRE de elementos de la metamodelo referencia en el metamodelo de referencia. argumentando que son ms estables y pueden detectar los mismos problemas que
En la creacin de pginas web ejem- plo, esto corresponde a la creacin, en el aparecern en el cdigo, pero antes en el proceso. Decidimos seguir esta segunda
metamodelo de navegacin, de un elemento llamado ReferenceToDocumentType, lnea de pensamiento y utilizar las medidas ms confiables:
o algo similar, que se puede utilizar para establecer referencias entre METRO 1: RP - Reutilizacin ciento. LOC reutilizado / COL total. Este es un clsico
metamodelos. Una ficha separada puede asegurarse de que estas referencias mtrica reutilizacin [27], que cuenta como reutilizado cualquier lnea de cdigo que se
son vlidas [10]. reutiliza sin modi fi cacin.
Para evaluar nuestro enfoque, hemos llevado a cabo tres casos estu- IES, que consideran reutilizado as como [28].
se describen en la Tabla I. El primer estudio implic el dominio de la creacin de METRO 3: Porcentaje de reutilizacin no deseado. La reutilizacin de las grandes piezas de
contenidos web, que es un dominio tcnico que incluye aplicaciones para la cdigo no utilizado puede distorsionar la mtrica reutilizacin por ciento. Por esta razn, hemos de
Publicacin y visualizacin informa- cin, tales como sitios web de noticias, foros y fi nida mtrica METRO 3, que consiste en el clculo de las lneas de cdigo que se reutiliza (copiado
blogs. Se realiz en un escenario puramente acadmico. Los estudios se en el nuevo contexto), pero no se estn utilizando. funciones IDE que encontramos mtodos que
realizaron segunda y tercera, en relacin con la industria. El segundo estudio no estn siendo llamados pueden ser utilizados para recoger estos datos.
incluy el dominio de dis- aplicaciones basadas en la nube Tributado, que es
tambin un dominio tcnico, principalmente relacionadas con la comunicacin y de
METRO 4: inestabilidad del mdulo. Esta medida tiene como objetivo evaluar lo
descubrimiento de funcionalidades peer-to-peer. El tercer estudio de caso involucr
difcil que es para modificar una pieza de software [29]. Los rangos de mtricas de
el dominio de los acontecimientos cientficas, que es un dominio de negocio.
cero a uno, donde cero significa un establo (fcil de modificar) mdulo, y uno
significa un inestable (culto di fi modificar) mdulo.
Los tres estudios de caso tom una cantidad de tiempo similar, aunque el tercer
METRO 5: ciclomtica complejidad. Se trata de una complejidad mtrica clsica
estudio tuvo una duracin ms pequea y slo la disponibilidad de tiempo parcial de
[30], basado en el nmero de caminos dentro de un programa. Los valores entre 1 y
los participantes. El tercer caso fue el ms grande en trminos de lneas de cdigo de
10 indican la simplicidad, y valores por encima de 50 representan mdulos complejos.
la implementacin de referencia, pero ms pequeo en trminos de los artefactos
En el contexto de esta investigacin, la complejidad es un indicador importante de
generacin, que re fl eja el hecho de que los participantes tenan menos tiempo para
cmo la arquitectura est facilitando tareas como la implementacin, mantenimiento y
implementar la automatizacin MDE.
reutilizacin del software.
111
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
WO W WO W WO W WO W WO W WO W
estudio 1 36.04 93.32 43.70 93.32 3.32 0 0,558 0,488 2,267 3,916 114.891 82.329
estudio 2 64,47 82,66 65.66 82.66 16,68 10,01 0,496 0,479 3.252 2.054 120,333 118,063
estudio 3 82.15 74.45 96.11 94.69 51.43 21.88 - - - - - -
Tabla II
mi Resultados de valoracin. WO = W ITHOUT APPROACH, W = W ITH de aproximacin.
Eclipse Metrics, JHawk y Net2Java 5. La extraccin manual tambin era necesario que se hace especfica a travs de la generacin de cdigo. La automatizacin tambin ayud a
esos artefactos, como las plantillas genera- cin de cdigo, no son compatibles con las reducir los errores en la personalizacin.
herramientas automticas. Otro aspecto planteado por los participantes fue el hecho de que la
El uso de estos indicadores indirectos, se intent obtener una imagen de cmo el reutilizacin fue alta sin el enfoque, pero a costa de tener grandes piezas de
enfoque puede influir diferentes factores en el desarrollo de software. Saber si los cdigo no utilizado copiado en el producto. Esto estaba causando cierta
resultados observados se di- rectamente causados por el enfoque y la arquitectura confusin, especialmente en el mantenimiento. El enfoque que ayud a reducir.
producida o por otros factores sigue siendo una amenaza para el estudio. Para
suavizar esta incertidumbre, una entrevista tambin se llev a cabo con los Los participantes tambin informaron de que las tecnologas de modelado y generacin
participantes en el tercer caso de estudio. La entrevista consisti en preguntas de cdigo son difciles de aprender, lo que requiere un cambio de pensamiento a utilizar
abiertas sobre las impresiones de los participantes sobre los beneficios y di fi correctamente ellos. Los participantes tenan habilidades bsicas de modelado y trabaj
cultades de utilizar el enfoque. como programadores durante dos aos, sin haber trabajado con MDE antes. Sin embargo,
112
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
Por ltimo, la realizacin de experimentos en un escenario industrial hace en el proceso de derivacin producto automtico. No hay duda de que este es el
que sea di fi culto a controlar todos los factores y variables que influyen, y por lo objetivo final a alcanzar, y estamos de acuerdo con eso. Sin embargo, se presta
tanto los resultados pueden ser muy sesgada. Esto tambin se ve agravado por poca atencin al proceso de produccin de un dominio de la arquitectura que est
el hecho de que los estudios se realizaron en ms de un pas, en diferentes preparado para este tipo de automatizacin, y creemos que los temas que hemos
entornos y con diferentes culturas. Sin embargo, esto tambin es una buena discutido en este trabajo son importantes.
cosa, ya que aumenta la diversidad y la confianza general con fi en los
resultados. Nuestra investigacin tiene como objetivo proporcionar una manera ms sistemtica para
ingeniera de dominio que beneficiarse de las tcnicas de MDE. Las principales aportaciones
VI. R TRABAJO ELACIONADAS
de esta investigacin son la identificacin de los espec fi cos de los conductores y los
Czarnecki et al. [32] presentar un enfoque basado en la plantilla para la generacin de patrones arquitectnicos que se pueden utilizar para producir una arquitectura de software fi
modelos a partir de modelos de caractersticas. A travs de pings MAP- entre caractersticas y co-dominio especfico, y la descripcin de cmo tratar con ellos utilizando los nuevos patrones
modelos generales, tales como datos o modelos de comportamiento, ms rico de informacin existentes y nuevos.
puede asociarse con las caractersticas. Cuando se aplica a los modelos arquitectnicos, la
variabilidad ms detallado puede ser especi fi cado, que es similar a nuestro enfoque. Sin Tambin proporcionamos los resultados de una evaluacin. A pesar de las
embargo, a diferencia de Czarnecki et al. De trabajo, que tambin se ocupan de los problemas amenazas a su validez, consideramos que las observaciones valiosas podran
que se derivan de la inclusin de los artefactos fi MDE-especficas, tales como modeladores fi hacerse. Los datos cualitativos y cuantitativos sealaron que el enfoque es viable, y
cas de dominio-especfico y generadores de cdigo. puede conducir a beneficios en trminos de desarrollo de software. La arquitectura
resultante ayud a aumentar el nivel de reutilizacin, como se observ en dos de los
tres estudios de caso, y tambin hacen que sea ms centrado, como se observa en
Perovich et al. [33] proponer un enfoque que utiliza las caractersticas de modularizar uno de los estudios. Los patrones propuestos tambin parece ayudar a tratar con el
decisiones arquitectnicas. Estos estn hechos Creta con- travs de transformaciones de diseo de arquitecturas para los dominios ms complejos, como la que implica
modelos que pro- automticamente fragmentos arquitectnicos Duce que corresponden a aplicaciones basadas en la nube distribuidos. Sin embargo, hemos observado algunos
las caractersticas seleccionadas. Al igual que en nuestro enfoque, la arquitectura es un inconvenientes que deben tenerse en cuenta en un anlisis de compensaciones antes
artefacto que se sienta en un meta-nivel diferente, incluyendo transformaciones y de usar nuestro enfoque.
generadores de cdigo que van a desaparecer de la arquitectura del producto fi nal. La
principal diferencia con respecto a nuestro trabajo es que incluimos una preocupacin
explcita sobre la variabilidad ms detallado, la aplicacin de DSL en partes del dominio Como trabajo futuro, estamos planeando ms experimentos con estos
para alcanzar el poder ms expresivo, mientras Perovich et al. utilizar slo modelos de controladores y los patrones, para refinar y extender ellos. Los resultados de los
caractersticas como un punto de partida para con producto fi guracin. primeros estudios de casos son prometedores, y esperamos que la realizacin de
ms experimentos puede ofrecer resultados ms slidos para la comunidad
interesada.
En [34], los autores presentan un enfoque basado en modelos para la ingeniera de
UN GRADECIMIENTOS
requisitos en un contexto lnea de productos. Al igual que en nuestra investigacin, que
Este trabajo fue apoyado en parte por el National Institute de Ciencia y
defienden la idea de que las caractersticas deben complementarse con modelos
Tecnologa de Ingeniera de Software (INES - www.ines.org.br), financiado
adicionales para representar mejor la variabilidad. reglas de composicin entre casos de
por el CNPq y FACEPE, otorga 573.964 / 2008-4 y APQ-1037 a 1,03 / 08 .
uso se utilizan de manera similar al concepto de casos de cambio, pero sin el beneficio
de la produccin de escenarios individuales que pueden ser utilizados en la evaluacin.
Adems, su trabajo no presentan detalles acerca de cmo se obtiene la arquitectura, con R EFERENCIAS
los patrones, por ejemplo.
[1] P. Clements y L. Northrop, Lneas de productos de software: ticas
ticas y patrones. Addison-Wesley, 2002. [2] L. Bass, P. Clements, y R. Kazman,
El trabajo descrito en [35] presenta un enfoque para derivar la arquitectura de los
Arquitectura de software
modelos de anlisis utilizando transformaciones semi-automticas. Sin embargo, se
en la prctica, 2 edicin. Addison-Wesley, 2003. [3] J.-P. Tolvanen y S. Kelly,
supone que los modelos de anlisis son lo suficientemente ricos como para ser
transformado automticamente en una arquitectura. Adems, slo un nico estilo De fi nicin de dominio especfico mo-
arquitectnico (C2 [35]) es compatible. Y finalmente, el enfoque se centra en el eling idiomas para automatizar la derivacin del producto: experiencias
recogidas,en 9 de SPLC-Europa, Ser. LNCS, vol. 3714. Springer, 2005, pp.
desarrollo de producto nico, que no cubra las cuestiones relacionadas con la
198-209.
reutilizacin, tales como la variabilidad de apoyo y derivacin producto.
113
IV Simpsio Brasileiro de Componentes, Arquiteturas e Reutilizao de software
[6] K. Czarnecki, Visin general de desa- software generativo [21] E. Gamma, R. Helm, R. Johnson, y J. Vlissides, Diseo
rrollo,en Int. Trabajo. en paradigmas de programacin no convencionales, Patrones: Elementos de software orientado a objetos reutilizables.
Francia, sept, 2004, Ser. LNCS, vol. 3566. Springer, 2005, pp. 326-341. Add.-Wesley, 1995.
d SR. L. Meira, Realizacin de anlisis en el dominio de modelo- impulsada por la Conocimiento de datos. Eng., vol. 64, no. 3, pp. 534-557, 2008.
reutilizacin del software, en 10 de ICSR, Ser. LNCS, vol. 5030. Springer, 2008, pp.
200-211.
[25] J. Muskens, M. Chaudron, y C. Lange, Investigaciones en
la aplicacin de mtricas a los modelos multi-vista de la arquitectura , en Conferencia
[10] J. clido y A. Kleppe, La construccin de un software flexible
EUROMICRO 30a. IEEE / CS Press, 2004, pp. 372C-
fbrica utilizando modelos fi especficos de dominio parcial , en 6 Workshop OOPSLA el
379.
dominio espec fi co de modelado, 2006, pp. 15-22.
JE P'
[20] ES Almeida, A. Alvaro, VC Garcia, LM Nascimento, Erez-Mart'nez y A. Sierra-Alonso, Desde modelo de anlisis de la
D. Lucr' edio, y SR d. L. Meira, Un enfoque sistemtico para disear arquitecturas arquitectura de software: Un mapeo PIM2PIM, en
de software fi co-dominio especfico, Jour. de Soft. ECMDA-FA, Ser. LNCS, vol. 4066. Springer, 2006, pp. 25-
- Editorial Academia, vol. 02, no. 2, pp. 38-51, 2007. 39.
114