Ask any integration lead where the schedule went and the answer is usually an interface. Not a big one. A CAN message whose scaling factor changed in one team's spreadsheet and not the other's. A connector pinout that was correct in revision C of the ICD and wrong in the harness drawing that was cut from revision B. The interface control document was supposed to prevent exactly this, and it did, right up until it became a 200-page Word file that three organizations edit on different cadences.

Model-based interface control documents are the attempt to fix that by demoting the ICD from a source to a report. The interface itself lives in the system model. The document is generated whenever somebody needs to read one. SysML v1 tools have offered this for years, and SysML v2 makes the underlying structure considerably cleaner. It is worth understanding what the pattern actually buys you, because the payoff is real but narrower than the pitch.

What an ICD is really for

Strip away the template and an ICD does three jobs. It defines the boundary between two things owned by different people. It states, precisely, what crosses that boundary: signals, fluids, loads, data, power, with units, ranges, rates, and protocols. And it records agreement, meaning both sides signed off and any change goes through a control process.

The document format is good at the third job and bad at the first two. Boundaries and flows are structural facts that already exist, or should exist, in the architecture model. Copying them into prose creates a second authoritative source, and two sources drift. The No Magic and Dassault approach to model-based ICDs, which generates black-box and white-box ICD tables straight from block definition and internal block diagrams, is a direct response to that drift: if the table is a query over the model, it can't disagree with the model.

Note what the pattern doesn't change. Somebody still has to review and approve the interface. Model-based ICDs move the artifact, not the governance.

How SysML v2 structures an interface

SysML v2 gives interfaces a layered structure that maps unusually well onto what an ICD needs to say. Sensmetry's Advent of SysML v2 series lays out the pieces, and the refinement pattern it describes is the one to adopt.

The practical consequence is that a single interface definition, written once, is instantiated everywhere that connection appears. Change the item's attribute range in one place and every ICD view that references it updates. That is the whole argument for the model-based approach in one sentence.

Connection between partsInterface between portsFlows of itemsItem attributes and units
The refinement layers a model-based ICD is generated from in SysML v2.

Generating the document

With that structure in place, the ICD becomes a view. SysML v2 has first-class view and viewpoint elements, so the query that says "all interfaces crossing the boundary of subsystem X, with every item, direction, and attribute" is itself a model element with a name and a version. Rendering it as a table, a PDF, or a web page is a tooling job, not a modeling job.

Tools handle the rendering differently. Dassault's CATIA Magic (formerly Cameo) generates black-box and white-box ICD tables from SysML v1 diagrams and can export them to documents. Eclipse Capella, which is not SysML but shares the same philosophy, derives interface descriptions from its physical and logical architecture exchanges. SysML v2-native tools such as Sensmetry's Syside and Dalus work directly from the textual notation, where port, interface, and flow definitions are plain declarations that a view can query. Which is right depends on where the rest of your model lives, but the pipeline is the same in all cases: model the interface, define the view, render on demand.

A few things make the generated document useful rather than merely automated:

Where it pays off first

The pattern is worth the setup cost in a few recognizable situations.

Systems of systems with many organizational boundaries, where each boundary would otherwise carry its own document and its own change board. Programs with high interface churn early in the lifecycle, where a weekly regenerated ICD beats a quarterly negotiated one. Product lines, where the same interface definition is reused across variants and the last thing you want is a hand-edited ICD per variant. And any program pursuing a modular open systems approach, where key interfaces are contractual and conformance has to be demonstrable; the DoD's MOSA guidance explicitly ties open interfaces to MBSE and wants architecture models to flow into downstream engineering rather than sit beside it.

What it won't solve

Be honest about the trade-offs before selling this internally.

Bottom line

The interface control document has always been a report about structure that should have lived somewhere more reliable than a Word file. SysML v2 gives that structure a clean home: ports with directed items, conjugated ends, interface definitions that carry flows, and connection definitions that stamp all of it out wherever parts meet. Once that is modeled, the ICD is a view you generate, not a file you maintain.

Start with one high-churn, high-stakes boundary. Model both sides, put real units on the items, define the view, and ship the generated table to the people who currently read the document. If they stop asking which revision is current, you've proved the case. Then worry about the supplier round-trip and the protocol detail, because those problems are still yours, model or no model.