An Aspect-Oriented Model-Driven Engineering Approach for Distributed Embedded Real-Time Systems

  • Marco Aurélio Wehrmeister UFRGS / UDESC
  • Carlos Eduardo Pereira UFRGS
  • Franz Josef Rammig Universität Paderborn

Resumo


To cope with the increasing design complexity of modern embedded real-time systems, Model-Driven Engineering (MDE) techniques are being proposed and applied within the domain of embedded real-time systems. This thesis proposes a design approach combining MDE and aspect-oriented concepts to deal with functional and non-functional requirements in a modularized way using higher abstraction levels. A configurable tool for code generation that supports the proposed methodology is presented. It is capable of creating source code for different target platforms from the models produced in earlier design phases. In addition to code generation for functional requirements handling, the tool also weaves aspects’ adaptations, which modify the generated code to handle non-functional requirements. The proposed approach has been successfully applied to the development of embedded real-time systems for different real-world applications. Obtained results show an improvement concerning the modularization of system’s requirements handling, leading to an increased reuse of previously created artifacts.

Referências

Andersson, P. and Höst, M. (2008). Uml and systemc: Comparison and mapping rules for automatic code generation. In Villar, E., editor, Embedded Systems Specification and Design Languages, pages 199–209. Artisan (2010). Real-Time Studio. [link].

Edwards, M. and Green, P. (2003). Uml for hardware and software object modeling. In Lavagno, L., Martin, G., and Selic, B., editors, UML for Real: Design of Embedded Real-Time Systems, pages 127–147.

Freitas, E. P. et al. (2007). DERAF: A high-level aspects framework for distributed embedded real-time systems design. In Early Aspects: Current Challenges and Future Directions, pages 55–74. Springer. IBM (2010). Rational Rose. [link].

Kiczales, G. et al. (1997). Aspect-oriented programming. In Proc. of European Conference on Object-Oriented Programming, pages 220–242, Berlin. Springer-Verlag.

OMG (2008a). Unified Modeling Language. [link].

OMG (2008b). UML profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE). [link].

Ossler, H. and Tarr, P. Using subject-oriented programming to overcome common problems in object-oriented software development/evolution. In Intl. Conf. on Software Engineering, pages 687–688.

Perseil, I. and Pautet, L. (2008). Foundations of a new software engineering method for real-time systems. Innovations in Systems and Software Engineering, 4(3):195–202.

Rajkumar, R. (2007). Model-based development of embedded systems: The sysweaver approach. In Ramesh,

S. and Sampath, P., editors, Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems, pages 35–46. Springer Netherlands.

Sant’anna, C. et al. (2003). On the reuse and maintenance of aspect-oriented software: An assessment framework. In Anais do XVII Simpósio Brazilerio de Engenharia de Software, number 17, pages 19–24.

Selic, B. (2003). The pragmatics of model-driven development. IEEE Software, 20(5):19–25.

Stein, D. et al. (2006). Expressing different conceptual models of join point selections in aspect-oriented design. In 5th Intl. Conf. on Aspect-Oriented Software Development, pages 15–26, New York. ACM.

Tesanovic, A. et al. (2005). Aspects and components in real-time system development: Towards reconfigurable and reusable software. Journal of Embedded Computing, 1(1/2005):17–37.

UPB (2008). Organic reconfigurable operating system. [link].

Wehrmeister, M. A. (2009). An Aspect-Oriented Model-Driven Engineering Approach for Distributed Embedded Real-Time Systems. PhD thesis, Federal University of Rio Grande do Sul, Brazil. [link].

Wehrmeister, M. A. et al. (2004). Optimizing real-time embedded systems development using a rtsj-based api. In On the Move to Meaningful Internet Systems: OTM 2004 Workshops, pages 292–302. Springer.

Wehrmeister, M. A. et al. (2007). An aspect-oriented approach for dealing with non-functional requirements in a model-driven development of distributed embedded real-time systems. In 10th Intl. Symp.on Object Oriented Real-Time Distributed Computing, pages 428–432, Washington. IEEE Computer Society.

Wehrmeister, M. A. et al. (2008). GenERTiCA: A tool for code generation and aspects weaving. In 11th IEEE Intl. Symp. on Object Oriented Real-Time Computing, pages 44–54. IEEE Computer Society.

Wehrmeister, M. A. et al. (2009). An infrastructure for UML-based code generation tools. In Analysis, Architectures and Modelling of Embedded Systems, volume 310/2009, pages 32–43. Springer, Boston.
Publicado
20/07/2010
WEHRMEISTER, Marco Aurélio; PEREIRA, Carlos Eduardo; RAMMIG, Franz Josef. An Aspect-Oriented Model-Driven Engineering Approach for Distributed Embedded Real-Time Systems. In: CONCURSO DE TESES E DISSERTAÇÕES (CTD), 23. , 2010, Belo Horizonte/MG. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2010 . p. 129-136. ISSN 2763-8820.