Frequently Asked Questions
Install and Run
How do I install and run Menthor Editor?
There is no need to install it. Just download the latest version on our download section and run it. You can run the executable JAR file you downloaded by double clicking it.
I double click on the Menthor Editor executable but nothing happens. What should I do?
Open the terminal of your operational system, go to the folder where you have downloaded Menthor Editor and type “java -jar menthorX.jar”, where X is the current version of our tool.
In which operational systems can I run Menthor Editor?
You can run it on Windows, Linux and Mac.
How do I create/edit/verify OCL constraints in Menthor Editor?
OCL textual documents can be created inside Menthor Editor. Each document will appear at the Constraints view in the Project Browser. Our embedded OCL editor opens OCL documents and provides syntax highlight, code-completion and parsing of OCL textual constraints. To see the code-completion in action press Ctrl+Space at any opened OCL document. To syntactically verify OCL textual constraints, right click inside an opened OCL document and click "Parse", or alternatively, press Ctrl+P.
Can I create classes and relationships without stereotypes in OntoUML?
For now, only relationships can be created without stereotypes. We are planning to expand this to classes as well.
What are the different types of OWL specifications I can generate from my OntoUML model using Menthor Editor?
We work with three main different transformations to OWL, each one with its own peculiarities. We will soon explain them in particular.
Can I model events in OntoUML?
Events are perdurant universals as defined by the layer B of UFO. The current version of the OntoUML conceptual modeling language reflects solely the ontological distinctions defined by the layer A of UFO i.e. a foundational ontology of different types of entities called endurants and their relations. For this reason, events are disallowed in the current version of OntoUML and therefore Menthor Editor (nowadays) does not support them.
Can I extend the UFO foundational ontology using Menthor Editor?
Currently, this is not supported.
Can I import models from other CASE tools in Menthor Editor?
Yes you can. You can build your models in Enterprise Architect (from Sparx Systems) using our OntoUML Profile. You just need to export them into .xmi files and them import them into Menthor Editor.
Can I export Menthor diagrams to media files to use somewhere else?
If you want to use your ontology in a paper, report or presentation, you can export your diagrams as png files.
Why there is no Derivation relationship in the OntoUML plugin for Enterprise Architect (EA)?
Enterprise Architect (EA) is limited with regard to UML association classes, especially, with respect to a possible extension of the concrete syntax of common UML relationships. The OntoUML derivation relationship is defined between a class and a relationship, plus it has a peculiar concrete syntax defined by a dashed line with a small circle in the target end-point. Due to these reasons, our OntoUML plugin cannot define a derivation relationship between relators and material relationships, as defined by OntoUML. A possible workaround, but which does not work completely, is to define the respective relator as a UML association class.
How do I use the OntoUML infrastructure to development my own software solution?
The current OntoUML infrastructure we use in Menthor Editor was originally developed in the context of NEMO research group (Ontology and Conceptual Modeling Research Group). We will soon provide further instructions for the use of this infrastructure.
I want to collaborate in the development of the Menthor Editor. What should I do?
We are glad you want to contribute, please get in touch through email@example.com.
How do I compile the Menthor Editor's source code?
How to generate an executable JAR for Menthor. Follow the steps:
1. Change the attribute MENTHOR_VERSION in Main.java to point to the version you're building.
ex: String MENTHOR_VERSION = "0.9.32";
2. Change the attribute MENTHOR_COMPILATION_DATE in Main.java to point to the date where you are building the application
ex: String MENTHOR_COMPILATION_DATE = "Jul 01 2014"
3. Change the attribute USE_LOG_FILE in Main.java to tell whether or not are you going to use the log file.
In this case, change the attribute to true.
ex: boolean USE_LOG_FILE = true;
4. Double click on Main.java, go to Export -> Runnable Jar.
Choose to package the libraries instead of extract them. Also,you do not need to generate a ANT build script.
Rename the jar name to "menthor"+MENTHOR_VERSION_".jar, where MENTHOR_VERSION is your build version.
5. After generating the jar, open it with WinRAR/Unzip and delete the swt.jar files on the root of the jar, they are among the other libraries.
This is due to the fact that this swt.jar is specific of Winx64 platform and we used it only in the development process. We don't need it at runtime.
6. Double click on the jar file created or type in a console java -jar menthor+MENTHOR_VERSION+.jar to execute Menthor application.
Where can I look at a list of known bugs and feature requests?
If you didn't find your request or solution here at the FAQ, try our Forum and Wiki. If still you could not find anything to your problem, you can get in touch with us through firstname.lastname@example.org.
How can I validate my OntoUML model?
Using the embedded simulation support or running your model against a library of semantic anti-patterns.
I simulate my model but there are no instances. Why?
There can be many reasons why the Alloy Analyzer did not find any instantiation for your model. Most common reasons include a tiny Alloy scope or the over-constraint of your model.
Can I simulate only a part of my model?
Yes you can. And we encourage you to do exactly that. Menthor Editor allows you to simulate your model by (i) diagrams,(ii) packages or (iii) elements.
What happens when I simulate a syntatically incorrect model?
It depends on which type of error your model has. Usually, the Alloy Analyzer will not find an instantiation for your model.
The simulation takes too long to find instances, how can I make it faster?
You can try for example to (i) decrease the size of you model for simulation, choosing to simulate your model by diagrams, packages or elements, rather than using your entire model, (ii) decrease the size of the Alloy scope or (iii) change the SAT solver that the Alloy Analyzer uses by default (e.g. using the "Mini Unsat Core" Solver).
The simulation is always returning the same instantiation. How can I customize it?
You can costumize your Alloy code in order to define how many class' instances must appear. Then, in Alloy code, inside of the run block, put
#World.CLASS_NAME = 1
See that you can use other comparison operators (<, <=, >, >=) and other values.
What is a semantic anti-pattern?
A semantic anti-pattern is a recurrent modeling decision, that although is syntactically valid, it is prone to lead to domain misrepresentations, i.e., it might indicate that the model is under-constrained, over-constrained, an element is classified with the wrong meta-category or there might be elements missing from the ontology.
I fix an anti-pattern, but the tool keeps finding it. What is wrong?
Some of these fixes may include the generation of OCL constraints to enfore or forbid a specific situation from occurring. Menthor Editor still can't differ whether these OCL domain constraints were already generated thus fixing the semantic anti-pattern occurrence.
What is OntoUML?
Roughly speaking, an ontological version of the structural portion of UML (class diagrams). The set of categories present in OntoUML are reflected by the foundational ontology UFO. In particular, the structural layer of UFO dubbed UFO-A, which deals with endurants and their relations. The ontological distinctions are introduced as UML stereotypes or UML meta-attributes.
I want to learn OntoUML, where do I start?
We will soon provide a beginners guide for the OntoUML modeling language. For now, you can search in our page about Publications to see all the recent works about OntoUML and related topics.
What is Ontology-driven Conceptual Modeling?
See in Learn: OntoUML
What is UFO (Unified Foundational Ontology) and how is it related to OntoUML?
See in Learn: OntoUML
Where has OntoUML been applied?
In several industrial projects in different areas such as Pretroleo and Gas, News Information Management, E-Government, Telecom, Transport Networks, Ground Transportation, etc.
What is the relation between OntoUML and OWL?
In our view, OntoUML is a conceptual modeling language independent of techonology whilst OWL is a specific language, dependent of technology, for the implementation of conceptual models with the specific purpose of running inferences, publishing their content on the web and annotating them semantically.
I wanted to write a few domain constraints but I don’t know standard OCL. Is there any tutorial about it?
Unfortunately, we don't know any good OCL material for beginners. There are few OCL tutorials and slides available throughout the internet and we reccomend them to you but none in particular. We will formulate our own set of tutorials about OCL constraints soon.
What types of constraints can I write with standard OCL?
Standard OCL is a textual constraint language used to complement the expressivity of UML class diagrams. Due to its diagrammatic notation, UML is not able to represent fully all aspects of a domain. As UML class diagrams are originally created to represent only current states of systems, Standard OCL therefore represent only static portions of domains i.e. constraints that should apply to a snapshot of a system and thus involve only a single system state. As the ontologically well-founded version of UML class diagrams i.e. OntoUML, disallows UML constructs such as UML model operations, standard OCL pre- and post- conditions and operations definitions are also disallowed. Therefore, in Menthor Editor, OCL class invariants and OCL property derivations are the only OCL constraints supported.