Your MDG Technology is your metamodel contract. It defines what your model can represent, how elements relate, and what quality rules apply. It also directly affects how well EA GraphLink surfaces your architecture to AI tools. Better MDG = better AI output. That’s not metaphorical.
This is a reference guide. Five patterns covering the use cases we see most often. For each one: the element types, the key tagged values (with exact names and data types), the relationships that matter, and the Quick Linker configuration you’ll need.
Copy these. Adapt them to your standards. Use them.
1. Capability Map (TOGAF-aligned)
What it does: Represents capability hierarchy with decomposition, linked to business processes, applications, and the organisational units that own them. Standard TOGAF approach, but structured for AI navigation and stakeholder reporting.
Element types:
Capability(stereotyped Business Function or custom)BusinessProcess(stereotyped Activity)ApplicationComponent(realises capabilities)OrganisationalUnit(owns capabilities)
Key tagged values:
| Name | Type | Purpose |
|---|---|---|
strategic_importance |
Enumeration: Strategic, Important, Operational, Legacy |
Prioritizes capabilities for investment |
maturity_level |
Enumeration: Nascent, Repeatable, Defined, Managed, Optimized |
Maturity model alignment |
owner_name |
String | Direct ownership reference (queryable) |
owner_unit |
Reference (to OrganisationalUnit) | Organizational context |
value_driver |
String | Links to business outcomes |
annual_investment |
String | Budget context (free-form; exact figures optional) |
Relationships:
- Capability decomposes to Capability (stereotype:
decomposed_by) - Capability realises BusinessProcess (stereotype:
realisedbyprocess) - ApplicationComponent realises Capability (stereotype:
realises_capability) - OrganisationalUnit owns Capability (stereotype:
capability_owner)
Quick Linker config:
- Source: Capability
- Target: ApplicationComponent, BusinessProcess, OrganisationalUnit
- Direction: Outbound (shows realising apps, processes, owners)
- Display: Show tagged values for
strategicimportanceandmaturitylevelin tooltips
Why this works: Stakeholders understand it immediately. AI tools can traverse the capability graph to answer “what apps support this capability?” and “who owns this?” without guessing. The tagged values feed directly into Kernaro Assist for stakeholder reporting and gap analysis.
2. Application Portfolio (with lifecycle attributes)
What it does: Application landscape with vendor, version, lifecycle stage, and business criticality. Links to infrastructure (nodes), capabilities (what it does), and data objects (what it uses).
Element types:
ApplicationComponent(stereotype:Application)Node(infrastructure; stereotype:HostingEnvironment)DataObject(consumed/produced data)Capability(realised by application)
Key tagged values:
| Name | Type | Purpose |
|---|---|---|
vendor_name |
String | Application vendor |
vendor_product |
String | Product name or SKU |
current_version |
String | Current deployed version |
lifecycle_stage |
Enumeration: Strategic, Stable, Sunset, Retired |
End-of-life planning |
endoflife_date |
Date (YYYY-MM-DD) | Support cutoff date |
business_criticality |
Enumeration: Critical, High, Medium, Low |
Downtime impact |
owner_team |
String | Support/operations owner |
annual_cost |
String | TCV or annual run-rate |
data_classification |
String | PII, Sensitive, Internal, Public |
Relationships:
- ApplicationComponent
hosted_onNode - ApplicationComponent
realisesCapability - ApplicationComponent
consumesDataObject - ApplicationComponent
producesDataObject - ApplicationComponent
interfaceswithApplicationComponent (stereotype:apiinterfaceorbatch_interface)
Quick Linker config:
- Source: ApplicationComponent
- Target: Node, Capability, DataObject, ApplicationComponent
- Filters: Show only applications with
business_criticalityof Critical or High for executive dashboard - Display: Lifecycle stage as icon; end-of-life date as alert if within 18 months
Why this works: Portfolio planning is a constant conversation. Kernaro Assist can generate retirement roadmaps, capability gap analysis, and vendor consolidation proposals directly from this structure. The data classification tag feeds integration governance and data residency checks.
3. System Integration Map
What it does: Documents interfaces, protocols, data contracts, and message flows between applications. The closest thing you have to a system integration blueprint.
Element types:
ApplicationComponent(source and target)InterfaceSpecification(the contract)DataObject(payloads)TechnologyService(protocols and standards)
Key tagged values:
| Name | Type | Purpose |
|---|---|---|
protocol_type |
Enumeration: HTTP/REST, SOAP/XML, Message Queue, Database, File Transfer, FTP, Direct |
Integration method |
data_format |
Enumeration: JSON, XML, CSV, Binary, Protobuf, Avro, EDI, Proprietary |
Payload structure |
call_frequency |
Enumeration: Real-time, Near-real-time, Batch Hourly, Batch Daily, Batch Weekly, On-demand, Event-driven |
Synchronization pattern |
slaresponsetime |
String | e.g., “< 1 second", "< 5 minutes", "24 hour batch" |
sla_availability |
String | e.g., “99.9%”, “Business hours only” |
owner_name |
String | Integration owner (usually application owner on source side) |
is_deprecated |
Boolean | Flag for sunset integrations |
replacement_interface |
Reference (to InterfaceSpecification) | Forward reference for decommissioning |
Relationships:
- ApplicationComponent
integrates_withApplicationComponent via InterfaceSpecification - InterfaceSpecification
usesTechnologyService (protocol definition) - InterfaceSpecification
carriesDataObject (payload definition) - InterfaceSpecification
implemented_byApplicationComponent (the middleware that enables it)
Quick Linker config:
- Source: ApplicationComponent
- Target: ApplicationComponent (showing all integrations)
- Filters: Option to show only
is_deprecated = truefor integration rationalization views - Display: Protocol as edge label; SLA as tooltip; color-code by frequency
Why this works: Integration debt is invisible until it’s mapped. Kernaro Assist can use this to identify integration patterns (chains of integrations creating latency), flag deprecated interfaces nearing cutoff, and generate integration refactoring proposals. EA GraphLink queries on this structure answer “show me all batch integrations” or “which apps call this service?” instantly.
4. Business Process Decomposition (BPMN with organisational overlay)
What it does: BPMN subprocess hierarchy linked to roles, systems, and data. Shows who does what, with what systems, on what data.
Element types:
Activity(stereotyped:BPMNProcessfor top-level;BPMNSubProcessfor children)Role(org unit representing job function)ApplicationComponent(systems used in process step)DataObject(created, modified, used)Lane(swimlane; use to associate role with process)
Key tagged values:
| Name | Type | Purpose |
|---|---|---|
process_stage |
Enumeration: Design, Active, Deprecated, Archived |
Process lifecycle |
owner_role |
Reference (to Role) | Accountable party |
cycletimetarget |
String | e.g., “5 business days”, “4 hours” |
sla_definition |
String | Service level expectation |
manualefforthours |
Decimal | Est. human effort per instance |
exception_rate |
String | e.g., “2%”, “< 1%" (typical exception frequency) |
is_automated |
Boolean | True if RPA or full system automation |
automation_tool |
String | e.g., “RPA UiPath”, “Workflow Engine” |
Relationships:
- BPMNProcess decomposes to BPMNSubProcess
- BPMNSubProcess
assigned_toRole (via Lane stereotype) - BPMNSubProcess
usesApplicationComponent - BPMNSubProcess
readsDataObject - BPMNSubProcess
writesDataObject - BPMNSubProcess
modifiesDataObject
Quick Linker config:
- Source: BPMNProcess
- Target: All child processes, roles, applications, data objects
- Filters: Show only deprecated processes for sunset planning
- Display: Manual effort as process label; automation status as visual indicator
Why this works: Business process architecture is where most architecture work lives, but it’s often siloed in separate tools. By anchoring it in EA, you connect process design to application landscape and organizational structure. Kernaro Assist can generate process improvement recommendations (“this subprocess is 8 hours of manual effort but could use the existing DataObject API”) and identify automation opportunities.
5. Technology Lifecycle (standards categories)
What it does: Technology standards register showing adoption status across your organization. Tracks what’s strategic, what’s accepted, what you’re retiring.
Element types:
Technology(generic; stereotyped by category)TechnologyService(if you’re registering platforms as services)ApplicationComponent(that uses the technology)
Stereotypes by category:
Language(Java, C#, Python, etc.)Framework(Spring, .NET, Django, etc.)Database(Oracle, PostgreSQL, MongoDB, etc.)Middleware(Kafka, RabbitMQ, etc.)CloudPlatform(AWS, Azure, GCP)DevTool(IDEs, CI/CD platforms, monitoring)
Key tagged values:
| Name | Type | Purpose |
|---|---|---|
adoption_status |
Enumeration: Strategic, Accepted, Tolerated, Retiring, Retired |
TOGAF standards alignment |
standard_category |
String | e.g., “Database Platform”, “API Framework”, “Monitoring Tool” |
review_date |
Date (YYYY-MM-DD) | When status was last assessed |
nextreviewdate |
Date (YYYY-MM-DD) | When status should be reviewed again |
replacement_technology |
Reference (to Technology) | What to migrate to (if retiring) |
vendororcommunity |
String | e.g., “Oracle”, “Apache”, “Linux Foundation” |
version_range |
String | e.g., “8.x – 12.x”, “Any” (to allow flexibility) |
approval_date |
Date (YYYY-MM-DD) | When the technology was approved |
rationale |
String | Why this technology is strategic/accepted/tolerated |
Relationships:
- ApplicationComponent
usesTechnology - Technology
replaced_byTechnology (if retiring/retired) - ApplicationComponent
shouldmigratetoTechnology (target technology for decommissioning)
Quick Linker config:
- Source: Technology
- Target: ApplicationComponent (shows which apps use each technology)
- Filters: Display only
adoption_status = Retiringto identify migration targets - Display: Show adoption status as color; review date as alert if overdue
Why this works: Technology standards are governance, but they’re often documented in spreadsheets separate from your EA model. By anchoring them here, you make them queryable. “Which applications are using tolerated frameworks?” becomes an instant answer. Kernaro Assist can use this to generate standards compliance reports and identify deviations with business context (“app X uses Tolerated Framework Y; business criticality is Low; migration priority is Low”).
Implementation notes
Getting started:
- Choose the pattern that matches your highest-value use case
- Create the stereotypes and tagged value definitions in your MDG Technology
- Define the relationships (both constraints and quick linkers)
- Populate a pilot set of elements (one capability hierarchy, one application portfolio section, one process)
- Validate against your standards; iterate on the tagged value definitions
Quality checks:
- Run a model validation rule to ensure all elements of a type have the required tagged values populated
- Use Quick Linker to spot missing relationships (if an application appears in your portfolio but has no “realises” relationship to a capability, it’s an integrity issue)
- Validate that tagged value enumerations match your governance definitions (if you say “Strategic”, make sure that has a consistent definition)
EA GraphLink alignment: All five patterns translate cleanly to GraphQL queries through EA GraphLink. The better your MDG definition, the more precise your queries become. Kernaro Assist uses these queries to understand context; better definition = better AI output.
These patterns aren’t gospel. Adapt them. Your standards might use different terminology, or you might need additional attributes for your industry. The structure is what matters: clear element types, specific tagged values, explicit relationships, and governance-aligned enumerations.
Your metamodel is the foundation of everything else. Get it right, and your architecture becomes navigable to AI tools, reportable to stakeholders, and governable at scale.
Start with one pattern. Master it. Then add the others.