CN116339725A - 一种基于合约的制造工艺设计方法 - Google Patents

一种基于合约的制造工艺设计方法 Download PDF

Info

Publication number
CN116339725A
CN116339725A CN202310464904.9A CN202310464904A CN116339725A CN 116339725 A CN116339725 A CN 116339725A CN 202310464904 A CN202310464904 A CN 202310464904A CN 116339725 A CN116339725 A CN 116339725A
Authority
CN
China
Prior art keywords
contract
code module
condition
operations
interface
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
Application number
CN202310464904.9A
Other languages
English (en)
Inventor
戴文斌
曲德元
张瀛月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202310464904.9A priority Critical patent/CN116339725A/zh
Publication of CN116339725A publication Critical patent/CN116339725A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于合约的制造工艺设计方法,涉及工业边缘计算领域,该方法基于合约的高层次抽象,实现工业边缘应用的低代码开发,包括以下步骤:为制造工艺流程中的每个操作定义与操作对应的合约,并将合约与操作的本体结合成为基于合约的操作;定义由操作到可执行代码模块的映射规则;基于映射规则生成可执行代码模块;根据工艺流程,将前序操作对应的前序代码模块的输出和后序操作对应的后续代码模块的输入相连接,构成完整的可执行工艺流程。本发明使用这种基于合约的工艺设计范式,可以统一的描述离散制造和流程工业中的不同工艺,本发明使得没有很强的编程技术的工艺工程师可以通过单纯定义合约来开发工业边缘应用。

Description

一种基于合约的制造工艺设计方法
技术领域
本发明涉及工业边缘计算领域,尤其涉及一种基于合约的制造工艺设计方法。
背景技术
随着信息物理系统(Industrial Cyber Physical System,iCPS)规模的快速增长,工业边缘设备的计算和通信资源也在显著提升。工业边缘计算是指集成了计算、通信和存储资源,用于执行复杂的工业边缘应用。为了开发和集成这些复杂的工业边缘应用程序,需要更高效的软件开发范式。
模型驱动工程(Model-Driven Engineering,MDE)广泛被应用于软件开发过程中,现有MDE设计方法包括面向对象设计和微服务架构。
面向对象设计是一种在程序中包含各种独立而又互相调用的对象的思想,对象指的是类(Class)的实例。面向对象设计中将对象作为程序的基本单元,将程序和数据封装其中。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象。
微服务(Microservice)是一种开发软件的架构和组织方法,将应用程序构建为独立的组件,并将每个应用程序进程作为一项服务运行。这些服务通过明确定义的接口进行通信,这些服务是围绕业务功能构建的,每项服务执行一项功能,这些服务由各个小型独立团队负责。
虽然面向对象设计和微服务得到了广泛的应用,但是,在实际应用过程中,仍然存在一些问题,比如面向对象设计无法使用统一的方法来描述不同行业中的不同工艺,从面向对象的工艺设计结果转换到实际代码仍然需要较大的工作量;而微服务间交互需要考虑被调用方故障、过载、消息丢失等各种异常情况,代码逻辑更加复杂,增加了系统的复杂度。
因此,本领域的技术人员致力于开发一种基于合约的制造工艺设计方法。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是面向对象的设计方法无法使用统一的方法来描述不同行业中的不同工艺,从面向对象的工艺设计结果转换到实际代码仍然需要较大的工作量。
为实现上述目的,本发明提供了一种基于合约的制造工艺设计方法,其特征在于,所述方法基于所述合约的高层次抽象,实现工业边缘应用的低代码开发,所述方法包括以下步骤:
S101:为所述制造工艺流程中的每个操作定义与所述操作对应的所述合约,并将所述合约与所述操作的本体结合成为基于所述合约的操作;
S103:定义由所述操作到可执行代码模块的映射规则;
S105:基于所述映射规则生成所述可执行代码模块;
S107:根据工艺流程,将前序代码模块的输出和后序代码模块的输入相连接,构成完整的可执行工艺流程,所述前序代码模块为前序操作对应的所述代码模块,所述后序代码模块为后序操作对应的所述代码模块。
进一步地,所述合约包括前置条件、操作本体、不变量、接口和后置条件,在所述合约中,所述前置条件和所述后置条件代表所述操作之间进行交互的所述接口。
进一步地,所述前置条件规定执行所述操作之前需要满足的条件,所述前置条件为每个所述操作在被执行前都会检查,如果所述前置条件不满足,则所述操作不执行。
进一步地,所述操作本体为具体的操作指令。
进一步地,所述不变量为在整个所述操作执行过程中,必须保证的条件。
进一步地,所述接口为所述操作通过所述接口将信息暴露给外部,所述接口用于监控。
进一步地,所述后置条件为每个所述操作结束时需要满足的条件,为所述操作的结果。
进一步地,所述方法还提供基于所述合约的操作模板,所述操作模板针对所述操作进行详细描述,所述操作模板包括操作名、需要、执行、所述不变量、所述接口、保证和结束操作名,其中,所述操作名用于对所述操作命名,所述需要包括一项或多项所述前置条件,所述执行包括所述操作本体,所述不变量为一项或者多项,所述接口为一项或者多项,所述保证包括一项或多项所述后置条件。
进一步地,所述方法定义基于所述合约的操作语法结构,所述操作语法结构使用所述操作模板,通过所述操作模板完成对每一个所述操作的设计。
进一步地,在所述步骤S103中,所述映射规则包括:
将所述前置条件映射为所述代码模块的输入,在产生所述输入时检查所述前置条件是否满足;
将所述操作本体和所述不变量,映射为所述代码模块的内部算法和内部变量,如果所述前置条件满足,则执行所述内部算法;
将所述接口和所述后置条件,映射为所述代码模块的输出,如果所述内部算法被执行,则产生相应的输出,所述后置条件被满足。
在本发明的较佳实施方式中,相对于现有技术,本发明具有如下有益效果:
1、本发明提供了基于合约的工艺设计范式,为工艺流程中的每个操作定义与其相对应的合约,将合约与操作本体结合成为基于合约的操作,可以统一的描述离散制造和流程工业中的不同工艺,使得没有很强的编程技术的工艺工程师可以通过单纯定义合约来开发工业边缘应用;
2、本发明提供从合约到单个代码模块的转换规则,定义了由基于合约的操作到可执行代码模块的映射规则,减轻了软件开发阶段的工作量,并确保了代码模型的可回溯性。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的基于合约的工艺开发方法的流程框图;
图2是本发明的一个较佳实施例的基于合约的工艺开发方法的流程图;
图3是本发明的一个较佳实施例的合约式设计抽象层次;
图4是本发明的一个较佳实施例的基于合约的操作模板;
图5是本发明的一个较佳实施例的由基于合约的操作到可执行代码模块的映射规则。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
如图3所示,本发明实施例提供的一种基于合约的制造工艺设计方法,该方法基于合约的高层次抽象,更低层次的抽象为面向对象设计和微服务架构,实现工业边缘应用的低代码开发,使得没有很强的编程技术的工艺工程师可以通过单纯定义合约来开发工业边缘应用。
如图1-图2所示,本发明实施例提供的一种基于合约的制造工艺设计方法包括以下步骤:
S101:为制造工艺流程中的每个操作定义与操作对应的合约,并将合约与操作的本体结合成为基于合约的操作。
具体地,该合约包括前置条件、操作本体、不变量、接口和后置条件,合约中的前置条件和后置条件代表操作之间进行交互的接口。其中,
前置条件规定执行操作之前需要满足的条件,前置条件为每个操作在被执行前都会检查,如果前置条件不满足,则操作不执行;
操作本体为具体的操作指令;
不变量为在整个操作执行过程中,必须保证的条件;
接口为操作通过接口将信息暴露给外部,接口用于监控;
后置条件为每个操作结束时需要满足的条件,为操作的结果。
S103:定义由操作到可执行代码模块的映射规则。
S105:基于所述映射规则生成所述可执行代码模块;
S107:根据工艺流程,将前序代码模块的输出和后序代码模块的输入相连接,构成完整的可执行工艺流程,所述前序代码模块为前序操作对应的所述代码模块,所述后序代码模块为后序操作对应的所述代码模块。
如图4所示,本发明实施例提供的一种基于合约的制造工艺设计方法还提供基于合约的操作模板,该操作模板针对操作进行详细描述,该操作模板包括操作名、需要、执行、所述不变量、所述接口、保证和结束操作名,其中,操作名用于对操作命名,需要包括一项或多项前置条件,执行包括操作本体,不变量为一项或者多项,接口为一项或者多项,保证包括一项或多项后置条件。通过定义基于合约的操作语法结构,操作语法结构使用操作模板,通过操作模板完成对每一个操作的设计。
如图5所示,由操作到可执行代码模块的映射规则包括:
将前置条件映射为代码模块的输入,在产生输入时检查前置条件是否满足;
将操作本体和不变量,映射为代码模块的内部算法和内部变量,如果前置条件满足,则执行内部算法;
将接口和后置条件,映射为代码模块的输出,如果内部算法被执行,则产生相应的输出,所述后置条件被满足。
本发明通过为工艺流程中的每个操作定义与其相对应的合约,使用这种基于合约的工艺设计范式,可以统一的描述离散制造和流程工业中的不同工艺,使得没有很强的编程技术的工艺工程师可以通过单纯定义合约来开发工业边缘应用。同时,本发明定义了由基于合约的操作到可执行代码模块的映射规则,将基于合约的操作到可执行代码模块的映射规则,减轻了软件开发阶段的工作量,并确保了代码模型的可回溯性。
下面结合本发明的优选实施例,对本发明进行详细说明。
在实际的工业边缘应用程序开发过程中,面向对象设计无法使用统一的方法来描述不同行业中的不同工艺,从面向对象的工艺设计结果转换到实际代码仍然需要较大的工作量,而基于微服务架构的应用系统中,微服务间交互需要考虑被调用方故障、过载、消息丢失等各种异常情况,代码逻辑更加复杂,增加了系统的复杂度。为解决上述问题,本发明优选实施例提供了一种基于合约的工业工艺开发方法,借助如图3所示的更高的抽象层次,以实现工业边缘应用的低代码开发。
如图1-图2所示,本发明优选实施例提供的一种基于合约的工业工艺开发方法,其整体流程包括如下:
首先,本发明为工艺流程中的每个操作定义与其相对应的合约,并将合约与操作本体结合成为基于合约的操作。
合约由前置条件、操作本体、不变量、接口和后置条件组成:
1.前置条件:每个操作在被执行前都会检查的条件。如果前置条件不满足,则该操作不执行。
2.操作本体:具体的操作指令。
3.不变量:在整个操作执行过程中必须保证的条件。
4.接口:操作会通过接口将一些信息暴露给外部,通常用于监控。
5.后置条件:每个操作结束时需要满足的条件,可视为操作的结果。
在合约中,前置条件和后置条件代表了该操作用来与其它操作进行交互的接口,它们分别规定了执行操作前需要满足的条件和操作执行结束后需要满足的条件。通过定义如图4所示的基于合约的操作的语法结构和操作模板,有着相关工业领域知识的工艺工程师可以通过将图4中各个组成成分补充完整的方式,完成对每一个操作的设计。
通过基于合约的工艺设计范式,针对面向对象设计无法使用统一的方法来描述不同行业中的不同工艺,本发明为工艺流程中的每个操作定义与其相对应的合约,包括前置条件、不变量、接口和后置条件,并将合约与操作本体结合成为基于合约的操作。使用这种基于合约的工艺设计范式,可以统一的描述离散制造和流程工业中的不同工艺,使得没有很强的编程技术的工艺工程师可以通过单纯定义合约来开发工业边缘应用。
此外,本发明还定义了由基于合约的操作到可执行代码模块的映射规则。在如图5所示的映射规则中:
1.将前置条件映射为代码模块的输入,在产生输入时检查前置条件是否满足;
2.将操作本体和不变量映射为代码模块的内部算法和内部变量,如果前置条件满足,则执行内部算法;
3.将接口和后置条件映射为代码模块的输出,如果内部算法被执行,则会产生相应的输出,即为满足了后置条件。
通过提供从合约到单个代码模块的转换规则,针对从面向对象的工艺设计结果转换到实际代码仍然需要较大的工作量的问题,本发明定义了由基于合约的操作到可执行代码模块的映射规则:将前置条件映射为代码模块的输入;将操作本体和不变量映射为代码模块的内部算法和内部变量;将接口和后置条件映射为代码模块的输出,本发明定义的从基于合约的操作到可执行代码模块的映射规则,减轻了软件开发阶段的工作量,并确保了代码模型的可回溯性。
最后,在生成了可执行代码模块后,根据工艺工程师设计的工艺流程,将前序操作对应的代码模块的输出和后序操作对应的代码模块的输入相连接,从而得到完整的可执行的工艺流程。
针对微服务间交互需要考虑被调用方故障、过载、消息丢失等各种异常情况,代码逻辑更加复杂,增加了系统的复杂度,本发明提出的基于合约的代码模块连接规则,根据工艺工程师设计的工艺流程,将前序操作对应的代码模块的输出和后序操作对应的代码模块的输入相连接,从而得到完整的可执行的工艺流程,通过定义合约从而自动生成代码的方式提高了工业软件开发效率。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种基于合约的制造工艺设计方法,其特征在于,所述方法基于所述合约的高层次抽象,实现工业边缘应用的低代码开发,所述方法包括以下步骤:
S101:为所述制造工艺流程中的每个操作定义与所述操作对应的所述合约,并将所述合约与所述操作的本体结合成为基于所述合约的操作;
S103:定义由所述操作到可执行代码模块的映射规则;
S105:基于所述映射规则生成所述可执行代码模块;
S107:根据工艺流程,将前序代码模块的输出和后序代码模块的输入相连接,构成完整的可执行工艺流程,所述前序代码模块为前序操作对应的所述代码模块,所述后序代码模块为后序操作对应的所述代码模块。
2.如权利要求1所述的方法,其特征在于,所述合约包括前置条件、操作本体、不变量、接口和后置条件,在所述合约中,所述前置条件和所述后置条件代表所述操作之间进行交互的所述接口。
3.如权利要求2所述的方法,其特征在于,所述前置条件规定执行所述操作之前需要满足的条件,所述前置条件为每个所述操作在被执行前都会检查,如果所述前置条件不满足,则所述操作不执行。
4.如权利要求2所述的方法,其特征在于,所述操作本体为具体的操作指令。
5.如权利要求2所述的方法,其特征在于,所述不变量为在整个所述操作执行过程中,必须保证的条件。
6.如权利要求2所述的方法,其特征在于,所述接口为所述操作通过所述接口将信息暴露给外部,所述接口用于监控。
7.如权利要求2所述的方法,其特征在于,所述后置条件为每个所述操作结束时需要满足的条件,为所述操作的结果。
8.如权利要求1所述的方法,其特征在于,所述方法还提供基于所述合约的操作模板,所述操作模板针对所述操作进行详细描述,所述操作模板包括操作名、需要、执行、所述不变量、所述接口、保证和结束操作名,其中,所述操作名用于对所述操作命名,所述需要包括一项或多项所述前置条件,所述执行包括所述操作本体,所述不变量为一项或者多项,所述接口为一项或者多项,所述保证包括一项或多项所述后置条件。
9.如权利要求8所述的方法,其特征在于,所述方法定义基于所述合约的操作语法结构,所述操作语法结构使用所述操作模板,通过所述操作模板完成对每一个所述操作的设计。
10.如权利要求1所述的方法,其特征在于,在所述步骤S103中,所述映射规则包括:
将所述前置条件映射为所述代码模块的输入,在产生所述输入时检查所述前置条件是否满足;
将所述操作本体和所述不变量,映射为所述代码模块的内部算法和内部变量,如果所述前置条件满足,则执行所述内部算法;
将所述接口和所述后置条件,映射为所述代码模块的输出,如果所述内部算法被执行,则产生相应的输出,所述后置条件被满足。
CN202310464904.9A 2023-04-26 2023-04-26 一种基于合约的制造工艺设计方法 Pending CN116339725A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310464904.9A CN116339725A (zh) 2023-04-26 2023-04-26 一种基于合约的制造工艺设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310464904.9A CN116339725A (zh) 2023-04-26 2023-04-26 一种基于合约的制造工艺设计方法

Publications (1)

Publication Number Publication Date
CN116339725A true CN116339725A (zh) 2023-06-27

Family

ID=86876142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310464904.9A Pending CN116339725A (zh) 2023-04-26 2023-04-26 一种基于合约的制造工艺设计方法

Country Status (1)

Country Link
CN (1) CN116339725A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116643546A (zh) * 2023-07-20 2023-08-25 济南邦德激光股份有限公司 一种流水式工艺流程控制方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116643546A (zh) * 2023-07-20 2023-08-25 济南邦德激光股份有限公司 一种流水式工艺流程控制方法及设备
CN116643546B (zh) * 2023-07-20 2023-10-27 济南邦德激光股份有限公司 一种流水式工艺流程控制方法及设备

Similar Documents

Publication Publication Date Title
EP1729213A1 (en) Development of parallel/distributed applications
Leitão et al. Specification of the PERFoRM architecture for the seamless production system reconfiguration
US20080141220A1 (en) Robot Control Software Framework in Open Distributed Process Architecture
CN116339725A (zh) 一种基于合约的制造工艺设计方法
EP3671571A1 (en) A method and system for generating an artificial intelligence model
CN106933212A (zh) 一种分布式制造环境下的可重构工业机器人编程控制方法
CN101185116A (zh) 在软件程序中使用强数据类型表示语音识别语法
JP2011512592A (ja) 製造現場のサービス指向オートメーション・コンポーネントを柔軟性のあるitコーポレート・アーキテクチャへ取り入れるための方法およびシステム
CN111831285A (zh) 一种面向内存计算平台的代码转换方法、系统及应用
CN110352400A (zh) 用于处理报文的方法和装置
Gaglio et al. WSN design and verification using on-board executable specifications
André et al. Trusted services for cyber manufacturing systems
CN109377348A (zh) 应用于助贷业务系统的业务接口调用方法及助贷业务系统
KR102188044B1 (ko) 뉴로모픽 아키텍처 기반 지능형 응용 개발을 위한 프레임워크 시스템
US20110320178A1 (en) Semantic translation of time-driven simulink diagrams using input/output extended finite automata
CN111208991A (zh) 基于工作流的程序开发方法、电子设备及存储介质
Hendriks et al. A systematic approach for interfacing component-based software with an active automata learning tool
JP2010049439A (ja) ソフトウェアモデルを用いたシステム構築方法およびモデリング装置
Hristozov et al. Modeling aspects of dynamically reconfigurable system of systems
Pereira et al. Architecture based on keyword driven testing with domain specific language for a testing system
CN111596898A (zh) 一种基于corba组件的sca组件及服务器
Brennan et al. IEC 61499 and the Promise of Holonic Systems
Hamri et al. On using design patterns for DEVS modeling and simulation tools
CN111176657A (zh) 基于ttcn-3测试平台的c语言编解码器实现方法和系统
Luder et al. On the suitability of modeling approaches for engineering distributed control systems

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