HÉCTOR A. DURÁN-LIMÓN, MARIA ELENA MEDA-CAMPAÑA, ALMA LILIA SAPIEN-AGUILAR, LAURA CRISTINA PIÑON-HOWLET: Un marco de
trabajo de una fábrica de software para el reuso del diseño arquitectónico y de componentes de software
• Vol. II, No. 1 • Enero-Abril 2008 •
Conclusiones
Se presenta una propuesta original
para incrementar el nivel de reuso en dos
dimensiones: diseño arquitectónico y
componentes de software. Tulum es un
marco de trabajo para una fábrica de
software que permite definir modelos
independientes de un estándar de modelo
de componentes. El proceso de ensamble
es simplificado por la capacidad de
arrastrar-y-soltar componentes del
repositorio de tipos.
Tales modelos pueden ser
transformados automáticamente a modelos
involucrando un estándar de modelo de
componentes. Estos modelos alcanzan
altos niveles de abstracción ya que se usa
una notación de tipo ADL para describir
visualmente los ensambles. Un ensamble
en un modelo de componentes estándar se
transforma en un ensamble de
componentes de software. Se usan
múltiples vistas arquitectónicas en donde
la vista C&C conceptual es refinada a una
vista C&C ingenieril misma que se
transforma en la vista C&C de software.
Esta transformación se obtiene en base a
la información extraída del repositorio de
software y del hecho que hay un mapeo
entre tipos de componentes y componentes
de software. Más aún, se genera glue code
mismo que permite comunicar a los que de
otra forma son componentes aislados. La
verificación de los aspectos estructurales
de los ensambles se realiza mediante el
uso de esquemas de XML y un mecanismo
de chequeo de tipos. El desarrollo de un
caso de estudio ha ilustrado nuestra
propuesta. Creemos que el marco de
trabajo presentado puede ser usado para
acelerar el proceso de desarrollo de
software en donde el desarrollador se
concentra en aspectos con un mayor nivel de
abstracción.
El prototipo actual, mostrado en la figura
12, soporta el ensamble conceptual de
componentes así como la validación de su
sintaxis. Se está trabajando en extender la
herramienta para facilitar la transformación
de ensambles ingenieriles de componentes
a ensambles de componentes de software.
Líneas futuras de investigación incluyen
proporcionar soporte para verificar la
semántica de los ensambles. Lenguajes
como OCL proporcionan un buen grado de
flexibilidad para definir las reglas de
verificación requeridas (UML 2.0 OCL
Specification. OMG. 2003). Finalmente,
también se esta trabajando en el tema de
desarrollo basado en modelos multinivel en
donde los modelos son definidos en
diferentes niveles de abstracción (Duran-
Limon, 2006). Un nivel de modelado se
construye a partir del ensamble de elementos
de software definidos en el nivel inferior
inmediato. Este paradigma promete
disminuir de manera efectiva la complejidad
de desarrollo y facilitar el reuso a gran escala.
Literatura citada
BASS, L., P. Clements, et al. (2003). Software Architecture in
Practice, Addison Wesley.
BLAIR, G. S. and J.-B. Stefani. “Open Distributed Processing and
Multimedia.”, Addison-Wesley. 1997.
DURAN-Limon, Hector. Multilevel Modeling Software Development.
In Proceedings of the Tercer Congreso de Electrónica, Robótica
y Mecánica Automotriz (CERMA), Morelos, México, September,
2006.
ECLIPSE Graphical Editing Framework (GEF). http://
www.eclipse.org/gef/. 2007.
ECLIPSE IDE. http://www.eclipse.org/. 2007.
GLOBAL Grid Forum. Job Submission Description Language (JSDL),
Specification, Version 1.0, 2005. http://forge.gridforum.org/
projects/jsdl-wg
HECTOR A. Duran-Limon, Gordon S. Blair, “QoS Management
Specification Support for Multimedia Middleware.” The Journal
of Systems and Software, Elsevier, 72(1), pp 1-23: 2004.
JACK Greenfield and Keith Short. Software Factories: Assembling
Applications with Patterns, Models, Frameworks and Tools.
OOPSLA ’03: Companion of the 18th annual ACM SIGPLAN
conference on Object-oriented programming, systems,