Tonto is an acronym with the words Textual and Ontology, because it is a written way of writing Ontology models. It was developed using the Langium
tool, with Typescript
, and creates a Visual Studio Code Extension with a Language server.
Tonto was designed as a friendly textual syntax for ontologies. It offers specialized support for constructs reflecting the UFO foundational ontology, which makes it possible to identify errors in the ontology that would otherwise pass unnoticed. The language was designed to allow transformation to a number of languages including UML (more specifically OntoUML), OWL (for gUFO-based ontologies), Alloy, Common Logic, and the TPTP syntax.
-
UFO-based annotations to facilitate error checking and meaning negotiation
-
High-order types for multi-level taxomies
-
Structured comments for documentation generation
-
Constraints specification when extra precision is required
-
Ontology testing/verification directives
As a textual syntax, the language can benefit from source control tools such as git, and ontologies can be viewed and edited without special tools. This VS Code extension is provided with support for syntax verification, syntax highlight, content assist and ontology visualization preview. The extension is integrated with the OntoUML server, to benefit from services designed for the language, such as transformation to OWL and generation of database schemas.
Here are some of the languages, frameworks, tools and libraries used in development of this application:
This is the instructions on setting up your project locally. To get a local copy up and running follow these simple example steps:
This is all the tools you need installed to run the project and the versions that are preferred
- nodejs - v16.9.1 or higher
- npm - 7.21.1 or higher
- Yarn - 1.22.18 (not mandatory, but recommended)
- Run
npm run langium:generate
to generate TypeScript code from the grammar definition. - Run
npm run build
to compile all TypeScript code ornpm run watch
if you want the compiler to work automatically everytime you update your files - Press
F5
to open a new window with your extension loaded. - Create a new file with a file name suffix matching your language.
- Verify that syntax highlighting, validation, completion etc. are working as expected.
With these commands you can generate a .vsix file to install the extension in your VS Code or to send privately to other people to test it, without publishing it to the Marketplace
# Run this to generate .vsix file
vsce package --pre-release --baseContentUrl https://github.com/matheuslenke/Tonto
# Installing the extension in your vscode (requires the code extension in path)
code --install-extension tonto-x.x.x.vsix
Distributed under the MIT License. See LICENSE.txt
for more information.
Matheus Lenke Coutinho - [email protected] - Linkedin - Github