Languages Overview¶
XSMP Modeler uses several related languages, each with a focused role.
At a glance¶
| Language | File | Main purpose |
|---|---|---|
| Project | xsmp.project |
Define project sources, dependencies, tools and profiles |
| Catalogue | .xsmpcat |
Define types, interfaces, models and services |
| Configuration | .xsmpcfg |
Provide reusable configuration values |
| Assembly | .xsmpasb |
Instantiate systems and connect local configuration |
| Link base | .xsmplnk |
Declare reusable connections |
| Schedule | .xsmpsed |
Declare tasks, events and task activities |
In addition to native XSMP source files, the same project source folders can contain SMP XML source files such as .smpcat, .smpcfg, .smplnk, .smpasb, and .smpsed. When they appear in a declared source folder, XSMP Modeler imports them automatically and treats them as project modeling sources.
Typical progression¶
Most projects are built in this order:
xsmp.project.xsmpcat.xsmpcfg.xsmpasb.xsmplnk.xsmpsed
You do not need every language in every project, but this order matches how systems usually grow.
Relationship between the languages¶
xsmp.projectselects the workspace context..xsmpcatdefines the reusable types and components..xsmpcfgapplies values to component structures..xsmpasbinstantiates components and sub-assemblies..xsmplnkcollects reusable connections..xsmpseddrives execution and orchestration.
Shared syntax¶
Several languages share common syntax for:
- paths
- template parameters
- placeholders
- values
See Paths, Templates and Values for the common rules.