4. (Optional) Create the language-specific architecture.
5. Create the language-specific model.
6. Create the FMU and simulate.
**!! See [examples](./examples/) folders for more details (e.g., [`modelica/run_auto_csm.py`](examples/modelica/run_autocsm.py).**
## Workflow Overview
Each step is independent — you can run only the steps you need. For example, if you already have a Modelica project structure, skip `create_architecture` and start with `create_model`.
```
User JSON spec ──► AutoCSM API ──► Language Method ──► Outputs
3. (Optional) Create the language-specific architecture.
4. Create the language-specific model.
5. Create the FMU and simulate.
**See [examples](./examples/) folders for more details (e.g., [`modelica/run_auto_csm.py`](examples/modelica/run_autocsm.py).**
# Advanced:
### Language Method Templates
For each implemented language a library of base templates and classes is requires (see [method](./methods/)). The templates represent the folder structure that will be replicated into the JSON specified layout using the specified architecture (e.g., `nested`). If the default template is not adequate for an application, new templates can be created in the language library and then selected for use from the AutoCSM Python API.