[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2822304.2822316acmotherconferencesArticle/Chapter ViewAbstractPublication PagesjtresConference Proceedingsconference-collections
research-article

Fernando: An Educational Ahead-of-Time Bytecode Compiler

Published: 07 October 2015 Publication History

Abstract

While modern Java virtual machines are efficient and portable, they are also very complex software artifacts. Adapting or extending such a complex system within the scope of a university course is hardly an option. Fernando is a minimalist ahead-of-time bytecode compiler with the aim of providing an educational platform. This paper presents the design of Fernando and explains the reasoning behind various design decisions. The design results in an extremely small code base of around 3k lines of code. While high performance was not a primary design goal, our evaluation shows that Fernando achieves a reasonable level of performance.

References

[1]
P. P. G. Abenza, A. G. Olivo, and B. L. Latorre. VisualJVM: A visual tool for teaching Java technology. IEEE Transactions on Education, 51(1):86--92, Feb 2008.
[2]
A. Armbruster, J. Baker, A. Cunei, C. Flack, D. Holmes, F. Pizlo, E. Pla, M. Prochazka, and J. Vitek. A real-time Java virtual machine with applications in avionics. Trans. on Embedded Computing Sys., 7(1):1--49, 2007.
[3]
G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Java Series. Addison-Wesley, June 2000.
[4]
D. R. Butenhof. Programming with POSIX threads. Addison-Wesley Professional, 1997.
[5]
M. Dahm. Byte code engineering with the BCEL API. Technical report, Freie Universitat Berlin, April 2001.
[6]
S. E. Korsholm, H. Søndergaard, and A. P. Ravn. A real-time Java tool chain for resource constrained platforms. Concurrency and Computation: Practice and Experience, 26(14):2407--2431, 2014.
[7]
S. Liang. The Java Native Interface: Programmer's Guide and Specification. Addison-Wesley Professional, 1999.
[8]
T. Lindholm, F. Yellin, G. Bracha, and A. Buckley. Java Virtual Machine Specification. Oracle America, Inc., Java 7 SE edition, 2012.
[9]
D. Locke, B. S. Andersen, B. Brosgol, M. Fulton, T. Henties, J. J. Hunt, J. O. Nielsen, K. Nilsen, M. Schoeberl, J. Tokar, J. Vitek, and A. Wellings. Safety-Critical Java Technology Specification, Public draft. 2011.
[10]
F. Pizlo, L. Ziarek, E. Blanton, P. Maj, and J. Vitek. High-level programming of embedded hard real-time devices. In 5th European Conference on Computer Systems (EuroSys), pages 69--82, Paris, France, Apr. 2010. ACM Press.
[11]
F. Pizlo, L. Ziarek, and J. Vitek. Real time Java on resource-constrained platforms with Fiji VM. In Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES '09, pages 110--119, New York, NY, USA, 2009. ACM.
[12]
M. Schoeberl. JOP Reference Handbook: Building Embedded Systems with a Java Processor. Number ISBN 978-1438239699. CreateSpace, August 2009. Available at http://www.jopdesign.com/doc/handbook.pdf.
[13]
M. Schoeberl, T. B. Preusser, and S. Uhrig. The embedded Java benchmark suite JemBench. In Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2010), pages 120--127, New York, NY, USA, August 2010. ACM.
[14]
F. Siebert. Hard real-time garbage collection in the Jamaica Virtual Machine. In 6th International Workshop on Real-Time Computing Systems and Applications (RTCSA), pages 96--102, Hong Kong, 1999. IEEE Press, IEEE Computer Society Press.
[15]
F. Siebert. Hard Realtime Garbage Collection in Modern Object Oriented Programming Languages. aicas Books, 2002.
[16]
F. Siebert. Realtime garbage collection in the JamaicaVM 3.0. In 5th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), pages 94--103, Vienna, Austria, Sept. 2007. ACM Press.
[17]
H. Søndergaard, S. E. Korsholm, and A. P. Ravn. Safety-critical Java for low-end embedded platforms. In Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, pages 44--53. ACM, 2012.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
JTRES '15: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems
October 2015
130 pages
ISBN:9781450336444
DOI:10.1145/2822304
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Ahead-of-Time Compilation
  2. Education
  3. Java Virtual Machine

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

JTRES '15

Acceptance Rates

Overall Acceptance Rate 50 of 70 submissions, 71%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 47
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media