Skip to main content

Scapius Language Overview

The Scapius Domain-Specific Language (.ea) provides a concise, human-readable, and machine-verifiable syntax to model enterprise architecture aligned with The Open Group ArchiMate standards.


File Format & File Extension

  • File extension: .ea (e.g. applications.ea, business_capabilities.ea)
  • Encoding: UTF-8 without BOM
File Type Support

Scapius exclusively processes .ea files. Multi-file workspaces are defined simply by organizing .ea files into directories and running the validator on the directory path.


Lexical Rules & Identifiers

  1. Identifier Syntax (snake_case): All entity IDs, workspace IDs, and container names must be in lowercase snake_case (consisting of letters a-z, numbers 0-9, and underscores _).

    • payment_gateway_api
    • user_auth_service_v2
    • PaymentGatewayApi (No PascalCase or camelCase)
    • payment-gateway (No hyphens)
    • payment gateway (No whitespace)
  2. Display Names: Display names are human-readable strings enclosed in double quotes:

    system order_mgmt "Order Management & Fulfillment System" { ... }
  3. Comments: Line comments begin with # or //:

    # This is a comment
    // This is also a comment
    /* Block comments are also supported */

Structural Hierarchy & Containers

Scapius organizes elements into logical containers:

1. workspace

The root container representing a full architectural scope.

workspace <workspace_id> "<Workspace Name>" {
# Child layers, groups, entities, and styles
}

2. layer

Used to delineate standard architectural layers (e.g., Business, Application, Technology, Security & Governance).

layer "<Layer Name>" {
# Entities belonging to this layer
}

3. group

Logical grouping within a layer or globally across bounded domains.

group "<Group Name>" {
# Entities belonging to this domain
}

Scope & ID Uniqueness

  • All entity IDs within a workspace must be globally unique, regardless of which file or layer they are defined in.
  • Relationships can reference any entity by its global ID across layers and files.

Next Steps

  • Language Syntax: Explore the detailed declaration syntax for entities, properties, and relationships.
  • Entity Reference: Learn about each entity type and its ArchiMate alignment.
  • Style Rules: Separate visual styling from business models using styles blocks.