[Uml-devel] ideas for 2.0
Andrew Sutton
ansutton at kent.edu
Fri Jan 17 07:13:07 UTC 2003
i'm taking a class on software visualization this semester. pretty
interesting. we had some discussion yesterday that sparked some ideas.
radically different ideas for a UML editor.
as developers, it would be nice if we could visualize (see) our code at
multiple levels of abstraction. its nice to look at a diagram of a class and
see what attributes and methods it has. stepping up, we can see what classes
it has relationships too - through inheritance or association. then it might
be nice to step up again and see what libraries implement each class or what
components implement each class and the relationship between components.
maybe what files contain each class or method. what patterns are used and
what classes they contain. any frameworks. the architecture. i don't know.
whatever.
anyways, the point is that UML supports notations for most of these ideas
(except patterns and architectures). however, no UML tools support the
capability to "drill down" to a different level of abstraction - or done a
good job merging the dynaminc and static attributes of UML. here's a good
example of drillling down (and merging static and dynamic views): you look at
a class diagram and you're interested in the behavior of a method in some
class. you can click on the method and immediately see the sequence diagram
for that method.
see? merging static and dynamic and allowing you to "drill down" a level. we
can also back out a level. there's a lot of different abstractions that exist
on different levels in source code. the UML object model is just what holds
them all together.
i guess the big idea would be to generate diagrams on the fly. lay them out
automatically. imagine if you had the code for a method. we could generate
the sequence diagram for that method. or if you're looking at a class diagram
and drill down into a package, a new class diagram is automatically
generated. optionally, you could select a class from the tree view and see a
class diagram involving it and its related classes.
here's a good question: what if the modeler didn't have to do ANY work making
the diagrams. he/she could just focus on the data underlying the diagram - or
understanding the multiple layers of abstraction within the system.
now, i don't know any tools that work like that for UML (and i've used a
couple). i think if we could present UML in that way, we'd have a great
application.
andy
More information about the umbrello-devel
mailing list