A so-called “Library Module” is a special module that is linked to a DSL. Its purpose is to define option definitions and link definitions whose applicability is dependent on the way the module’s model elements are being used. Well-known examples of library modules are:
- “Predefined Types” (DSL “Basic”): defines a set of primitive types that are, at least partially, available in all programming languages
- “UI Components” (DSL “Ui”): defines a set of user interface components that are, at least partially, available in all user interface frameworks/SDKs
You need to know how to define DSLs in order to be able to better understand how library modules are being used.