Skip to main content

Optimizing Aspect-Oriented Mechanisms for Embedded Applications

  • Conference paper
Objects, Models, Components, Patterns (TOOLS 2010)

Abstract

As applications for small embedded mobile devices are getting larger and more complex, it becomes inevitable to adopt more advanced software engineering methods from the field of desktop application development. Aspect-oriented programming (AOP) is a promising approach due to its advanced modularization capabilities. However, existing AOP languages tend to add a substantial overhead in both execution time and code size which restricts their practicality for small devices with limited resources. In this paper, we present optimizations for aspect-oriented mechanisms at the level of the virtual machine. Our experiments show that these optimizations yield a considerable performance gain along with a reduction of the code size. Thus, our optimizations establish the base for using advanced aspect-oriented modularization techniques for developing Java applications on small embedded devices.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. JamVM homepage, http://jamvm.sourceforge.net

  2. Object Teams homepage, http://www.eclipse.org/objectteams/

  3. Bockisch, C., Arnold, M., Dinkelaker, T., Mezini, M.: Adapting Virtual Machine Techniques for Seamless Aspect Support. In: OOPSLA ’06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pp. 109–124. ACM, New York (2006)

    Chapter  Google Scholar 

  4. buglabs.net. Java VMs Compared (2008), http://bugblogger.com/java-vms-compared-160/

  5. Casey, K., Gregg, D., Anton Ertl, M., Nisbet, A.: Towards Superinstructions for Java Interpreters. In: Krall, A. (ed.) SCOPES 2003. LNCS, vol. 2826, pp. 329–343. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  6. Ertl, M.A., Gregg, D.: Combining Stack Caching with Dynamic Superinstructions. In: IVME ’04: Proceedings of the 2004 workshop on Interpreters, virtual machines and emulators, pp. 7–14. ACM, New York (2004)

    Chapter  Google Scholar 

  7. Ertl, M.A., Thalinger, C., Krall, A.: Superinstructions and Replication in the Cacao JVM interpreter. Journal of.NET Technologies 4, 25–32 (2006)

    Google Scholar 

  8. Golbeck, R.M., Kiczales, G.: A Machine Code Model for Efficient Advice Dispatch. In: VMIL ’07: Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms, p. 2. ACM, New York (2007)

    Chapter  Google Scholar 

  9. Haupt, M.: Virtual Machine Support for Aspect-Oriented Programming Languages. PhD thesis, Software Technology Group, Darmstadt University of Technology (2006)

    Google Scholar 

  10. Haupt, M., Mezini, M.: Virtual Machine Support for Aspects with Advice Instance Tables. L’Objet 11(3), 9–30 (2005)

    Google Scholar 

  11. Haupt, M., Schippers, H.: A Machine Model for Aspect-Oriented Programming. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 501–524. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  12. Herrmann, S.: Object Teams: Improving Modularity for Crosscutting Collaborations. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 248–264. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  13. Herrmann, S., Hundt, C., Mosconi, M.: ObjectTeams/Java Language Definition — version 1.0. Technical Report 2007/03, Fak. IV, Technical University Berlin (2007)

    Google Scholar 

  14. Hundt, C., Glesner, S.: Optimizing Aspectual Execution Mechanisms for Embedded Applications. In: Proceedings of the First Workshop on Generative Technologies (WGT) 2008. Electronic Notes in Theoretical Computer Science, vol. 238, pp. 35–45 (2009)

    Google Scholar 

  15. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–243. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  16. Lindholm, T., Yellin, F.: Java Virtual Machine Specification. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)

    Google Scholar 

  17. Smith, J., Nair, R.: Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann, San Francisco (June 2005)

    MATH  Google Scholar 

  18. Spinczyk, O., Lohmann, D., Urban, M.: Advances in AOP with AspectC++. In: New Trends in Software Methodologies Tools and Techniques. Frontiers in Artificial Intelligence and Applications, pp. 33–53 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hundt, C., Stöhr, D., Glesner, S. (2010). Optimizing Aspect-Oriented Mechanisms for Embedded Applications. In: Vitek, J. (eds) Objects, Models, Components, Patterns. TOOLS 2010. Lecture Notes in Computer Science, vol 6141. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13953-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13953-6_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13952-9

  • Online ISBN: 978-3-642-13953-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics