Version 7.14.0

Minor release: OCL language extensions, configurable LLMs for BAF agents, a multi-layer Map component, and a No-Code GUI fix. The B-OCL grammar gains several standard OCL collection and type operations, generated BAF agents become LLM-configurable from the agent diagram, the GUI metamodel and No-Code editor gain a data-bound Map component, and autogenerated No-Code tables no longer mistake OCL constraint links for associations. No breaking changes: existing OCL constraints, agent models and GUI pages keep working unchanged.

Highlights

  • New OCL operations: the B-OCL grammar now parses ->asSet(), ->intersection(...) and ->isUnique(...), plus the standard dot form Type.allInstances() alongside the existing Type::allInstances() — both forms produce the same AST, so previously saved constraints keep parsing. The wrapping_visitor builds the corresponding metamodel expressions (including transparent element-type inference through ->asSet() so iterator bodies still resolve attribute navigation), and the new constructs are covered by a dedicated parser test suite.

  • Multi-layer Map component: the GUI metamodel gains Map / MapLayer / MapLayerType (points, GeoJSON, choropleth, heatmap), modelled in the No-Code editor with a layer-manager panel and generated into the React application as a Leaflet-based MapBlock with OpenStreetMap tiles (plain BSD-licensed leaflet, HTML-escaped popups, no API key). Layers bind to domain classes and fetch rows from the generated REST endpoints; the Flutter generator renders a static tile view for now. Contributed by Prasad Adhav — see the Map reference for the full guide.

  • LLM-configurable BAF agents: agent models now carry their LLM configuration (provider, model and generation parameters) through the whole pipeline — the agent metamodel, the JSON↔B-UML converters and the B-UML code builder round-trip it, the BAF generator emits it into the generated agent’s config.yaml/agent code, and a configuration-recommendation utility suggests sensible defaults per provider. The legacy huggingfaceapi provider key is still accepted and restored as its modern equivalent.

Fixes

  • OCL links no longer leak into autogenerated GUI tables: when an OCL constraint was attached to a parent class, every child class’s autogenerated table in the No-Code editor gained a bogus lookup column for it — the inherited-relationships helper treated any non-inheritance relationship of a parent as a navigable association. The duplicated end-mapping logic in diagram-helpers.ts is now a single shared helper for direct and inherited ends: only real association types produce table fields, ends pointing at OCL constraints are never navigable, and unidirectional associations are only navigable from their source side.

Frontend (via the submodule bump)

The frontend submodule moves to include the Map block in the No-Code editor (layer-manager trait with translated labels, bundled Leaflet assets — no CDN), the agent LLM-configuration UI (provider and model selection with per-provider recommendations in the agent configuration panel and generation dialogs), the No-Code table fix above, and a lockfile repair so npm ci works from a clean checkout.