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

  1. Diego Alonso 1
  2. Juan Ángel Pastor 1
  3. Pedro Sánchez 1
  4. Bárbara Álvarez 1
  5. Cristina Vicente-Chicote 1
  1. 1 Universidad Politécnica de Cartagena

    Universidad Politécnica de Cartagena

    Cartagena, España


Revista iberoamericana de automática e informática industrial ( RIAI )

ISSN: 1697-7920

Year of publication: 2012

Volume: 9

Issue: 2

Pages: 170-181

Type: Article

DOI: 10.1016/J.RIAI.2012.02.010 DIALNET GOOGLE SCHOLAR lock_openOpen access editor

More publications in: Revista iberoamericana de automática e informática industrial ( RIAI )


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.

Funding information

Entre las líneas de investigación en marcha como continua-ción del trabajo se incluyen: desarrollar e integrar heurísticos para la distribución de actividades en hilos y el agrupamiento de las mismas, integrar herramientas de análisis de RTS así como reutilizar, en la medida de lo posible, los recursos proporcionados por frameworks robóticos como los descritos en la Sección 2, implementar un asistente para la selección y configuración de las características de los frameworks, extender el catálogo de frameworks disponible y, por último, desarrollar nuevos casos de estudio para demostrar la integración de frameworks complementarios, como interfaces gráficas, comu-nicaciones, etc.


Bibliographic References

  • 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.
  • 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.
  • 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.
  • OMG, Jun. 2008. MDA success stories.
  • OMG, 2009. UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, formal/2009-11-02.
  • OpenEmbeDD, 2008-2011. OpenEmbeDD project, Model Driven Engineering open-source platform for Real-Time & Embedded systems.
  • 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.