Glossary
Catalog
Section titled “Catalog”A tabular view of model elements. Each row is an element; each column is a property defined by the metamodel. Catalogs support sorting, filtering, column configuration, and inline editing of property values. See Catalogs & Tables.
Canvas
Section titled “Canvas”The central panel where diagrams are edited. You drag elements from the Palette or Explorer onto the Canvas, connect them with relationships, and arrange the layout.
Classifier
Section titled “Classifier”The M2 type that an M1 element is an instance of. For example, if you create an element classified as “Application Component” (from the ArchiMate metamodel), then Application Component is the classifier and your element is the instance.
Compartment
Section titled “Compartment”A visual section within a diagram node. Compartments are defined by the M2 notation and can display the element’s name, properties, or owned elements. For example, an Entity in a logical data model has a name compartment and an attributes compartment.
Constraint (pair-wise)
Section titled “Constraint (pair-wise)”A rule defined at the M2 level that restricts which element types a relationship can connect. For example, a constraint might specify that a “Serving” relationship can only go from an Application Component to an Application Service. See Relationships and Constraints.
Diagram
Section titled “Diagram”A visual representation of a subset of the model. Diagrams contain nodes (visual representations of elements) and edges (visual representations of relationships). A diagram is a view — the same element can appear on multiple diagrams. See Diagrams vs Models.
Diagram Edge
Section titled “Diagram Edge”The visual representation of a relationship on a diagram. Edges connect diagram nodes and can have labels, waypoints (bend points), and styling (colour, line style, markers).
Diagram Node
Section titled “Diagram Node”The visual representation of an element on a diagram. Nodes have position, size, shape, colour, and compartments — all derived from the M2 notation definition.
Element
Section titled “Element”A model entity — a thing in your model that has a name, a type (classifier), properties, and relationships. Elements live in packages and can appear on diagrams. Farkitect supports several element kinds: Package, Class, Property, DataType, Enumeration, and Relationship.
Element Type
Section titled “Element Type”An M2-level definition of a kind of element. Element types specify the notation (shape, colour, icon), available properties, and compartment layout for their instances. For example, “Application Component” is an element type in the ArchiMate metamodel.
Enumeration
Section titled “Enumeration”A property type with a fixed set of named values. For example, a “Lifecycle Status” enumeration might have values: Planned, Active, Retiring, Retired. Enumerations are defined at the M2 level and appear as dropdown selections at the M1 level.
Explorer
Section titled “Explorer”The left panel showing the project’s contents as a hierarchical tree — packages, elements, diagrams, and catalogs. The Explorer is the primary way to navigate your model structure.
.farki
Section titled “.farki”The file format used by Farkitect for importing and exporting models. A .farki file is human-readable JSON containing packages, elements, relationships, diagrams, property values, and metadata. Files can be package-scope (one package tree) or project-scope (a complete project). See The .farki File Format.
Farketplace
Section titled “Farketplace”Farkitect’s library of reusable starter assets — metamodels, sample models, and project templates. Available at farkitect.com/farketplace and from within the application via File > New Project… > From Asset. See How to browse and import from the Farketplace.
Layer (M3 / M2 / M1)
Section titled “Layer (M3 / M2 / M1)”Farkitect organizes content into three layers based on the Meta Object Facility (MOF) standard:
- M3 — the meta-metamodel layer. Contains MOF Core, which defines what metamodels can contain. Read-only.
- M2 — the metamodel layer. Contains modeling languages — element types, relationship types, notation, properties, and constraints. Built-in metamodels (ArchiMate, UML, etc.) are M2. You can create custom M2 packages.
- M1 — the model layer. Contains the actual model instances you create — elements, relationships, property values, diagrams, and catalogs. This is where your modeling work lives.
Metamodel
Section titled “Metamodel”A modeling language defined at the M2 layer. A metamodel specifies the element types, relationship types, properties, enumerations, notation, and constraints available for modeling. Farkitect ships with built-in metamodels (ArchiMate 3.2, UML, C4, etc.) and supports creating custom ones.
MOF (Meta Object Facility)
Section titled “MOF (Meta Object Facility)”An OMG standard that defines a layered architecture for metamodeling. Farkitect uses MOF’s M3/M2/M1 layer structure as its foundation. You don’t need to understand MOF to use Farkitect, but it explains why the application is organized the way it is.
Notation
Section titled “Notation”The visual rules for how elements appear on diagrams — shape, colour, icon, default size, compartment layout, and stereotypes. Notation is defined at the M2 level as part of an element type’s definition. M1 instances inherit their appearance from their M2 notation.
Owned Element (Subordinate)
Section titled “Owned Element (Subordinate)”An element that belongs to another element and appears inside its parent’s compartment on diagrams. For example, Attributes owned by an Entity in a logical data model. Owned elements are defined by the M2’s subordinate type configuration.
Package
Section titled “Package”A container for organizing model content. Packages can contain elements, relationships, diagrams, catalogs, and other packages (nested). Packages have a layer (M3, M2, or M1) and optionally a role (elementTypes, relationshipTypes, enumerations, views).
Package Import
Section titled “Package Import”A declaration that one package depends on another. When an M1 package imports an M2 metamodel, the metamodel’s element types and relationship types become available for use. Imports are declared on the package.
Package Role
Section titled “Package Role”A classification for M2 sub-packages that tells Farkitect how to use their contents:
- elementTypes — contains element type definitions
- elementTypeLayer — a grouping within elementTypes (e.g., “Application Layer”)
- relationshipTypes — contains relationship type definitions
- enumerations — contains enumeration type definitions
- views — contains view definitions (diagram viewpoints, catalogs, matrices)
Palette
Section titled “Palette”The right-side panel showing available element types and relationship types for the current diagram. Types are grouped by their M2 metamodel layer. Drag from the Palette to the Canvas to create new elements, or to the Explorer to create elements without placing them on a diagram.
Properties Panel
Section titled “Properties Panel”The right-side panel showing editable fields for the selected element — name, classifier, and typed property values defined by the M2 metamodel.
Property
Section titled “Property”A typed field on an element type, defined at the M2 level. Properties have a data type (String, Integer, Boolean, Date, DateTime, Enumeration), multiplicity (required or optional), and optionally a default value. M1 instances carry property values for the properties their classifier defines.
Property Value
Section titled “Property Value”The actual value of a property on an M1 element instance. For example, if the M2 defines a “Lifecycle Status” property on Application Component, then “Active” is a property value on a specific M1 Application Component.
Relationship
Section titled “Relationship”A connection between two elements. Relationships are first-class model elements — they have a name, a classifier (relationship type), source and target elements, and optionally their own properties. On diagrams, relationships appear as edges connecting nodes.
Relationship Type
Section titled “Relationship Type”An M2-level definition of a kind of relationship. Relationship types specify the line style, markers, colour, role names, and pair-wise constraints. For example, “Flow” is a relationship type in the ArchiMate metamodel.
Stereotype
Section titled “Stereotype”A label displayed on a diagram node showing the element’s M2 type name — for example, <<Application Component>>. Stereotype visibility can be toggled per diagram using the toolbar.
Waypoint
Section titled “Waypoint”A manually placed bend point on a diagram edge. Waypoints control the routing path of relationship edges, allowing you to route edges around other elements or create clean orthogonal (right-angle) paths.