oneM2M support matrix
September 1, 2026 · View on GitHub
Generated — do not edit by hand. Regenerate from the development repository:
npm run --silent -w @mobius4-dev-tool/inventory inventory -- matrix \
> ../mobius4/features/support-matrix.md
How to read this
Rows are the functional areas of the oneM2M test suite structure (TS-0018 clause 6.2). Each area holds several entries — one per resource type and operation — and the counts below are over those entries.
| status | meaning |
|---|---|
| ✅ full | every entry in the area is implemented and covered by tests |
| ⚠️ partial | some entries are implemented; others are not, or are implemented without full coverage |
| ❌ none | nothing in the area is implemented |
The test purposes column counts the TS-0018 test purposes this repository has written tests for and seen pass. It is not a conformance certification and it is not the number of test purposes that exist for the area — an empty cell means "none demonstrated here", never "the standard defines none".
Two neighbouring files answer different questions, and it is worth knowing which to read:
features/capabilities.json— what a running instance answered when asked. Observed, regenerated bynpm run probe-capabilities, checked in CI.- The OpenAPI document moved. It is no longer published here: it described the standard
and this CSE at the same time, and the copy kept going stale because nothing enforced it.
The standard-only document now lives in the development repository at
features/onem2m-standard.yaml; join it withcapabilities.jsononoperationIdto see what this CSE supports. - this file — how far the implementation reaches across the standard.
Areas
| area | status | entries implemented | test purposes demonstrated |
|---|---|---|---|
| 3GPP interworking (3GPP) | ❌ none | 0 / 1 | — |
| Announcement (ANNC) | ❌ none | 0 / 23 | — |
| Device automation (DAU) | ❌ none | 0 / 1 | — |
| Discovery (DIS) | ⚠️ partial | 0 / 1 | 4 |
| Data management and repository (DMR) | ⚠️ partial | 24 / 39 | 9 |
| flexContainer (FLXC) | ⚠️ partial | 0 / 2 | 1 |
| General capability (GEN) | ⚠️ partial | 4 / 8 | — |
| Group management (GMG) | ⚠️ partial | 3 / 4 | 21 |
| Inter-service provider (ISP) | ❌ none | 0 / 1 | — |
| Location (LOC) | ⚠️ partial | 0 / 1 | — |
| Polling channel (PCH) | ❌ none | 0 / 1 | — |
| Process management (PMG) | ❌ none | 0 / 2 | — |
| Privacy policy (PP) | ❌ none | 0 / 1 | — |
| Registration (REG) | ✅ full | 5 / 5 | 46 |
| Request tracking (RT) | ❌ none | 0 / 1 | — |
| Service charging and accounting (SCA) | ❌ none | 0 / 1 | — |
| Schedule (SCH) | ❌ none | 0 / 1 | — |
| Security (SEC) | ❌ none | 0 / 1 | — |
| Semantics (SEM) | ❌ none | 0 / 4 | — |
| Software management (SM) | ❌ none | 0 / 1 | — |
| Semantic mashup (SSM) | ❌ none | 0 / 1 | — |
| Service subscription (SSUP) | ❌ none | 0 / 1 | — |
| Subscription and notification (SUB) | ⚠️ partial | 2 / 7 | 13 |
| Time management (TMG) | ❌ none | 0 / 3 | — |
| Time series (TS) | ⚠️ partial | 0 / 1 | 2 |
| total | 38 / 112 | 96 |
Resource types
The same entries, grouped by the resource type they act on rather than by test-suite area. An area folds several resource types together, so it cannot answer the question most readers arrive with — whether a particular resource type works here.
A type is ✅ only when every operation recorded for it is implemented and tested, so a type whose CRUD works but whose announcement does not reads as ⚠️ with a zero in the ✅ column — read all three counts, not the first one alone. The operations column lists the operations this inventory tracks for the type, not the ones the standard defines.
| resource type | status | ✅ / ⚠️ / ❌ | operations | test purposes |
|---|---|---|---|---|
<accessControlPolicy> (acp) | ⚠️ partial | 4 / 0 / 4 | CREATE, DELETE, RETRIEVE, UPDATE | — |
<AE> (ae) | ✅ full | 4 / 0 / 0 | CREATE, RETRIEVE, UPDATE | 11 |
<container> (cnt) | ⚠️ partial | 4 / 0 / 4 | CREATE, DELETE, RETRIEVE, UPDATE | 3 |
<contentInstance> (cin) | ⚠️ partial | 4 / 0 / 2 | CREATE, DELETE, RETRIEVE | 2 |
<flexContainer> | ⚠️ partial | 0 / 2 / 0 | CREATE, UPDATE | 1 |
<group> (grp) | ⚠️ partial | 4 / 0 / 4 | CREATE, DELETE, RETRIEVE, UPDATE | — |
<node> (nod) | ❌ none | 0 / 0 / 3 | CREATE, RETRIEVE, UPDATE | — |
<remoteCSE> (csr) | ✅ full | 6 / 0 / 0 | CREATE, DELETE, RETRIEVE, UPDATE | — |
<subscription> (sub) | ✅ full | 5 / 0 / 0 | CREATE, DELETE, RETRIEVE, UPDATE | — |
<timeSeries> (ts) | ⚠️ partial | 0 / 4 / 4 | CREATE, DELETE, RETRIEVE, UPDATE | 3 |
<timeSeriesInstance> (tsi) | ⚠️ partial | 0 / 3 / 3 | CREATE, DELETE, RETRIEVE, UPDATE | 1 |
Known limitations
What a type marked ⚠️ does not do yet. Silence here is not a promise: a type may be ⚠️ for a reason nobody has written down, and this list only shows the reasons that were.
<timeSeries>— Missing-data detection records into missingDataList but does not notify: the missingData condition of eventNotificationCriteria and notificationEventType=8 are not implemented.<timeSeriesInstance>— dataGenerationTime accepts only the absolute YYYYMMDDTHHMMSS form; the fractional-second and relative-offset forms that TS-0004 permits for absRelTimestamp are rejected.
Non-normative entries (candidate solutions and project proposals)
These entries are not part of the ratified oneM2M standard. The source column
says why: TR-<NNNN> — a candidate solution from a oneM2M Technical Report, still
under study and not yet folded into a TS; project — an extension this codebase
proposes on its own, with no oneM2M document behind it at all; manual — a standard
feature the automated ATS scan cannot find on its own, added by hand. None of these
have an official ATS or a TS-0018 test purpose, so none can appear in the Areas table
above or count toward its totals — that table would otherwise misread as "the CSE
supports part of the standard that does not exist yet" (or supports something the
standard never described at all). Where these are verified, it is by this project's
own test purposes (TP/<source>/...), not TS-0018's.
| area | source | status | entries implemented |
|---|---|---|---|
| AI/ML | project | ✅ full | 1 / 1 |
| AI/ML | TR-0071 | ⚠️ partial | 3 / 7 |
| Data management and repository | manual | ✅ full | 1 / 1 |
| flexContainer | manual | ✅ full | 2 / 2 |
Source: features/inventory.yaml (mobius4-dev-tool).