harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From WenDong Zhang <zwd2...@gmail.com>
Subject [GSoC] Proposal for Harmony classes selector
Date Tue, 31 Mar 2009 05:29:23 GMT
Hi all,

I am a postgraduate student in the Department of Computer Science &
Technology of Nanjing University and will get my master degree in
2010. Now I'm an intern in IBM CDL for java development. It's very
lucky I heard the GSoC program for the Harmony department in IBM CDL.

I'm interested in the "harmony-classes-selector" project. This is a
useful tool, the minimum JRE could less the network usage to spread
it, reduce user hard disk space and people like mini-speed and
customize what they use. :)

The main idea for this tool is: we have a big jre classes package, we
can say that all the classes are in a CLOSURE. Our goal is generate
the minimum closure from the CLOSURE by the nodes (the users'
classes). There several problems we need to consider about:
	How to collect the nodes (classes) of Harmony JRE and user projects.
		text analysis or other methods such as how the javadoc work out the
classes' dependence.
	What should we do if the project used the third party java libs which
are binary files?
		is there any way to know the dependence classes of the .class binary file?
		or we make a rule: the third party lib should provide the dependence
classes list which could be generated by our smallest-classes-selector
	Several software architecture problems:
		the user interface: command line & GUI;
		the classes resource: project folders, archive files, even jar files
if we can get the classes dependence from .class file;
		the medium file (such as classes list) format
		some other changes may be occurring...
I think this tool should support the follow functions (* are optional,
we should leave the interfaces here and implement them as many as
	Generate classes list for one or more projects.
	Extract the minimum depend classes from Harmony JRE.
	Auto build the minimum JRE installation package.
	Log process info for users or developers to track error.
	Save the configuration file of minimum JRE classes list for future use:
		* merge several minimum JRE packages to one.
		* build update server for minimum JRE, auto download the lastest
version of each class in the classes list.
 		* A configuration tool for use to customize the classes I want to
integrate into my JRE installation package.

	I can work 2 days per week for this work and maybe 2-3 hours each day
to document the process & problems we meet. I will arrange my timeline
as follow:
	April 3 ~ April 15: gather some technologies for the
classes-selector: harmony jre structure, the ways to generate classes’
	April 16 ~ April 26: communicate with my partners to determine the
framework and technology details.
	April 26 ~ May 22: meet our mentors, read the documentation and get
some suggestions from our mentors.
	May 23 ~ May 30: to determine the final framework and algorithm
details, divide the work with my partners
	June 1 ~ June 30: coding
	July 1 ~ July 7: integration, test & debug for mid-term evaluations
	July 8 ~ August 10: process the left coding, integration and documentation
	August 11 ~ August 24: write test unit, debug and final release.

Best Regards!
Wen Dong

View raw message