Project Suggestions
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 Profile Support
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
Improve the Sequence Diagrams
The sequence diagrams in ArgoUML are in need of some work.
What we would like is sequence diagrams that:
- Work well for common tasks
- Allow conversion to/from collaboration diagrams
- Are supported for reverse engineering and/or code generation
(this may be a big enough task to be project in its own right)
- ...?
Developer who knows more about this: Bob Tarling
Handling of UML Profiles
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:
- load UML profiles and apply them to the work.
- include the most important existing UML profiles (SysML, BPM, ...).
This may be one or two projects.
Volunteering mentors for this: Linus Tolke.
Create "Critics" for all UML well-formedness rules
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.
Improve a subsystem of your choice by solving existing issues
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:
- Class Diagram
- CodeGeneration and ReverseEngineering
- Collaboration Diagram
- Cpp module
- Critics
- Csharp module
- Deployment Diagram
- Diagrams
- Explorer
- GUI
- Model
- Model/MDR
- Module loader
- Notation
- OCL and Constraints
- Other
- Persistence
- PHP module
- Property Panels
- Sequence Diagram
- State and Activity Diagram
- Usecase Diagram
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.
The students we are looking for
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.