System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及代码管理,更具体地,涉及一种软件配置方法和装置。
技术介绍
1、自动代码生成技术在软件工程中发挥着越来越重要的作用,尤其是以基于模型开发(model based design,mbd)的自动代码生成方法成为主导。相比较于传统的基于文档嵌入式系统开发模式,mbd采用的模块化建模能够实现自动化的代码生成,极大的减少了手工编码以及测试阶段的人力和时间。
2、在自动生成代码这一流程中,用户需要对生成的代码进行各项配置,以满足不同的集成场景要求。由于要支持多样化集成场景,因此提供了大量配置选项,且每个配置选项配有描述其功能的文字。然而用户还是难以通过描述文字理解该配置选项的功能,用户要找到所需的配置选项,需要长期的学习积累经验,导致其难以在短时间内配置生成想要的代码程序。
3、鉴于此,一种能够帮助用户在自动生成代码的流程中,快速完成配置的方案亟待开发。
技术实现思路
1、本申请实施例提供一种软件配置方法和装置,能够在生成目标语言代码之前,生成并显示预览代码,以使得用户快速完成配置,提高代码生成效率;并且,能够降低用户学习代码配置的成本,有助于提高用户体验。
2、第一方面,提供了一种软件配置方法,该方法包括:获取软件行为模型;根据该软件行为模型确定第一预览代码,其中,该第一预览代码的第一符号与该软件行为模型的第一模型元素相对应;响应于针对该第一符号的第一操作确定第一配置信息;根据该第一配置信息生成目标语言代码。
3、在上述技术方案中,确
4、示例性地,第一模型元素为模型的基本构建单元,例如,可以为模型中的端口、参数等。
5、示例性地,第一符号为代码符号,该第一符号可以为函数、变量和类型等声明。
6、需要说明的是,上述“相对应”可以理解为:第一符号通过模型符号与第一模型元素建立对应关系。其中,模型符号为根据软件行为模型预定义的,第一模型符号为根据第一模型元素确定的,该第一符号与预定义的第一模型符号一一对应,对该第一符号的修改,可以作用到第一模型符号的配置文件中,根据该配置文件可以确定第一配置信息,进而实现对基于第一模型元素生成的代码的配置。
7、结合第一方面,在第一方面的某些实现方式中,该第一操作包括如下至少一项:修改该第一符号的名称;修改该第一符号的修饰符;修改该第一符号的存储位置;以及在该第一符号之前和/或之后插入自定义内容。
8、在一些可能的实现方式中,在第一符号之前和/或之后插入自定义内容可以包括:在第一符号所处段内插入自定义内容,例如,在第一符号所处行之前插入自定义内容,或者在第一符号所述行之后插入自定义内容;或者,在第一符号所处段的段前或段后插入自定义内容,若在第一符号所处段的段前插入自定义内容,则该第一符号可以为该段第一行内的符号,若在第一符号所处段的段后插入自定义内容,则该第一符号可以为该段最后一行内的符号。示例性地,上述“段”可以包括引用段、宏定义段、记录体段、全局变量段、函数段等,或者,也可以包括其他类别的段。
9、结合第一方面,在第一方面的某些实现方式中,该方法还包括:响应于针对该第一符号的第二操作,控制显示该第一符号与该第一模型元素之间的对应关系。
10、示例性地,第二操作可以为鼠标移动至第一符号处,或者第二操作也可以为鼠标移动至第一符号处且单击左键,或者该第二操作还可以为其他操作。
11、示例性地,第一符号与该第一模型元素之间的对应关系,可以通过在检测到第二操作时,高亮显示第一模型元素的方式体现,或者也可以高亮显示第一模型元素及其所处模型,或者还可以通过其他方式体现。
12、在上述技术方案中,通过显示第一符号与第一模型元素之间的对应关系,能够方便用户快速确认需要配置的模型元素,提高配置效率,进而提高代码生成效率。
13、结合第一方面,在第一方面的某些实现方式中,该方法还包括:响应于针对该第一符号的第三操作,控制显示该第一符号的信息。
14、示例性地,第三操作可以为鼠标移动至第一符号处且单击右键,或者该第三操作还可以为其他操作。
15、示例性地,第一符号的信息可以包括第一符号的类别、来源、功能(或称用途)、生成方式等。
16、在上述技术方案中,通过显示第一符号的信息,有助于用户理解预览代码的含义,以便于快速完成配置。
17、结合第一方面,在第一方面的某些实现方式中,该方法还包括:响应于该第一操作生成第二符号;控制显示第二预览代码,该第二预览代码包括该第二符号。
18、示例性地,第一操作为修改第一符号的名称,如,将第一符号的名称由“model_io”修改为“g_io”。则响应于第一操作生成第二符号“g_io”,并将原第一预览代码中所有引用该第一符号的位置更新为第二符号,进而生成第二预览代码并显示该第二预览代码。
19、应理解,对第一符号修改后生成的该第二符号,仍与第一模型元素相对应。
20、在上述技术方案中,在用户针对问题点进行重新配置后,预览代码能够实时刷新,使用户直观感受到配置效果,有助于解决代码生成工具配置不直观的问题。
21、结合第一方面,在第一方面的某些实现方式中,该第一预览代码包括占位代码,其中,该占位代码用于表示逻辑运算。
22、示例性地,上述占位代码可以为占位符,或者也可以为伪代码,或者还可以为其他形式的占位代码。
23、在上述技术方案中,通过占位代码表示不需配置的逻辑运算,有助于缩短解析时间,进而缩短第一预览代码的生成时间,有助于提高配置效率和代码生成效率。
24、结合第一方面,在第一方面的某些实现方式中,该根据该软件行为模型确定第一预览代码,包括:根据该软件行为模型确定模型符号,该模型符号包括第一模型符号,该第一模型符号为根据该第一模型元素确定;根据该模型符号和该软件行为模型的第二配置信息,确定该第一预览代码。
25、示例性地,第二配置信息可以包含于软件行为模型的基础配置文件。其中,基础配置文件可以为系统默认的软件行为模型的配置文件,或者也可以为其他配置文件。该基础配置文件中可以包括每类模型元素的基本配置信息、以及根据模型元素的类别对每一类元素设定的命名规则,如“元素名称+类别后缀”。
26、在上述技术方案中,可以根据软件行为模型确定模型符号,进而以模型符号为“桥梁”,构建模型元素与预览代码中符号的对应关系,以使得用户针对预览代码中符号的修改,实现对基于模型元素生成的代码的配置。
2本文档来自技高网...
【技术保护点】
1.一种软件配置方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一操作包括如下至少一项:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一预览代码包括占位代码,其中,所述占位代码用于表示逻辑运算。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述软件行为模型确定第一预览代码,包括:
8.根据权利要求7所述的方法,其特征在于,所述第二配置信息包括所述第一模型符号的第一子配置信息,所述响应于针对所述第一符号的第一操作确定第一配置信息,包括:
9.一种软件配置装置,其特征在于,包括:
10.根据权利要求9所述的装置,其特征在于,所述第一操作包括如下至少一项:
11.根据权利要求9或10所述的装置,其特征在于
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述第一处理单元还用于:
13.根据权利要求9至12中任一项所述的装置,其特征在于,所述第一处理单元还用于:
14.根据权利要求9至13中任一项所述的装置,其特征在于,所述第一预览代码包括占位代码,其中,所述占位代码用于表示逻辑运算。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述第一处理单元用于:
16.根据权利要求15所述的装置,其特征在于,所述第二配置信息包括所述第一模型符号的第一子配置信息,所述第一处理单元还用于:
17.一种软件配置装置,其特征在于,包括:
18.一种电子设备,其特征在于,包括如权利要求9至17中任一项所述的装置。
19.一种计算机可读存储介质,其特征在于,其上存储有指令,所述指令被处理器执行时,以使得处理器实现如权利要求1至8中任一项所述的方法。
20.一种芯片,其特征在于,所述芯片包括电路,所述电路用于执行如权利要求1至8中任一项所述的方法。
...【技术特征摘要】
1.一种软件配置方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一操作包括如下至少一项:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一预览代码包括占位代码,其中,所述占位代码用于表示逻辑运算。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述软件行为模型确定第一预览代码,包括:
8.根据权利要求7所述的方法,其特征在于,所述第二配置信息包括所述第一模型符号的第一子配置信息,所述响应于针对所述第一符号的第一操作确定第一配置信息,包括:
9.一种软件配置装置,其特征在于,包括:
10.根据权利要求9所述的装置,其特征在于,所述第一操作包括如下至少一项:
11.根据权利要求9或10所述的装置,其特征在于...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。