Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 37620 invoked from network); 31 Mar 2009 09:30:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 31 Mar 2009 09:30:26 -0000 Received: (qmail 95158 invoked by uid 500); 31 Mar 2009 09:30:25 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 95080 invoked by uid 500); 31 Mar 2009 09:30:25 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 95069 invoked by uid 99); 31 Mar 2009 09:30:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Mar 2009 09:30:25 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of firepure@gmail.com designates 209.85.200.174 as permitted sender) Received: from [209.85.200.174] (HELO wf-out-1314.google.com) (209.85.200.174) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Mar 2009 09:30:17 +0000 Received: by wf-out-1314.google.com with SMTP id 23so2906331wfg.24 for ; Tue, 31 Mar 2009 02:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=2PrBj5KgVufx2yALPaupLj07RqypekfPJUpummgjaVo=; b=UVOVNRwzJ/pPvm1rVXpjYCnSQesIjiRIi1lJ2C0X5VT+4I4AxRzJVizk2jB3ljO9fK f06YnJgzdzDiR85CHZsYYEN69+q/KdvesFhTm3PrqTahk6jn8CluNT9HOcP4+wsNiua2 78TtWIDbqQrEXBffIUSg5kq8ZQ0LMj6qRUfqQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=wWx/FQGhFs54GltqDm44tc5oIroXADxCi2P11ybwwqFnK3Nudla42L4m6ThodAFMNd y6fslzFykbdWjDZGVFvOftPgA1cGjPvS0zWrT7nRCiI+8I3uy3y/FHzsgzSkipPOdbxg RMKbXgLeBaDxAr50aPuGC8twIiZuA5S4aG4gk= MIME-Version: 1.0 Received: by 10.142.76.15 with SMTP id y15mr2545092wfa.263.1238491796121; Tue, 31 Mar 2009 02:29:56 -0700 (PDT) In-Reply-To: <3938bb7b0903302229n5bf083a7u1dc1f35634fe36a6@mail.gmail.com> References: <3938bb7b0903302229n5bf083a7u1dc1f35634fe36a6@mail.gmail.com> Date: Tue, 31 Mar 2009 17:29:56 +0800 Message-ID: <5c8e69f0903310229o7760ca75v3691648485d7e4f7@mail.gmail.com> Subject: Re: [GSoC] Proposal for Harmony classes selector From: "Jimmy,Jing Lv" To: dev@harmony.apache.org Content-Type: multipart/alternative; boundary=001636e1fd0190ac00046666d776 X-Virus-Checked: Checked by ClamAV on apache.org --001636e1fd0190ac00046666d776 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Hi, WenDong, I think your proposal is cool. However I believe there's some place to enrich. Mainly, what basic algorithms are you going to use to generate the minimum closure from the CLOSURE by the nodes? And how are you going to resolve the problems that you raise? And what is your design of the user interface and "other changes", etc? I believe a detailed proposal can help everyone to understand your plan and design. :) 2009/3/31 WenDong Zhang > 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 project= s. > text analysis or other methods such as how the javadoc wor= k > 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 > tool. > 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 > possible): > 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. > > > Schedule: > 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=92 > dependence. > 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 ge= t > 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 evaluation= s > 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 > --=20 Best Regards! Jimmy, Jing Lv China Software Development Lab, IBM --001636e1fd0190ac00046666d776--