CN118113294A - 用于智能驾驶软件架构设计的uml图生成方法及装置 - Google Patents
用于智能驾驶软件架构设计的uml图生成方法及装置 Download PDFInfo
- Publication number
- CN118113294A CN118113294A CN202410013327.6A CN202410013327A CN118113294A CN 118113294 A CN118113294 A CN 118113294A CN 202410013327 A CN202410013327 A CN 202410013327A CN 118113294 A CN118113294 A CN 118113294A
- Authority
- CN
- China
- Prior art keywords
- software
- intelligent driving
- uml
- signal transmission
- automation script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010586 diagram Methods 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013461 design Methods 0.000 title claims abstract description 35
- 230000008054 signal transmission Effects 0.000 claims abstract description 56
- 238000004590 computer program Methods 0.000 claims description 8
- 230000011664 signaling Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于智能驾驶软件架构设计的UML图生成方法及装置,其中方法包括通过对源代码进行解析和信息提取,获取智能驾驶软件架构;根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本;利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息,识别所述智能驾驶软件的架构信息中的关键字及信号传递链路;所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图。本发明利用自动化脚本技术根据用户输入的智能驾驶软件的架构信息自动更新所述UML图,实现了高度自动化,减少了手动绘图的工作量,确保了UML图与智能驾驶软件架构的一致性。
Description
技术领域
本发明涉及软件开发领域,尤其涉及一种用于智能驾驶软件架构设计的UML图生成方法及装置。
背景技术
软件开发涉及多个开发人员、团队或组织的合作和协同工作。每个开发人员可能负责不同的模块或组件,为了能够准确的向开发团队传递软件设计需求,需要软件需求团队绘制准确的架构逻辑交互图。
传统的手动绘制软件架构图方法通常涉及使用绘图工具,需求人员要手动创建、连接和布局各个组件,以及手动维护图形的更新和变化。这种方法存在的问题:一是工作量大,尤其对于大型复杂软件项目而言,手动绘制耗时且容易出错;二是更新和维护困难,随着代码的更新和变化,手动更新架构图容易遗漏或错误地反映实际系统的结构;三是一致性和可视化表达的问题,手动绘制的架构图可能存在不一致性或缺乏统一的可视化表达方式。
传统的图形绘制工具生成的图形通常是二进制文件或特定格式的文件件,这对于版本控制系统和文档管理带来了挑战。传统的图形绘制工具通常依赖于特定的操作系统或平台
发明内容
针对上述技术问题,本发明提供了一种用于智能驾驶软件架构设计的UML图生成方法及装置,可通过关键字和信号传递链路完成UML图的更新。
本发明的第一方面,提供一种用于智能驾驶软件架构设计的UML图生成方法,其特征在于,包括:通过对源代码进行解析和信息提取,获取智能驾驶软件架构;
根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本;
利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息,识别所述智能驾驶软件的架构信息中的关键字及信号传递链路;所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图。
在所述的UML图生成方法的一种可选实施方式中,所述根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本,包括:
获取所述智能驾驶软件架构中的软件模块与信号传递链路,根据所述软件模块与所述信号传递链路编写软件自动化脚本。
在所述的UML图生成方法的一种可选实施方式中,所述根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本,包括:
对所述智能驾驶软件架构进行分析,确定信号由CAN总线到应用层的不同软件组件以及信号在不同软件组件中处理后再转发至CAN总线的信号传递链路;并将不同软件组件的名称及CAN总线的名称作为关键字加入所述软件自动化脚本中。
在所述的UML图生成方法的一种可选实施方式中,利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息还包括:
将所述软件自动化脚本存储于版本控制系统中,当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本控制PlantUML工具更新所述UML图。
在所述的UML图生成方法的一种可选实施方式中,所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图之后还包括:
根据需求输出位图图像格式或矢量图格式的UML图,并对所述智能驾驶软件中暂时不用的信号及软件组件的名称及CAN总线的名称进行注释。
在所述的UML图生成方法的一种可选实施方式中,所述智能驾驶软件的架构信息包括软件模块的名称及所述软件模块与其他软件模块之间的信号传递链路。
本发明的第二方面,提供一种用于智能驾驶软件架构设计的UML图生成方法,包括:编写软件自动化脚本并将所述软件自动化脚本存储于版本控制系统中;
当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本识别用户输入的关键字及信号传递链路;
识别所述关键字及所述信号传递链路并更改源代码中的关键字及信号传递链路;根据所述更改后的源代码的关键字及信号传递链路更新所述UML图。
本发明的第三方面,提供一种用于智能驾驶软件架构设计的UML图生成装置,包括:
管理模块,用于将软件自动化脚本并将所述软件自动化脚本存储于版本控制系统中;
调用模块,用于当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本识别用户输入的关键字及信号传递链路;
更新模块,用于识别所述关键字及所述信号传递链路并更改源代码中的关键字及信号传递链路;根据所述更改后的源代码的关键字及信号传递链路更新所述UML图。
本发明的第四方面,提供一种电子设备,包括:
至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如本发明实施例的第一方面所述的用于智能驾驶软件架构设计的UML图生成方法。
本发明的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如本发明实施例的第一方面所述的用于智能驾驶软件架构设计的UML图生成方法。
本发明利用自动化脚本技术根据用户输入的智能驾驶软件的架构信息自动更新所述UML图,实现了高度自动化,减少了手动绘图的工作量,确保了UML图与智能驾驶软件架构的一致性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中一种用于智能驾驶软件架构设计的UML图生成方法的流程示意图。
图2为本发明实施例中应用层之间的信号传输链路的示意图。
图3为本发明实施例中另一种用于智能驾驶软件架构设计的UML图生成方法的流程示意图。
图4为本发明实施例中一种用于智能驾驶软件架构设计的UML图生成装置的示意框图。
图5为本发明实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。
随着软件技术的发展,自动化绘图技术逐渐成为解决软件架构图绘制问题的重要方向。自动化绘图技术结合了软件分析、信息提取和图形生成等技术,能够从源代码、配置文件或其他相关信息中自动提取关键信息,并据此生成准确的架构图。这种方法可以大大减少手动绘图的工作量,提高绘图的准确性和一致性,并支持定制化的样式和布局优化。
UML(Unified Modeling Language)是可视化的统一建模语言,适用于选代式开发过程和软件生命周期的各个阶段,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
PlantUML是一款开源的UML图绘制工具,支持通过文本来生成图形,使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图等图形的绘制。本发明通过编写软件自动化脚本控制PlantUML工具,实现UML图的绘制。其中软件自动化脚本是根据用户输入的信息控制PlantUML工具绘制UML图。
通过传统的绘制UML图形通常需要使用专业的图形工具或绘图软件,需要手动绘制和调整各个元素,这样的过程比较繁琐且容易出错。通过使用脚本实现,可以使图形绘制变得更加简单和自动化,开发人员只需编写文本描述,而不必关注图形的细节和布局。使用脚本自动化绘图,使得图形可以轻松地纳入版本控制系统中,并与代码一起进行管理。同时文本文件也更易于进行文档编写和维护。
请参阅图1所示,本发明提供一种用于智能驾驶软件架构设计的UML图生成方法,包括以下步骤:
步骤100:通过对源代码进行解析和信息提取,获取智能驾驶软件架构。
需求人员根据智能驾驶软件的功能需求对源代码进行初步的架构分析,将应用层模块在内的智能驾驶软件的架构信息提取出来,然后对于智能驾驶软件中各应用层模块在内的各模块之间的信号传输链路做信息提取。
比如获取所述智能驾驶软件架构中的软件模块与信号传递链路,根据所述软件模块与所述信号传递链路编写软件自动化脚本,用于自动控制软件生成UML图。
在其他的一些实施例中,可以利用版本控制系统(如git)获取智能驾驶软件中的各功能模块、应用层的模块,从而在各功能模块、应用层的模块中尽显信号传输链接的信息收集。
步骤200:根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本。
基于步骤100中确定的智能驾驶软件的基本架构,编写用于控制PlantUML工具的软件自动化脚本;该软件自动化脚本可以使用软件编写为python脚本程序。所述软件自动化脚本能够根据用户输入的关键字实现UML图的绘制。所述关键字主要为软件组件的名称及该软件组件与其他软件组件之间的信号传递链路。用户需要更新所述UML图时,只需要更改所述软件自动化脚本的关键字参数即可完成。应当理解的是,编写所述软件自动化脚本时,应当将所述智能驾驶软件的基本架构编写在软件自动化脚本中;根据已有架构编写控制逻辑,可根据用户的新输入更新UML图。
步骤300:利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息,识别所述智能驾驶软件的架构信息中的关键字及信号传递链路;所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图。
当所述智能驾驶软件的代码更新时,用户可以手动增加或更改所述软件自动化脚本中的关键字。所述软件自动化脚本根据用户输入的关键字进行更改所述UML图。具体的,所述软件自动化脚本重新运行,控制PlantUML工具根据所述软件自动化脚本内的各功能模块、应用层的模块的架构关系及信号传递链路更改所述UML图,或者生成新的UML图。
示例地,智能驾驶软件中包括A模块、B模块、C模块。用户可以在软件自动化脚本中更改B模块为B模块及D模块,原有的信号传递链路为A模块至B模块至C模块至B模A模块。用户输入D模块名称后,再输入D模块与B模块、C模块之间的信号传递链路,如B模块(名称)→D模块(名称)→C模块(名称)→D模块(名称)。更新后的UML图中,智能驾驶软件的架构图将包括A模块、B模块、C模块、D模块;四个模块之间的信号传递链路为A模块→B模块(名称)→D模块(名称)→C模块(名称)→D模块(名称)→B模块→A模块。所述软件自动化根据D模块与A模块、B模块、C模块之间的信号传递链路可以在UML图中更新D模块在B模块与C模块之间。
与传统手动绘图方法相比,本发明具有以下技术优势和创新:高度自动化,通过代码实现了软件架构图的自动绘制,减少了手动绘图的工作量,准确性高可维护性强,通过源代码解析和信息提取,确保了生成的软件架构图与实际系统的结构一致性;同时在频繁的软件需求变更中,只通过更改关键字即可完成架构图的更新,无需手动画图。
进一步地,在步骤200中,所述根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本,包括:
可以对需求人员的需求与智能驾驶软件的架构梳理,进行分析后确定信号由CAN总线到应用层(SWC)的不同软件组件以及信号在不同软件组件中处理后再转发至CAN总线的信号传递链路。
并将不同软件组件的名称及CAN总线的名称作为关键字加入所述软件自动化脚本中。示例地,可以将车机系统的语音模块、影音模块,视觉系统中的摄像头模块、雷达模块作为关键字编写在软件自动化脚本中,写入软件自动化脚本中的特阵字中。
因此可以理解的是,所述智能驾驶软件的架构信息包括软件模块的名称及所述软件模块与其他软件模块之间的信号传递链路。用户需要更新UML图时,至少输入软件模块的名称(如“视觉模块”)及该软件模块与其他功能模块之间的信号传递链路即可。“视觉模块”可以与智能驾驶的功能模块产生信号交互、可以与驾驶员状态检测、乘客状态监测、路况识别、车距识别等多个功能模块产生信号关联。因此,软件自动化脚本利用特诊字识别可以根据用户输入的软件模块的名称、软件模块与其他功能模块之间的交互关系在原有的智能驾驶软件架构的UML图中更新出该软件模块的名称及其与其他功能模块交互的位置。
可见,本发明利用代码脚本实现自动驾驶软件架构设计的自动化,该方法无需依赖文本类绘图工具,在软件架构发生变更或者有新的功能设计需求时,只需要更改代码中关键变量即可快速生成规范化的架构UML图,提高软件架构设计者效率。本发明中的软件自动化脚本可以级自动获取关键字信息并生成准确的架构图,解决了架构图更新和维护的困难问题。
更进一步地,上述步骤300中,利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息还包括:
将所述软件自动化脚本存储于版本控制系统中,当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本控制PlantUML工具更新所述UML图。
传统的图形绘制工具通常依赖特定的操作系统或平台,无法在版本控制系统中存储、查阅,智能由需求人员在版本控制系统之外完成UML图的绘制,然后根据需求更新UML图。与传统的绘制方案不同的是,本发明将软件自动化脚本存储于版本控制系统中,用户或需求人员可以在版本控制系统中调取该软件自动化脚本更新UML图,利用脚本代码绘图,对使用平台没有依赖,这使得软件架构设计具有很好的平台无关性,开发人员可以在不同操作系统或环境中使用所述软件自动化脚本。
用更改好的代码进行软件架构图生成,如图2是一个简单的应用层之间的信号传输链路图例,具体为CAN与四个应用层模块之间的信号传输示例。在图像生成后如果满足设计需求,可以对当前代码进行存档管理,可以采用当前最方便的版本控制系统git形式进行代码管理不需要在本地即可进行代码变更同步。此外,还可以对不同需求不同功能进行代码不同分支管理。
在其他的一些实施例中,上述步骤400中,所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图之后还包括:
根据需求输出位图图像格式或矢量图格式的UML图,并对所述智能驾驶软件中暂时不用的信号及软件组件的名称及CAN总线的名称进行注释。
在该实施例中,软件自动化脚本支持多种输出格式,包括矢量图 (如SVG、PDF) 和位图图像 (如PNG、JPEG) 。可以满足不同场景下的需求,比如将图形嵌入到文档中或生成高质量的图像文件。对所述智能驾驶软件中暂时不用的信号及软件组件可以在软件自动化脚本中进行注释,以便开发人员理解。
如图3所示,本发明还提供另一种用于智能驾驶软件架构设计的UML图生成方法,包括如下步骤:
步骤310:编写软件自动化脚本并将所述软件自动化脚本存储于版本控制系统中。
开发人员可以对需求人员的需求与智能驾驶软件的架构梳理,进行分析后确定信号由CAN总线到应用层(SWC)的不同软件组件以及信号在不同软件组件中处理后再转发至CAN总线的信号传递链路;然后编写用于控制PlantUML工具的软件自动化脚本;该软件自动化脚本可以使用软件编写为python脚本程序。所述软件自动化脚本能够根据用户输入的关键字实现UML图的绘制。所述关键字主要为软件组件的名称及该软件组件与其他软件组件之间的信号传递链路。用户需要更新所述UML图时,只需要更改所述软件自动化脚本的关键字参数即可完成。应当理解的是,编写所述软件自动化脚本时,应当将所述智能驾驶软件的基本架构编写在软件自动化脚本中。
步骤320:当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本识别用户输入的关键字及信号传递链路。
可以利用版本控制系统(如git)获取智能驾驶软件中的各功能模块、应用层的模块对应的代码是否更新,若代码更新版本控制系统会得到更新信息。由版本控制系统触发更新,将更及时避免用户遗忘。
当所述智能驾驶软件的代码更新时,用户可以手动增加或更改所述软件自动化脚本中的关键字。所述软件自动化脚本根据用户输入的关键字进行更改所述UML图。具体的,所述软件自动化脚本重新运行,控制PlantUML工具根据所述软件自动化脚本内的各功能模块、应用层的模块的架构关系及信号传递链路更改所述UML图,或者生成新的UML图。
步骤330:识别所述关键字及所述信号传递链路并更改源代码中的关键字及信号传递链路;根据所述更改后的源代码的关键字及信号传递链路更新所述UML图。
示例地,软件自动化脚本利用特诊字识别可以根据用户输入的软件模块的名称、软件模块与其他功能模块之间的交互关系在原有的智能驾驶软件架构的UML图中更新出该软件模块的名称及其与其他功能模块交互的位置,从而自动更新所述UML图。然后根据需求输出位图图像格式或矢量图格式的UML图,如SVG、PDF、PNG、JPEG等格式。
如图4所示,本发明还提供一种用于智能驾驶软件架构设计的UML图生成装置,包括:
管理模块41,用于将软件自动化脚本并将所述软件自动化脚本存储于版本控制系统中;
调用模块42,用于当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本识别用户输入的关键字及信号传递链路;
更新模块43,用于识别所述关键字及所述信号传递链路并更改源代码中的关键字及信号传递链路;根据所述更改后的源代码的关键字及信号传递链路更新所述UML图。
上述用于智能驾驶软件架构设计的UML图生成装置对应于用于智能驾驶软件架构设计的UML图生成方法,未尽之处可以参考前文所述。应当理解的是,各模块与方法步骤之间相关联,可以参考上述内容对本发明全文进行统一理解。
如图5所示,本发明还提供一种电子设备,包括:
至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述用于智能驾驶软件架构设计的UML图生成方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述用于智能驾驶软件架构设计的UML图生成方法。
可以理解,计算机可读存储介质可以包括:能够携带计算机程序的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器 (ROM ,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、以及软件分发介质等。计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、以及软件分发介质等。
在本发明的某些实施方式中,电子设备可以包括控制器或处理器,控制器是一个单片机芯片,集成了处理器、存储器,通信模块等。处理器可以是指控制器包含的处理器。处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明地优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行更改,或者对其中部分技术特征进行等同替换;而这些更改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用于智能驾驶软件架构设计的UML图生成方法,其特征在于,包括:通过对源代码进行解析和信息提取,获取智能驾驶软件架构;
根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本;
利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息,识别所述智能驾驶软件的架构信息中的关键字及信号传递链路;所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图。
2.根据权利要求1所述的用于智能驾驶软件架构设计的UML图生成方法,其特征在于,所述根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本,包括:
获取所述智能驾驶软件架构中的软件模块与信号传递链路,根据所述软件模块与所述信号传递链路编写软件自动化脚本。
3.根据权利要求2所述的用于智能驾驶软件架构设计的UML图生成方法,其特征在于,所述根据所述智能驾驶软架构编写用于自动生成UML图的软件自动化脚本,包括:
对所述智能驾驶软件架构进行分析,确定信号由CAN总线到应用层的不同软件组件以及信号在不同软件组件中处理后再转发至CAN总线的信号传递链路;并将不同软件组件的名称及CAN总线的名称作为关键字加入所述软件自动化脚本中。
4.根据权利要求1所述的用于智能驾驶软件架构设计的UML图生成方法,其特征在于,利用所述软件自动化脚本识别用户输入的智能驾驶软件的架构信息还包括:
将所述软件自动化脚本存储于版本控制系统中,当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本控制PlantUML工具更新所述UML图。
5.根据权利要求1所述的用于智能驾驶软件架构设计的UML图生成方法,其特征在于,所述软件自动化脚本根据所述的关键字及所述信号传递链路自动更新所述UML图之后还包括:
根据需求输出位图图像格式或矢量图格式的UML图,并对所述智能驾驶软件中暂时不用的信号及软件组件的名称及CAN总线的名称进行注释。
6.根据权利要求1所述的用于智能驾驶软件架构设计的UML图生成方法,其特征在于,所述智能驾驶软件的架构信息包括软件模块的名称及所述软件模块与其他软件模块之间的信号传递链路。
7.一种用于智能驾驶软件架构设计的UML图生成方法,其特征在于,包括:编写软件自动化脚本并将所述软件自动化脚本存储于版本控制系统中;
当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本识别用户输入的关键字及信号传递链路;
识别所述关键字及所述信号传递链路并更改源代码中的关键字及信号传递链路并更改源代码中的关键字及信号传递链路;根据所述更改后的源代码的关键字及信号传递链路更新所述UML图。
8.一种用于智能驾驶软件架构设计的UML图生成装置,其特征在于,包括:
管理模块,用于将软件自动化脚本并将所述软件自动化脚本存储于版本控制系统中;
调用模块,用于当版本控制系统识别到智能驾驶软件更新后,调用所述软件自动化脚本识别用户输入的关键字及信号传递链路;
更新模块,用于识别所述关键字及所述信号传递链路并更改源代码中的关键字及信号传递链路;根据所述更改后的源代码的关键字及信号传递链路更新所述UML图。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6或权利要求7中任一项所述的用于智能驾驶软件架构设计的UML图生成方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如权利要求1至6或权利要求7中任一项所述的用于智能驾驶软件架构设计的UML图生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410013327.6A CN118113294A (zh) | 2024-01-04 | 2024-01-04 | 用于智能驾驶软件架构设计的uml图生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410013327.6A CN118113294A (zh) | 2024-01-04 | 2024-01-04 | 用于智能驾驶软件架构设计的uml图生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118113294A true CN118113294A (zh) | 2024-05-31 |
Family
ID=91207794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410013327.6A Pending CN118113294A (zh) | 2024-01-04 | 2024-01-04 | 用于智能驾驶软件架构设计的uml图生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118113294A (zh) |
-
2024
- 2024-01-04 CN CN202410013327.6A patent/CN118113294A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241454B (zh) | 一种生成网页代码的方法、系统和装置 | |
US8930337B2 (en) | Mapping dataset elements | |
CN112052242A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN113076096B (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN108268615B (zh) | 一种数据处理方法、装置以及系统 | |
CN109710528B (zh) | 一种测试脚本生成方法、装置、设备和介质 | |
CN110968294B (zh) | 一种业务领域模型建立系统及方法 | |
CN111784108B (zh) | 一种主数据管理平台的建模方法和装置 | |
CN104731588B (zh) | 页面布局文件生成方法和页面布局文件生成装置 | |
CN101753619B (zh) | 用于扩展服务模型的方法和系统 | |
CN111651196B (zh) | 文档发布方法、装置及服务器 | |
CN117077650B (zh) | 基于动态模板配置的文档生成系统、方法、设备及介质 | |
JPH10254689A (ja) | クライアント・サーバシステムのアプリケーション構成設計支援方式 | |
US11977473B2 (en) | Providing a pseudo language for manipulating complex variables of an orchestration flow | |
CN118113294A (zh) | 用于智能驾驶软件架构设计的uml图生成方法及装置 | |
JP7033913B2 (ja) | 3dデータに対するデジタル仕上げマテリアルのための高度自動化アプリケーション | |
CN112598383A (zh) | 一种审批方法、装置、设备和介质 | |
CN112732643A (zh) | 流程图图形文件数据与s1000d标准xml格式数据的相互转换方法 | |
Sudarsan et al. | Industrial Control Systems-Legacy System Documentation and Augmentation | |
CN116226066B (zh) | 低代码平台代码同步方法和装置、电子设备、存储介质 | |
JP2007094453A (ja) | プログラム開発支援システム、プログラム開発支援方法およびプログラム | |
CN118034652B (zh) | 一种自动生成服务代码的方法 | |
CN117724686B (zh) | 一种基于xml的设计验证代码可视化生成方法和装置 | |
CN117032794A (zh) | Jsp版本代码的重构转码方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |