{
  // Teil 28: Performance — Großes Modell mit Scoping und Workspace-Aufteilung
  "specification": {
    "elements": {
      "actor":   { "notation": "Actor" },
      "system":  { "notation": "Software System", "container": true },
      "service": { "notation": "Service",          "container": true },
      "database":{ "notation": "Database" },
      "queue":   { "notation": "Queue" }
    },
    "relationships": {
      "uses":  { "notation": "uses"  },
      "async": { "notation": "async", "dashed": true },
      "reads": { "notation": "reads", "dashed": true }
    }
  },
  "model": {
    "customer": { "kind": "actor", "title": "Customer" },
    "platform": {
      "kind": "system", "title": "E-Commerce Platform",
      "children": {
        "gateway":        { "kind": "service",  "title": "API Gateway",          "technology": "Go"         },
        "shopservice":    { "kind": "service",  "title": "Shop Service",         "technology": "Go"         },
        "authservice":    { "kind": "service",  "title": "Auth Service",         "technology": "Go"         },
        "orderservice":   { "kind": "service",  "title": "Order Service",        "technology": "Go"         },
        "paymentservice": { "kind": "service",  "title": "Payment Service",      "technology": "Go"         },
        "notifservice":   { "kind": "service",  "title": "Notification Svc",     "technology": "Go"         },
        "searchservice":  { "kind": "service",  "title": "Search Service",       "technology": "Go"         },
        "eventbus":       { "kind": "queue",    "title": "Event Bus",            "technology": "Kafka"      },
        "db":             { "kind": "database", "title": "PostgreSQL",           "technology": "PostgreSQL" }
      }
    }
  },
  "relationships": [
    { "from": "customer",                "to": "platform",                    "label": "kauft ein",        "kind": "uses"  },
    { "from": "platform.gateway",        "to": "platform.shopservice",        "label": "route",            "kind": "uses"  },
    { "from": "platform.gateway",        "to": "platform.authservice",        "label": "authenticate",     "kind": "uses"  },
    { "from": "platform.gateway",        "to": "platform.searchservice",      "label": "search",           "kind": "uses"  },
    { "from": "platform.shopservice",    "to": "platform.orderservice",       "label": "place order",      "kind": "uses"  },
    { "from": "platform.orderservice",   "to": "platform.paymentservice",     "label": "charge()",         "kind": "uses"  },
    { "from": "platform.orderservice",   "to": "platform.db",                 "label": "persist",          "kind": "uses"  },
    { "from": "platform.orderservice",   "to": "platform.eventbus",           "label": "order.created",    "kind": "async" },
    { "from": "platform.notifservice",   "to": "platform.eventbus",           "label": "subscribe",        "kind": "async" },
    { "from": "platform.authservice",    "to": "platform.db",                 "label": "read tokens",      "kind": "reads" }
  ],
  "views": {
    "context":    {
      "title":   "Platform Context",
      "include": ["customer", "platform"]
    },
    "gateway":    {
      "title":   "Gateway View (Scoped)",
      "scope":   "platform",
      "include": ["platform.gateway", "platform.shopservice", "platform.authservice", "platform.searchservice"]
    },
    "order-flow": {
      "title":   "Order Flow",
      "include": ["platform.shopservice", "platform.orderservice", "platform.paymentservice", "platform.db", "platform.eventbus", "platform.notifservice"]
    }
  }
}
