Tonto
Theory & Reference

OntoUML Quick Reference

How Tonto maps textual syntax to OntoUML modeling concepts.

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

OntoUML University model

University model represented in OntoUML

Person phases

A smaller person phase example