Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks

Diego Alonso, Juan Ángel Pastor, Pedro Sánchez, Bárbara Álvarez, Cristina Vicente Chicote

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

Texto completo:

PDF

Referencias

Alonso, D., Vicente-Chicote, C., Ortiz, F., Pastor, J., Álvarez, B., Jan. 2010. V 3CMM: a 3-View Component Meta-Model for Model-Driven Robotic Software Development. Journal of Software Engineering for Robotics (JOSER) 1 (1), 3–17.

Antkiewicz, M.and Czarnecki, K., Stephan, M., Dec. 2009. Engineering of framework-specific modeling languages. IEEE Trans. Software Eng. 35 (6), 795–824.

Artist-ESD, 2008-2011. ArtistDesign - European Network of Excellence on Embedded Systems Design. URL: http://www.artist-embedded.org/

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: Automotive Open System Architecture. URL: http://www.autosar.org/

Bensalem, S., Gallien, M., Ingrand, F., Kahloul, I., Thanh-Hung, N., Mar. 2009. Designing autonomous robots. IEEE Robot. Automat. Mag. 16 (1), 67 – 77.

Blair, G., Coupaye, T., Stefani, J. (Eds.), 2009. Annals of Telecommunication. Component-based architecture: the Fractal initiative. Vol. 64. SpringerVerlag.

Boehm, B., Abts, C., Brown, A., Chulani, S., Clark, B., Horowitz, E., Madachy, R., Reifer, D., Steece, B., 2000. Software Cost Estimation with Cocomo II. Prentice Hall.

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, D., Menga, G., Mar. 2000. Frameworks and pattern languages: an intriguing relationship. ACM Computing Surveys 32 (2), 1–6.

Bruyninckx, H., 2001. Open Robot Control Software: the OROCOS project. In: Proc. of the IEEE International Conference on Robotics and Automation. Vol. 3. IEEE, pp. 2523–2528.

Bures, T., Hnetynka, P., Plasil, F., Sep. 2007. Runtime concepts of hierarchical software components. International Journal of Computer & Information Science Special (8), 454–463.

Burns, A., Wellings, A., 1995. HRT-HOOD: A Structured Design Method for Hard Real-Time Ada Systems. Elsevier Science.

Buschmann, F., Henney, K., C. Schmidt, D., 2007a. Pattern-Oriented Software Architecture, Volume 4: A Pattern Language for Distributed Computing. John Wiley and Sons Ltd.

Buschmann, F., Henney, K., Schmidt, D., 2007b. Pattern-Oriented Software Architecture, Volume 5: On Patterns and Pattern Languages. John Wiley and Sons Ltd.

Bézivin, J., May 2005. On the unification power of models. Journal of Systems and Software 4 (2), 171–188.

Carlson, J., Håkansson, J.and Petterssonb, P., Aug. 2006. SaveCCM: An analysable component model for real-time systems. Electronic Notes in Theoretical Computer Science 160, 127–140.

Chella, A., Cossentino, M., Gaglio, S., Sabatucci, L., Seidita, V., 2010. Agentoriented software patterns for rapid and affordable robot programming. Journal of Systems and Software 83 (4), 557 – 573.

Childs, A., Greenwald, J., Jung, G., Hoosier, M., Hatcliff, J., 2006. CALM and Cadena: metamodeling for component-based product-line development. IEEE Computer 39 (2), 42–50.

Crnkovic, I., Chaudron, M., Larsson, S., Nov. 2005. Component-based development process and component lifecycle. Journal of Computing and Information Technology 13 (4), 321–327.

Dominguez-Brito, A.and Hernandez-Sosa, D., Isern-Gonzalez, J., CabreraGamez, 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, B., Feb. 2004. Real Time UML: Advances in the UML for Real-Time Systems. A-W Prof.

D’Souza, D., Wills, A., 1998. Objects, Components and Frameworks With UML: The Catalysis Approach. A-W.

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, M., Schmidt, D., Johnson, R., 1999. Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley & Sons.

Gomaa, H., 2000. Designing Concurrent, Distributed, and Real-Time Applications with UML. Object Technology. Addison-Wesley, iSBN: 0-201- 65793-7.

Grady Booch, G., Maksimchuk, R., Engel, M., Young, B., Conallen, J., Houston, K., 2007. Object-Oriented Analysis and Design with Applications, 3rd Edition. A-W.

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, A., Alonso, D., Ortiz, F., Franco, J., Sánchez, P., Álvarez, B., Mar. 2009. Design of service robots. IEEE Robot. Automat. Mag., Special Issue on Software Engineering for Robotics 16 (1), 24–33.

Jacobson, I., 1992. Object Oriented Software Engineering: A Use Case Driven Approach. A-W.

Lau, K., Wang, Z., Oct. 2007. Software component models. IEEE Trans. Software Eng. 33 (10), 709–724.

Medvidovic, N., Taylor, R., Jun. 2000. A classification and comparison framework for software architecture description languages. IEEE Trans. Software Eng. 26 (1), 70–93.

Mens, T., van Gorp, P., 2006. A taxonomy of model transformation. Electronic Notes in Theoretical Computer Science 152, 125–142.

OMG, Apr. 2006. CORBA Component Model formal/06-04-01 Specification. URL: http://www.omg.org/docs/formal/06-04-01.pdf

OMG, Jun. 2008. MDA success stories. URL: http://www.omg.org/mda/products_success.htm

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 project, Model Driven Engineering open-source platform for Real-Time & Embedded systems. URL: http://openembedd.org/home_html

Parsons, D., Rashid, A., Telea, A., Speck, A., Feb. 2006. An architectural pattern for designing component-based application frameworks. Software: Practice and Experience 36 (2), 157–190.

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, C., 2006. Communication patterns as key towards component-based robotics. International Journal on Advanced Robotics Systems 3 (1), 49–54.

Shaw, M., Clements, P., Mar. 2006. The golden age of software architecture. IEEE Softw. 23 (2), 31–39.

Sommerville, I., 2010. Software Engineering, 9th Edition. A-W.

Stahl, T., Völter, M., 2006. Model-Driven Software Development: Technology, Engineering, Management. Wiley.

Szyperski, C., 2002. Component software: beyond object-oriented programming, 2nd Edition. A-W.

van Ommering, R., van der Linden, F., Kramer, J., Magee, J., 2000. The koala component model for consumer electronics software. IEEE Computer 33 (3), 78–85.

Abstract Views

1866
Metrics Loading ...

Metrics powered by PLOS ALM


 

Citado por (artículos incluidos en Crossref)

This journal is a Crossref Cited-by Linking member. This list shows the references that citing the article automatically, if there are. For more information about the system please visit Crossref site

1. An approach to modeling and developing teleo-reactive systems considering timing constraints
Pedro Sánchez, Bárbara Álvarez, José Miguel Morales, Diego Alonso, Andrés Iborra
Journal of Systems and Software  vol: 117  primera página: 317  año: 2016  
doi: 10.1016/j.jss.2016.03.064



Creative Commons License

Esta revista se publica bajo una Licencia Creative Commons Attribution-NonCommercial-CompartirIgual 4.0 International (CC BY-NC-SA 4.0)

Universitat Politècnica de València     https://doi.org/10.4995/riai

e-ISSN: 1697-7920     ISSN: 1697-7912