From dev-return-36622-apmail-harmony-dev-archive=harmony.apache.org@harmony.apache.org Mon Mar 30 14:55:37 2009 Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 21510 invoked from network); 30 Mar 2009 14:55:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Mar 2009 14:55:37 -0000 Received: (qmail 33763 invoked by uid 500); 30 Mar 2009 14:55:36 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 33727 invoked by uid 500); 30 Mar 2009 14:55:36 -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 33716 invoked by uid 99); 30 Mar 2009 14:55:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Mar 2009 14:55:36 +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 daniel.gong.fudan@gmail.com designates 209.85.198.242 as permitted sender) Received: from [209.85.198.242] (HELO rv-out-0708.google.com) (209.85.198.242) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Mar 2009 14:55:26 +0000 Received: by rv-out-0708.google.com with SMTP id b17so1998141rvf.0 for ; Mon, 30 Mar 2009 07:55:04 -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=PB0DnH77P76nqfbGLmnj2uVtzPDbaB/dUJPPoLy2kwo=; b=BZ9sSFUZviXDpOUWXQOcyWz05MTuy3ToDiAALKRuNhI5cJbOOzsBFCgHOX/qTxp3l3 d99Uv3ZV4H9+XlBynJTUILPlcGtUrgIzqhKQghArCbOOc0ghXSyVRBDg3vestyGdw0RR RxBK9jzsk5IGcJ05CXdz50qQwSl+nMMaPZw0U= 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=gTHdScvxNAVys2gXDQ2YrBn1J3uYPKHUiezPaipM6bwzf6wnjmq9UrQWGU/RG6fX+R 3VW9cnt0OkUOIB+yKmfSIx3BdbOJnBCzLZ+Mmh6YLiw65VZ5V2Dpl6wdn2UtVI8PCe22 VXzqVIaLRHTOCqgdW28mmd6nmsqXuz8++d/+0= MIME-Version: 1.0 Received: by 10.114.184.11 with SMTP id h11mr3637735waf.100.1238424904418; Mon, 30 Mar 2009 07:55:04 -0700 (PDT) In-Reply-To: References: <2cde31750903300201l314f4d7aj286dde250998c705@mail.gmail.com> Date: Mon, 30 Mar 2009 22:55:04 +0800 Message-ID: <2cde31750903300755y7d833214idbb33ccced63f04f@mail.gmail.com> Subject: Re: [GSoC] My proposal From: Daniel Gong To: dev@harmony.apache.org Content-Type: multipart/alternative; boundary=00163646d870824b8a04665744aa X-Virus-Checked: Checked by ClamAV on apache.org --00163646d870824b8a04665744aa Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable Thanks very much. Do you have some suggestion? :-) Daniel Gong 2009/3/30 Alexei Fedotov > I like this pretty nice proposal. It helped me to understand what the > task was about. :-) > > > > On Mon, Mar 30, 2009 at 1:01 PM, Daniel Gong > wrote: > > Hi all, > > I'm a postgraduate student from Fudan University, Shanghai, China. > > This is my first time joining GSoC and I was not quite clear that I > > should exchange my ideas with possible mentors. I've submitted my > proposal > > today. It's lucky that I can still modify it. > > Here is my proposal, any criticism and suggestions are welcome~ > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > > *Abstract:* > > > > The main idea to deal with the subject is to collect infomation from th= e > > input first and then generate smallest JRE according to the infomation > > collected and harmony classes dependences. > > > > *Detailed Description:* > > > > The implementation of the tool can be divided into 4 parts: > > > > 1. Infomation Collector. Automatic lexcial tool such as JLex may be > used > > to analysis the input code and collect infomation including which > classes in > > JRE does the project depend on. > > 2. Data structure design. Both project-jre class dependence and jre > inner > > class dependence should be represented in an uniform way. > > 3. Class Lister. An algorithm should be designed to compute with the > > dependence and list out the classes needed in the smallest JRE. > > 4. JRE Builder. Build a JRE according to the class list. > > > > *Initial* *Algorithm Design* > > > > Use a, b to represent two classes, and to represent a relation > > between a & b, that is, a depends on b, in other words, b is refered in > > source code of a. > > > > 1. Given a project with its class set P, let set S =3D P and set M = =3D > empty. > > > > 2. For each class c in S, search for dependence , and for each = d > > that exists and d is not in M, put d in S. After searching for > > *>, put c in M and delete it from S. > > 3. Loop step 2 until S is empty, return M - P. > > > > Here a project's class set includes its customized classes and classes = in > > other packages that the project may link to. > > > > *Possible problems to solve* > > > > To collect the infomation, just reading the "import" part of the code i= s > not > > a precise strategy. A lexicial scan of the code from begin to end is a > must. > > Automatic lexcial tools can be used to solve the problem. > > > > JRE is not just a simple collection of classes needed. Getting familiar > with > > the structure of Harmony JRE is a must. > > > > *Draft Timeline* > > > > - Week 1-2 Complete the design of data structure and the algorithm; > > - Week 3-4 Implement the module of infomation collector; > > - Week 5-6 Implement the algorithm to list out the classes; > > - Week 7-8 Implement the JRE builder; > > - Week 9 Debug the whole module and make necessary modifications > > to successfully complete the subject. > > > > *Additional Information:* > > > > I've been learning and using Java since 3 years ago. Although my > > experience of Harmony is not that vast, my knowledge in programming, > > software architecture, compiler building and algorithm can help me to > learn > > fast and handle the problem. > > > > I'm 23 years old, living in Shanghai, China, attending Fudan University= . > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > > > > -- > With best regards / =D3 =CE=C1=C9=CC=D5=DE=DB=C9=CD=C9 =D0=CF=D6=C5=CC=C1= =CE=C9=D1=CD=C9, > Alexei Fedotov / =E1=CC=C5=CB=D3=C5=CA =E6=C5=C4=CF=D4=CF=D7, > http://www.telecom-express.ru/ > http://people.apache.org/~aaf/ > --00163646d870824b8a04665744aa--