skip to main content
research-article

Managing embedded systems complexity with aspect-oriented model-driven engineering

Published:07 January 2011Publication History
Skip Abstract Section

Abstract

Model-driven engineering addresses issues of platform heterogeneity and code quality through the use of high-level system models and subsequent automatic transformations. Adoption of the model-driven software engineering paradigm for embedded systems necessitates specification of appropriate models of often complex systems. Modern embedded systems are typically composed of multiple functional and nonfunctional concerns, with the nonfunctional concerns (e.g., timing and performance) typically affecting the design and implementation of the functional concerns. The presence of crosscutting concerns makes specification of adequate platform-independent models a significant challenge. Aspect-oriented software development is a separation of concerns technique that decomposes systems into distinct features with minimal overlap. In this article, we illustrate how Theme/UML, an aspect-oriented modeling approach, can be used to separate embedded systems concerns and reduce complexity in design. We also present Model-Driven Theme/UML, a toolset for model-driven engineering of embedded systems that supports modularised design with Theme/UML and automatic transformations to composed models and source code.

References

  1. Afonso, F., Silva, C., Montenegro, S., and Tavares, A. 2007. Applying aspects to a real-time embedded operating system. In Proceedings of the 6th Workshop on Aspects, Components, and Patterns for Infrastructure Software. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aredo, D. B 2002. A framework for semantics of UML sequence diagrams in PVS. J. Universal Comput. Sci. 8, 7, 674--697.Google ScholarGoogle Scholar
  3. Bakal, M. and Cohen, J. 2010. Modeling c applications in uml with files and structures. http://www.dsp-fpga.com/articles/id/?3637.Google ScholarGoogle Scholar
  4. Bright, W. 1990. Debugging c pointers using mem. Micro Cornucopia, 21.Google ScholarGoogle Scholar
  5. Cabot, J., Clarisó, R., and Riera, D. 2008. Verification of UML/OCL class diagrams using constraint programming. In Proceedings of the International Conference on Software Testing Verification and Validation Workshop. IEEE, Los Alamitos, CA, 73--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Carton, A., Driver, C., Jackson, A., and Clarke, S. 2009. Model-driven theme/UML. Trans. Aspect-Oriented Software Dev. VI 5560, 238--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cheng, A. M. K. 2006. A survey of formal verification methods and tools for embedded and real-time systems. Int. J. Embedded Syst. 2, 3/4, 184--195.Google ScholarGoogle Scholar
  8. Clarke, S. 2001. Composition of object-oriented software design models. Ph.D. thesis, DCU.Google ScholarGoogle Scholar
  9. Clarke, S. and Baniassad, E. 2005a. Aspect-Oriented Analysis and Design: The Theme Approach, 1st ed. Addison-Wesley, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Clarke, S. and Baniassad, E. 2005b. Theme Composition. Object Technology Series. Addison-Wesley, Boston, MA, 199--244.Google ScholarGoogle Scholar
  11. Cottenier, T., van den Berg, A., and Elrad, T. 2007a. The Motorola WEAVR: Model weaving in a large industrial context. In Proceedings of the 6th International Conference on Aspect-Oriented Software Development, Industry Track. ACM, New York.Google ScholarGoogle Scholar
  12. Cottenier, T., van den Berg, A., and Elrad, T. 2007b. Stateful aspects: The case for aspect-oriented modeling. In Proceedings of the 10th International Workshop on Aspect-Oriented Modeling. ACM, New York, 7--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cui, Z.,Wang, L., and Li, X. 2009. Modeling and integrating aspects with uml activity diagrams. In Proceedings of the 2009 Symposium on Applied Computing. ACM, New York, 430--437. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Deng, G., Schmidt, D. C., and Gokhale, A. 2006. Addressing crosscutting deployment and configuration concerns of distributed real-time and embedded systems via aspect-oriented and model-driven software development. In Proceeding of the 28th International Conference on Software Engineering. ACM, New York, 811--814. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Didonet Del Fabro, M., Bézivin, J., Jouault, F., Breton, E., and Gueltas, G. 2005. AMW: A generic model weaver. In Journées sur l'Ingénierie Dirigée par les Modμ eles (IDM05). 105--114.Google ScholarGoogle Scholar
  16. Dijkstra, E. W. 1976. A Discipline of Programming. Prentice Hall, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Douglass, B. P. 2008. UML for C. White paper, Telelogic.Google ScholarGoogle Scholar
  18. Edwards, S., Lavagno, L., Lee, E., and Sangiovanni-vincentelli, A. 1997. Design of embedded systems: Formal models, validation, and synthesis. Proc. IEEE 85, 3, 366--390.Google ScholarGoogle ScholarCross RefCross Ref
  19. Emerson, M. 2004. A survey of embedded systems tools. SIGBED Rev. 1, 3, 3--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Escher. 2008. Tools - Escher Research Institute. http://www.escherinstitute.org/Plone/tools/.Google ScholarGoogle Scholar
  21. Filman, R. E., Elrad, T., Clarke, S., and Akşit, M. 2005. Aspect-Oriented Software Development. Addison-Wesley, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Fleurey, F., Baudry, B., France, R., and Ghosh, S. 2007. A generic approach for automatic model composition. In Proceedings of the Aspect Oriented Modeling Workshop. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Galpin, D., Driver, C., and Clarke, S. 2009. Modelling hardware verification concerns specified in the e language: an experience report. In Proceedings of the International Conference on Aspect-Oriented Software Development, Industry Track. ACM, New York, 207--212. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Gérard, S., Babau, J.-P., and Champeau, J., Eds. 2005. Model Driven Engineering for Distributed Real-time Embedded Systems. Hermes Science and Lavoisier, Paris.Google ScholarGoogle Scholar
  25. Gherbi, A. and Khendek, F. 2006. UML Profiles for real-time systems and their applications. J. Object Tech. 5, 4, 149--169.Google ScholarGoogle ScholarCross RefCross Ref
  26. Glinz, M. 2007. On non-functional requirements. In Proceedings of the 15th International Requirements Engineering Conference. IEEE, Los Alamitos, CA.Google ScholarGoogle ScholarCross RefCross Ref
  27. Greenwood, P., Bartolomei, T., Figueiredo, E., Dosea, M., Garcia, A., Cacho, N., SantAnna, C., Soares, S., Borba, P., Kulesza, U., and Rashid, A. 2007. On the impact of aspectual decompositions on design stability: An empirical study. In Proceedings of the Object-Oriented Programming Conference. Springer-Verlag, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Groher, I. and Voelter, M. 2007. XWeave: models and aspects in concert. In Proceedings of the 10th International Workshop on Aspect-Oriented Modeling. ACM, New York, 35--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Jayaraman, P. K., Whittle, J., Elkhodary, A. M., and Gomaa, H. 2007. Model composition in product lines and feature interaction detection using critical pair analysis. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems. Springer-Verlag, Berlin, 151--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Khan, M. U., Geihs, K., Gutbrodt, F., Gäohner, P., and Trauter, R. 2006. Model-driven development of real-time systems with UML 2.0 and C. In Proceedings of the 3rd International Workshop on Model-Based Methodologies for Pervasive and Embedded Software. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. 1997. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming. Springer-Verlag, Berlin, 220--242.Google ScholarGoogle Scholar
  32. Klein, J., Fleurey, F., and Jzquel, J.-M. 2007. Weaving multiple aspects in sequence diagrams. Trans. Aspect Oriented Software Dev. 3, 167--199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Kopetz, H. 1997. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, Norwell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Krasner, J. 2004. Model-based design and beyond: Solutions for today's embedded systems requirements. Analyst report, American Technology International.Google ScholarGoogle Scholar
  35. Laddad, R. and Alexander, R. 2003. Quality time. IEEE Software 20, 6, 90--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Lee, E. A. 2003. Overview of the Ptolemy Project. Tech. rep. UCB/ERL M03/25, University of California, Berkeley, California.Google ScholarGoogle Scholar
  37. Loghi, M., Margaria, T., Pravadelli, G., and Steffen, B. 2005. Dynamic and formal verification of embedded systems. Int. J. Parallel Program. 33, 6, 585--611. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Mehner, K., Monga, M., and Täantzer, G. 2006. Interaction analysis in aspect-oriented models. In Proceedings of 14th International Requirements Engineering Conference. IEEE, Los Alamitos, CA, 66--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Miller, J. and Mukerji, J. 2003. MDA Guide. Tech. rep., Object Management Group.Google ScholarGoogle Scholar
  40. Munnelly, J., Fritsch, S., and Clarke, S. 2007. An aspect-oriented approach to the modularisation of context. In Proceedings of the 5th International Conference on Pervasive Computing and Communications. IEEE, Los Alamitos, CA, 114--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Murphy, B., Wakefield, A., and Friedman, J. 2008. Best practices for verification, validation, and test in model-based design. Tech. rep. 2008-01-1469, The MathWorks, Inc.Google ScholarGoogle Scholar
  42. Nascimento, F. A. M., da S. Oliveira, M. F., Wehrmeister, M. A., Pereira, C. E., and Wagner, F. R. 2006. MDA-based approach for embedded software generation from a UML/MOF repository. In Proceedings of the 19th Annual Symposium on Integrated Circuits and Systems Design. ACM, New York, 143--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Oliveira, M. F. S., Eduardo W. B., Nascimento, F. A., and Wagner, F. R. 2007. Model driven engineering for MPSOC design space exploration. In Proceedings of the 20th Annual Conference on Integrated Circuits and Systems Design. ACM, New York, 81--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Oliver, I. 2003. Model driven embedded systems. In Proceedings of the 3rd International Conference on Application of Concurrency to System Design. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. OMG. 2007. A UML profile for MARTE. Tech. rep. ptc/07-08-04, Object Management Group.Google ScholarGoogle Scholar
  46. Pelánek, R. 2009. Fighting state space explosion: Review and evaluation. In Proceedings of the Formal Methods for Industrial Critical Systems Workshop. Springer-Verlag, Berlin, 37--52.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Pont, M. J. 2002. Embedded C. Addison Wesley, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Reddy, Y. R., Ghosh, S., France, R. B., Straw, G., Bieman, J. M., McEachen, N., Song, E., and Georg, G. 2006. Directives for Composing Aspect-Oriented Design Class Models. Springer-Verlag, Berlin.Google ScholarGoogle Scholar
  49. Riccobene, E., Scandurra, P., Bocchio, S., Rosti, A., Lavazza, L., and Mantellini, L. 2009. Systemc/c-based model-driven design for embedded systems. ACM Trans. Embedded Comput. Syst. 8, 4, 1--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Riccobene, E., Scandurra, P., Rosti, A., and Bocchio, S. 2006. A model-driven design environment for embedded systems. In Proceedings of the 43rd Annual Conference on Design Automation. ACM, New York, 915--918. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Sadler, J. 1998. Object oriented idioms in c. http://ficl.sourceforge.net/oo_in_c.html.Google ScholarGoogle Scholar
  52. Samek, M. 1997. Portable inheritance and polymorphism in c. Embedded Syst. Program.Google ScholarGoogle Scholar
  53. Schmidt, D. C. 2006. Model-driven engineering. IEEE Comput. 39, 2, 25--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Selvaraj, H. and Jozwiak, L. 2005. Reconfigurable embedded systems: Synthesis, design and application. J. Syst. Archit. 51, 347--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Shukla, S. K. 2009. Model-driven engineering and safety-critical embedded software. Computer 42, 9, 93--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Sousan, W., Winter, V., Zand, M., and Siy, H. 2007. ERTSAL: A prototype of a domain-specific aspect language for analysis of embedded real-time systems. In Proceedings of the 2nd Workshop on Domain-specific Aspect Languages. ACM, New York, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Straw, G., Georg, G., Song, E., Ghosh, S., France, R. B., and Bieman, J. M. 2004. Model Composition Directives. Springer, Berlin, 84--97.Google ScholarGoogle Scholar
  58. Wang, F. 2004. Formal verification of timed systems: A survey and perspective. Proc. IEEE 92, 8, 1283--1305.Google ScholarGoogle ScholarCross RefCross Ref
  59. Wehrmeister, M. A., Freitas, E. P., Pereira, C. E., and Wagner, F. R. 2007. An aspect-oriented approach for dealing with non-functional requirements in a model-driven development of distributed embedded real-time systems. In Proceedings of the 10th International Symposium on Object and Component-Oriented Real-Time Distributed Computing. IEEE, Los Alamitos, CA, 428--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Zhang, C. and Jacobsen, H.-A. 2003. Quantifying aspects in middleware platforms. In Proceedings of the 2nd International Conference on Aspect-Oriented Software Development. ACM, New York, 130--139. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Managing embedded systems complexity with aspect-oriented model-driven engineering

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader