David Slater
Abstract
Large language models are transforming the way we capture and explore complex workflows by automating the creation of FRAM models that until now demanded painstaking manual effort. Instead of laboriously crafting XML by hand, an analyst can simply describe a process in natural language and receive back a ready-to-load .xfmv file for the FRAM Model Visualiser. Under the surface, the model parses the narrative to identify every discrete activity—or “function”—traces how the outcome of each activity feeds into the next, and writes out the corresponding , , , and elements in FMV’s XML schema. The result is an interactive diagram of functions and couplings that can be immediately inspected or simulated.
In this article, we delve into this method and walk through two concrete examples—making a cup of tea and preparing a ferry for departure—complete with illustrations drawn from the actual .xfmv files.
Introduction
Large language models (LLMs) are revolutionizing the way we formalize and visualize complex work systems. By encoding the Functional Resonance Analysis Method (FRAM) into a simple code template that utilises the FRAM Model Visualiser’s .xfmv XML schema, an LLM can transform a textual process description into a standard FMV model. The prompt for the LLM should first specify how the LLM should perform the FRAM analysis.
The prompt used here :
- describes the system to be studied and asks for an overview of what the system is, how it is supposed to work, what it produces, and any issues known to be a problem or for which improvements have been made. The LLM clarifies which actors, tools, documents, and physical environment constitute the scope.
- Asks for the key functions involved and the tasks they have to fulfil to successfully operate the system, to be listed. Every discrete activity—what FRAM calls a “function”—is listed, each with a unique numeric IDNr, a clear IDName, a FunctionType (foreground, background, variable), and optional display coordinates (x, y) for layout within the Visualiser.
- Invites the LLM to use a hierarchical Task analysis format to determine the sequence and couplings between these functions needed. The LLM performs a lightweight Hierarchical Task Analysis, ordering the functions sequentially and identifying the hand-offs. Each hand-off becomes an Output in the upstream function and a matching Input in the downstream function, sharing the same label (the IDName of the coupling).
- Instructs to use a Python template ( from the GitHub website), to build the XML tree.
The final output is a .xfmv file ready for drop-in import to FRAM Model Visualiser, where dynamic playback or FMI interpretation can begin immediately.