Professional Documents
Culture Documents
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/228852721
Article
CITATION READS
1 652
3 authors:
Juan A. Colmenares
Samsung
35 PUBLICATIONS 214 CITATIONS
SEE PROFILE
* Publicado en las Actas del IV Congreso de Automatizacin y Control (CAC03), Mrida, Noviembre, 2003.
2
principales de interaccin en los sistemas basados mecanismos necesarios para que ellos se integren
en componentes [24]: a fin de crear nuevas aplicaciones. Las preguntas
1. Componente-Componente (C-C): permite la que se intentan responder en esta seccin son:
interaccin entre componentes. De este tipo cmo se desarrolla un componente? y cmo se
de interaccin se obtiene la funcionalidad de crea una aplicacin que reutilice componentes
la aplicacin, de forma tal que los contratos existentes?
que especifican este tipo de interaccin Sommerville [1] clasifica los procesos de
pueden ser clasificados como Contratos a desarrollo de software basados en la reutilizacin
Nivel de Aplicacin. de componentes en dos categoras:
2. Componente-Framework (C-F): posibilita las Desarrollo de componentes: Este proceso
interacciones entre el framework y sus implica la adaptacin o desarrollo de
componentes. Dicha interaccin permite que componentes con el propsito expreso de ser
el framework administre los recursos de los reutilizados en futuras aplicaciones. Su
componentes. Los contratos que especifican objetivo es producir repositorios de activos
estas interacciones pueden ser clasificados que puedan ser reutilizados en el desarrollo
como Contratos a Nivel de Sistema. de software. Para ser reutilizables, estos
3. Framework-Framework (F-F): posibilita las componentes deben satisfacer las
interacciones entre framewoks y permiten la caractersticas descritas en la Seccin 2.
composicin de componentes desplegados en Desarrollo de software con reutilizacin de
framewoks heterogneos. Estos contratos componentes: Es un proceso en el cual el
puede ser clasificados como Contratos de desarrollo de una nueva aplicacin involucra
Interoperabilidad. la reutilizacin de un conjunto de
La forma de materializar la composicin entre componentes existentes. Este enfoque
componentes depende de los mecanismos maximiza la reutilizacin de componentes de
especificados por su modelo de programacin. software existentes y reduce el nmero de
Tpicamente, los modelos de componentes se componentes que requieren ser desarrollados
basan en tecnologas orientadas a objetos, por lo en su totalidad (desde cero). Para ser exitoso,
tanto los mecanismos de composicin emplean este proceso demanda dos condiciones
algunas caractersticas tales como relaciones entre mnimas: i) la existencia de repositorios o
clases (especializacin, agregacin, asociacin y bases de componentes reutilizables y ii) que
uso) [10], polimorfismo y enlace dinmico [9]. los componentes sean confiables y acten de
Adicionalmente, dichos mecanismo de acuerdo a sus especificaciones.
composicin tpicamente se describen mediante el El modelo de procesos descrito por
uso de patrones de diseo [32], [33]. Sametinger [2] provee, sin embargo, una visin
Las tecnologas de componentes no mucho ms completa y amplia del desarrollo de
distribuidos, tpicamente asociadas con software basado en componentes. Este modelo,
aplicaciones de escritorio (e.g. Controles ActiveX denominado ciclo de vida gemelo (twin life cycle),
[14] y JavaBeans [15]), hacen uso extensivo de divide el proceso de desarrollo de software en dos
caractersticas orientadas a objetos dentro de sus grandes bloques paralelos, tal como se ilustra en
mecanismos de composicin. Por el contrario, en la Figura 2. El primer bloque, conocido como
la composicin de componentes distribuidos (e.g. Ingeniera de Dominios, contempla los procesos
Enterprise JavaBeans [11], CORBA Component necesarios para desarrollar activos de software
Model [12] y .NET [13]) principalmente se reutilizables en un dominio particular. El segundo
emplean relaciones de uso, asociacin y bloque es denominado Ingeniera de
agregacin. Aplicaciones. Su propsito es el desarrollo de
aplicaciones basado en la reutilizacin de activos
VI. EL PROCESO DE DESARROLLO de software producidos a travs de la Ingeniera
de Dominios.
En las secciones anteriores, se caracterizaron
los componentes de software y se describieron los
7
Ingeniera de Dominios
Ingeniera de Aplicaciones
Figura 2. El modelo de procesos gemelos para el desarrollo de software basado en componentes
Procesos de
Post-desarrollo
Anlisis del
Dominio de
Apliacin
Descubrimiento
Entrega del
de
Sistema
Requerimientos
Anlisis y
Pruebas del Procesos
Especificacin de
Sistema gerenciales
Requerimientos
Diseo de
Componentes
Las tres primeras fases del modelo son La fase de Anlisis del Contexto permite que el
similares a los modelos de procesos tradicionales. grupo de desarrollo adquiera un conocimiento
8
[13] T. L. Thai and H. Lam. .NET framework [27] R. Duke, G. Rose y G. Smith. Object-Z:
essentials. O'Reilly & Associates, 3ra A specification language advocated for
edicin, 2003. the description of standards. Computer
[14] D. Chappell. Understanding ActiveX and Standards and Interfaces, 17:511-533,
OLE. Microsoft Press, 1ra edicin, Enero Septiembre 1995.
1996. [28] K. Lano, J. Bicarregui, J. Luiz Fiadeiro y
[15] Sun Microsystems, Inc. Javabeans. T. Maibaum. Composition of reactive
http://java.sun.com/product system components. En 1st Workshop on
s/javabeans/docs/spec.html, Component-Based Systems, Zurich,
Agosto 1997. Switzerland, 1997.
[16] J. Morris, G. Lee, K. Parker, G.A. [29] X. Franch. Systematic formulation of
Bundell, y C.P. Lam. Software non-functional characteristics of
component certification. IEEE software.
Computer, 34(9), Septiembre, 2001. In 3rd International Conference on
[17] Object Management Group, Inc. Requirements Engineering (ICRE),
Common object request broker pages 174-181, Colorado Springs (USA).
architecture: Core specification. [30] K. C. Wallnau and D. Plakosh.
http://www.omg.org/docs/for Waterbeans: A custom component model
mal/02-12-06.pdf, Diciembre and framework.
2002. http://www.sei.cmu.edu/cbs/
[18] Sun Microsystems, Inc. Java remote cbse2000/papers/23/23.html,
method invocation specification. 2000.
ftp://ftp.java.sun.com/docs [31] C. Arvalo, J. Colmenares, N. Queipo,
/j2se1.4/rmi-spec-1.4.pdf. N. Arap y J. Villalobos. A CORBA and
[19] A. Goldberg and D. Robson. Smalltalk Web technology based framework for
80 : The language. Addison-Wesley Pub the analysis and optimal design of
Co, Enero 1989. complex systems in the oil industry. En
[20] B. Stroustrup. The C++ programming 3rd Internacional Conference on
language. Addison-Wesley Pub Co, 3ra Enterprise Information Systems (ICEIS
edicin, Febrero 2000. 2001), Julio 2001.
[21] B. Joy, G. Steele, J. Gosling y G. [32] E. Gamma, R. Helm, R. Johnson y J.
Bracha. The Java(TM) languaje Vlissides. Design patterns. Addison-
specification. Addison-Wesley Pub Co, Wesley Pub Co, Enero 1995.
2da edicin, Junio 2000.
[22] D. W. Nance. Pascal: Understanding [33] F. Marinescu. EJB design patterns:
programming and problem solving. West Advanced patterns, processes and
Information Pub Group, 4ta edicin, idioms. John Wiley & Sons, Febrero
Enero 1995. 2002.
[23] D. Rev. Smorlarski, Research [34] J. Montilva, K. Hazam y M. Gharawi.
& Education Association y The Watch Model for development
Dennis Chester Smolarski. The business software in small and midsize
essentials of FORTRAN (essentials). organization. In IV World
Research & Education Assn, Mayo Multiconference on Systemics,
1994. Cybernetics and Informatics (SCI'2000),
[24] T. Digre. Business object component Orlando, Florida (USA), Julio 2000.
architecture. IEEE Software, 15(5), [35] J. Montilva and J. Barrios. A
1998. Component-Based Method for
[25] A. Beugnard, J-M Jzquel y N. Developing Web Applications. 5th
Plouzeau. Making components contract International Conference on Enterprise
aware. IEEE Computer, 32(7):38-45, Information Systems (ICEIS2003),
Julio 1999. Angers, France, 2003.
[26] B. Meyer. Eiffel: The language. Prentice
Hall PTR, Octubre, 1991.