5MODELING LANGUAGES – THE AGONY OF CHOICE

This chapter covers the learning objectives of syllabus Section 2.2 “Languages for MBT Models.”

In Section 2.2.2, we discussed that languages are defined by their syntax and their semantics. In this regard, they are similar to natural language. However, unlike natural language, a modeling language is a theoretical construct. It follows some abstract syntax, which explains the concepts of the modeling language itself. The best-known abstract syntax for modeling languages is the Unified Modeling Language (UML) meta-model. In fact, the concepts of UML are themselves described using models.

All modeling languages have an abstract syntax. In the simplest case, it is just some textual description. Grammar rules describe the concrete syntax, while semantics rules describe the semantics of a modeling language. A grammar rule for our simple modeling languages in Section 2.3 is that arrows connect rectangles. Another one is that diagrams start with a start node and end with an end node.

The semantic rules may be static or dynamic. An example of a static rule is that rounded rectangles represent actions in the simple graphical modeling language for workflows and states in the simple graphical modeling language for state diagrams. As you can see, the syntax is identical for both languages (rounded rectangles represent the element), but their semantics is different.

An example of a dynamic rule is that parallel actions in activity diagrams shall ...

Get Model-Based Testing Essentials - Guide to the ISTQB Certified Model-Based Tester now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.