AI Power Tools for Sparx EA Docs Release 3.6.4

Check traceability coverage

Goal

Find out what fraction of a set of elements is traced in the model, such as requirements realized by an application, or capabilities supported by a system, and list the ones that are not. For an architect, analyst or model steward preparing a review or an audit. You end with a coverage figure, its denominator and the rule behind it, and the list of gaps, checked two different ways.

Where it runs

This scenario needs the MCP server. Computer use covers its UI steps.

Surface How it runs
Claude Code Fully
Claude Cowork Fully
Claude Desktop chat Fully, except the UI steps, which you perform: starting EA and opening the model, and handling any dialog EA raises (you screenshot it, paste the screenshot into the conversation so the assistant can analyze it, then dismiss it).
VS Code with GitHub Copilot Fully, except the UI steps, which you perform: starting EA and opening the model, and handling any dialog EA raises (you screenshot it, paste the screenshot into the conversation so the assistant can analyze it, then dismiss it).

Before you start

  • The start-of-session check done. This scenario reads and changes nothing.
  • The trace is recorded as connectors. A requirement marked as met only in a tagged value, a note or a spreadsheet is not counted.
  • You know the coverage rule you want, or are ready to decide it in step 2: which elements must be covered, which connector types count, and whether coverage must be direct or may pass through other elements.

Trace dependencies answers the question for one element. A coverage figure needs the whole set, so this scenario counts with a direct model query and checks the count with the traversals.

Steps

  1. AI with computer use; otherwise you If EA is not running or the model is not open, start EA and open it. AI Power Tools ea-start-here runs the start-of-session check.
  2. You Decide the coverage rule, with the AI's help. It covers three things:
    • The set to cover: a stereotype or element type, and the package subtree. For example, every requirement in the Lending package.
    • What counts as covered: the connector types, the elements at the other end, and the direction. A requirement is normally the target of the connector that realizes it.
    • Direct or indirect: whether a requirement realized by a service that an application realizes counts as covered.
  3. AI Power Tools ea-stakeholder-reporting counts the set, which is the denominator (summarize_stereotype_usage, or a direct count for one package subtree).
  4. AI Power Tools The AI checks the connector types and stereotypes the model actually uses between the two kinds of element (summarize_connector_patterns), so the rule matches the model's own spelling: a Realization connector is stored as Realisation, and the Westbrook stereotype is the lower-case realizes.
  5. AI Power Tools The AI writes one read-only direct query that returns every element in the set with no qualifying connector (describe_table, then execute_sql with writes refused). The server checks the column names before the query reaches EA.
  6. AI Power Tools The AI cross-checks the query two ways. For a sample of elements the query called uncovered, and a sample it called covered, it lists each element's connectors in the qualifying direction (get_connectors_for_element_filtered). The two methods must agree.
  7. AI Power Tools For an indirect rule, the AI walks each candidate gap along the agreed connector types (get_traceability_tree) and removes the ones that are covered through another element. It reads the guards on each walk, and reports a walk that was truncated or reached the depth limit as unresolved, not as covered.
  8. AI ea-stakeholder-reporting reports the coverage: the number covered, the denominator, the percentage, the rule, the scope, and the gaps, grouped by package or by owner where the owner tag is set, in display terms.

Prompts to use

Opening

Follow-ups

Model Fit Why
Claude Fable 5.1 Recommended Framing the rule and writing a correct query against EA's tables reward careful reasoning
Claude Opus 5.5 Recommended The same
Claude Sonnet 5.5 Capable Writes the query and runs the cross-check well when the rule is clear
Claude Haiku 4.5 Not recommended Likely to get the direction or the connector spelling wrong, which silently changes the figure

Ratings are guidance based on the kind of reasoning the skill needs, not measured benchmarks.

Checking the result

  • Accurate. The sample cross-check in step 6 agrees in both directions: no element the query called uncovered has a qualifying connector, and every sampled covered element has one. One requirement checks against EA's Relationships view.
  • Complete. The denominator equals the count of the set from step 3, and covered plus uncovered equals the denominator. The rule, including the connector types and the direction, is written into the report. For an indirect rule, no truncated or depth-limited walk was counted as covered.
  • Nothing unintended changed. The query ran with writes refused, and every other operation reads only.

Variations

  • Capability coverage. Which capabilities have no supporting application: the same steps, with capabilities as the set and the support connector as the rule.
  • Coverage over time. Run the same rule after each release and compare the figures. Keep the query, so the rule does not drift between runs.
  • A business-layer query. Where a reporting database or views exist (Build a reporting database), the same question can be asked of the business tables in the modeling technology's own names.

Limitations

  • The figure is only as good as the rule. A different connector type, direction or scope gives a different, equally confident number. The report always states the rule.
  • Only connectors are counted. Coverage recorded anywhere else is invisible.
  • Indirect coverage is a walk per element. It is slower, and each walk has depth, size and time limits. A walk that stops at a limit leaves its element unresolved.
  • An empty result can hide a failed query. EA returns the same blank reply for no rows and for some queries it could not run. A gap count of zero is checked against the sample before it is reported.
  • The query is written for the repository's database. SQLite for a local file, Jet for .eap, and the server's own dialect for a server connection or a cloud connection. The AI writes for the dialect it finds.