一种基于需求精化与一致性验证的代码生成方法技术

技术编号:43538903 阅读:24 留言:0更新日期:2024-12-03 12:21
本发明专利技术涉及一种基于需求精化与一致性验证的代码生成方法,属于软件工程领域。包括:基于原始需求、知识库、提示词模板生成精化需求;基于精化需求、提示词模板生成模式设计,基于模式设计、知识库生成精化性质规约并对其进行语法及一致性验证;基于验证后的精化性质规约及其对应的精化需求生成原始代码,基于大语言模型对原始代码进行验证‑修改在环操作,迭代生成验证后的代码。该方法通过对原始需求进行精化及性质规约一致性验证,生成验证后的精化需求与精化性质规约,继而生成PLC代码,通过验证‑修改在环操作修复代码语法及功能错误,解决了目前PLC代码自动生成方法没有进行需求精化处理,导致生成的代码错误多、功能无法满足用户需求的问题。

【技术实现步骤摘要】

本专利技术涉及软件工程,尤其涉及一种基于需求精化与一致性验证的代码生成方法


技术介绍

1、制造自动化系统(mas)在现代工业中扮演着关键角色,其中,可编程逻辑控件(plc)作为mas的核心,其代码编写对实际工业生产至关重要。随着工业自动化的快速发展,开发人员面临着在紧迫的时间内开发高质量plc程序的挑战。

2、plc可采用结构化文本(structured text,st)语言进行编程,其语法和结构与传统编程语言相似,相对容易学习,但对其进行熟练使用仍需开发人员具有丰富的专业知识和经验。st语言作为iec 61131-3定义的标准化编程范式语言之一,使利用大语言模型(llm)基于st语言自动生成plc代码成为可能。因此,面对日益复杂的制造自动化系统,如何进行精确、高效的plc代码自动生成成为近来研究的热点。

3、但是,目前现有的基于llm的plc代码自动生成方法,直接由自然语言形式的需求文档进行代码生成,没有进行需求精化处理,导致生成的代码存在下列问题:首先,由于需求描述过于抽象使需求文档可能存在歧义,导致生成的代码无法满足用户的实本文档来自技高网...

【技术保护点】

1.一种基于需求精化与一致性验证的代码生成方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的基于需求精化与一致性验证的代码生成方法,其特征在于,构建PLC代码机器人用于生成原始代码;将验证后的精化需求文档、精化性质规约文档、PLC语法错误示例集发送给所述PLC代码机器人,生成原始代码。

3.根据权利要求2所述的基于需求精化与一致性验证的代码生成方法,其特征在于,构建PLC代码修复群聊用于分析、修复代码缺陷;将语法与功能错误信息发送给所述PLC代码修复群聊,通过分析错误信息对缺陷进行修复;通过所述PLC代码机器人生成修改后的代码。

4.根...

【技术特征摘要】

1.一种基于需求精化与一致性验证的代码生成方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的基于需求精化与一致性验证的代码生成方法,其特征在于,构建plc代码机器人用于生成原始代码;将验证后的精化需求文档、精化性质规约文档、plc语法错误示例集发送给所述plc代码机器人,生成原始代码。

3.根据权利要求2所述的基于需求精化与一致性验证的代码生成方法,其特征在于,构建plc代码修复群聊用于分析、修复代码缺陷;将语法与功能错误信息发送给所述plc代码修复群聊,通过分析错误信息对缺陷进行修复;通过所述plc代码机器人生成修改后的代码。

4.根据权利要求3所述的基于需求精化与一致性验证的代码生成方法,其特征在于,所述plc代码修复群聊包括:bug分析机器人、bug修复机器人、用户代理机器人;其中,所述bug分析机器人用于分析接收的语法与功能错误信息并将推测出的错误原因发送给所述bug修复机器人;所述bug修复机器人用于根据接收的错误原因修改代码bug并将修改后的代码发送给所述plc代码机器人;所述用户代理机器人用于作为用户与其他机器人进行交互的代理。

5.根据权利要求1所述的基于需求精化与一致性验证的代码生成方法,其特征在于,建立模式设计相关的第二关键词,根据所述第二关键词、变量的个数、第一关键词中的用例和事件流构建模式设计提示词模板;所述第二关键词包括模式、待填入参数。

6.根据权利要求5所述的基于需求精化与一致性验证的代码生成方法,其特征在于,将精化需求文档、模式设计提示词模板输入大语言模型,使大语言模型根据所述模式设计提示词模板从精化需求文档中提取第一关键词对应的内容,并对精化需求文档中每一条用例生成对应的若干模式,每个模式...

【专利技术属性】
技术研发人员:葛宁饶新元何金泽牛建伟胡春明
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1