The ArgoUML project has been approved for participation in its second Google Summer of Code during 2007.
This page include a list of project suggestions and some general tips on what we look for in a student such as what we look for in a student, what projects we are looking for, and some quick references on the projects.
Don't let this list limit your choices. We are happy to consider other projects! See the general notes on what projects we are looking for. For a list of the top vote getting requests in the Issue database, use this query.
Enhance ArgoUML to support creating, reading, and maintaining links between sub-models stored in separate XMI files and/or ArgoUML project files.
This is the second most requested enhancement in ArgoUML. See this issue for more discusion. Functionality is required to create links between pieces of a model, split a single model into pieces, merge the pieces back together, etc.
Developer Contact: Tom Morris
Improve support of modeling profiles in ArgoUML to allow more flexibility, better reuse, and an improved user experience.
ArgoUML currently has only very limited support for user selectable profiles. Modeling profiles are useful to provide a standard set of Stereotypes, Tag Definitions, etc which are tailored to a particular modeling environment. An example is the AndroMDA profile which is used when creating models targeted for that MDA framework.
Currently the standard ArgoUML profile is a mix of UML 1.4 standard elements and Java elements. These should really be separated so that the user can select either or both. Additionally the current implementation uses a copy-on-reference strategy whereby model elements are copied from the profile into the user model, losing all reference back to the providing profile. Ideally the external link capability described in the project suggestion above should be used to both maintain a reference to the profile and allow profiles to be created which are composed of other sub-profiles (e.g. UML 1.4 + Java + project specific profile or UML 1.4 + C#).
Developer Contact: Tom Morris
The sequence diagrams in ArgoUML are in need of some work.
What we would like is sequence diagrams that:
Developer who knows more about this: Bob Tarling
UML Profiles is the foundation for extending UML. There is initiatives to formalize their definition, there are profiles that are implemented in other tools without a formal definition.
What we would like is code that allows ArgoUML to:
This may be one or two projects.
Volunteering mentors for this: Linus Tolke.
Critics are ArgoUML's system of warnings, i.e. when you break a rule of UML, then a warning will be generated, much like warnings and errors used for source code correctness and style.
The UML contains the so-called "Well-formedness rules" (WFR), written in OCL, which specify constraints to the creation of model-elements.
ArgoUML currently contains an outdated set of critics, from the days we supported UML 1.3. These need to be updated to the UML 1.4 standard, and completed.
Volunteering mentors for this: Michiel van der Wulp.
The issues database contains many bugs and enhancement requests. Go to the query page at Issue tracking query, and select a subsystem from the list below.
The task for the student is to solve as much of these issues within one subsystem as (s)he can.
These are acceptable subsystems:
Beware: This may seem less interesting than adding one big new feature to ArgoUML, but has the big advantage that the work is broken in many small parts, each of which are usefull to solve on its own. No pressure for deadlines, no disappointment if a project remains unfinished!
Volunteering mentors for this (at least for most subsystems): Michiel van der Wulp.
We are looking for enthusiastic students with a solid knowledge of Java, who are interested in software development tools and modeling, particularly the UML modeling language. Most, although not all, tasks will be easier for those who already have an working knowledge of the OMG's UML.
This page include a list of suggested projects that the development team has thought of, but we are happy to consider projects which are not listed here. If you'd like to suggest a different project, please discuss it previously with the team on the developers' mailing list so that you can develop the strongest possible proposal for evaluation. There's also a more general list of development tasks which have been suggested over time available in our Job Jar which may offer additional sources of inspiration and our bug database could be another source of inspiration.
Here is a list of some additional information that you will likely find useful:
This page was last updated on $Date$.
Back to ArgoUML Home