OntoUML is a UML-based conceptual modeling language grounded in UFO. Tonto provides a textual syntax for many OntoUML constructs.
Classes
OntoUML class stereotypes become Tonto declaration keywords:
kind Person
role Student specializes Person
relator Enrollment
category PhysicalObject of objects
event EnrollmentCeremony
Use classes and natures for the full syntax.
Relations
OntoUML association stereotypes are written after @:
@mediation relation Enrollment [1] -- [1] Student
@material relation Student [0..*] -- enrolledAt -- [0..*] University
@componentOf relation University [1] <>-- hasDepartments -- [1..*] Department
Connectors preserve association, aggregation, and composition distinctions.
Generalization
Generalization is written with specializes:
kind Person
role Student specializes Person
Generalization sets capture disjointness and completeness:
disjoint complete genset PersonPhases where Child, Adult specializes Person
Ontological natures
OntoUML 2 style restricted natures are expressed with of:
category SocialEntity of functional-complexes, relators
roleMixin Customer of objects
This is especially important for non-sortals.
Labels and descriptions
Tonto adds textual documentation blocks for generated output and model review:
kind Person {
label { @en "Person" }
description { @en "A human being considered as an individual." }
}
Visual examples


