---+ GUI XML to AspectJ translator project <i>A Project for 539D in Term 2 of 2006:</i> DuckySherwood, Sebastian, and Sukesh For this project, we will take an XML representation of a GUI plus some glue code and convert it to AspectJ SWING code. ---++ Immediate tasks Write a new proposal and resubmit it to Eric, preferably by Sunday * Develop expertise in XML SC * Choose XML GUI language * <strike>Find XML dialects and tools SS </strike> * <strike>Evaluate XML dialects and tools, including evaluating how Java/AspectJ gets plugged in and whether or not there is a GUI that will dump that output SS (farming out work to KDS and SC as possible)</strike> * <strike>Present the different dialects/tools and recommend a dialect SS</strike> * Choose a tool/language * Set up/install tools * <strike>[[http://www.eclipse.org/aspectj/downloads.php#stable_release][AspectJ]] SC SS KDS</strike> * <strike>Eclipse KDS SS SC</strike> * XML tools -- e.g. parser -- to be determined KDS SS SC * <strike>Set up CVS repository KDS</strike> * Connect up to electricbagpipes CVS repository. * [[http://www.sims.berkeley.edu:8000/academics/courses/is255/f04/labs/lab090904/CVSHowTo/eclipseCvsHowTo.html][Read directions]] * Use the servername, username, and password that I sent you earlier; path /home/duckys/cvsroot * Set up collaboration tools * Set up Skype SC * Publish contact information <strike>KDS</strike> SS SC * <strike>Make wiki page KDS</strike> * Get on wiki SS <strike>SC (KDS help)</strike> * Hand-code one small example in AspectJ KDS SS SC -- to be done collectively on Sat 25 Feb * Do academic literature review * XML GUIs KDS * Observer pattern KDS * Develop schedule (all?) * come up with tasks * write up schedule * Write proposal led by KDS ---++ Resources This section is for putting various resources -- tutorials, reference guides, download pages -- and evaluations. ---+++ AspectJ (Put AspectJ resources on the AspectJ page.) ---+++ XML language resources ---+++ XML GUI resources and evaluations * [[http://luxor-xul.sourceforge.net/][Luxor -- XUL toolkit]] * looks like it interprets XUL, but XUL might be a good starting point. (Is there a graphical XUL builder?) -- kds * Good XUL engine. But you have to define actions in your java code. There seems to exist to write some kind of scripts to extend the XML language, but I do not know how it works exactly. -- ss * [[http://www.guibuilder.de/][jxmlguibuilder]] XML to Java: difficult documentation (in German), project looks abandoned * [[http://jgb.sourceforge.net/index.php][Java Gui Builder (JGB)]] XML to Java -- * minimal documentation, minimal activity, stuff looks abandoned -- kds * registration of ActionListeners in the XML-file possible but for object like buttons etc. there is a limited number of predefined attributes available. I prefer not to use it. * [[http://swixml.org][SWI XML]] * Like XUL but I found no possibility of writing scripts.(Do we need that at all?) Has in my opinion a good documentation but you have to fire your events completely in your javacode.(is that bad?) * [[http://glade.gnome.org/][Glade]] -- builds XML, but presumes GTK widgets * jxul very poor documentated but it seems alright. However there is no reason why to prefer it to luxor. -- ss * thinlet -- similar to swixml, however swing is not requiered (according to their documentation). Since they use an event-model, Im wondering how it works. * gui4j - event handling is integrated more into XML than in Luxor, but you still have to fire events in java code, so this feature is a little bit weird and useless to my opinion. The number of attributes for objects is limited so that I do not want to work with it! * Koala -- seems not to be build on Swing, because they describe javaBeans all the time. So that it wont work for our project These might or might not be useful -- some might have some dialect of XML as a output language * [[http://www.fullspan.com/articles/java-gui-builders.html][List of Java GUI builders]] * [[http://www.linuxjournal.com/article/7421][clear article on what it takes to GUIbuild]] * [[http://www.jvider.com/download.html][jvider]] -- commercial * [[http://www.cloudgarden.com/jigloo/][Jigloo]] -- commercial Gui builders, might not be useful * Mitch Stuart, Java GUI Builders, 2005. Retrieved 5 February 2006. http://www.fullspan.com/articles/java-gui-builders.html * Swing-Designers, Untitled, Retrieved 5 Febrary 2006. http://www.swing-designer.com/ * JFormDesigner, Retrieved 5 February 2006. http://www.jformdesigner.com/ * Computers In Motion, Computers In Motion, Retrieved 5 February 2006. http://www.computersinmotion.com/cgi-bin/homeframeload.pl?formname=products_foam * NetBeans.org, Welcome to NetBeans, Retrieved 5 February 2006. http://www.netbeans.org/ * Eclipse.org, Visual Editor Project, Retrieved 5 February 2006. http://www.eclipse.org/vep/WebContent/main.php * Richard S. Hall, Radical Lightweight rapid application development, Retrieved 5 February 2006. http://radical.sourceforge.net/ * Abacus Open Source Foundation, AbaGuiBuilder, Retrieved 5 February 2006, http://www.openabacus.org/products.abaguibuilder.html ---++ Academic literature 1 Hannemann, Jan and Kiczales, Gregor, Design Pattern Implementation in Java and AspectJ, OOPSLA 02, Nov 4-8, 161-173, 2002, Seattle WA, 2002. http://doi.acm.org/10.1145/1052898.1052899 1 Garcia, SantAnna, et. Al., Modularizing design patterns with aspects: a quantitative study, Proceedings of the 4th international conference on Aspect-oriented programming, Chicago, IL, 3-14, 2005. http://doi.acm.org/10.1145/1052898.1052899 1 Montiero, Miguel and Fernandes, Joao, Towards a catalog of aspect-oriented refactorings, Proceedings of the 4th international conference on Aspect-oriented programming, Chicago, IL, 111-122, 2005. http://doi.acm.org/10.1145/1052898.1052908 1 [[http://doi.acm.org/10.1145/508386.508395][Using Mixins to Build Flexible Widgets]], Adam Brown, Richard Cardone, Sean <nop>McDirmid and Calvin Lin, pages 76-85 in AOSD-2002. 1 Christian Prehofer. Feature interactions in statechart diagrams or graphical composition of components. In Kand´e et al. Second International Workshop on Aspect-Oriented Modeling with UML (<<UML>>2002), September 2002. [[http://scholar.google.com/url?sa=U&q=http://ic.arc.nasa.gov/people/filman/text/oif/aop-bibliography.pdf][Bibliography of AOP papers]] ---++ Other related work * [[http://jac.objectweb.org/][JAC]] -- Java Aspect Components -- uses a GUI-builder that uses UML to create Swing code * [[http://jac.objectweb.org/docs/tutorial.html][Tutorial]] * [[http://www.javaworld.com/javaworld/jw-03-2003/jw-0307-jac.html][overview]] * [[http://jotm.objectweb.org/][JOTM]] -- Java Open Transaction Manager * [[http://dotnet.sys-con.com/read/46616.htm][mentions XML as aspect language?]] * Aspect.NET? * [[http://www.cs.bgu.ac.il/~elhadad/se022.html][some yummy references on here]] %S% * [[http://www-128.ibm.com/developerworks/java/library/j-aopwork5/][IBM article on Aspects]] that shows how to do Decorator and Adapter patterns ---++ Schedule * 26 Feb: Minimal application (e.g. one button) hand-coded in AspectJ; strategy for describing input code with XML settled on * 5 Mar: Very minimal application translated and working * 12 Mar: check boxes, radio buttons, combo boxes, text entry, list boxes fully translatable and working * 19 Mar: trees fully functional, last minute disasters * 26 Mar: last-minute disasters, project writeup * 3-5 Apr: Project presentation
This topic: Main
>
TWikiUsers
>
DuckySherwood
>
DuckyHomework
>
DuckySebastianSukesh539Project
Topic revision: r9 - 2006-02-25 - DuckySherwood
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback