How to convert owl to uml in Protege? - uml

I am using protege 5 version,
How do I translate owl to uml ?,
Is there a uml diagram library for protege 5.x ?

This is an area that has interested me for some time. To the best of my knowledge there is no current tool to achieve this. There is a plugin for Protege4. See OWL2UML and this article. Another problem is that the plugin may only support an old version or subset of XMI.
If possible it may make sense to rather use Protege4. Or, if possible, you could attempt to do the translation by hand. You can find more on the OWL<-->UML translation on my website.

Related

Converting UML to OWL Ontology

I am trying to develop an OWL ontology based on different UML file resources presented in XMI format. Reading through the internet for a while now, it seems that almost all the available tools or approaches are outdated and even when trying some of them they don't provide the expected outcome.
Since this ontology plays a really important role in our project, I wanted to know what is the best approachs/tools to be used in order to convert UML to OWL ?
I have looked into this myself as well and I have found no tools that can do this satisfactory. Problems I ran into were either the tools used an old version of UML, did not support all UML features, used OWL 1 rather than OWL 2 and was supported by only an old version of Protege.
I resorted by doing the translation by hand, which for most UML constructs are not too difficult. For this purpose I have done a write-up on UML vs OWL, which gives an intuitive explanation for why some of the translation is done in a certain why, as well as provide a reference for translating UML to OWL.
There's an OMG spec now available at https://www.omg.org/spec/MOF2RDF/
I haven't yet found an open-source tool implementing this directly (i.e. convert from UML/XMI to OWL/RDF), but there are EMF related activities, that may be relevant (haven't tried), e.g.:
https://github.com/ghillairet/emftriple
You'll probably never get exactly what you want unless you do it by hand, as Henriette mentioned. One viable option is using COGS, which I've found to work pretty well.
The catch is that it's related to Rot's answer by supporting the OMG specification. If it's not much work to make sure that your UML conforms to that specification, it may save some time in the long run. Here's an example of an OWL file produced by COGS.

What is a good UML or ReverseEngineering Language for Visual C++ 6.0?

What is a good UML or ReverseEngineering Language for Visual C++ 6.0 ?
I have to build upon another guys code that is greater than 50K lines and tons of classes.
He has little to no documentation. I need to produce a map and see how everything intertwines.
I am looking for software package to read in the project code and produce a map of the classes and showing how things relate.
Thanks
I have use Poseidon UML (http://www.visual-paradigm.com/solution/freeumltool/?src=google&kw=UML&mt=b&net=g&plc=&gclid=CNnmsMr9w6sCFQhrgwod9GFy5w). I also like Rational (http://www.ibm.com/developerworks/rational/library/769.html)
Your attempt to document the C++ may fail as UML has trouble with specific implementations. You may get an approximation.
I also like LePus3 (http://www.lepus.org.uk/) which is not UML but it seems to reverse engineer better.
Hey I'm interested in this topic too, so did a little search:
http://msdn.microsoft.com/en-us/library/aa140255(v=office.10).aspx

How to design a UML diagram with a scripting language?

I'm designing a software component which will get instructions from other components on how the UML diagram should look like, and then will produce this UML diagram in different presentation ways (in SVG, GIF, etc.), for example (in Java):
DiagramDesigner designer = new DiagramDesigner();
designer.setStyle('Use Cases')
designer.addActor('User');
designer.addUseCase('Print Document');
// etc.
String svg = designer.getSvg();
I don't want to re-invent the wheel and want to use some industry-standard language/interface for interconnection between my DiagramDesigner and other components. I'm looking for an interface similar to DOM, but for UML, not for XML.
Can anyone help? Thanks in advance.
ps. Besides the example above I would like to make my diagrams inter-operable and transferrable between servers, e.g.:
// first server
String script = designer.getScript();
// second server
DiagramDesigner desiger2 = DiagramDesigner.import(script);
So if I understand you right, you are looking for a way to work with UML on the metamodel level. You should look at the MOF standard and its implementation the EMF (Eclipse Modeling Framework), which is used by almost all Eclipse based UML tools and this framework is used by many other modeling projects, it even somewhat influenced the standardization of MOF (resulting in SMOF and EMOF split) and therefore I would declare it industry standard.
Probably only loosely related but anyhow: PlantUML. It is open source, built in Java and likely contains already parts of what you want to do.
You can inspire from these scripts to generate any output you want:
http://askuml.com/
Currently examples are given in yUML because they're nice but could be anything.
At least for the syntax part, you could get some inspiration from the large set of textual UML tools (theses tools allow designers to textually specify the model and then they automatically show the model graphically using the standard UML notation).
At least of such tools here: http://modeling-languages.com/content/uml-tools#textual

Editors to draw diagrams in Unified Modeling Language?

I was wondering how you draw diagrams in Unified Modeling Language for your project design? By hand on paper or some editors on computer? It will be great if there are some convenient editors or other gadgets for help. I am programming under Windows and Ubuntu.
Thanks and regards!
I used Sparx Enterprise Architect.
I reverse the java project and then just drag and drop from the Package Explorer to the diagram. When I have finished to present the existing classes I then add UML classes in the diagram. No code generation or model driven, just UML graphical representation mixing existing classes and abstract classes. I give my diagrams to the team and let them integrate it.
I am very lazy when modeling :-)
(source: forum-omondo.com)
I can see my classes and navigate from one package to another showing associations, inheritances and dependencies dynamically. No need to create a diagram per view, I prefer to use the show hide links and directly navigate in the java code and model from the same diagram it is easier and a lot more powerful because interactive.
(source: forum-omondo.com)
(source: forum-omondo.com)
Just using the class contextual menu I can navigate. Really cool
(source: forum-omondo.com)
I used Poseidon for UML for quite a while.. not that bad, it's just a little bit slow since it's written in Java.
If I remember correctly it also has a community license that can be obtained for free..
I would vote for StarUML
maybe its not brand new, but it does the job!
It works under Windows.
read more about StarUML
I use Dia for my diagramming needs. It's open source and cross platform so you can switch between OS's without worrying about which format your diagrams were in. It exports to several different image types and has a Portable version (for Windows) as well.

What is the best way to use UML 2.0 in Visio 2003?

Visio 2003 uses UML 1.4, which means that some stereotypes from UML 2.0 simply don't exist, and they need to be modeled by freehand drawing (I may as well be using Photoshop). Does anyone know of an update from Microsoft or an addon to include UML 2.0 (complete - not just class diagrams) in Visio 2003?
I found this package: http://www.sdl.sandrila.co.uk/ but judging by their "example" screenshots, I'm going to stay away. If they don't know how to use UML, I'd be surprised if they could implement it correctly ;)
This set of Visio stencils and templates for UML 2.0 is excellent:
http://softwarestencils.com/uml/index.html
In case it wasn't clear, Microsoft will never update Visio support of UML. For some time, they have not considered Visio to be a Software Engineering tool.
I don't blame them. It didn't even do a good job with the parts of UML it "supported".
I'm using the UML 2.0 symbols from Pavel Hruby. Maybe you'll find them useful as well.
The nice thing about Visio is that it is just a drawing program and not a modeling environment. So just make up your own lines. Visio can draw just about any line time you can think of. But the real answer is the one already checked. Now that Microsoft "supports" UML maybe they will provide better tooling.
Those screenshots are only example diagrams, Sandrila SDL doesn't enforce that level of rigour to the diagrams.
I found this package: http://www.sdl.sandrila.co.uk/ but judging by their "example" screenshots, I'm going to stay away. If they don't know how to use UML, I'd be surprised if they could implement it correctly ;)
That seems a bit harsh - of the handful of screen-shots which are UML2 (as opposed to being examples of the other notations the tool supports, such as SDL, MCL and TTCN), which do you think are incorrect? It's quite ugly as diagrams go, and uses aliased fonts and lines, but that's a Visio feature rather than anything to do with the template.
In terms of what you can do with the UML, you are much better off using a real UML2 tool than Visio. Enterprise Architect is a cheap one which does have a real UML model behind it. (It would be nice to be able to say that the more expensive ones have fewer UI bugs and gotchas, but that isn't really the case, and most lag far behind the simpler graphical tools like OmniGraffle or Visio in polish and usability)

Resources