Skip to content
🤷

Forgive us! These docs are a work in progress. Some pages may be incomplete or describe features that aren't quite finished yet. Farkitect is in early development and we don't recommend using it for real work just yet. Feel free to explore — just be aware that things are still being built.

MOF Layer Reference

Farkitect organises all content into three layers based on the Meta Object Facility (MOF) standard.

Aspect Detail
Contains MOF Core: Class, Property, DataType, Enumeration, Relationship
Purpose Defines what M2 metamodels can contain
Editable No — always read-only
Visible Yes — appears in Explorer with red text
Per-project Shared — same M3 in every project

M3 is the foundation. You never edit it. It exists so that Farkitect knows what “element type,” “property,” and “relationship type” mean.

Aspect Detail
Contains Element types, relationship types, properties, enumerations, notation, constraints
Purpose Defines modelling languages
Editable Built-in M2s: no. Custom M2s: yes
Visible Yes — appears in Explorer with yellow text
Per-project Built-in: shared. Custom: project-specific

M2 packages have a standard structure with role-tagged sub-packages: elementTypes, elementTypeLayer, relationshipTypes, enumerations, views.

Metamodel Element types Relationship types
M2 Common 6 (Note, Text, Boundary, Artifact, Image, Hyperlink) 4 (Trace, Realization, Annotation, Dependency)
M2 ArchiMate 3.2 61 across 8 layers 11
M2 ArchiMate 4 42 across 7 domains, plus Junction 11
M2 UML Class Diagram 4 across 1 layer 5
M2 C4 Model 6 across 3 layers 3
M2 Logical Data Model 2 (Entity, Attribute) 1 (Related)
M2 Business Model Canvas 9 across 3 layers 11
M2 Business Motivation Model 15 across 5 layers 21
M2 Requirements 10 across 2 layers 10
M2 TOGAF 35 across 6 layers 11
Aspect Detail
Contains Elements, relationships, property values, diagrams, catalogs
Purpose The actual modelling work — instances of M2 types
Editable Yes (subject to project role)
Visible Yes — appears in Explorer with white text
Per-project Always project-specific

Every M1 element has a classifier pointing to its M2 element type. This determines the element’s properties, notation, and constraints.

M3 defines → M2 (what metamodels can contain)
M2 defines → M1 (what models can contain)
M1 classifier → M2 type (each instance points to its type)
M1 imports → M2 package (packages declare which metamodels they use)

Every package has a layer field: "M3", "M2", or "M1". This determines:

  • How it appears in the Explorer (text colour)
  • Whether it’s editable
  • What role it plays in the metamodel architecture

Farkitect

Model anything.

“Welcome back — your diagrams have been plotting without you.”


Release 282 · 14 Oct 2026

New video: Exploring the Explorer, a four-minute tour of the Explorer panel

Release
282
Released
14 Oct 2026, 00:03 UTC
Built
14 Oct 2026, 00:03 UTC
Environment
Production
Surface
Docs
Commit
a9ad7d2
Branch
main