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.
- 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 ScholarDigital Library
- Aredo, D. B 2002. A framework for semantics of UML sequence diagrams in PVS. J. Universal Comput. Sci. 8, 7, 674--697.Google Scholar
- Bakal, M. and Cohen, J. 2010. Modeling c applications in uml with files and structures. http://www.dsp-fpga.com/articles/id/?3637.Google Scholar
- Bright, W. 1990. Debugging c pointers using mem. Micro Cornucopia, 21.Google Scholar
- 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 ScholarDigital Library
- Carton, A., Driver, C., Jackson, A., and Clarke, S. 2009. Model-driven theme/UML. Trans. Aspect-Oriented Software Dev. VI 5560, 238--266. Google ScholarDigital Library
- 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 Scholar
- Clarke, S. 2001. Composition of object-oriented software design models. Ph.D. thesis, DCU.Google Scholar
- Clarke, S. and Baniassad, E. 2005a. Aspect-Oriented Analysis and Design: The Theme Approach, 1st ed. Addison-Wesley, Upper Saddle River, NJ. Google ScholarDigital Library
- Clarke, S. and Baniassad, E. 2005b. Theme Composition. Object Technology Series. Addison-Wesley, Boston, MA, 199--244.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Dijkstra, E. W. 1976. A Discipline of Programming. Prentice Hall, Upper Saddle River, NJ. Google ScholarDigital Library
- Douglass, B. P. 2008. UML for C. White paper, Telelogic.Google Scholar
- 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 ScholarCross Ref
- Emerson, M. 2004. A survey of embedded systems tools. SIGBED Rev. 1, 3, 3--5. Google ScholarDigital Library
- Escher. 2008. Tools - Escher Research Institute. http://www.escherinstitute.org/Plone/tools/.Google Scholar
- Filman, R. E., Elrad, T., Clarke, S., and Akşit, M. 2005. Aspect-Oriented Software Development. Addison-Wesley, Boston, MA. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Gherbi, A. and Khendek, F. 2006. UML Profiles for real-time systems and their applications. J. Object Tech. 5, 4, 149--169.Google ScholarCross Ref
- Glinz, M. 2007. On non-functional requirements. In Proceedings of the 15th International Requirements Engineering Conference. IEEE, Los Alamitos, CA.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Klein, J., Fleurey, F., and Jzquel, J.-M. 2007. Weaving multiple aspects in sequence diagrams. Trans. Aspect Oriented Software Dev. 3, 167--199. Google ScholarDigital Library
- Kopetz, H. 1997. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, Norwell, MA. Google ScholarDigital Library
- Krasner, J. 2004. Model-based design and beyond: Solutions for today's embedded systems requirements. Analyst report, American Technology International.Google Scholar
- Laddad, R. and Alexander, R. 2003. Quality time. IEEE Software 20, 6, 90--93. Google ScholarDigital Library
- Lee, E. A. 2003. Overview of the Ptolemy Project. Tech. rep. UCB/ERL M03/25, University of California, Berkeley, California.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Miller, J. and Mukerji, J. 2003. MDA Guide. Tech. rep., Object Management Group.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- OMG. 2007. A UML profile for MARTE. Tech. rep. ptc/07-08-04, Object Management Group.Google Scholar
- 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 ScholarDigital Library
- Pont, M. J. 2002. Embedded C. Addison Wesley, Upper Saddle River, NJ. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Sadler, J. 1998. Object oriented idioms in c. http://ficl.sourceforge.net/oo_in_c.html.Google Scholar
- Samek, M. 1997. Portable inheritance and polymorphism in c. Embedded Syst. Program.Google Scholar
- Schmidt, D. C. 2006. Model-driven engineering. IEEE Comput. 39, 2, 25--31. Google ScholarDigital Library
- Selvaraj, H. and Jozwiak, L. 2005. Reconfigurable embedded systems: Synthesis, design and application. J. Syst. Archit. 51, 347--349. Google ScholarDigital Library
- Shukla, S. K. 2009. Model-driven engineering and safety-critical embedded software. Computer 42, 9, 93--95. Google ScholarDigital Library
- 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 ScholarDigital Library
- Straw, G., Georg, G., Song, E., Ghosh, S., France, R. B., and Bieman, J. M. 2004. Model Composition Directives. Springer, Berlin, 84--97.Google Scholar
- Wang, F. 2004. Formal verification of timed systems: A survey and perspective. Proc. IEEE 92, 8, 1283--1305.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Managing embedded systems complexity with aspect-oriented model-driven engineering
Recommendations
Model-driven engineering with domain-specific meta-modelling languages
Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many model-driven engineering (MDE) projects, several researchers have identified the need for domain-...
Model-driven engineering
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems ...
Large-scale Model-Driven Engineering of web user interaction
This paper reports the experience of WebRatio, a company focusing on Model-Driven Engineering (MDE) tools (WebRatio and WebRatio BPM) and services since 2001. The adopted MDE approach is based on the transformation of models expressed in a Domain ...
Comments