Hi Peter,

This is Tomcat's bundles relationship figure, i use Jung to  visualize
the dependencies, arrow from A to B means bundle A need bundle B. And
the html attach file is the bundles relationship report

2011/8/2 Tiger Gui <tigergui1...@gmail.com>:
> Yeah, the imports are too much, but there is not any problem.
>
> The good new is that i am working for the visualize job of  the
> dependencies, it will give us a more clear graph about the bundles
> relationship,  just wait for 2 -3 days, I am on my way of playing with
> JUNG
>
> 2011/8/2 Peter Kriens <peter.kri...@aqute.biz>:
>> Can you take a look at the imports? There seems to be many class names?
>>
>> I also think you should try to shorten the package names. Maybe names like 
>> oac.comet (org.apache.catalina.comet) would already help.
>>
>> And we really need visualize the dependencies ... This is however a great 
>> start.
>>
>> Kind regards,
>>
>>        Peter Kriens
>>
>> On 30 jul 2011, at 16:02, Tiger Gui wrote:
>>
>>> Hi Peter,
>>>
>>> I changed the merge situation a little,
>>>
>>> FROM:
>>> boolean condition4 = 4 * sameUB >= one.usedByList.size() +
>>> two.usedByList.size();
>>> TO:
>>> boolean condition4 = 3 * sameUB >= one.usedByList.size() +
>>> two.usedByList.size();
>>>
>>> Try the analyse and split algorithm in Tomcat application again, and
>>> we got another report, in the attach file. It seems that this bundle
>>> structure is more reasonable
>>>
>>> 2011/7/30 Tiger Gui <tigergui1...@gmail.com>:
>>>> Hi Peter,
>>>>
>>>> I have generated the report for Tomcat too, in the attach file, and
>>>> improve the report as you wish, just see the comments
>>>>
>>>> 2011/7/29 Peter Kriens <peter.kri...@aqute.biz>:
>>>>> Now we're getting somewhere! Could you:
>>>>>
>>>>> 1) Please rename names like round1MergeBundle8 to just R18 or so ...
>>>>
>>>> I have renamed round1MergeBundle8 to just R1B8, BTW, you should know
>>>> that users can change the bundle name as he wish in our tools,
>>>> OSGiMaker has supplies the feature already, we have a GUI bundle edit
>>>> editor
>>>>
>>>>> 2) The imports look like they sometimes contain classes? And it would be 
>>>>> nice if you put a </br> after each one of them (maybe combine the ones 
>>>>> with the same prefix?)
>>>>
>>>> No, the imports are all package, i add a "<br />" every 5 imports, if
>>>> we add a "<br/>" after each of them, it will be a long list, not very
>>>> comfortable to read
>>>>
>>>>> 3) Can you sort on the number of contains entries? I.e. biggest bundle 
>>>>> first
>>>>
>>>> Yeah, i have sorted it already, the biggest first
>>>>
>>>>> 4) Could you link the bundles with an <a href="..">R18</a>?
>>>>
>>>> Yeah, i have add the http link already in the report
>>>>
>>>>> 5) Could you make the names of the
>>>>
>>>> ???
>>>>
>>>>
>>>>> 6) Get rid of the .*?
>>>>
>>>> It is easy to get rid of the .*, but i think it make things more
>>>> clear, make us know, the bundles includes all the classes in the
>>>> packages
>>>>
>>>>> 7) Also generate one of these for catalina/Tomcat?
>>>>>
>>>>> Actually, this spring one is pretty neat.
>>>>>
>>>>> I am a bit curious about the jdbc stuff. I assume all the packages in 
>>>>> org.springframework.jdbc11 are strongly connected? What are the packages 
>>>>> that refer to com.ibm.websphere.rsadapter and com.mchange.v2.c3p0, etc? 
>>>>> These are the VERY expensive dependencies and I wonder how they get 
>>>>> merged in so badly in this bundle.
>>>>>
>>>>> Similar to the orm bundle, who is the culprit (class?) that points to 
>>>>> hibernate? You see why this is bad? In a good design the 
>>>>> org.springframework.orm should not be strongly connected to something 
>>>>> like hibernate. The hibernate should be a bridge package but not have 
>>>>> internal references.
>>>>
>>>>>
>>>>> Interesting! Kind regards,
>>>>>
>>>>>        Peter Kriens
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 29 jul 2011, at 11:32, Tiger Gui wrote:
>>>>>
>>>>>> Hi Peter,
>>>>>>
>>>>>> To visualize things, i have a simple review to JUNG, it seems that it
>>>>>> is good solution for display graph or tree in a canvas, but it is a
>>>>>> problem that JUNG is developed for AWT/SWING, not suitable for Eclipse
>>>>>> SWT/JFace environment, so, i will continue searching for the best
>>>>>> solution, may be we can even consider Eclipse GMF technology
>>>>>>
>>>>>>
>>>>>> To report things:
>>>>>> I have changed the report to a HTML file in the attach file, it's
>>>>>> still Spring's OSGi split report, it looks much better :-)
>>>>>>
>>>>>> 2011/7/29 Peter Kriens <peter.kri...@aqute.biz>:
>>>>>>> Rule #1, as long as I see you're engaged you do not have to worry about 
>>>>>>> the evaluation. So do not do things for my sake, do them because you 
>>>>>>> believe it is the best way forward. I think Tinkerpop and JUNG are a 
>>>>>>> great way to visualize, but do not take my word. I have the greatest 
>>>>>>> respect for people who do not listen to me because they are convinced 
>>>>>>> they know better. That out of the way.
>>>>>>>
>>>>>>> This whole things is very much about understanding and our visual 
>>>>>>> brains is by far the most powerful tool on earth to understand things. 
>>>>>>> And you're not taking advantage of it :-) We are looking for structure 
>>>>>>> here, the names are only relevant later. So to see structure, tables 
>>>>>>> are perfect. Which means you have to have short names. Just using the 
>>>>>>> last part of a package (com.springframework.jca, take jca). I.e. a name 
>>>>>>> like round1MergeBundle8 is ok to call b8. You can always later provide 
>>>>>>> a list of translations. This is also the reason why we need to use 
>>>>>>> packages, classes are too many off. Visualization is everything in this 
>>>>>>> phase because we need to find the rules of the structure.
>>>>>>>
>>>>>>> So lets retry. First give me a list of all groups (named g1 .. gn) and 
>>>>>>> their package content
>>>>>>>
>>>>>>>
>>>>>>> Group  Contains                              Uses           Used By     
>>>>>>>  External
>>>>>>> g3     com.springframework.{jca,jdbc,...},   g4, g5, g7     g2          
>>>>>>>  org.w3.xml, javax.persistence,
>>>>>>>       ...                                                               
>>>>>>> com.oracle.g11.{impl,whatever}
>>>>>>>
>>>>>>> It might be easiest to generate HTML so you can use tables. Don't make 
>>>>>>> it look fancy, just use the tools to get insight in the structure:
>>>>>>>
>>>>>>> <html>
>>>>>>>   <body>
>>>>>>>       <table>
>>>>>>>          <tr>
>>>>>>>             <th>Group</th>
>>>>>>>             <th>Contains</th>
>>>>>>>             <th>Uses</th>
>>>>>>>             <th>Used By</th>
>>>>>>>             <th>External</th>
>>>>>>>          </tr>
>>>>>>>          <tr>
>>>>>>>            <td>g3</td>
>>>>>>>            <td>com.springframework.{jca,jdbc,...},...</td>
>>>>>>>            <td>g4, g5, g7</td>
>>>>>>>            <td>g2</td>
>>>>>>>            <td>org.w3.xml, 
>>>>>>> javax.persistence,com.oracle.g11.{impl,whatever}</td>
>>>>>>>          </tr>
>>>>>>>        </table>
>>>>>>>    </body>
>>>>>>> </html>
>>>>>>>
>>>>>>> Shortening the names is everything or else your eyes drown in a sea of 
>>>>>>> characters.
>>>>>>>
>>>>>>> Kind regards,
>>>>>>>
>>>>>>>        Peter Kriens
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 29 jul 2011, at 05:16, Tiger Gui wrote:
>>>>>>>
>>>>>>>> Hi Peter,
>>>>>>>>
>>>>>>>> Thank you for your reply first, please see the following comments
>>>>>>>>
>>>>>>>> 2011/7/28 Peter Kriens <peter.kri...@aqute.biz>:
>>>>>>>>> It is good that you use a real project now. What I like to see how 
>>>>>>>>> many "bundles" we have after the first round, where you group 
>>>>>>>>> strongly connected packages. This should already simplify because the 
>>>>>>>>> nr of entities will be smaller.
>>>>>>>>>
>>>>>>>>> I need to see a real case. Step 1 is ok, but maybe you can add 
>>>>>>>>> merging of bundles that have identical usesExternal (imports).
>>>>>>>>
>>>>>>>> Yes, I do merge the bundles that have identical usesExternal
>>>>>>>> (imports), i described in the former mail,
>>>>>>>>
>>>>>>>> We define sameUE: it menas the number of two bundles have same
>>>>>>>> usedExternal external package rely elements.
>>>>>>>>
>>>>>>>> boolean condition2 =  3 * sameUE >= one.usedExternalList.size() +
>>>>>>>> two.usedExternalList.size();
>>>>>>>>
>>>>>>>> if(condition2 == true) i will merge bundles one and two,In the process
>>>>>>>> of real case test(Spring and Tomcat), i found that it's hardly to find
>>>>>>>> two bundles which have exactly the same usesExternal items, we should
>>>>>>>> also merge bundles who have  *proportional* usesExternal items. In my
>>>>>>>> test case, it works good.
>>>>>>>>
>>>>>>>>> And make sure you ignore all java.* to make the info smaller (in 
>>>>>>>>> OSGi, java is always provided by the VM). Can you just print out 
>>>>>>>>> something like
>>>>>>>>
>>>>>>>> Yes, i have considered this situation, in the whole merge process, we
>>>>>>>> do not consider jdk supplies java.* classes.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> name            usesInternal            usesExternal
>>>>>>>>> g1              g2                      a,b,c
>>>>>>>>> g2                                      d,e,f
>>>>>>>>>
>>>>>>>>
>>>>>>>> Let's take example of Spring, this report is like this:
>>>>>>>> Name                          ---                                      
>>>>>>>>        usesInternal
>>>>>>>> org.springframework.jms2
>>>>>>>> ---round1MergeBundle8,mergedBundle9,org.springframework.jca22,org.springframework.scheduling15,org.springframework.context14,round1MergeBundle5
>>>>>>>> org.springframework.jdbc11     ---            
>>>>>>>> round1MergeBundle8,mergedBundle9
>>>>>>>> org.springframework.orm13
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,org.springframework.jdbc11,mergedBundle9,round1MergeBundle3
>>>>>>>> org.springframework.context14
>>>>>>>> ---           round1MergeBundle8,round1MergeBundle1,mergedBundle9
>>>>>>>> org.springframework.scheduling15
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,mergedBundle9,org.springframework.context14,org.springframework.jdbc11
>>>>>>>> org.springframework.jca22
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,mergedBundle9,org.springframework.context14,org.springframework.scheduling15
>>>>>>>> round1MergeBundle1
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,mergedBundle9,org.springframework.metadata7
>>>>>>>> round1MergeBundle3
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,org.springframework.context14,round1MergeBundle5
>>>>>>>> round1MergeBundle4     ---            
>>>>>>>> round1MergeBundle8,org.springframework.context14
>>>>>>>> round1MergeBundle5
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,round1MergeBundle3,org.springframework.context14,mergedBundle9
>>>>>>>> mergedBundle9
>>>>>>>> ---           
>>>>>>>> round1MergeBundle8,round1MergeBundle5,org.springframework.context14,org.springframework.metadata7
>>>>>>>> org.springframework.metadata7     ---         none
>>>>>>>> round1MergeBundle8     ---                    none
>>>>>>>>
>>>>>>>> As usesExternal element list is too long, i abridged them, you can get
>>>>>>>> the report details with usesExternal elements in attach file
>>>>>>>> "bundles_relation.txt", and get the bundles details in attach file
>>>>>>>> "SpringSplitTest.analyse"
>>>>>>>>
>>>>>>>>
>>>>>>>>> I hope we see one big bundle which is the core and then have to find 
>>>>>>>>> rules to classify the remaining bundles. I expect there are the 
>>>>>>>>> following categories:
>>>>>>>>>
>>>>>>>>> core            implementation classes, lots of strongly connected 
>>>>>>>>> packages
>>>>>>>>> api             api classes, do not refer to core, very few imports
>>>>>>>>> bridge          refer strongly to core and have expensive imports
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> At this stage, the trick is to do some work by hand until you find 
>>>>>>>>> you really understand the problem.
>>>>>>>>>
>>>>>>>>> It would be perfect if you could take a look at Tinkerpop and JUNG. I 
>>>>>>>>> think it would be quite easy to visualize the graph of dependencies.
>>>>>>>>
>>>>>>>> You mean my next step is developing a Tinkerpop or JUNG graphical view
>>>>>>>> for this report for user to adjust the bundles details manully ? Am i
>>>>>>>> right ? I will start learn Jung and start this job soon
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Kind regards,
>>>>>>>>>
>>>>>>>>>        Peter Kriens
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 26 jul 2011, at 16:24, Tiger Gui wrote:
>>>>>>>>>
>>>>>>>>>> Hi Peter,
>>>>>>>>>>
>>>>>>>>>> This is the whole application split algorithm here. After application
>>>>>>>>>> source code analyse algorithm described here[1], we can know each
>>>>>>>>>> package/class use which packages/classes and be used by which
>>>>>>>>>> packages/classes. Now, we just discuss package here, we treat package
>>>>>>>>>> as a single atom, each package has three important attributes, 
>>>>>>>>>> usedBy,
>>>>>>>>>> usesExternal and usesInternal, just like below:
>>>>>>>>>>
>>>>>>>>>> <package name="org.apache.catalina.deploy"
>>>>>>>>>> sources="/E:/GSoC/gsoc2011osgi/runtime-New_configuration/TomcatJava/bin"
>>>>>>>>>> size="30" usedBy="8" usesInternal="11" usesExternal="14" layer="6"
>>>>>>>>>> cycle="org.apache.catalina et al.">
>>>>>>>>>>      <packageRef name="org.apache.catalina.core" type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.startup" type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.deploy" type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.authenticator" 
>>>>>>>>>> type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina" type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.mbeans" type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.connector" type="usedBy"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.realm" type="usedBy"/>
>>>>>>>>>>      <packageRef name="java.lang" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="java.io" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.deploy" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.util" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>      <packageRef name="java.util" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="org.apache.juli.logging" type="usesInternal"/>
>>>>>>>>>>      <packageRef name="org.apache.tomcat.util.res" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>      <packageRef name="java.beans" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="(default package)" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina" type="usesInternal"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.mbeans" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>      <packageRef name="javax.management" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="namingResources" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="javax.naming" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="org.apache.naming" type="usesInternal"/>
>>>>>>>>>>      <packageRef name="java.lang.reflect" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="javax.servlet" type="usesInternal"/>
>>>>>>>>>>      <packageRef name="javax.servlet.annotation" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.order" 
>>>>>>>>>> type="usesExternal"/>
>>>>>>>>>>      <packageRef name="java.net" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="webXml" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="webXml.version" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="webxml" type="usesExternal"/>
>>>>>>>>>>      <packageRef name="org.apache.catalina.core" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>      <packageRef name="javax.servlet.descriptor" 
>>>>>>>>>> type="usesInternal"/>
>>>>>>>>>>    </package>
>>>>>>>>>>
>>>>>>>>>> usedBy means who use current package;
>>>>>>>>>> usesInternal means which packages current package use in current
>>>>>>>>>> application source code;
>>>>>>>>>> usesExternal means which packages current pakcage use not in current
>>>>>>>>>> application's source code.
>>>>>>>>>>
>>>>>>>>>> Now, we start split the whole application in to bundles, according to
>>>>>>>>>> above algorithm source code analyse algorithm, we can also know
>>>>>>>>>> package cycles in current application.
>>>>>>>>>>
>>>>>>>>>> 1. Treat each package cycle as a single bundle;
>>>>>>>>>> 2. Treat each packages not in cycle as a single bundle;
>>>>>>>>>> 3. Then we should decide which bundles can be merged into one new 
>>>>>>>>>> bundle;
>>>>>>>>>>
>>>>>>>>>> First round merge job:
>>>>>>>>>> 4. If one bundle's all usesInternal elements are in the other bundle,
>>>>>>>>>> these two bundles should be merged into a new bundle;
>>>>>>>>>>
>>>>>>>>>> Think about how to merge used by only bundle (bundle be used only by
>>>>>>>>>> other bundle, it does not rely on any other bundle):
>>>>>>>>>> Define two variable for used by only bundle:
>>>>>>>>>> sameUB: it means the number of two bundles have same usedBy elements.
>>>>>>>>>> sameUE: it menas the number of two bundles have same usedExternal
>>>>>>>>>> external package rely elements.
>>>>>>>>>>
>>>>>>>>>> boolean condition1 = 4 * sameUB >= one.usedByList.size() +
>>>>>>>>>> two.usedByList.size();
>>>>>>>>>> boolean condition2 = 2 * sameUE >= one.usedExternalList.size() +
>>>>>>>>>> two.usedExternalList.size();
>>>>>>>>>>
>>>>>>>>>> if condition1 or condition2 is true, we should merge these two usedBy
>>>>>>>>>> only bundle.
>>>>>>>>>>
>>>>>>>>>> Merge the other bundles:
>>>>>>>>>> 5.The core problem is how to decide two bundles(bundle one and bundle
>>>>>>>>>> two) can be merged or not.
>>>>>>>>>>
>>>>>>>>>> Define 5 variables:
>>>>>>>>>> uiNumber: the sum of bundle one's usesInternal elements in bundle two
>>>>>>>>>> number and bundle two's usesInternal elements in bundle one number;
>>>>>>>>>>
>>>>>>>>>> ubNumber:the sum of bundle one's usedBy elements in bundle two number
>>>>>>>>>> and bundle two's usedBy elements in bundle one number;
>>>>>>>>>>
>>>>>>>>>> sameUI: the same usesInternal number bundle one and two have
>>>>>>>>>>
>>>>>>>>>> sameUB: Be similar with used by only bundle's this variable
>>>>>>>>>>
>>>>>>>>>> sameUE: Be similar with used by only bundle's this variable
>>>>>>>>>>
>>>>>>>>>> Define these conditions:
>>>>>>>>>> boolean condition1 = 2 * uiNumber >= one.usesInternalList.size() +
>>>>>>>>>> two.usesInternalList.size();
>>>>>>>>>> boolean condition2 = 2 * ubNumber >= one.usedByList.size() +
>>>>>>>>>> two.usedByList.size() ;
>>>>>>>>>> boolean condition3 = 3.5 * sameUI >= one.usesInternalList.size() +
>>>>>>>>>> two.usesInternalList.size();
>>>>>>>>>> boolean condition4 = 4 * sameUB >= one.usedByList.size() +
>>>>>>>>>> two.usedByList.size();
>>>>>>>>>> boolean condition5 = 3 * sameUE >= one.usedExternalList.size() +
>>>>>>>>>> two.usedExternalList.size();
>>>>>>>>>>
>>>>>>>>>> If any above condition is true, these two bundles can be merged. But
>>>>>>>>>> these are another problem, if bundle A can be merged with B, but it
>>>>>>>>>> also can be merged with C, now, we should decide merge A with B or A
>>>>>>>>>> with C.
>>>>>>>>>>
>>>>>>>>>> Define the follow attribute:
>>>>>>>>>> int mergeFactor= 2 * (uiNumber + ubNumber) + 0.4 * (sameUI + sameUB) 
>>>>>>>>>> +
>>>>>>>>>> 0.2 * sameUE - number;
>>>>>>>>>>
>>>>>>>>>> If A and B's mergeFactor is 20 and A and C's mergeFactor is 30, we
>>>>>>>>>> should merge A and C.
>>>>>>>>>>
>>>>>>>>>> This is current merge algorithm in OSGiMaker, i will keep on 
>>>>>>>>>> improving
>>>>>>>>>> it, use class relationship factors or etc. You can find the source
>>>>>>>>>> code detail of this algorithm in class AnalyseJob of our project.
>>>>>>>>>>
>>>>>>>>>> The attach file is the analyse result document OSGiMaker analyse
>>>>>>>>>> Tomcat's source code and split it into bundles, you can have a 
>>>>>>>>>> review.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> In fact, i did not want to bother you too much, but it seems that you
>>>>>>>>>> have enough time to help me to improve it, this is a good thing. If
>>>>>>>>>> you have any advises, please let me know, let's improving it together
>>>>>>>>>> :-)
>>>>>>>>>>
>>>>>>>>>> Thank you
>>>>>>>>>>
>>>>>>>>>> [1] 
>>>>>>>>>> http://code.google.com/p/osgimaker/wiki/Implement_of_project_analyse_algorithm
>>>>>>>>>>
>>>>>>>>>> 2011/7/26 Peter Kriens <peter.kri...@aqute.biz>:
>>>>>>>>>>> Well, I do not think I am eager but I have a hard time getting a 
>>>>>>>>>>> feeling where you are. You do not have to send reports, I want to 
>>>>>>>>>>> see intermediate results and discuss issues if there are any. As I 
>>>>>>>>>>> said earlier, it is not clear to me yet what the best algorithm is 
>>>>>>>>>>> so that need to be worked out before we do the gui stuff.
>>>>>>>>>>>
>>>>>>>>>>> Kind regards,
>>>>>>>>>>>
>>>>>>>>>>>        Peter Kriens
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 26 jul 2011, at 11:24, Tiger Gui wrote:
>>>>>>>>>>>
>>>>>>>>>>>> In my schedule, i will report current status to you tomorrow as i
>>>>>>>>>>>> think i can get a usable version today,  the whole analyse and 
>>>>>>>>>>>> split
>>>>>>>>>>>> algorithm is complex i have to organize a document to describe it
>>>>>>>>>>>> clearly. As you are really eager to see its progress, it is OK, i 
>>>>>>>>>>>> will
>>>>>>>>>>>> start the report now
>>>>>>>>>>>>
>>>>>>>>>>>> 2011/7/26 Peter Kriens <peter.kri...@aqute.biz>:
>>>>>>>>>>>>> If that is the case you have to provide more on going feedback. 
>>>>>>>>>>>>> What happened to the analysis by hand?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kind regards,
>>>>>>>>>>>>>
>>>>>>>>>>>>>        Peter Kriens
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 26 jul 2011, at 11:02, Tiger Gui wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> No, Peter, i am really working hard for this project, you can 
>>>>>>>>>>>>>> check
>>>>>>>>>>>>>> the progress here[1]. Now, this tool can analyse a whole project 
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>> export the its analyse result to bundles( I test it in Spring and
>>>>>>>>>>>>>> Tomcat project), if possible, you can install it in your Eclipse 
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>> have a trial of it. But, i am still improving the split 
>>>>>>>>>>>>>> algorithm as
>>>>>>>>>>>>>> the current algorithm is not working perfect.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I will supply a document about the current status of this 
>>>>>>>>>>>>>> project and
>>>>>>>>>>>>>> a simple guide for you to have a trial of it. I am really 
>>>>>>>>>>>>>> working very
>>>>>>>>>>>>>> hard for it these days :-(
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [1] http://code.google.com/p/osgimaker/updates/list
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2011/7/26 Peter Kriens <peter.kri...@aqute.biz>:
>>>>>>>>>>>>>>> I am getting the feeling that you're not working very hard on 
>>>>>>>>>>>>>>> this project and only does something just for the evaluations 
>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>        Peter Kriens
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Best Regards
>>>>>>>>>>>>>> ----------------------------------------------------
>>>>>>>>>>>>>> Tiger Gui [tigergui1...@gmail.com]
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Best Regards
>>>>>>>>>>>> ----------------------------------------------------
>>>>>>>>>>>> Tiger Gui [tigergui1...@gmail.com]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Best Regards
>>>>>>>>>> ----------------------------------------------------
>>>>>>>>>> Tiger Gui [tigergui1...@gmail.com]
>>>>>>>>>> <TomcatJava.analyse>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Best Regards
>>>>>>>> ----------------------------------------------------
>>>>>>>> Tiger Gui [tigergui1...@gmail.com]
>>>>>>>> <bundles_relation.txt><SpringSplitTest.analyse>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Best Regards
>>>>>> ----------------------------------------------------
>>>>>> Tiger Gui [tigergui1...@gmail.com]
>>>>>> <SpringSplitTest.html>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best Regards
>>>> ----------------------------------------------------
>>>> Tiger Gui [tigergui1...@gmail.com]
>>>>
>>>
>>>
>>>
>>> --
>>> Best Regards
>>> ----------------------------------------------------
>>> Tiger Gui [tigergui1...@gmail.com]
>>> <TomcatJava.html>
>>
>>
>
>
>
> --
> Best Regards
> ----------------------------------------------------
> Tiger Gui [tigergui1...@gmail.com]
>



-- 
Best Regards
----------------------------------------------------
Tiger Gui [tigergui1...@gmail.com]

Reply via email to