  This paper presents a DSL for geometric relations between rigid bodies such
as relative position, orientation, pose, linear velocity, angular velocity, and
twist. The DSL is the formal model of the recently proposed semantics for the
standardization of geometric relations between rigid bodies, referred to as
`geometric semantics'. This semantics explicitly states the
coordinate-invariant properties and operations, and, more importantly, all the
choices that are made in coordinate representations of these geometric
relations. This results in a set of concrete suggestions for standardizing
terminology and notation, allowing programmers to write fully unambiguous
software interfaces, including automatic checks for semantic correctness of all
geometric operations on rigid-body coordinate representations.
  The DSL is implemented in two different ways: an external DSL in Xcore and an
internal DSL in Prolog. Besides defining a grammar and operations, the DSL also
implements constraints. In the Xcore model, the Object Constraint Language
language is used, while in the Prolog model, the constraint are natively
modelled in Prolog.
  This paper discusses the implemented DSL and the tools developed on top of
this DSL. In particular an editor, checking the semantic constraints and
providing semantic meaningful errors during editing is proposed.
