Introduction

The Event Modeling Language (TEML) #

TEML stands for The Event Modeling Language. It is a textual specification designed to make documenting and modeling systems more accessible and efficient. TEML is based on YAML, which makes it both fast to write and simple to read.

TEML can be used in two key ways:

  1. Pseudo-Code Style: Quickly get ideas out of your head and onto paper or into a text editor.
  2. Compliant Format: Refine it into a structured version for:
    • Feeding into processors to generate code.
    • Outputting models from existing code using specialized tools.

TEML is an open-source project, and its repository can be found here: TEML-Org GitHub.


What is Event Modeling? #

Event Modeling is a method of documenting information flow within a system. The “system” could refer to:

  • A software application.
  • A real-world process or system.

The method was developed by Adam Dymitruk, and the official homepage for Event Modeling is eventmodeling.org.


What is TEML and Why Do We Need It? #

Graphical tools for Event Modeling are effective for visually sharing and understanding systems. However, they can present challenges such as:

  • Time-consuming creation and maintenance.
  • Accessibility difficulties for people with disabilities.

TEML solves these challenges by providing a standardized textual language that offers:

  • Improved accessibility for people with physical limitations or screen reader requirements.
  • Faster input via plain text.
  • Support for version control systems like Git (due to its plain text format).
  • Compatibility with automated tools for generating documents and code.

Advantages of TEML:

  • Better accessibility for individuals with hand limitations.
  • Enhanced compatibility with screen readers.
  • Faster input through text-only approaches.
  • Use of plain text for easier version control.
  • Integration with tooling for input and output processes.

Mission of TEML Org #

The Event Modeling Language Org exists to:

  • Create a formalized textual language for defining an Event Model.
  • Develop and promote an agreed-upon standard for Event Modeling.
  • Enable the design and implementation of tools for Event Modeling.

By providing this standardized language, TEML aims to give users an additional way to:

  1. Document and model systems effectively.
  2. Accelerate the development and maintenance of Event Models.