Generative AI and large language models (LLMs), such Copilot and ChatGPT can complete code based on initial fragments written by a developer. They are integrated in software development environments such as VS code. Many papers analyse the advantages and limitations of these approaches for code generation, see for instance Besides some deficiencies, the produced code is often correct and the results that are getting increasingly better.
However, a surprisingly small amount of work has been done in the context of completion software models (for instance based on UML). The paper concludes that while the performance of the current LLMs for software modeling is still limited (in contrast to code generation), there is a need that (in contrast to code generation) we should adapt our model-based engineering practices to these new assistants and integrate these into MBSE methods and tools.
The integration of design-patterns is a complementary part of this work. Originally coming from building architecture, the term design patterns has been adopted in the software domain to capture a proven solution for a given problem along with its advantages and disadvantages. A bit later, the term anti-pattern has been proposed to identify patterns that are known not to work or having severe disadvantages. Thus, when proposing a completion, then assistant could explicitly reference an existing design pattern with its implications. The completion proposal can be based either on identified model fragments (including modeled requirements) or an explicit pattern selection. This thesis will explore the state-of-the-art of model completion with AI and design patterns and associated tool support. Up to now, little work is available on pattern formalization and the use in model tools. It will propose to identify the modelers intention, based on partial models. The task could be rule-based but should also explore machine-learning approaches. Implement a completion proposal in the context of a design tool, notably Papyrus SW designer. The solution will be evaluated.