How to declare package imports
Package imports declare which M2 metamodels an M1 package can use. Without imports, the Palette is empty and you can’t create typed elements.
Choose imports at creation time
Section titled “Choose imports at creation time”The easiest moment to set up imports is when the model is born: the New M1 Model dialog (File > New M1 Model…) includes an Import M2 metamodels checklist. Tick what you need and the model starts life ready to use. See How to create an M1 model.
If a model has no imports, Farkitect says so rather than leaving you to find out: a reminder dialog (offering the same checklist) appears after creation and once per session when you select the model’s contents, an amber dot marks the model in the Explorer — click it to open the same dialog — and the Palette and Properties panel both name the problem. Every cue disappears once an import exists.
Add an import
Section titled “Add an import”- Select the M1 package in the Explorer
- In the Properties panel, find the Imports section
- If the imports are inherited from a parent package, click Override to make them editable
- Click the + button to add an import
- Select the M2 metamodel you want to import
The Palette updates immediately — the imported metamodel’s element types and relationship types are now available.
Import multiple metamodels
Section titled “Import multiple metamodels”Repeat the process to import additional metamodels. A single package can import as many M2s as needed. The Palette shows types from all imported metamodels, grouped by layer.
Import inheritance
Section titled “Import inheritance”Sub-packages inherit imports from their parent by default. If a top-level M1 package imports ArchiMate, all sub-packages within it also have access to ArchiMate types.
To override imports on a sub-package (for example, to add an additional metamodel):
- Select the sub-package
- Click Override in the Imports section
- Add or remove imports as needed
Overriding replaces the inherited imports entirely — make sure to include any metamodels you still need.
Remove an import
Section titled “Remove an import”- Select the package
- In the Imports section, click the remove control next to the metamodel you want to remove
Removing an import doesn’t delete any elements that were created using that metamodel’s types. The elements remain in the model, but you won’t be able to create new elements of those types from the Palette until the import is restored.
Swap an import for a different metamodel
Section titled “Swap an import for a different metamodel”Removing one import and adding another leaves your existing elements classified against the metamodel that has gone — which is rarely what you want.
To move a model onto a different metamodel and bring its elements with it, use the ⟳ control next to the import instead. That runs a migration, which remaps element types and properties by name and shows you what will and won’t survive before anything changes.