JvmHw
From JopWiki
Thie page is designated for the course The Java Virtual Machine in Hardware. Select one of the projects and start editing this page.
JOP Reference Handbook (alpha version/Oct. 2007)
Contents |
[edit] Project List
Select on project from the list or add your own idea.
[edit] Generic Connection Framework (GCF)
The GCF is part of J2ME/CLDC, and is a substitution for java.lang.io to provides I/O functions for embedded devices. GCF is defined in javax.microedition.io
[edit] Massive parallel JOP
Run a many core JOP CMP system on a DRC Reconfigurable Processor Units (RPU).
[edit] Bytecode Instruction Frequency
In the current literature no detailed information on the dynamic instruction frequency of Java bytecode is available.
- Collect detailed instruction frequency information on the SPEC jvm98
- Compare it with other (embedded) benchmarks
- Is the literature correct?
- Which instructions use the most execution time on JOP? (Indication for points to enhance)
- Memory access frequency, method sizes, stack sizes
[edit] JVM Test Suit
At the moment there are no free test suits available to test a JVM implementation. The simple framework available with JOP (test.jvm) shall be expanded to cover a wide range of JVM bytecode tests.
[edit] NFS with ejip
Implementation of the network file system (NFS) client on top of the ejip UDP/IP stack. Special care to write a small, time predictable implementation.
[edit] EDF Scheduler
[edit] Java.lang.Thread
[edit] Your ideas
Feel free to add your idea to this list
[edit] Chosen Projects 2008
[edit] Java Locks with PCE
Current implementation of synchronized in JOP is just turn off the scheduling interrupt. That is effective PCE without setting the ceiling level (default is maximum).
Project page: Java Locks with PCE
Assigned to: Gerald Scharitzer
[edit] Real-time TCP/IP
Enhance the existing real-time TCP/IP stack (ejip) and implement a higher level protocol on top of it.
Project page: ejip
Assigned to: [Stefan Tauner, Stefan Rottensteiner, Jakob Wilhelm, Gerald Pfister]
[edit] Scoped Memory
Scoped memory is a simplified version for dynamic memory management for real-time systems to avoid garbage collection. Implementation of scoped memory, as defined by Safety Critical Java. See: http://www.jopdesign.com/doc/scjava_isorc2007.pdf
Assigned to: Günter Khyo
[edit] Wireless Robot Control
Attach the XBee module to the JOP powered LEGO robot and implement a simple protocol.
Project page: Wireless Robot Control
Assigned to: Yilin Huang
[edit] Table/Lookupswitch in Microcode
Bytecode instructions tableswitch and lookupswitch are implemented in Java on JOP to save microcode memory. However, implementing bytecodes in Java complicates WCET analysis.
- Microcode implementation
- WCET analysis of the two instructions
- (Add the WCET computation to the WCA tool)
Assigned to: Thomas Hassler Lukas Marx
[edit] WCET analysis using the UPPAAL modelchecker
UPPAAL is a model checker for real-time systems, based on networks of timed automata, extended with bounded data types. It has been shown that model checking can improve WCET analysis. For JOP, it could be possible to compute tighter WCET bounds using a more accurate model of the method cache.
The goal's project is to write a translator from compiled java programs to UPPAAL models, and use it to evaluate the feasibility of the approach.
Project page: WCET using UPPAAL
Assigned to: Benedikt Huber, David Markvica, Ingo Seidel
[edit] Chosen Projects 2007
[edit] Eclipse Plugin for JOP
An Eclipse plugin (http://vsis.sourceforge.net/) to hide the Makefile has been developed by Rasmus and is now not maintained anymore. Extend the plugin:
- Configuration of the processor within the plugin
- Download with a Java program (JavaDown)
- Interface to Ant instead of make
Assigned to: johan
[edit] FPU vs. Softfloat
- Add the FPU to JOP and invoke it from microcode
- Compare the performance and resource usage with the SoftFloat implementation
Results see FPUvsSoftfloat
Assigned to: stephan
[edit] CACAO and gcj on a MIPS or LEON
[edit] Links
- [1] some VHDL tips available
