本发明涉及计算机技术领域,尤其是涉及基于顺序图模型的电子系统排布方法和装置。
背景技术:
SysML(System Modeling Language),作为系统工程的标准建模语言,用于由软硬件、数据和人综合而成的复杂系统的集成体系结构说明、分析、设计及校验。
Modelook是一款基于SysML的系统建模工具,在Modelook中可设计用例图、活动图、顺序图及状态机图。再系统建模完成后,需对模型进行仿真验证。其中的顺序图包含了系统的物理架构模型和行为逻辑模型,并有规范的可用于仿真。但在实际应用过程中,基于SysML的顺序图对仿真的描述不准确,冗余信息多,对模型数字化仿真的准确性造成影响。
技术实现要素:
有鉴于此,本发明的目的在于提供基于顺序图模型的电子系统排布方法和装置,可以剔除冗余信息,提高数字化仿真的准确性。
第一方面,本发明实施例提供了基于顺序图模型的电子系统排布方法,所述方法包括:
获取所述顺序图模型的数据信息,所述数据信息包括外部部件生命线的数量和部件生命线的数量;
根据所述外部部件生命线的数量和所述部件生命线的数量计算画布分区的数量;
确定每个所述画布分区的高度和每个所述画布分区中的设置的模型个数;
根据所述顺序图模型和每个所述画布分区中的设置的模型个数在所述画布分区中对所述外部部件生命线和所述部件生命线进行重新排布,得到新的模型。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述根据所述外部部件生命线的数量和所述部件生命线的数量计算画布分区的数量,包括:
根据所述外部部件生命线的数量和所述部件生命线的数量计算总数数量;
根据所述总数数量和预设数量,得到所述画布分区的数量;
其中,所述预设数量为每个所述画布分区中的设置的模型个数,每个所述画布分区中的设置的模型个数小于5。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:
如果所述画布分区的数量为小数,则对所述画布分区的数量进行加1,并取整数。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据所述顺序图模型和每个所述画布分区中的设置的模型个数在所述画布分区中对所述外部部件生命线和所述部件生命线进行重新排布,得到新的模型,包括:
根据所述顺序图模型中所述外部部件生命线和所述部件生命线的顺序图,以及每个所述画布分区中的设置的模型个数,确定每个所述画布分区中所述外部部件生命线和所述部件生命线的位置;
根据所述外部部件生命线和所述部件生命线的位置,以及所述外部部件生命线和所述部件生命线的顺序图中的消息关系,对所述外部部件生命线和所述部件生命线进行重新排布,得到所述新的模型。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述新的模型的左端和上端为输入边,右端和下端为输出边。
第二方面,本发明实施例还提供基于顺序图模型的电子系统排布装置,所述装置包括:
获取模块,用于获取所述顺序图模型的数据信息,所述数据信息包括外部部件生命线的数量和部件生命线的数量;
计算模块,用于根据所述外部部件生命线的数量和所述部件生命线的数量计算画布分区的数量;
确定模块,用于确定每个所述画布分区的高度和每个所述画布分区中的设置的模型个数;
排布模块,用于根据所述顺序图模型和每个所述画布分区中的设置的模型个数在所述画布分区中对所述外部部件生命线和所述部件生命线进行重新排布,得到新的模型。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述计算模块具体用于:
根据所述外部部件生命线的数量和所述部件生命线的数量计算总数数量;
根据所述总数数量和预设数量,得到所述画布分区的数量;
其中,所述预设数量为每个所述画布分区中的设置的模型个数,每个所述画布分区中的设置的模型个数小于5。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述计算模块具体用于:
如果所述画布分区的数量为小数,则对所述画布分区的数量进行加1,并取整数。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述排布模块具体用于:
根据所述顺序图模型中所述外部部件生命线和所述部件生命线的顺序图,以及每个所述画布分区中的设置的模型个数,确定每个所述画布分区中所述外部部件生命线和所述部件生命线的位置;
根据所述外部部件生命线和所述部件生命线的位置,以及所述外部部件生命线和所述部件生命线的顺序图中的消息关系,对所述外部部件生命线和所述部件生命线进行重新排布,得到所述新的模型。
结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述新的模型的左端和上端为输入边,右端和下端为输出边。
本发明实施例提供了基于顺序图模型的电子系统排布方法和装置,包括:获取顺序图模型的数据信息,数据信息包括外部部件生命线的数量和部件生命线的数量;根据外部部件生命线的数量和部件生命线的数量计算画布分区的数量;确定每个画布分区的高度和每个画布分区中的设置的模型个数;根据顺序图模型和每个画布分区中的设置的模型个数在画布分区中对外部部件生命线和所述部件生命线进行重新排布,得到新的模型,可以剔除冗余信息,提高数字化仿真的准确性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的基于顺序图模型的电子系统排布方法流程图;
图2为本发明实施例二提供的顺序图模型示意图;
图3为本发明实施例二提供的新的模型排布图;
图4为本发明实施例三提供的基于顺序图模型的电子系统排布装置示意图。
图标:
10-获取模块;20-计算模块;30-确定模块;40-排布模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
实施例一:
图1为本发明实施例一提供的基于顺序图模型的电子系统排布方法流程图。
参照图1,该方法包括以下步骤:
步骤S101,获取顺序图模型的数据信息,数据信息包括外部部件生命线的数量和部件生命线的数量;
步骤S102,根据外部部件生命线的数量和部件生命线的数量计算画布分区的数量;
步骤S103,确定每个画布分区的高度和每个画布分区中的设置的模型个数;
这里,每个画布分区中的设置的模型为矩形,高度及宽度默认规格为20px*30px;新的模型生成前,规定新画布的默认规格为1024px*768px。
上下不同分区间的矩形要有间隔,来保证模型间不重叠,每个分区的高度最小为50,如果分区过多,则会导致默认的画布高度在分区后无法保证每个分区的高度大于50,则需扩大图形区的宽高度。每个分区内最多放置15个模型,否则需扩大图形区的宽度。
步骤S104,根据顺序图模型和每个画布分区中的设置的模型个数在画布分区中对外部部件生命线和部件生命线进行重新排布,得到新的模型。
具体地,每个分区内依据顺序图的部件生命线、外部部件生命线的从左至右顺序,在每个画布分区内从左至右等间距依次摆放。
当摆放完成后,依据读取顺序图模型中部件生命线和外部部件生命线的连接关系(即消息),统计输入输出关系,在画布中将输入、输出相同的连接确定为相同的关系。
进一步的,步骤S102包括以下步骤:
步骤S201,根据外部部件生命线的数量和部件生命线的数量计算总数数量;
步骤S202,根据总数数量和预设数量,得到画布分区的数量;
其中,预设数量为每个画布分区中的设置的模型个数,每个画布分区中的设置的模型个数小于5。
进一步的,所述方法还包括:
如果所述画布分区的数量为小数,则对所述画布分区的数量进行加1,并取整数。
进一步的,步骤S104包括以下步骤:
步骤S301,根据顺序图模型中外部部件生命线和部件生命线的顺序图,以及每个画布分区中的设置的模型个数,确定每个画布分区中外部部件生命线和部件生命线的位置;
步骤S302,根据外部部件生命线和部件生命线的位置,以及外部部件生命线和部件生命线的顺序图中的消息关系,对外部部件生命线和部件生命线进行重新排布,得到新的模型。
进一步的,新的模型的左端和上端为输入边,右端和下端为输出边。
实施例二:
图2为本发明实施例二提供的顺序图模型示意图。
参照图2,顺序图模型包括1个外部部件生命线和4个部件生命线组成的顺序图,顺序图中部件生命线和部件生命线、外部部件生命线和部件生命线间的消息由信号表示。根据顺序图模型生成新的模型,具体可参照图3,新的模型的生成具体包括以下步骤:
步骤S401,根据外部部件生命线的数量和部件生命线的数量计算总数数量,其中,外部部件生命线的数量为1和部件生命线的数量为4,故总数数量为5;
步骤S402,根据总数数量和预设数量,得到画布分区的数量,其中,预设数量为4,那么画布分区的数量即为5/4+1=2个分区,如果画布分区的数量为小数,则对画布分区的数量进行加1,并取整数;
步骤S403,确定每个画布分区的高度和每个画布分区中的设置的模型个数,其中,每个画布分区的高度大于50,预设数量为每个画布分区中的设置的模型个数,每个画布分区中的设置的模型个数小于5,故每个画布分区中的设置的模型个数为4;
步骤S404,根据顺序图模型中外部部件生命线和部件生命线的顺序图,以及每个画布分区中的设置的模型个数,确定每个画布分区中外部部件生命线和部件生命线的位置,其中,每个分区放置4个模型,故分区A中放置外部部件生命线、部件生命线1、部件生命线2和部件生命线3,分区B中放置部件生命4;
步骤S405,重新排布和计算后,外部部件生命线1和部件生命线1间的消息转化为传递关系1,部件生命线1和部件生命线2间的信号转化为传递关系2,部件生命线2输出至部件生命线3的信号转化为传递关系3,部件生命线3输出至部件生命线2的信号转化为传递关系4,部件生命线3输出至部件生命线4的信号,转化为传递关系5,其中,信号2和信号6是部件生命线1和部件生命线3的自处理逻辑,不在新的模型中出现。
实施例三:
图4为本发明实施例三提供的基于顺序图模型的电子系统排布装置示意图。
参照图4,该装置包括获取模块10、计算模块20、确定模块30和排布模块40。
获取模块10,用于获取顺序图模型的数据信息,数据信息包括外部部件生命线的数量和部件生命线的数量;
计算模块20,用于根据外部部件生命线的数量和部件生命线的数量计算画布分区的数量;
确定模块30,用于确定每个画布分区的高度和每个画布分区中的设置的模型个数;
排布模块40,用于根据顺序图模型和每个画布分区中的设置的模型个数在画布分区中对外部部件生命线和所述部件生命线进行重新排布,得到新的模型。
进一步的,计算模块20具体用于:
根据外部部件生命线的数量和部件生命线的数量计算总数数量;
根据总数数量和预设数量,得到画布分区的数量;
其中,预设数量为每个画布分区中的设置的模型个数,每个画布分区中的设置的模型个数小于5。
进一步的,计算模块20具体用于:
如果画布分区的数量为小数,则对画布分区的数量进行加1,并取整数。
进一步的,排布模块40具体用于:
根据顺序图模型中外部部件生命线和部件生命线的顺序图,以及每个画布分区中的设置的模型个数,确定每个画布分区中外部部件生命线和部件生命线的位置;
根据外部部件生命线和部件生命线的位置,以及外部部件生命线和部件生命线的顺序图中的消息关系,对外部部件生命线和部件生命线进行重新排布,得到新的模型。
进一步的,新的模型的左端和上端为输入边,右端和下端为输出边。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的基于顺序图模型的电子系统排布方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的基于顺序图模型的电子系统排布方法的步骤。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。