- Project tools
- Using ArgoUML
- How do I...
|Over 500 more tools...
JobJar: List of much needed contributions
General List of Proposed Contributions
- Implement a graph layout algorithm that takes into account the
conventions of UML diagrams.
- Implement arc routing that users find flexible and convient.
This could be contributed to the GEF project and used in ArgoUML.
- Implement printing of wall-sized diagram posters or design booklets.
Contribute the generic code to the GEF project and use it in ArgoUML.
- Save diagrams according to the Diagram Interchange specification.
- Implement the UML artifacts that ArgoUML still does not support.
- Implement the 'lollipop' notation for Interfaces.
- Add new UML features.
Code Generation and Reverse Engineering
- Implement code generation for an additional
programming language like: Ruby, Ada, etc.
- Implement support for generating Java code that follows JavaBeans
- Implement code generation for UML state machine models.
- Generate assert() statements to check OCL constraints on a UML
model at run-time.
- Make the code generation work together with the
reverse engineering for working round-trip engineering.
- Implement J2EE reverse engineering,
from an Enterprise Application (.ear file),
from configuration files (Apache, or App Server).
- Implement table views
(as a complement to the tree view and diagram view).
- Complete the work to make ArgoUML work within Eclipse as a plugin.
- Write additions to the User's manual for ArgoUML,
focus on a specific task or audience.
- Write additions to the Developer's Cookbook
to help new people contribute
to the ArgoUML project.
Object Constraint Language
- Enhance ArgoUML's OCL evaluator.
- Add features to make writing and evaluating constraints easier.
- Implement some more of the features suggested by Jason Robbins
in his dissertation.
- Design and implement completely new tools to do
Cognitive Support for Design.
- Complete the set of critics to include one
for each and every Well Formedness Rule in the UML standard
and document them.
Quality assurance and Performance
- Implement JUnit test cases.
Focus on a specific class or group of classes.
Code generation needs this desperately.
- Measure what are the limits of ArgoUML's performance with large models.
- Use a Memory profiler, or Tracer to detect inefficient algorithms
and fix them.
Assume a responsibility in the project
If you feel that you have time to assume a responsibility in
the ArgoUML project, contact the Project leader (Linus Tolke)
and discuss that.
Responsibilities are different from the other contributions here in that
they are not tiny projects that can be completed.
Instead they go on for ever.
Special Note to Students
The Google Summer of Code pages
are now separate.
Each task could be made into an undergraduate term project or part of
a masters degree project.
Working on a free, open source software project such as ArgoUML can
make your school project much more impressive, satisfying, and clarify
- Why start with nothing if you could build on the work of many students and
- Why end your term project with just a grade when you could make a
The point of a term project is to get experience working on a
"real" project. Using ArgoUML will give you experience with
over 200,000 lines of Java code that implements a real
If you contribute your work back to the ArgoUML project,
all ArgoUML users can eventually benefit from it and
your work could affect the Software Development tools for thousands of
Suggest a new feature!
Contribute a new feature idea by entering it in Issuezilla as a
You can also help in investigating and detailing your suggested feature
or features suggested by others.
Why should you do this?
ArgoUML depends on volunteers to do everything in the project.
If there are no volunteers contributing work, nothing happens.
The more work that is contributed, the quicker ArgoUML will be developed
and the better the end result will be.
The status of this page
This page is (hopefully) getting out of date quickly
when these contributions are implemented.
It can also get out of date when new features are suggested.
If you don't want to work with any of these contributions
you can always search through the feature request list (in IssueZilla)
that may contain a feature that you want to work with.
the full list of issues
directly in Issuezilla.
You can also work with any other feature that you like.
This page was last updated on $Date: 2008-12-02 06:25:16 -0800 (Tue, 02 Dec 2008) $.
Back to ArgoUML Home