I write this proposal, how can i improve it in your opinion ? What should i 
change or add to it ?
Name: Andrea Francesco Iuorio
Location: Milan, Italy ( UTC+1 ) Contacts: andreafrancesco.iuo...@outlook.com, 
panzone(IRC), panzone91(Skype, Twitter).
Background: I' m student in Computer Science at the University of Milan. For my 
thesis project, i worked on a runtime layer for making portable and modular 
exception handling mechanisms and i developed a compiler for an object-oriented 
language targetizing the Java VIrtual Machine. For an assignement i also 
developed an AST-based compiler for a simple c-like language. My principal 
interest is low-level programming and i don' t be scared by some assembly or 
bytecode.
Summer plans: I' ll have my last exam on the last week of June. I shouldn' t 
take too much time to prepare it, but i probably take the exam day free. I also 
should take my degree on the first/second week of July, so i' ll take one ( 
probabily two, depending how the project is going ) day free in this period . 
Besides that, i don' t have any other plans and i could garantee at least 40 
hours weekly, probably more.
Project name: A Dalvik backend for the JRuby Intermediate Rappresentation
Project description: JRuby developers are working on an Intermediate 
Rappresentation for the Ruby programming language. This approach have several 
advantages, like the possibility to capture precicely the Ruby semantic or the 
possibility to optimize code in some ways that a bytecode rappresentation could 
make difficult or even impossibile. Another big advantage is the possibility to 
utilize different backends, permitting different execution targets without 
change all the JRuby compiler. My idea is to develop a backend for the IR 
compiler that could generate bytecode for the Dalvik virtual machine.
Deliverables: The possibility to compile and execute JRuby code where the 
Dalvik virtual machine can run, like the Android OS.
Implementation Plan:I think i can divide this project in 3 subprojects:1) A 
compiler that could at least compile the basic operations in a single method, 
like types arithmetic, loops, conditional branches and so on.2) Extend the 
subproject 1 with method and object support3) Extend the subproject 2 with 
"special" features like multithreading and exception handlingAs one can see, i 
propose to try a bottom-up approach. This way we can have a sufficient subset 
of JRuby working quickly.
Project schedule:Because i have 3 subprojects and 3 months of work, this could 
be a good general schedule. I' ll mantain a direct contact with my mentor for 
deciding weekly goals, depending on the difficulties i could find during my 
work.
March -- 05-18I' ll use this period to learn the Dalvik bytecode and structure, 
JRuby IR and how it is implemented for learning where i must work and code 
guidelines. During this phase i' ll also discuss with my mentor the best way to 
generare Dalvik bytecode ( Should i generate a binary rappresentation using 
some external library like ASMDEX ? Should i generate directly raw binaries ? 
Should i generate Dalvik assembly and later using an assembler like smali ? 
There are some possibilities, with advantages and disadvantages that should be 
clear before start the entire project )
05-19 -- 06-15This period will be used to generate the base for the backend and 
the subproject 1: a compiler that could compile some single-method program. 
This means that at least i should implement the basic operations ( types 
arithmetics, loop, conditional branches ), collections and types.N.B. 06-23: 
Midterm evaluation. With this schedule, i' ll have an extra week if there are 
any problems during the developement and my mentor have some time to evaluate 
my work. My principal goal is to have a working subset of JRuby before the 
first evaluation.
06-16 -- 07-06This period wii be used for subproject 2 ( adding methods and 
objects support ).
07-07 -- 07-27This period will be used for subproject 3 ( generate some 
"special" operations like multithreading support and exception handling ).
I have one extra week that could flow into subproject 2 or 3 ( probably 3 since 
implementing multithreading could give some serious headaches and i don' t have 
much experience in this field )
I also take a two-week buffer for any unexpected problems. If i' ll not need 
it, i can use this time to optimize my code, write more tests or documentation 
and so on.
Andrea Francesco IuorioStudent in Computer Science, Università degli Studi di 
milanoandreafrancesco.iuo...@outlook.com - GPG Key
> From: u...@kubosch.no
> Date: Fri, 14 Feb 2014 22:56:00 +0100
> To: dev@jruby.codehaus.org
> Subject: Re: [jruby-dev] GSoC 2014
> 
> 
> On 2014-02-14, at 19:10, Andrea Francesco Iuorio 
> <andreafrancesco.iuo...@outlook.com> wrote:
> 
> > I think i' ll try to apply for the ir-dalvik project. I worked on a 
> > compiler for the jvm so i' m not completely new to this kind of project. 
> > Just one last question: do you have some template for the proposal or i can 
> > write it as i see fit ?
> 
> I’d be happy to mentor such an application, although I think my help would 
> mainly be in packaging and testing.  Proper help with the IR and compiler 
> would have to come from another mentor.
> 
> --
> Uwe Kubosch
> http://ruboto.org/
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
                                          

Reply via email to