Products

Home / aiExpert In Practice – #1 – Aeronautical Data model / aiExpert In Practice – #1 – Aeronautical Data model

aiExpert In Practice – #1 – Aeronautical Data model

This worked example shows how aiExpert was applied to a public-domain data model, and shows the results which the LLM returned

Source Model

The source of this model was the AIXM 5.2 Aeronautical Information Exchange Model, owned by Eurocontrol and the FAA. The model was downloaded from https://aixm.aero/document/aixm-52-data-model-uml and is used without permission, as we believe this model is public domain.

The purpose of this document is to describe the results returned when parts of this model were analyzed by the aiExpert ‘Static Data’ query, which is used to examine all kinds of static class models, logical-  and conceptual- data models.

Please note that this is using the out-of-the-box function of aiExpert, with no tailoring of the prompts to suit the domain.

Model Diagram: 'Airspace'

We took the diagram ‘Airspace’ (just because this seems fairly important given the domain) :

As you can see, this is a complex bit of modelling

Inputs

We chose the ‘Static Model check’ query for this analysis, which collects all the data about each class, all its attributes and connectors, and submits this ot the LLM with the prompts:

System instructions: “You are an expert in the structure of static data or class models”

Rules: “Here are some class names and their connections which are part of a static model.
Check if they make sense according to their names, roles and connections..
When you respond, grade the severity from 1 – a minor issue, to 5 – a serious problem.
Always include the ID of each element with any feedback ”

LLM used: gpt-5-mini

Data collector: ConnectorDetail

Important note:

We present the details of the Ai analysis largely without comment. This is not our model: we don’t understand the domain, so we are not in a position to say whether the feedback from the LLM is good or bad, useful or useless.  What we can say is whether the feedback might be useful, or whether it seems silly.

In the ‘suggested fix’ information which is returned by the AI, we highlight in italics the part of the input message to which the feedback refers.

Aircraft Navigation Equipment

Feedback from AI:

Issue: AircraftNavigationEquipment declares a connection to AircraftCharacteristic with connector name ‘has’, while AircraftCharacteristic declares the reverse association with connector name ‘radioNavigationEquipment’. The asymmetric naming makes the relationship semantics unclear (which side ‘has’ which). Use consistent, complementary role names on both ends or document the inverse explicitly.

Suggested fix: 

Change “AircraftNavigationEquipment is connected to unspecified number of AircraftCharacteristic where connector name is ‘has’

AircraftCharacteristic radioNavigationEquipment zero or more AircraftNavigationEquipment” to: “AircraftNavigationEquipment is connected to unspecified number of AircraftCharacteristic where connector name is ‘isUsedBy’ (or) AircraftCharacteristic radioNavigationEquipment zero or more AircraftNavigationEquipment

// OR choose consistent inverse names
AircraftNavigationEquipment is connected to unspecified number of AircraftCharacteristic where connector name is ‘isReferencedBy’
AircraftCharacteristic radioNavigationEquipment zero or more AircraftNavigationEquipment”

Airspace Volume

Feedback from AI:

Issue: The model shows multiple overlapping and inconsistently named associations between Airspace and AirspaceVolume: Airspace lists AirspaceVolume under both ‘dependsOn’ and ‘geometryComponent’, AirspaceVolume lists Airspace under ‘is connected to … hasGeometry’, and AirspaceVolume also has ‘contributorAirspace’ (zero or one). These differing connector names and multiplicities produce ambiguity about parent/child direction, ownership and multiplicity of the relationship (is an Airspace composed of volumes, or do volumes depend on Airspace?).

Suggested Fix: 

Change “Airspace is connected to zero or more AirspaceVolume where connector name is ‘dependsOn’
Airspace geometryComponent zero or more AirspaceVolume

AirspaceVolume is connected to unspecified number of Airspace where connector name is ‘hasGeometry’
AirspaceVolume contributorAirspace zero or one Airspace” to: “Unify associations with clear primary relationship. Example:
Airspace geometryComponent zero or more AirspaceVolume (primary composition relationship; Airspace composes AirspaceVolume)
AirspaceVolume contributorAirspace zero or one Airspace (if a volume can reference an origin/parent Airspace other than composition use)
Remove ‘dependsOn’ and the generic ‘hasGeometry’ duplicates or explicitly mark them as synonyms/inverses with consistent role names. Ensure multiplicities are coherent (e.g. Airspace 0..* AirspaceVolume; AirspaceVolume 0..1 Airspace as owner or contributor as required).”

Geo Border

Feedback:

Issue: GeoBorder lists ‘border zero or one Curve’ while Curve lists the inverse as ‘hasShape’ toward GeoBorder. The use of the connector name ‘border’ on the GeoBorder side pointing to a Curve is semantically unclear (a GeoBorder ‘hasShape’ (Curve) would be clearer). Consider using complementary names like GeoBorder.shape ↔ Curve.forBorder or GeoBorder.hasShape.

 

Suggested fix: 

Change “GeoBorder border zero or one Curve
Curve is connected to unspecified number of GeoBorder where connector name is ‘hasShape'” to: “Make names complementary and clear. Example:
GeoBorder hasShape zero or one Curve
Curve forGeoBorder zero or more GeoBorder
(or)
GeoBorder shape zero or one Curve
Curve hasShapeFor zero or more GeoBorder”

Point

Feedback

Issue: The Point element lists its connection to SignificantPoint twice (‘Point is connected to unspecified number of SignificantPoint’ appears two times). This duplicate is redundant and may confuse consumers of the model.

Suggested fix:

Change “Point is connected to unspecified number of SignificantPoint
Point is connected to unspecified number of SignificantPoint” to: “Point is connected to unspecified number of SignificantPoint”

 

 

Observations

As with all feedback from aiExpert, this is the opinion of the LLM at a point in time. We are not in a position to say what’s right, but all the feedback (there were two more, omitted to keep this article short) seems to be making a point which refers to some aspect of the model. If the authors of the model, or anyone else with knowledge of the domain knows better, please let us know.

More Insights

aiExpert In Practice - #4 - Healthcare Data Model

11 November 2025

Shows a summary of the feedback on some parts of a large, public domain healthcare model from Canada

Learn More

aiExpert In Practice - #3 - BPMN Process Models

7 November 2025

This example gets aiExpert to provide feedback on an BPMN 2 process model diagram

Learn More

aiExpert In Practice - #2 - Archimate 3

6 November 2025

This example gets aiExpert to provide feedback on an Archimate3 Motivation Model.

Learn More

A model without validation is just some pictures

22 June 2023

Why you need your models to be validated.

Learn More

Using Derived Connectors to simplify your models

7 June 2023

..and make them more valuable

Learn More

Technical and Content-quality

1 June 2023

Maintain quality with tools to find and fix mechanical errors in your modeling

Learn More

Top 11 model quality tips for Sparx EA modelers

3 November 2022

Discover new insights into your model, and spot and resolve problems.

Learn More

How to get your EA models ready for Prolaborate

6 July 2022

To make the most of Prolaborate it's a good idea to start by doing some housekeeping

Learn More

Step by step to a tailored UI for Enterprise Architect

28 March 2022

The 'out-of-the-box' EA element properties window can be intimidating for a new user, and it's easy to get overwhelmed, miss critical data, or more...

Learn More

Only Connect - Exploring traceability in Sparx EA models

1 November 2021

This webinar looks at the importance of consistency to get value from traceability.

Learn More

Webinar - How to improve model quality and consistency

16 June 2020

This webinar from the EA Global Summit 2020 provides hints and tips for managing models as they grow.

Learn More

Hard and Soft

11 October 2017

No, not about Brexit… More about styles of Business Analyst.

Learn More

Model curation techniques for EA

6 September 2016

How cleaning, navigating and validating your EA model makes sharing and collaborating much more effective.

Learn More

Compare licence prices

Choose the licence that’s right for you and your team

Prices

Download Model Expert

Take a free, no obligation, 30-day trial of Model Expert.  Model Expert including aiExpert, is part of eaTeamWorks, so you can also trial eaDocX, Revision Manager, eaSheets and PortfolioManager. Plus free for life features. Discover for yourself why it’s the world’s best-selling Enterprise Architect extension.

Download