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
    info

    Universidad Politécnica de Cartagena

    Cartagena, España

    ROR https://ror.org/02k5kx966

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

ISSN: 1697-7920

Año de publicación: 2012

Volumen: 9

Número: 2

Páginas: 170-181

Tipo: Artículo

DOI: 10.1016/J.RIAI.2012.02.010 DIALNET GOOGLE SCHOLAR lock_openAcceso abierto editor

Otras publicaciones en: Revista iberoamericana de automática e informática industrial ( RIAI )

Objetivos de desarrollo sostenible

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.

Información de financiación

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.

Financiadores

Referencias bibliográficas

  • 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.