Fleet management based on OpAMP. A Rust implementation of OpenTelemetry's OpAMP protocol with an API-first server and a native client that supervises many agents.
- Rust
- OpAMP
- Hexagonal
- Specs + ADRs
Markus Brigl · Model-driven and spec-driven development
I'm a software architect and fullstack developer in the field of model-driven and spec-driven development.
Currently Product Owner at Würth IT Italy, Bolzano
INPUT
Model and spec
CORE
Generator · agent
OUTPUT
Running software
23 yrs
building software, since 2003
11 yrs
as CTO, 2013 to 2024
CAFM · GIS
enterprise domains
01 / Vision
Software should be described by what it means, not by the technology it happens to run on.
Since 2003 I have worked on one idea: describe the system first, then let tools produce the technology. From UML-based ERP frameworks and an Eclipse code generator to a low-code platform on hexagonal architecture, the stack changed many times. Today, with AI in the loop, the written specification takes the same role: specs and architecture decisions define the intent, and coding agents build against them. What stays is the description of intent.
Describe what a system means, independent of any platform. Technologies change, the model stays.
Specifications and architecture decision records define intent before code. People decide, agents implement, and the spec is the contract between them.
Hexagonal architecture keeps business logic free of frameworks, so the stack can evolve without disrupting it.
Generators, templates and coding agents turn models and specs into running code, so effort goes into decisions instead of boilerplate.
02 / Projects
Selected repositories from my account and from the HiveVM organization.
Fleet management based on OpAMP. A Rust implementation of OpenTelemetry's OpAMP protocol with an API-first server and a native client that supervises many agents.
HiveVM CC, a parser generator forked from JavaCC. Tree building is defined inside the grammar; a Gradle plugin generates parsers in Java, C++ or Rust.
Node-based visual workflow engine and UI coordinator. A browser node editor on WebGL2 with a Rust engine compiled to WebAssembly, built for tens of thousands of nodes.
View and edit Git repositories. A Git client that draws history as a lane graph, as desktop app (Tauri), terminal app or read-only remote server.
SQLite loadable extension for GeoPackage file access. A fork of luciad/libgpkg, revived with a specification, conformance notes and ADRs.
Template for agentic development in a Dev Container. A written specification and architecture decision records guide the work, and one AGENTS.md rules file is read by all coding agents.
03 / Career
Five case studies from twenty years of architecting enterprise systems.
FEATURED · 2016 – 2024 · CTO, TOL GmbH
A comprehensive low-code platform for Computer-Aided Facility Management. Hexagonal architecture keeps it extensible and independent of any single technology, so it adapts to new environments and survives technology change. Delivered full-stack, with clients for web browsers and native mobile devices.
2013 – 2016
CTO · Territorium Online
High-performance native apps with robust offline capabilities for field operations in places with poor connectivity.
2008 – 2013
Software Architect · Territorium Online
A next-generation platform on service-oriented architecture, delivering scalable, interoperable geospatial solutions for enterprise environments.
2005 – 2006
Software Engineer · Alpisco
A graphical UML2 designer plugin for the Eclipse IDE with automated code generation for enterprise Java applications and business process automation.
2003 – 2004
Requirements Engineer · Würth Phoenix
A framework for enterprise ERP/CRM applications, modelled with UML 1.4, built while covering several leadership roles across the project lifecycle.