[Mandala-devel] Welcome !
Brought to you by:
eipiequalsnoone
From: Pierre V. <ei...@ne...> - 2002-11-25 14:28:25
|
Hi everyone ! I've commited a lot of things this week-end. Here the list of good news for you who want to know more about Mandala : I've modified the Makefile so the command make mandala_docs will generated all class files and the javadocs. All files generated by javadoc are in the MANDALA_DIR/docs directory where MANDALA_DIR is the directory where you have made the cvs checkout (on my UNIX box, it is ~/java/Mandala). Hence, after the execution of the previous command, you may give to your browser the following URL : file://MANDALA_DIR/docs/index.html You can click on the link 'Overview' which will give you perhaps a better understand of what Mandala is and what it provides. Then, i've also made a TODO list (MANDALA_DIR/TODO) which is up to date now. If you had watched the content of this file before, please, excuse-me it was in fact the file of another project (JTOE). For convenience, i copy the content of this file here so we can better decide who will do what. **** TODO content **** + GENERAL - Making : * try to guess the MANDALA_DIR variable in Makefile.common * Generate better rules for RMI stub (always regenerated even if already done !) * use a ./configure to guess the compiler (javac, jikes, gcj) * Defines Makefile to run also on DOS based platform * perhaps use another tool like Ant ! * Add 'jar' rules in Makefile to generate 'mandala.jar' * Add 'tgz' rules in Makefile to generate an archive containing only the jar file and the javadoc for end users. * Add 'install' rule in Makefile. * Provide 'rami', 'jacob', 'util' rules which just build the necessary subpackage. * Provides a 'rami-tgz' rule which build RAMI (jar and doc) for end-users who just need this package. - Running : * Generate scripts for DOS based platform (in bin, and in bin/rmi) - Docs : * Correct Javadoc comments (bad english, grammatical errors, ...) * Design a good web site ;-) * Create a good Mandala Logo (I've already a JACOb logo, and a RAMI logo. They probably sucks, so if you have better skills than me in graphics design -- which is really not hard -- be free to propose your logos !). * Create a Mandala-specific Doclet to customize the generated javadoc. + CODE - Rewriting - updating * Rewrite packages 'mandala.jacob.remote.test' and 'mandala.jacob.remote.protocols.rmi.test' so they use the JUnit framework. * Update the jayac compiler so it can run asynchronously (using RAMI of course), and can be distributed (using JACOb of course). The new jayac must provide classes for any super classes, interfaces and superinteferaces that the given class inherits/implements. * Write a new JayacFromSources which runs from sources and not only from classes. * Define a good semantic for Callback in the AsynchronousReferencePair class. - New features : * Add an UDP implementation of the JACOb framework. * Add a TCP implementation of the JACOb framework. * Add an UDP implementation based on java.nio (>= JDK 1.4) * Add a TCP implementation based on java.io (>= JDK 1.4) * Add a Myrinet implementation of the JACOb framework. * Add an HTTP implementation of the JACOb framework. * Add a CORBA implementation of the JACOb framework. * Add an SCI implementation of the JACOb framework. * Add any other implementation you think good of the JACOb framework ;-) * Add a GUI to JACOb. Objects may be inserted, removed dynamically from this GUI. When an object is clicked, a list of its method must appear, and any one of it may be invokable by a way to define (parameters ? Perhaps using a beanshell). * Add services to JACOb : security is the major lack in JACOb, hence it is the priority. A design for services must be discussed. Should services be stocked objects ? Should they be special objects ? Other services are monitoring, persistance, transaction, ... Probably many other things to do... **** end of TODO content **** I would like to work on the asynchronization/parallelization/distribution of the Jayac compiler from classes, not from sources which is another -- probably big -- task. If someone is interested in this task too, i can : - release this task and take another free one, - propose him to co-develop with me, - join another developer (or maybe a team of developers) which are already working on a given task. I hope you're all interested since as you see, a lot of work as to be done. Ha, i forgot to say that i've already some projects that uses Mandala (but a really old version : the prehistoric first version of JACOb !) in a distributed computing context. They are : * Travelling Salesman Project, * Distributed computing of the number Pi to the n th decimals with a central load balancing and fault tolerance algorithm. * Spectral analysis of waves sound with a general purpose central load balancer I've a contact which would like to use Mandala for the purpose of the parallelization of a research application in the context of biological cellular behaviour simulation. I also would like to propose at least two frameworks based on Mandala : * a mobile agents system (like Voyager, Aglets, Concordia, ProActive) * a general distributed computing framework. The idea is that end-users may lease their CPU/IO/Memory, for a period of time just by clicking on a web link (an Applet). But, the computer leased, is not dedicated to a sepcific domain, it can be used for one period to compute alien presence (seti@home) and a few minutes later, to do some meteo related computing. I know such frameworks exist already (distributed.net for the last one for example) but i believe that since Mandala is based on concepts (asynchronnous references and active containers), it may provide more naturally good fundations for such frameworks to be build on, with mathematical, proof of correctness caracteristics (active containers are modelized in a formal model called pi-calculus). Suggestions, ideas, remarks, critisms is welcomy ;-) Regards. eipi. -- No one equals eipi : -1 = e^(i.Pi) |