<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Conceptual model interpreter for Large Language Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Felix Härer</string-name>
          <email>felix.haerer@unifr.ch</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Large Language Model, Conceptual Model, Code Generation, Interpreter</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Project Exhibitions</institution>
          ,
          <addr-line>Posters and Demos, and Doctoral Consortium</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Fribourg</institution>
          ,
          <addr-line>Boulevard de Pérolles 90, 1700 Fribourg</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Large Language Models (LLMs) recently demonstrated capabilities for generating source code in common programming languages. Additionally, commercial products such as ChatGPT 4 started to provide code interpreters, allowing for the automatic execution of generated code fragments, instant feedback, and the possibility to develop and refine in a conversational fashion. With an exploratory research approach, this paper applies code generation and interpretation to conceptual models. The concept and prototype of a conceptual model interpreter is explored, capable of rendering visual models generated in textual syntax by state-of-the-art LLMs such as Llama 2 and ChatGPT 4. In particular, these LLMs can generate textual syntax for the PlantUML and Graphviz modeling software that is automatically rendered within a conversational user interface. The first result is an architecture describing the components necessary to interact with interpreters and LLMs through APIs or locally, providing support for many commercial and open source LLMs and interpreters. Secondly, experimental results for models generated with ChatGPT 4 and Llama 2 are discussed in two cases covering UML and, on an instance level, graphs created from custom data. The results indicate the possibility of modeling iteratively in a conversational fashion.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        In recent years, Large Language Models (LLMs) have seen broad adoption due to the wide
variety of successful applications utilizing transformers [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], enabling language-related tasks at
higher abstraction levels, e.g., when detecting and describing images, performing audio tasks
such as speech-to-text and voice cloning, or handling text for modeling topics,
summarization, or translation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Especially in the form of Generative Pre-trained Transformer (GPT)
models, language analysis and generation capabilities evolved and today include programming
languages [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ] in addition to first indications of support for domain-specific languages and
conceptual modeling [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. After the large-scale adoption of ChatGPT 4, gaining over 100 million
active users within two months after its initial release in November 2022 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], commercially
available products such as ChatGPT 4 and the GitHub Copilot started to introduce further
features for software development in 2023 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Notably, the conversational generation of source
code is now complemented by the ability to invoke external APIs using Plugins [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and the
https://www.unifr.ch/inf/digits/en/group/team/haerer.html (F. Härer)
      </p>
      <p>
        © 2023 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
execution of generated source code with a code interpreter [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In particular, OpenAI
introduced a code interpreter that allows a user in a conversation to describe or specify a task
for programming, automatically generating the source code, and automatically executing it
instantly to provide output and computation results as a response. Examples demonstrated
capabilities to interpret code fragments, e.g., calculating functions or creating plots in Python.
The conversational approach also provides the potential to include code generation with instant
feedback and step-wise refinement into the software development process, allowing for the
iterative development of code fragments with instant feedback on execution results.
      </p>
      <p>In this paper, the conversational approach with instant feedback and step-wise refinement
is applied to conceptual models. For exploring the potential of this approach, the research
objectives are (1.) to determine whether the approach can be realized with state-of-the-art
commercial or open source LLMs and interpreters, and (2.) how a possible realization could
be constructed in terms of an architecture. By exploratory research, these objectives are
investigated through the construction of a prototype chat application.</p>
      <p>
        Potentially, conceptual models may be created within a dialogue where a modeling task is
specified fully or partially in natural language, textual syntax for models is then generated by
the LLM and automatically rendered visually by interpreters, e.g., for PlantUML or Graphviz
syntax. In addition, the interpreter is a first step towards specifying executable models for
generating software through LLMs that can be executed directly in local environments or at the
server side, e.g., generating step function models for cloud platforms and blockchains [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Prompt</p>
      <p>Specify
Modeling Task</p>
      <p>LLM
Generate</p>
      <p>Model
Sytanx</p>
      <p>Interpreter
Render Model</p>
      <p>Syntax</p>
      <p>Response
Evaluate</p>
      <p>Model
automated
iteration with refinement</p>
      <p>Modeling with instant feedback allows for an iterative process with refinement as described
in Figure 1. Such a process could be applied generally in many areas, e.g., in requirements and
software engineering, where the generation of structure or behavior diagrams is above the level
of source code. Further, it lowers the barrier to entry for modeling and design activities. While
LLMs also lower the barrier to generating source code directly, the dificulty oftentimes lies
in its evaluation; that is, to evaluate whether source code and the implied software design are
suitable and fulfill the requirements.</p>
      <p>The remainder of this paper is structured as follows. Section 2 introduces background on
LLMs and related work on applying LLMs for conceptual modeling. In Section 3, the concept
of a model interpreter and a possible realization architecture are outlined. Section 4 discusses
experimental results of the prototype with prompts and generated models for ChatGPT 4 and
Llama 2. Section 5 outlines the overall results and concludes.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Background and related work</title>
      <sec id="sec-3-1">
        <title>2.1. Background</title>
        <p>Generative Pre-trained Transformer models (GPT) are a class of Large Language Models (LLMs)
that apply a specific architecture on the principle of predicting or completing text, progressing
on a sequence of tokens.</p>
        <p>
          An input sequence is given by a prompt and the context of a dialogue preceding it, where
words are split into tokens, encoded, and represented by a vector according to an embedding in
a high-dimensional vector space in the thousands of dimensions [
          <xref ref-type="bibr" rid="ref1 ref11 ref3">3, 11, 1</xref>
          ]. With an additional
encoding of the position in the sequence, each token is applied to a transformer architecture to
generate candidates for the next token with a probability distribution. Tokens pass sequentially
through multiple transformer layers of transformer blocks, each consisting of attention and
feed-forward network components. Each transformer block produces tokens and probabilities
with increasing abstraction. Within a block, attention directs the focus to select tokens seen
before within a similar context, based on similar attention at prior positions in the sequence.
Attention mechanisms achieve this by calculating attention at a given position relative to
other positions in the sequence [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], instead of relying only on co-occurrences. The output of a
transformer block with tokens and a probability distribution is dependent on the weights of the
feed-forward network and normalization. After passing all the layered transformer blocks, 96
in the case of GPT-3 [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], the next token is ultimately selected according to probability with
a sampling algorithm [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and appended to the sequence. Subsequently, the iterative token
generation produces the response and becomes part of the context.
        </p>
        <p>
          LLMs notably difer in terms of their supported context size, allowing for 4096 tokens in
Llama 2 [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], 8192 in the standard version of GPT-4, and 32768 in its extended version1.
Substantial diferences also exist in the number of parameters applied by the training data with 7,
13, 34, or 70 billion parameters for Llama 2 variants [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], 175 billion in GPT-3.5 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], and possibly
trillions of parameters in GPT-4 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Exact specifications, also concerning the transformer
architecture, are unknown for the closed-source GPT-4 model. Further optimizations are applied
for LLMs used in a conversational fashion, e.g. GPT-4 and Llama 2, to adapt responses to the
style of conversational dialogues and to emphasize or suppress specific context by applying
Reinforcement Learning from Human Feedback (RLHF) and fine-tuning [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. Related work</title>
        <p>While prior work on LLMs and modeling applications is scarce, first publications do exist for
conceptual modeling, business process management, and software modeling, in addition to
related findings for programming languages.</p>
        <p>
          For conceptual modeling, the application of ChatGPT has been investigated before in a
publication by Fill et al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] which suggested the generation of UML class diagrams in PlantUML
syntax as well as creating ER, workflow, and Heraklit models in a custom syntax. Results further
demonstrate the capability of GPT-4 to generate new models beyond examples potentially
existing in training data, by issuing prompts for textbook-like case descriptions and abstract
        </p>
        <sec id="sec-3-2-1">
          <title>1https://platform.openai.com/docs/models</title>
          <p>examples. This paper is inspired by this investigation and seeks to integrate multiple LLMs and
interpreters in a more generalized way to explore their modeling capabilities towards further
systematic evaluations in the future.</p>
          <p>
            For Business Process Management (BPM), Vidgof et al. [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] note opportunities and challenges
along the BPM lifecycle. In relation to modeling, discovery is a major topic for discovering
process models through process mining. While LLMs can support discovery generally, e.g. from
documentation, the generation of BPMN in XML format is noted as well as parsing existing
XML process models with a LLM, opening the potential to query the LLM for knowledge
on the syntax, the semantics of the process, and potential execution behavior. Regarding
process implementation, BPMN models might be augmented with plain text, and accessed in a
user-specific way through chatbots.
          </p>
          <p>
            For software modeling, Cámara et al. [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ] provide an experience report on using ChatGPT for
UML modeling tasks in diferent notations. ChatGPT produced diagrammatic notation using
characters, was found to support the PlantUML and USE notations “generally well”, and could
also generate OCL expressions. For the test cases, ChatGPT seemed to handle the creation
of classes with attributes in addition to associations, aggregations and compositions, simple
inheritance and role names of association ends. Certain elements required explicit indication,
e.g., enumerations, and results using abstracts and association classes were not acceptable.
Further findings indicate results were generally correct, could exhibit small syntactic errors,
had high variability for test cases and randomness over time, and depended on the domain
understanding of ChatGPT. The paper also notes size limitations of about 8 to 10 classes given a
single prompt and the possibility to construct larger models iteratively in further prompts.
          </p>
          <p>
            Further limitations regarding syntax and semantics aspects were investigated for
programming languages in a systematic study by Ma et al. [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]. It finds ChatGPT generally “excels
at understanding code syntax (AST)” while struggling with semantics. In particular, it finds
ChatGPT generally understands syntax, is capable of inference based on an abstract syntax tree
(AST), and can perform static analysis. However, the understanding of semantics and dynamic
behavior was found limited. For static analysis and semantic aspects, ChatGPT also seemed
prone to hallucination, i.e., generating non-existent facts, in some cases.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Conceptual model interpreter</title>
      <p>This section outlines the overall concept together with requirements, leading to the discussion
of the architecture for describing the system structure.</p>
      <sec id="sec-4-1">
        <title>3.1. Concept and requirements</title>
        <p>The concept of a model interpreter is first explored from a requirements perspective. This
discussion aims at introducing the overall concept and stating requirements that need to be
fulfilled in order to construct a corresponding architecture.
1. Conversational user interface. The application requires a conversational user interface,
where a continuously ongoing dialogue is presented between the user, a LLM, and an
interpreter. A user enters a textual prompt, describing a modeling task, that is appended
to the dialogue and sent to a LLM. The generated LLM response in text form, potentially
containing a concrete syntax of a modeling language, is appended to the dialogue. In case
the response contains the concrete syntax of a known modeling language, it is sent to an
interpreter. The execution result of the interpreter is appended to the dialogue in text
form and, if a visual model could be rendered, in an image format.
2. LLM inference. For running LLM inference, the selection of a suitable LLM,
parametrization, and the local or remote execution of the inference are required.</p>
        <p>
          2.1 LLM Selection. For supporting multiple open source and commercial LLMs, possibly
difering in their capabilities of generating concrete modeling language syntax, a
LLM needs to be selected for inference.
2.2 LLM Parametrization. Depending on the selected LLM, setting hyperparameters
might be required for inference, e.g., to influence the predictability and stability
of responses for given prompts. Typically, open source LLMs provide fine-grained
control over the sampling in the sequence of tokens, often depending on temperature,
with lower values decreasing randomness when choosing the next token randomly
from the candidates, top_k, limiting the random choice of a token to the  most
probable candidates, and top_p, limiting a token to be chosen from the most probable
candidates as far as they are, in sum, within probability  [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
2.3 Local LLM Inference. LLMs require a runtime component for running inference
locally. Especially open source LLMs tend to be suitable for execution within a client
application on end-user devices, depending on computation, storage, and memory
requirements.
2.3.1 LLM Runtime. A runtime is required for a specific LLM, depending on its
architecture and the support of required software or hardware inference or
acceleration components. For example, the open source runtime llama.cpp is
a C and C++ implementation supporting well-known models such as Alpaca,
Vicuna, Falcon, and Llama 2 by inference on x86 and ARM CPUs, e.g. by AVX
instructions and the ARM instructions through the Metal framework, as well
as on GPUs through CUDA2.
2.3.2 LLM Files. LLMs might be provided in versions difering in formats,
quantization, and overall model size, mostly due to the number of parameters that
are typically in the billions. The runtime is required to support and manage
LLMs and file formats given suficient storage and memory capacity. With the
released versions in 7, 13, and 70 billion parameters, Llama 2 ranges between
14 GB and 138 GB3.
2https://github.com/ggerganov/llama.cpp
3https://huggingface.co/meta-llama
2.4 Remote LLM Inference. LLMs that are available remotely, especially commercial
products not available as open source software, require an API client connected to
compatible remote servers.
2.4.1 LLM API Client. Common APIs include the OpenAI API4, used for ChatGPT
and many commercial and non-commercial LLMs, and APIs of cloud platforms
such as the Replicate HTTP API5. Oftentimes, HTTP and REST are used with
specialized bindings for common programming languages.
3. Interpreter. For interpreting models, the selection, parametrization, and a runtime are
required.
        </p>
        <p>
          3.1 Interpreter Selection. To support the concrete syntax of multiple modeling languages
in a textual format, a suitable interpreter needs to be selected. E.g., an interpreter
for PlantUML6 such as Plantweb7.
3.2 Interpreter Parametrization. Depending on the interpreter, parameters might be
required for determining the rendering layout or the output format. While a textual
syntax is assumed for the input, the output might result in vector graphics such as
SVG, raster graphics, or textual drawings [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
3.3 Interpreter Runtime. For rendering visual models of a specific modeling language,
an interpreter supporting a concrete syntax in textual format is required. The
interpreter needs to be capable of processing the textual input with low latency,
rendering a visual model as an output.
4. Data Store. For assessing the results of diferent LLMs and interpreters over the course of
multiple conversations, a data store is required. That is, the selected LLM, interpreter,
LLM parameters, and interpreter parameters need to be stored for a specific conversation
in addition to the requested prompts, generated responses, and rendered visual models.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Architecture</title>
        <p>Based on the concept and requirements, Figure 2 shows components realizing a possible
architecture of a client application. In the Conversation subsystem, the main control flows are
initiated through the Conversational User Interface. According to the sequences in Figure 2, the
user engages in the preparation of a LLM (1.1-1.5), the preparation of an interpreter (2.1-2.4),
the interaction with the LLM (3.1-3.6), and the interaction with the interpreter (4.1-4.5).</p>
        <sec id="sec-4-2-1">
          <title>4https://platform.openai.com/docs/api-reference/chat 5https://replicate.com/docs/reference/http 6https://plantuml.com/ 7https://plantweb.readthedocs.io/</title>
          <p>&lt;&lt;Subsystem&gt;&gt;
Client Application
&lt;&lt;Subsystem&gt;&gt;
Conversation</p>
          <p>Conversational
User Interface
Conversation</p>
          <p>Manager
211...121::: ssseeellteeLccLtt MiLnLtpMearr↓parmeteetre↓rs ↓ 33..61:: aepnpteernpdrLoLmMptre↓sponse ↑
2.2: set interpreter parameters ↓ 44..15:: apparpseenLdLMintreersppreotnesreo↓utput ↑
&lt;&lt;Subsystem&gt;&gt;
Data Store</p>
          <p>Data Store
1.4: create conversion↑
1.5: set LLM configuration↑
2.4: set interpreter configuration↑
3.2: insert prompt↑
43..45:: iinnsseerrtt iLnLtMerrpersepteornoseu↑tput↑
1.3a: initialize LLM↓
33..34aa:: rreecqeuievsetrreusnpopnrosem↑pt↓
&lt;&lt;Subsystem&gt;&gt;
LLM Local
1.3b: load LLM files ↓
33..43bb:: rreutnuprnrormesppto↓nse↑
LLM API
Client</p>
          <p>LLM Runtime
2.3: initialize interpreter↓
4.2: run concrete syntax input↓
4.3: return interpreter output↑
&lt;&lt;Subsystem&gt;&gt;</p>
          <p>Interpreter
Interpreter
Runtime</p>
          <p>After selecting and setting up the LLM (1.1-1.2), the Conversation Manager prepares the
initiation of the conversation. Depending on the selection, either a server-side LLM is initialized
through the LLM API Client (1.3a), or client-side LLM files are loaded (1.3b) with the LLM
Runtime. Following the preparation of the LLM, the conversation and its configuration are
recorded in the Data Store (1.4-1.5). In a similar way, an interpreter is selected and set up (2.1-2.2)
with the Conversation Manager. The interpreter is initialized by the Interpreter Runtime (2.3),
assumed running locally, and with its configuration recorded in the Data Store (2.4).</p>
          <p>The user starts interacting with a LLM by entering a prompt that is sent to the Conversation
Manager (3.1) and inserted in the Data Store (3.2). Either, a server-side LLM is requested to run
the prompt with the LLM API Client (3.3a) and returns the received response (3.4a). Alternatively,
a client-side LLM runs the prompt directly (3.3b) and returns the response (3.4b). The response
is inserted in the Data Store (3.5) and appended in the Conversational User Interface (3.6).</p>
          <p>For interacting with the interpreter, an appended response is parsed by the Conversation
Manager to detect a supported modeling language syntax (4.1). The selected interpreter is
executed by running it in the Interpreter Runtime (4.2) with the detected syntax as input. The
output is returned to the Conversation Manager (4.3), inserted in the Data Store (4.4), and
appended to the dialogue in the Conversation Manager (4.5).</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Results of initial experiments</title>
      <p>This section discusses first experimental results of executing a prototype implemented for
ChatGPT 4 and Llama 2 with two test cases covering the generation and interpretation of
models in PlantUML and Graphviz syntax. Figure 3 shows the beginning of a dialogue in the
user interface of the application, implemented as a feasibility demonstration in Python 3.118.</p>
      <sec id="sec-5-1">
        <title>4.1. PlantUML test case</title>
        <p>At the beginning of the dialogue in Figure 3, the user-provided prompt describes the test case for
generating a UML class diagram according to a scenario. Without an explicit specification of the
diagram, it is the task of the LLM to create classes and relationships such as orders, order items,
and customers. The aim is to observe how the case is conceptualized by GPT-4 and Llama 2.</p>
        <p>At first, GPT-4 is run using the settings visible on the left-hand side in Figure 3, resulting in
the diagram in Figure 4. GPT-4 created syntactically correct PlantUML code and recognized
classes, attributes, and relationships with multiplicities. All classes and relationships seem
appropriate for the scenario, including the classes OrderItem, PaymentMethod, BillingAddress,
and ShippingAddress, for which no specific properties or attributes were described. Possibly,
BillingAddress and ShippingAddress could be further generalized. Attributes use list notation,
recognizing the multiplicities correctly, and specify visibility, which is always private except for
OrderHeader and OrderItem[] in the Order class for no apparent reason. While the spelling is
generally appropriate for software classes, the capitalization of attributes referencing classes
seems slightly out of place.</p>
        <p>Figure 4 shows the continuation of the dialogue on the right-hand side, requesting to extend
the diagram with articles and further descriptions of order items and addresses. After
regenerating the PlantUML syntax and rendering, the class diagram shown in Figure 5 is the final
result of the test case. A new class Article with attributes and further attributes in existing classes
were created according to the description. Furthermore, GPT-4 introduced a class Address with
corresponding attributes and referenced it in the classes BillingAddress and ShippingAddress
by attributes. In this way, the duplication of the address attribute was prevented without a
generalization, using composition rather than inheritance. Variability in the responses could be
observed, e.g. distinguishing between the two types of addresses in diferent ways and using
compositions instead of associations. In a few cases, additional data types and simple operations
such as getter methods were additionally created.</p>
        <p>For Llama 2, the test case is applied as before with custom settings (Appendix, Figure A.1).
Also for this LLM, the result is syntactically correct PlantUML code for a class diagram, however,
only classes were generated without any relationships. When asked to add relationships or
associations, the LLM either did not add them or added incorrect syntax to the code.</p>
        <p>Figure 6 shows the classes with attributes, including data types. Classes were generated
similarly to GPT-4, except for the Address class which represents both billing and shipping
addresses with corresponding attributes in OrderHeader and Customer. While there is no
distinction on a type level and no generalization, this design also prevents the duplication of
attributes. The attributes created by GPT-4 were also generated by Llama 2, representing the
description correctly. However, Llama 2 also engaged in hallucination and added attributes to
the OrderItem, PaymentMethod, and Address classes where the description did not indicate any
specific details. Data types were correctly recognized for attributes referencing other classes
and denote list types for referencing multiple classes when required by the scenario.</p>
        <p>The dialogue is continued as before (Figure 4), still not producing relationships (Appendix,
Figure A.2). An article class was added correctly, including attributes. The scenario introduced
further details for addresses and order items, requiring new attributes. These were added only, it
seems, if they did not conflict with existing ones. E.g., no address line and postal code attributes
were added to Address which already had street and zip attributes due to prior hallucination.
Variability could be observed in slight changes to the chosen attributes and data types.</p>
      </sec>
      <sec id="sec-5-2">
        <title>4.2. Graphviz test case</title>
        <p>In the Graphviz test case, a description for generating a directed graph from user-provided data
is given to GPT-4 and Llama 2 as described in Figure 7. The aim is to observe how the LLMs
construct graphs on an instance level from custom data with syntax and formatting instructions.</p>
        <p>GPT-4 generated syntactically correct Graphviz code and created the graph as specified by
the data. For the nodes, further formatting instructions for the shapes and a custom numbering
format for labels were correctly implemented. As requested, edges were correctly visualized
by their weight using the width; however, the weight attribute should have been specified
as well. For Llama 2, Figure 8 shows the result with the settings applied before (Appendix,
Figure A.1). The Graphviz code was also generated correctly, in terms of the syntax and the
graph specified by the data. Compared to GPT-4, node names and labels are swapped since the
specified numbering format was applied to the node names instead of the labels. Further, the
shapes are missing the style attribute. Regarding the edges, the weight attributes were correctly
set without the requested visualization of the width. Unnecessary edge labels denoting the
graph data were additionally generated. Generally, the data and its syntax were recognized
correctly by GPT-4 as well as Llama 2 with relatively low variability.</p>
      </sec>
      <sec id="sec-5-3">
        <title>4.3. Discussion</title>
        <p>The syntax for PlantUML and Graphviz was generally created correctly by GPT-4 and Llama 2.
GPT-4 utilized the syntax to a greater extent and produced more comprehensive solutions with
greater complexity, also considering details recognized from the case descriptions. For Llama 2,
it remains unclear whether missing elements were unknown in their syntax or not recognized,
especially in the PlantUML test case where relationships had to be inferred and were missing.
In this test case, the LLM was also prone to hallucination. When given a syntax description and
custom data in the Graphviz test case, both Llama 2 and GPT-4 were able to recognize it and
rendered graphs on an instance level. Due to the chosen phrasing and parameters, variability
was generally low, however, changes as described in the results could still be observed. As
expected, parameters of the sampling influenced variability, i.e., temperature, top_p, and top_k.
Concerning the prototype, limitations exist in its current implementation stage, not realizing the
architecture in full regarding compatibility with APIs and local LLMs beyond GPT-4 and Llama 2.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>5. Conclusion</title>
      <p>In this paper, the application of a conceptual model interpreter for LLMs was explored through
the creation of an architecture and prototype using GPT-4 and Llama 2 for generating and
rendering models in UML and Graphviz syntax. Results encompass (1.) the components of the
architecture compatible with state-of-the-art LLMs and interpreters, and (2.) initial experimental
results, demonstrating the creation of models in correct syntax for GPT-4 and Llama 2 with major
advantages in correctness, recognized details, and comprehensiveness for GPT-4. Especially
for GPT-4, the results show that modeling iteratively in a conversational dialogue could be
practical, however, further systematic evaluations need to be conducted. Future research will
apply the interpreter for these evaluations with additional commercial and open source LLMs.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work is partially supported by the Swiss National Science Foundation project
DomainSpecific Conceptual Modeling for Distributed Ledger Technologies [196889].</p>
    </sec>
    <sec id="sec-8">
      <title>Appendix</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Vaswani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Shazeer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Parmar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Uszkoreit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. N.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kaiser</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Polosukhin</surname>
          </string-name>
          ,
          <article-title>Attention is all you need</article-title>
          ,
          <source>in: Proceedings of the 31st International Conference on Neural Information Processing Systems</source>
          , NIPS'17,
          <string-name>
            <surname>Red</surname>
            <given-names>Hook</given-names>
          </string-name>
          ,
          <string-name>
            <surname>NY</surname>
          </string-name>
          , USA,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Clifton</surname>
          </string-name>
          ,
          <article-title>Multimodal learning with transformers: A survey</article-title>
          ,
          <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>
          <volume>45</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Ray</surname>
          </string-name>
          ,
          <article-title>Chatgpt: A comprehensive review on background, applications, key challenges, bias, ethics, limitations and future scope, Internet of Things and Cyber-Physical Systems 3 (</article-title>
          <year>2023</year>
          )
          <fpage>121</fpage>
          -
          <lpage>154</lpage>
          . doi:https://doi.org/10.1016/j.iotcps.
          <year>2023</year>
          .
          <volume>04</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>W.</given-names>
            <surname>Ma</surname>
          </string-name>
          , S. Liu,
          <string-name>
            <given-names>W.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , L. Nie, Y. Liu,
          <article-title>The scope of chatgpt in software engineering: A thorough investigation</article-title>
          ,
          <source>CoRR abs/2305</source>
          .12138 (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          . 48550/arXiv.2305.12138.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Fill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fettke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Köpke</surname>
          </string-name>
          ,
          <article-title>Conceptual modeling and large language models: Impressions from first experiments with chatgpt</article-title>
          ,
          <source>Enterp. Model. Inf. Syst. Archit. Int. J. Concept. Model</source>
          .
          <volume>18</volume>
          (
          <year>2023</year>
          )
          <article-title>3</article-title>
          . doi:
          <volume>10</volume>
          .18417/emisa.18.3.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Chow</surname>
          </string-name>
          ,
          <article-title>How chatgpt managed to grow faster than tiktok or instagram, Times Online (</article-title>
          <year>2023</year>
          ). URL: https://time.com/6253615/chatgpt-fastest-growing/, accessed on 2023-
          <volume>08</volume>
          -30.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Wermelinger</surname>
          </string-name>
          ,
          <article-title>Using github copilot to solve simple programming problems</article-title>
          ,
          <source>in: Proceedings of the 54th ACM Technical Symposium on Computer Science Education, SIGCSE</source>
          <year>2023</year>
          , ACM, New York, NY, USA,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .1145/3545945.3569830.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8] OpenAI, ChatGPT Plugins,
          <source>Technical Report</source>
          ,
          <year>2023</year>
          . URL: https://platform.openai.com/docs/ plugins/getting-started/openapi-definition,
          <source>accessed on 2023-08-30.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Aaronson</surname>
          </string-name>
          ,
          <string-name>
            <surname>Testing</surname>
            <given-names>GPT</given-names>
          </string-name>
          -
          <article-title>4 with wolfram alpha and code interpreter plug-ins on math and science problems</article-title>
          ,
          <source>CoRR</source>
          (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .48550/arXiv.2308.05713.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Härer</surname>
          </string-name>
          ,
          <article-title>Scalable model-based decentralized applications in the cloud using certificates and blockchains</article-title>
          ,
          <source>in: 2023 IEEE International Conference on Public Key Infrastructure and its Applications (PKIA)</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          . doi:
          <volume>10</volume>
          .1109/PKIA58446.
          <year>2023</year>
          .
          <volume>10262768</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Rothman</surname>
          </string-name>
          ,
          <article-title>Transformers for Natural Language Processing</article-title>
          .
          <source>Second Edition</source>
          , Packt Publishing,
          <string-name>
            <given-names>O</given-names>
            <surname>'Reilly Media</surname>
          </string-name>
          , Birmingham, UK,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Isaev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>McDonald</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Vuduc</surname>
          </string-name>
          ,
          <article-title>Scaling infrastructure to support multi-trillion parameter LLM training, in: Architecture and System Support for Transformer Models (ASSYST) held at the</article-title>
          <source>International Symposium on Computer Architecture 2023 (ISCA</source>
          <year>2023</year>
          ),
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Labonne</surname>
          </string-name>
          ,
          <source>Decoding Strategies in Large Language Models</source>
          ,
          <source>Technical Report</source>
          ,
          <year>2023</year>
          . URL: https://mlabonne.github.io/blog/posts/2023-06-07-Decoding_strategies.html, accessed on 2023-
          <volume>08</volume>
          -30.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>H.</given-names>
            <surname>Touvron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Stone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Albert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Almahairi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Babaei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bashlykov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Batra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bhargava</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bhosale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Bikel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Blecher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Canton-Ferrer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Cucurull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Esiobu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Fernandes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Fuller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Goswami</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hartshorn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hosseini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Inan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kardas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kerkez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Khabsa</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Kloumann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Korenev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. S.</given-names>
            <surname>Koura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lachaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lavril</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Liskovich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Mao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Martinet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mihaylov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mishra</surname>
          </string-name>
          , I. Molybog,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Nie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poulton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Reizenstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rungta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Saladi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schelten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Silva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Subramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X. E.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Taylor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Williams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. X.</given-names>
            <surname>Kuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yan</surname>
          </string-name>
          , I. Zarov,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kambadur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Narang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rodriguez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Stojnic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Edunov</surname>
          </string-name>
          ,
          <source>T. Scialom, Llama</source>
          <volume>2</volume>
          :
          <article-title>Open foundation and fine-tuned chat models</article-title>
          ,
          <source>CoRR abs/2307</source>
          .09288 (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .48550/arXiv.2307.09288.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vidgof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bachhofner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <article-title>Large language models for business process management: Opportunities and challenges</article-title>
          , in: Business Process Management Forum -
          <article-title>BPM 2023 Forum, Utrecht, The Netherlands</article-title>
          , volume
          <volume>490</volume>
          <source>of Lecture Notes in Business Information Processing</source>
          , Springer,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -41623-
          <issue>1</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cámara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Troya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Burgueño</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          ,
          <article-title>On the assessment of generative AI in modeling tasks: an experience report with chatgpt and UML, Softw</article-title>
          .
          <source>Syst. Model</source>
          .
          <volume>22</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>