Buscar en
Revista Iberoamericana de Automática e Informática Industrial RIAI
Toda la web
Inicio Revista Iberoamericana de Automática e Informática Industrial RIAI Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque bas...
Información de la revista
Vol. 9. Núm. 2.
Páginas 170-181 (Abril - Junio 2012)
Compartir
Compartir
Descargar PDF
Más opciones de artículo
Visitas
6443
Vol. 9. Núm. 2.
Páginas 170-181 (Abril - Junio 2012)
Open Access
Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks
Automatic Code Generation for Real–Time Systems: a Development Approach based on Components, Models, and Frameworks
Visitas
6443
Diego Alonso
Autor para correspondencia
diego.alonso@upct.es

Autor para correspondencia.
, Juan Ángel Pastor, Pedro Sánchez, Bárbara Álvarez, Cristina Vicente-Chicote
División de Sistemas e Ingeniería Electrónica (DSIE), Universidad Politécnica de Cartagena, Hospital de Marina, 30202, Cartagena (España)
Este artículo ha recibido

Under a Creative Commons license
Información del artículo
Resumen
Texto completo
Bibliografía
Descargar PDF
Estadísticas
Resumen

Los Sistemas de Tiempo-Real poseen características que los hacen particularmente sensibles a las decisiones arquitectónicas que se adopten. El uso de Frameworks y Componentes ha demostrado ser eficaz en la mejora de la productividad y calidad del software, sobre todo si se combina con enfoques de Líneas de Productos. Sin embargo, los resultados en cuanto a reutilización y estandarización dejan patente la ausencia de portabilidad tanto de los diseños como las implementaciones basadas en componentes. Este artículo, fundamentado en el Desarrollo de Software Dirigido por Modelos, presenta un enfoque que separa la descripción de aplicaciones de tiempo–real basadas en componentes de sus posibles implementaciones para distintas plataformas. Esta separación viene soportada por la integración automática del código obtenido a partir de los modelos de entrada en frameworks implementados usando tecnología orientada a objetos. Asimismo, se detallan las decisiones arquitectónicas adoptadas en la implementación de uno de estos frameworks, que se utilizará como caso de estudio para ilustrar los beneficios derivados del enfoque propuesto. Por último, se realiza una comparativa en términos de coste de desarrollo con otros enfoques alternativos.

Palabras clave:
Ingeniería del Software
Desarrollo de Software Basado en Componentes
Desarrollo de Software Dirigido por Modelos
Frameworks
Patrones de Diseño Software
Tiempo-Real
Abstract

Real-Time Systems have some characteristics that make them particularly sensitive to architectural decisions. The use of Frameworks and Components has proven effective in improving productivity and software quality, especially when combined with Software Product Line approaches. However, the results in terms of software reuse and standardization make the lack of portability of both the design and componentbased implementations clear. This article, based on the Model- Driven Software Development paradigm, presents an approach that separates the component-based description of real-time applications from their possible implementations on different platforms. This separation is supported by the automatic integration of the code obtained from the input models into object-oriented frameworks. The article also details the architectural decisions taken in the implementation of one of such frameworks, which is used as a case study to illustrate the proposed approach. Finally, a comparison with other alternative approaches is made in terms of development cost.

Keywords:
Software Engineering
Component-Based Software Development
Model-Driven Software Development
Framework
Software Design Patterns
Real-Time
Referencias
[Alonso et al., 2010]
D. Alonso, C. Vicente-Chicote, F. Ortiz, J. Pastor, B. Álvarez.
V 3CMM: a 3-View Component Meta-Model for Model-Driven Robotic Software Development.
Journal of Software Engineering for Robotics (JOSER), 1 (2010), pp. 3-17
[Antkiewicz et al., 2009]
M. Antkiewicz, K. Czarnecki, M. Stephan.
Engineering of framework-specific modeling languages.
IEEE Trans. Software Eng., 35 (2009), pp. 795-824
[Artist-ESD, 2008-2011]
Artist-ESD, 2008-2011. ArtistDesign - European Network of Excellence on Embedded Systems Design. URL: http://www.artist-embedded.org/.
[Atkinson et al., 2001]
Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J., 2001. Component-based product line engineering with UML. A-W Prof.
[Autosar, 2008-2011]
Autosar, 2008-2011. AUTOSAR: Automotive Open System Architecture. URL: http://www.autosar.org/.
[Bensalem et al., 2009]
S. Bensalem, M. Gallien, F. Ingrand, I. Kahloul, N. Thanh-Hung.
Designing autonomous robots.
IEEE Robot. Automat. Mag., 16 (2009), pp. 67-77
[Blair et al., 2009]
Blair, G., Coupaye, T., Stefani, J. (Eds.), 2009. Annals of Telecommunication. Component-based architecture: the Fractal initiative. Vol. 64. Springer-Verlag.
[Boehm et al., 2000]
B. Boehm, C. Abts, A. Brown, S. Chulani, B. Clark, E. Horowitz, R. Madachy, D. Reifer, B. Steece.
Software Cost Estimation with Cocomo II.
Prentice Hall, (2000),
[Brooks et al., 2007]
Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Oreback, A., 2007. Software Engineering for Experimental Robotics. Vol. 30 of STAR. Springer-Verlag, Ch. ORCA: A component model and repository, pp. 231-252.
[Brugali and Menga, 2000]
D. Brugali, G. Menga.
Frameworks and pattern languages: intriguing relationship.
ACM Computing Surveys, 32 (2000), pp. 1-6
[Bruyninckx, 2001]
Bruyninckx, H., 2001. Open Robot Control Software: the OROCOS project. Proc. of the IEEE International Conference on Robotics and Automation. Vol. 3. IEEE, pp. 2523-2528.
[Bures et al., 2007]
T. Bures, P. Hnetynka, F. Plasil.
Runtime concepts of hierarchical software components.
International Journal of Computer & Information Science Special, 8 (2007), pp. 454-463
[Burns and Wellings, 1995]
A. Burns, A. Wellings.
HRT-HOOD.
A Structured Design Method, (1995),
[Hard, in press]
Hard Real-Time Ada Systems. Elsevier Science.
[Buschmann et al., 2007a]
F. Buschmann, K. Henney, C.D. Schmidt.
Pattern-Oriented Software Architecture.
Volume 4: A Pattern Language for Distributed Computing. John Wiley and Sons Ltd, (2007),
[Buschmann et al., 2007b]
F. Buschmann, K. Henney, D. Schmidt.
Pattern-Oriented Software Architecture.
Volume 5: On Patterns and Pattern Languages. JohnWiley Sons Ltd, (2007),
[Bézivin, 2005]
J. Bézivin.
On the unification power of models.
Journal of Systems and Software, 4 (2005), pp. 171-188
[Carlson et al., 2006]
J. Carlson, J. Håkansson, P. Petterssonb.
SaveCCM: An analysable component model for real-time systems.
Electronic Notes in Theoretical Computer Science, 160 (2006), pp. 127-140
[Chella et al., 2010]
A. Chella, M. Cossentino, S. Gaglio, L. Sabatucci, V. Seidita.
Agentoriented software patterns for rapid and affordable robot programming.
Journal of Systems and Software, 83 (2010), pp. 557-573
[Childs et al., 2006]
A. Childs, J. Greenwald, G. Jung, M. Hoosier, J. Hatcliff.
CALM and Cadena: metamodeling for component-based product-line development.
IEEE Computer, 39 (2006), pp. 42-50
[Crnkovic et al., 2005]
I. Crnkovic, M. Chaudron, S. Larsson.
Component-based development process and component lifecycle.
Journal of Computing and Information Technology, 13 (2005), pp. 321-327
[Dominguez-Brito et al., 2004]
Dominguez-Brito, A.and Hernandez-Sosa, D., Isern-Gonzalez, J., Cabrera-Gamez, J., 2004. Integrating robotics software. In: Proc. of the IEEE Intl. Conference on Robotics and Automation, ICRA 2004. Vol. 4. IEEE, pp.3423-3428.
[Douglass, 2004]
Douglass, B., Feb. 2004. Real Time UML: Advances in the UML for Real-Time Systems. A-W Prof.
[D'Souza and Wills, 1998]
D. D'Souza, A. Wills.
Objects.
Components and Frameworks With UML: The Catalysis Approach, (1998),
[Fairbanks et al., 2006]
Fairbanks, G., Garlan, D., Scherlis, W., 2006. Design fragments make using frameworks easier. In: Proc. of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, OOPSLA 2006. ACM, pp. 75-88.
[Fayad et al., 1999]
Fayad, M., Schmidt, D., Johnson, R., 1999. Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley & Sons.
[Gomaa, 2000]
Gomaa, H., 2000. Designing Concurrent, Distributed, and Real-Time Applications with UML. Object Technology. Addison-Wesley, iSBN: 0-201-65793-7.
[Grady Booch et al., 2007]
G. Grady Booch, R. Maksimchuk, M. Engel, B. Young, J. Conallen, K. Houston.
Object-Oriented Analysis and Design with Applications.
3rd Edition., (2007),
[Hongxing et al., 2009]
Hongxing, W., Xinming, D., Shiyi, L., Guofeng, T., Tianmiao, W., 2009. A component based design framework for robot software architecture. In: Proc. of the 2009 IEEE/RSJ international conference on Intelligent robots and systems, IROS 2009. IEEE, pp. 3429-3434.
[Iborra et al., 2009]
A. Iborra, D. Alonso, F. Ortiz, J. Franco, P. Sánchez, B. Álvarez.
Design of service robots.
IEEE Robot. Automat. Mag., Special Issue on Software Engineering for Robotics, 16 (2009), pp. 24-33
[Jacobson, 1992]
Jacobson, I., 1992. Object Oriented Software Engineering: A Use Case Driven Approach. A-W.
[Lau and Wang, 2007]
K. Lau, Z. Wang.
Software component models.
IEEE Trans. Software Eng., 33 (2007), pp. 709-724
[Medvidovic and Taylor, 2000]
N. Medvidovic, R. Taylor.
A classification and comparison framework for software architecture description languages.
IEEE Trans. Software Eng., 26 (2000), pp. 70-93
[Mens and van Gorp, 2006]
T. Mens, P. van Gorp.
A taxonomy of model transformation.
Electronic Notes in Theoretical Computer Science, 152 (2006), pp. 125-142
[OMG, 2006]
OMG, Apr. 2006. CORBA Component Model formal/06-04-01 Specification. URL: http://www.omg.org/docs/formal/06-04-01.pdf.
[OMG, 2008]
OMG, Jun. 2008. MDA success stories. URL: http://www.omg.org/mda/products_success.htm.
[OMG, 2009]
OMG, 2009. UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, formal/2009-11-02. URL: http://www.omg.org/spec/MARTE/1.0.
[OpenEmbeDD, 2008-2011]
OpenEmbeDD, 2008-2011. OpenEmbeDD project, Model Driven Engineering open-source platform for Real-Time & Embedded systems. URL: http://openembedd.org/home_html.
[Parsons et al., 2006]
D. Parsons, A. Rashid, A. Telea, A. Speck.
An architectural pattern for designing component-based application frameworks.
Software: Practice and Experience, 36 (2006), pp. 157-190
[Pastor et al., 2010]
Pastor, J., Alonso, D., Sánchez, P., Álvarez, B., Jun. 2010. Towards the definition of a pattern sequence for real-time applications using a modeldriven engineering approach. In: Proc. of the 15th Ada-Europe International Conference on Reliable Software Technologies, Ada Europe 2010. LNCS. Springer-Verlag, pp. 167-180.
[Schlegel, 2006]
C. Schlegel.
Communication patterns as key towards component-based robotics.
International Journal on Advanced Robotics Systems, 3 (2006), pp. 49-54
[Shaw and Clements, 2006]
M. Shaw, P. Clements.
The golden age of software architecture.
IEEE Softw., 23 (2006), pp. 31-39
[Sommerville, 2010]
Sommerville, I., 2010. Software Engineering, 9th Edition. A-W.
[Stahl and Völter, 2006]
Stahl, T., Völter, M., 2006. Model-Driven Software Development: Technology, Engineering, Management. Wiley.
[Szyperski, 2002]
Szyperski, C., 2002. Component software: beyond object-oriented programming, 2nd Edition. A-W.
[van Ommering et al., 2000]
R. van Ommering, F. van der Linden, J. Kramer, J. Magee.
The koala component model for consumer electronics software.
IEEE Computer, 33 (2000), pp. 78-85
Copyright © 2011. Elsevier España, S.L.. Todos los derechos reservados
Opciones de artículo
Herramientas