The first task is the implementation of an editor for UML class diagrams (restricted to classes, attributes, generalizations and a limited notion of associations). However, the editor should, of course, not be implemented from scratch. Rather it should be generated using a meta-CASE-tool. We have divided the students in three small groups. Each group has to use a different meta-CASE-tool. The tools to use are:
- MetaEdit+ by MetaCase, I already have written about MetaEdit+
- GMF, an eclipse project
- DSL Tools by Microsoft, a framework based on MS Visual Studio
Whereas MetaEdit+ and DSL Tools are commercial products, GMF is open source. All three tools have in common that they are of sufficient quality and well-documented, making them suited for our practical.
2 comments:
That's cool! It's really important to actually compare tools, and feedback from comparisons like this is a big factor in improving the tools.
I'm not so sure about using UML Class diagrams, though. The Class symbol is something of an oddity, because of its compartments. You don't really find those anywhere else, even in UML (just in the first languages made by people who have never seen anything other than UML Class Diagrams!).
There have been a few similar comparisons earlier, e.g. of MetaEdit+ and Eclipse, and of MetaEdit+ and DSL Tools. I'm sure the intervening years have levelled the playing field somewhat, but it will be fun to see by how much!
Steven,
thanks for the feedback!
The main reason for the first task of the practical is, that the students should learn to use a meta-CASE tool. This definitely is a skill worth a lot nowadays.
We have only three teams, one per tool, so their results really cannot be used to comprehensively compare and evaluate the tools. In particular we cannot come up with a ranking.
However, we gladly provide you with a non-public list of things the students liked and disliked about your tool and, if so, where they encountered particular difficulties.
You may be right with your comment about class diagrams. However, many VLs have some particularities and it will also be interesting to see, how flexibly the tools can deal with them. On the other hand, a lot of flexibility may make it harder to design simple things... Could it be possible that there cannot be a meta-CASE tool best-suited for every single VL?
Post a Comment