CN1717655A - 软件应用程序、软件体系结构和尤其是为mes系统产生软件应用程序的方法 - Google Patents

软件应用程序、软件体系结构和尤其是为mes系统产生软件应用程序的方法 Download PDF

Info

Publication number
CN1717655A
CN1717655A CN03804252.5A CN03804252A CN1717655A CN 1717655 A CN1717655 A CN 1717655A CN 03804252 A CN03804252 A CN 03804252A CN 1717655 A CN1717655 A CN 1717655A
Authority
CN
China
Prior art keywords
software application
software
metamessage
tree
networking
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.)
Granted
Application number
CN03804252.5A
Other languages
English (en)
Other versions
CN100397342C (zh
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN1717655A publication Critical patent/CN1717655A/zh
Application granted granted Critical
Publication of CN100397342C publication Critical patent/CN100397342C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented

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)
  • Devices For Executing Special Programs (AREA)

Abstract

用于软件应用程序、尤其是MES应用程序的对象(具有数据、属性、特性、功能)与元信息链接,结构化为分层树(OB1,OB2)(其中可以选择不同的表达形式),并且相互分支或联网(横向和/或水平的)。在运行时,对象(K1-K4,K1′-K4′)组成为软件应用程序,其中软件应用程序的整个功能由分层树(OB1,OB2)的结构导出。可以为MES系统、自动化系统、工业控制(以及运动控制)和办公应用产生软件应用程序。

Description

软件应用程序、软件体系结构和 尤其是为MES系统产生软件应用程序的方法
技术领域
本发明涉及具有对象的软件应用程序、尤其是MES应用程序,这些对象包含和/或引用数据和/或属性和/或特性,其中将对象在至少一个计算机单元上运行和/或存储。
此外,本发明还涉及软件体系结构,尤其是MES应用程序的体系结构,以及尤其是为MES系统产生软件应用程序的方法。
本发明还涉及软件开发环境、计算机程序、数据载体和数据处理装置。
背景技术
由Dirk Kozian在Elektronik für die Automatisierung 11,17.11.1999中的文章“Software für die Automatisierung-Transparenz üer die Ablufe schaffen”公知,将所谓的制造执行系统(MES)用于生产或制造过程的自动化。这些系统将自动化层(控制)与企业领导层的ERP(企业资源规划)系统集成在一起。制造执行系统是那些例如提供用于优化生产过程的信息的系统,和协调或优化生产过程的系统。一方面制造执行系统必须为ERP系统的粗略规划数据补充特定于设备的和当前的精确规划的数据,并将这些数据相应地传递到下级的自动化层中;另一方面制造执行系统的任务是从自动化层接收与生产有关的信息,处理这些信息,并将其传递到企业领导层。由此,MES系统除其它外实现了在企业领导层和自动化层之间的纵向集成。MES系统的典型任务是企业资产管理、维护管理、信息管理、规划、调度以及追踪(Trace & Tracking)。这些任务分别由MES组件或MES应用完成。
在上世纪80年代用于编写软件的经典编程语言(例如Pascal或Fortran)中,数据和函数是分开的。直到出现了面向对象的语言才将数据和函数组合为对象。在上世纪90年代,个别情况下作为附件将元数据分配给对象。元数据是关于其它信息的信息,例如关于已有对象本身的信息。这些元数据虽然存在于整个系统或整个上下文中,但其既没有物理地存放在对象中,也不包含关于待实现的应用或关于待实现的商业过程的信息。
D.E.Perry和A.A.Wolf在“Foundations for the study of SoftwareArchitecture”,ACM SIGSOFT,Software Engineering Notes,Vol.17,No.4.pp.40-52,October 1992中引入了概念“体系结构风格(architectural style)”。其中,除其它之外说明了体系结构对基于该体系结构的应用软件的重要性和影响。但是并没有描述如何通过有针对性地使用元信息而在软件体系结构中获得有关产生、配置、重组或改变软件应用程序的优点。
发明内容
本发明要解决的技术问题在于,提供软件应用程序、软件体系结构和一种产生软件应用程序的方法,该方法改善系统的可改变性和可扩展性。
根据本发明,上述软件应用程序的技术问题是通过权利要求1的特征解决的。分配给一个对象的元信息例如描述一个对象包含的数据和函数,但元信息也可以包含对实现和服务的描述,或者包括用户文档。在诸如HTML或XML的标记语言中,可以通过所谓的标签或通过属性描述元信息,并分配给对象。元信息还可以具有分层结构。本发明的一个优点是,不需要为了运行软件应用程序而产生明显的代码。对象是具有用于读取元数据的相应访问机制的黑匣子。由树结构及树状网络可以确定运行逻辑和由树表示的软件应用程序的运行顺序。在运行时可手动或自动改变的树结构及树元素的联网可以确定,用哪些操作数提供函数,以及函数是顺序还是并行执行。在工业设备中,通过树结构和树元网络例如判定,用哪些输入参数来提供给设备,以及如何对该设备产生的输出值作进一步处理。在软件开发环境中,用户对树和网络进行图形编辑。树的显示形式可以不同,并由用户自由地或根据应用选择。树元网络或分支(Verzeigerung)可以通过在树中的分层设置进行。但树元的联网或分支可以通过用户编辑的引用或横向联网到其它分枝的元素来进行。用于产生树和用于建立网络的输入可以通过输入掩码、拖放机制或通过语言输入来进行。
为各对象分配实现,即对象的代码和元信息。通过在运行时由预先产生的对象组成软件应用程序,(例如自动借助应用处理中的元数据),可以取消用于生成待产生软件应用程序代码的明显的编译阶段。编译运行可能持续非常长的时间。通过不必产生明显的编译运行,最小化了产生软件应用程序、测试和运行的时间。
另一个显著优点在于,以统一形式对待程序和数据。数据是没有函数的对象树,程序是具有函数的对象树。所有存在于运行时系统中、用于组合、联网、版本、存储、传送数据和程序等的机制只须实现一次,并且不是针对数据和程序各一次。这也简化了软件开发人员、运行者和管理员的处理,因为只须对这些机制处理一次。
另一个优点在于,更改很容易实施。可以随时补充、更改或删除分枝,而无需改变整个树结构。企业的灵活性也因此而提高,因为可以对更改后的市场需求进行更为快速的反应。这一点在软件应用程序用于控制自动化系统、生产设备或MES系统时特别重要。但根据本发明的软件应用程序优选也可以用于办公领域。
对象之间的联网、分支或引用可以按照不同的粒度(Granularitt)进行。这样,例如可以通过指向物理地址(通过指针)进行联网,由此达到较高的效率(例如在过程运行内)。其它联网机制例如是电子信息(例如E-Mail)、电话或传真。根据作为基础的应用程序的要求,用户可以选择相应的联网机制。
本发明意义下的对象是那些在产生软件应用程序时采用的、但也是运行时对象的对象。运行时对象是在系统(例如应用程序)的运行时实施该系统逻辑的对象。
根据本发明的软件应用程序还适用于解决过程控制系统和制造自动化系统的问题。
本发明的软件应用程序的第一优选实施方式在于,可以在运行时更换对象和/或引用机制和/或联网机制和/或对象的实现。通过在运行时可以将对象更换为其它对象,例如更换为具有扩展功能的对象,或更换对象的实现(新的实现例如消除了错误或具有更好的性能),或更换引用机制和联网机制,明显减少了更改中的周转时间。由此为用户和设备的运行者提高了灵活度,也提高了企业的灵活性。对于元数据的分析不采用通常的编译器,而是采用所谓的增量编译器或解释器,其只在更换时激活于对象本地。如果需要,对于新采用的对象产生增量代码,并且增量编译器或解释器在运行时将新采用的对象(或引用机制和/或联网机制和/或新的对象实现)又插入到树中,而无需考虑树的其它(无关)分支。
本发明的软件应用程序的另一优选实施方式在于,可以在运行时向对象补充服务。这些服务采用对象本地的元数据,以提供一般的(MES或控制)基础功能。这种服务例如可以是:序列化、复制、加密或访问保护。由此可以利用所谓的“服务质量”来建立对象。对象的使用者可以信任这些服务的实施,并且不考虑这些服务的实现。
本发明的软件应用程序的另一优选实施方式在于,可以将引用机制或联网机制或服务的实现用于数据和程序。由此,这些机制和服务不必分别针对数据和程序单独实施。此外,元信息可以按照相同方式添加到所有对象(是数据还是程序都无所谓),还可以对所有对象都按照相同方式访问元信息。
本发明的软件应用程序的另一优选实施方式在于,对象静态和/或动态地联网。联网(及分支或引用)可以在手动产生树时静态地进行,但是也可以基于当前信息或元信息自动产生(例如根据需要)。由此为用户提高了灵活度。可以通过不同机制和实现调整联网:例如指向对象的指针、发送给对象的E-Mail或通过OPC协议(过程控制的OLE)进行联网。尤其是在工业领域经常采用OPC协议。其它可用于联网或关连的技术或实现例如是MSMQ(Microsoft消息队列)、HTTP(超文本传输协议)或SOAP(简单对象传输协议)。
本发明的软件应用程序的另一优选实施方式在于,对象物理地包含元信息。由此,在产生软件应用程序时支持本地原则,也就是说,所有对一个对象来说重要的信息(元信息也是)也是物理地存在于对象中。由此简化了对这些信息的访问。通过使对象物理地包含元信息,对象自身也可以用于独立地组织、重组或重新配置软件应用程序,这取决于在对象中具有哪些元信息(类型和范围)。这对于移动对象是特别有利的,例如对于互联网中(或其它联网系统例如企业内部网络)在计算机之间移动的软件代理,从而例如在各计算机本地收集例如用于维护系统的高性能设备信息。
本发明的软件应用程序的另一优选实施方式在于,元信息包含静态和/或动态的对象模型。这些模型例如是类及其关系、状态/事件模型、活动模型、配置模型或域模型(例如汽车制造、化肥生产等特殊领域的MES过程模型)。这对于一般的软件开发或软件产生器来说特别有利。
本发明软件应用程序的另一优选实施方式在于,元信息描述应用或交易过程。如果元信息不仅包含关于对象本身的信息,还包含关于整个软件应用程序、使用环境或待实现交易过程(或商业逻辑)的信息,则由此简化软件应用程序的配置,直至可以自动进行配置。再配置(例如系统崩溃或部分系统失灵之后)也可以在无人工干预的情况下自动进行。由此提高了企业的灵活性和生产设备的可用性。
本发明的软件应用程序的另一优选实施方式在于,每一单个对象都包含关于该应用或交易过程的总的元信息。这意味着在软件应用程序或软件系统中,在每一单个对象(例如在最小标签中、在每个变量或每个操作数中,也就是在整个精细粒度对象中)包含对应用或交易过程的整个描述。通过这些信息可以将每一单个对象用于系统或交易过程的重组,但也可用于应用的自组织。这在大部分系统失灵的系统故障时是非常有利的。系统可以由最小但还起作用的部分自己完全重建起来。由此,维护工程师不必费事地忙于完成和阅读文档。
本发明的软件应用程序的另一优选实施方式在于,在显示装置上可以按照不同的方式显示树。树的显示可以是不同的,例如通过静态浏览器类似的符号、或按照工作流或流程图形式、或按照方框线路图(例如电流流向图)或设备图(例如物理设备布局图、材料流程图)形式。由此,极大提高了用户的灵活性,因为用户可以选择对他来说足够的符号或显示,从而查看在运行时系统中存在的元信息。也可以在这些显示形式之间交替。
本发明的软件应用程序的另一优选实施方式在于,在出现故障的情况下软件应用程序自己进行重新配置。如果在软件应用程序或软件系统中,在每一单个对象(例如最小标签、每个变量或每个操作符中,也就是在整个精细粒度对象中)中都包含对应用或交易过程的整个描述,则这些信息可以用于系统或交易过程的自动重组,也就是应用的自愈。用户干涉不再是必需的,可以最小化静止时间。由此,维护工程师不必费事地忙于完成和阅读文档。
根据本发明,软件体系结构的上述技术问题是通过权利要求12的特征解决的。软件体系结构是对子系统、组件(子系统和组件是由不同粒度的对象表示的)以及它们之间关系的描述。典型地按照不同的观察方式(视野)定制子系统和组件,并显示基于软件体系结构的软件应用程序的功能性和非功能性特征。软件体系结构应当明确显示认定是优选的软件设计原则(本地原则、紧凑结合、松散耦合等)。软件体系结构必须考虑对软件系统或软件体系结构来说很重要的不同要素:结构、函数、数据、性能、动态性、非功能性特征。这些要素可以通过部分不同的描述工具或显示方式模型化。合适的描述工具例如是具有大量不同图表类型和描述技术的UML(统一模型化语言)。在软件体系结构中采用的组件可以是:数据单元(包含信息的数据单元)、处理单元(处理或转换数据单元的处理单元)和连接单元(将两个不同的组件类型相互连接在一起的连接单元)。
所有描述工具和显示方式都表示根据本发明在运行时存在于运行时系统的对象中、或在运行时在对象本地使用的元信息。
通过显式和有针对性的将元信息应用到软件应用程序所依据的软件体系结构,由本发明特别是积极地影响了软件应用程序的非功能性特征,例如在故障情况下的可变性、效率、可靠性、可测试性、可再利用性、可维护性、可重新配置性和自我重组性。
为对象分配的元信息描述例如对象包含的数据和函数,但元信息还可以包含实现和服务信息,或包括用户文档。在诸如HTML或XML的标记语言中,元信息可以通过所谓的标签或通过属性来描述,并分配给对象。元信息还可以具有分层结构。本发明的一个优点在于,不需要为了运行软件应用程序而产生明显的代码。对象是具有用于读取元数据的相应访问机制的黑匣子。由树结构及树状网络可以确定运行逻辑和由树表示的软件应用程序的运行顺序。树结构及树元网络判定,用哪些操作数提供函数,以及函数是顺序还是并行执行。在工业设备中,通过树结构和树元网络例如判定,用哪些输入参数来提供给设备,以及如何对该设备产生的输出值作进一步处理。在软件开发环境中,用户对树和网络进行图形编辑。树的显示形式可以不同,并由用户自由地或根据应用选择。树元网络或分支(Verzeigerung)可以通过在树中的分层设置进行。但树元的联网或分支可以通过用户编辑的引用或横向联网到其它分枝的元素来进行。用于产生树和用于建立网络的输入可以通过输入掩码、拖放机制或通过语言输入来进行。
为各对象分配其实现,即对象的代码和元信息。通过在运行时由预先产生的对象组成软件应用程序,(例如自动借助应用处理中的元数据),可以取消用于生成待产生软件应用程序代码的明确的编译阶段。编译运行可能持续非常长的时间。通过不必产生明确的编译运行,最小化了产生软件应用程序、测试和运行的时间。
另一个显著优点在于,以统一形式对待程序和数据。数据是没有函数的对象树,程序是具有函数的对象树。所有存在于运行时系统中、用于组合、联网、版本、存储、传输数据和程序等的机制只须实施一次,并且不是针对数据和程序各一次。这也简化了软件开发人员、运行者和管理员的处理,因为只须对这些机制处理一次。
另一个优点在于,更改很容易实施。可以随时补充、更改或删除分枝,而无需改变整个树结构。企业的灵活性也因此而提高,因为可以对更改后的市场需求进行更为快速的反应。这一点在软件应用程序用于控制自动化系统、生产设备或MES系统时特别重要。但根据本发明的软件应用程序优选也可以用于办公领域。
对象之间的联网、分支或引用可以按照不同的粒度(Granularitt)进行。这样,例如可以通过指向物理地址(通过指针)进行联网,由此达到较高的效率(例如在过程运行内)。其它联网机制例如是电子信息(例如E-Mail)、电话或传真。根据作为基础的应用程序的要求,用户可以选择相应的联网机制。
本发明意义下的对象是那些在产生软件应用程序时采用的、但也是运行时对象的对象。运行时对象是在系统(例如应用程序)的运行时实施该系统逻辑的对象。
根据本发明的体系结构还适用于解决过程控制系统和制造自动化系统的问题。
本发明的软件体系结构的第一优选实施方式在于,可以在运行时更换对象和/或引用机制和/或联网机制和/或对象的实现。通过在运行时可以将对象更换为其它对象,例如更换为具有扩展功能的对象,或更换对象的实现(新的实现例如消除了错误或具有更好的性能),或更换引用机制和联网机制,明显减少了更改中的周转时间。由此为用户和设备的运行者提高了灵活度,也提高了企业的灵活性。对于元数据的求值不采用通常的编译器,而是采用所谓的增量编译器或解释器,其只在更换时激活于对象本地。如果需要,对于新采用的对象产生增量代码,并且增量编译器或解释器在运行时将新采用的对象(或引用机制和/或联网机制和/或新的对象实现)又插入到树中,而无需考虑树的其它(无关)分支。
本发明的软件体系结构的另一优选实施方式在于,可以在运行时向对象附加服务。这些服务采用对象本地的元数据,以提供一般的(MES或控制)基础功能。这种服务例如可以是:序列化、复制、加密或访问保护。由此可以利用所谓的“服务质量”来建立对象。对象的使用者可以信任这些服务的实施,并且不考虑这些服务的实现。
本发明的软件体系结构的另一优选实施方式在于,可以将引用机制或联网机制或服务的实现用于数据和程序。由此,这些机制和服务不必分别针对数据和程序单独实施。此外,元信息可以按照相同方式添加到所有对象(是数据还是程序都无所谓),还可以对所有对象都按照相同方式访问元信息。
本发明的软件体系结构的另一优选实施方式在于,对象静态和/或动态地联网。联网(及分支或引用)可以在手动产生树时静态地进行,但是也可以基于当前信息或元信息自动产生(例如根据需要)。由此为用户提高了灵活度。可以通过不同机制和实现调整联网:例如指向对象的指针、发送给对象的E-Mail或通过OPC协议(过程控制的OLE)进行的联网。尤其是在工业领域经常采用OPC协议。其它可用于联网或逻辑连接的技术或实现例如是MSMQ(Microsoft消息队列)、HTTP(超文本发送协议)或SOAP(简单对象发送协议)。
本发明的软件体系结构的另一优选实施方式在于,对象物理地包含元信息。由此,在产生软件应用程序时支持本地原则,也就是说,所有对一个对象来说重要的信息(元信息也是)也是物理地存在于对象中。由此简化了对这些信息的访问。通过使对象物理地包含元信息,对象自身也可以用于独立地组织、重组或重新配置软件应用程序,这取决于在对象中具有哪些元信息(类型和范围)。这对于移动对象是特别有利的,例如对于互联网中(或其它联网系统例如企业内部网络)在计算机之间移动的软件代理,从而例如在各计算机本地收集例如用于维护系统的高性能设备信息。
本发明的软件体系结构的另一优选实施方式在于,元信息包含静态和/或动态的对象模型。这些模型例如是类及其关系、状态/事件模型、活动模型、配置模型或域模型(例如汽车制造、化肥生产等特殊领域的MES过程模型)。这对于一般的软件开发或软件产生者来说特别有利。
本发明软件体系结构的另一优选实施方式在于,元信息描述应用或交易过程。如果元信息不仅包含关于对象本身的信息,还包含关于整个软件应用程序、使用环境或待实现交易过程(或商业逻辑)的信息,则由此简化软件应用程序的配置,直至可以自动进行配置。再配置(例如系统崩溃或部分系统失灵之后)也可以在无人工干预的情况下自动进行。由此提高了企业的灵活性和生产设备的可用性。
本发明的软件体系结构的另一优选实施方式在于,每一单个对象都包含关于该应用或交易过程的全部元信息。这意味着在软件应用程序或软件系统中,在每一单个对象(例如在最小标签中、在每个变量或每个操作数中,也就是在整个精细粒度对象中)包含对应用或交易过程的整个描述。通过这些信息可以将每一单个对象用于系统或交易过程的重组,但也可用于应用的自组织。这在大部分系统失灵的系统故障时是非常有利的。系统可以由最小但还起作用的部分自己完全重建起来。由此,维护工程师不必费事地忙于再投入运行。
本发明的软件体系结构的另一优选实施方式在于,在显示装置上可以按照不同的方式显示树。树的显示可以是不同的,例如通过静态浏览器类似的符号、或按照工作流或流程图形式、或按照方框线路图(例如电流流向图)或设备图(例如物理设备布局图、材料流程图)形式。由此,极大提高了用户的灵活性,因为用户可以选择对他来说足够的符号或显示,从而查看在运行时系统中存在的元信息。也可以在这些显示形式之间交替。
本发明的软件体系结构的另一优选实施方式在于,在出现故障的情况下软件应用程序自己进行重新配置。如果在软件应用程序或软件系统中,在每一单个对象(例如最小标签、每个变量或每个操作符中,也就是在整个精细粒度对象中)中都包含对应用或交易过程的整个描述,则这些信息可以用于系统或交易过程的自动重组,也就是应用的自愈。用户干涉不再是必需的,可以最小化静止时间。由此,维护工程师不必费事地忙于再投入运行。
根据本发明,对于一种产生软件应用程序的方法的技术问题是通过权利要求23的特征解决的。分配给一个对象的元信息例如描述一个对象包含的数据和函数,但元信息也可以包含对实现和服务的描述,或者包括用户文档。在诸如HTML或XML的标记语言中,可以通过所谓的标签或通过属性描述元信息,并分配给对象。元信息还可以具有分层结构。本发明的一个优点是,不需要为了运行软件应用程序而产生明显的代码。对象是具有用于读取元数据的相应访问机制的黑匣子。由树结构及树元网络可以确定运行逻辑和由树表示的软件应用程序的运行顺序。在运行时可手动或自动改变的树结构及树元网络判定,用哪些操作数提供函数,以及函数是顺序还是并行执行。在工业设备中,通过树结构和树元网络例如判定,用哪些输入参数来提供设备,以及如何对该设备产生的输出值作进一步处理。在软件开发环境中,用户对树和网络进行图形编辑。树的显示形式可以不同,并由用户自由地或根据应用选择。树元网络或分支(Verzeigerung)可以通过在树中的分层设置进行。但树元的联网或分支可以通过用户编辑的引用或横向联网到其它分枝的元素来进行。用于产生树和用于建立网络的输入可以通过输入掩码、拖放机制或通过语言输入来进行。
为各对象分配其实现,即对象的代码和元信息。通过在运行时由预先产生的对象组成软件应用程序,(例如自动借助应用处理中的元数据),可以取消用于生成待产生软件应用程序代码的明显的编译阶段。编译运行可能持续非常长的时间。通过不必产生明显的编译运行,最小化了产生软件应用程序、测试和运行的时间。
另一个优点在于,更改很容易实施。可以随时补充、更改或删除分枝,而无需改变整个树结构。企业的灵活性也因此而提高,因为可以对更改后的市场需求进行更为快速的反应。这一点在软件应用程序用于控制自动化系统、生产设备或MES系统时特别重要。但根据本发明的软件应用程序优选可以用于办公领域。
对象之间的联网、分支或引用可以按照不同的粒度(Granularitt)进行。这样,例如可以通过指向物理地址(通过指针)进行联网,由此达到较高的效率(例如在过程运行内)。其它联网机制例如是电子信息(例如E-Mail)、电话或传真。根据作为基础的应用程序的要求,用户可以选择相应的联网机制。
通过适当的软件开发环境来支持本方法。这样,在知识库中具有已经产生的对象,其可以通过拖放或其它输入辅助工具(例如键盘、光笔)添加到树中。此外,如果用于显示和产生树的显示装置可以分布在不同的显示屏区域中(窗技术),则是很有利的。本发明意义下的对象是那些在产生软件应用程序时采用的、但也是运行时对象的对象。运行时对象是在系统(例如应用程序)的运行时实施该系统逻辑的对象。
根据本发明的方法还适用于产生过程控制系统和制造自动化系统的软件应用程序。
本发明的方法的第一优选实施方式在于,可以在运行时更换对象和/或引用机制和/或联网机制和/或对象的实现。通过在运行时可以将对象更换为其它对象,例如更换为具有扩展功能的对象,或更换对象的实现(新实现例如消除了错误或具有更好的性能),或更换引用机制和联网机制,明显减少了更改中的周转时间。由此为用户和设备的运行者提高了灵活度,也提高了企业的灵活性。对于元数据的求值不采用通常的编译器,而是采用所谓的增量编译器或解释器,其只在更换时激活于对象本地。如果需要,对于新采用的对象产生增量代码,并且增量编译器或解释器在运行时将新采用的对象(或引用机制和/或联网机制和/或新的对象实现)又插入到树中,而无需考虑树的其它(无关)分支。
本发明的方法的另一优选实施方式在于,可以在运行时向对象补充服务。这些服务采用对象本地的元数据,以提供一般的(MES或控制)基础功能。这种服务例如可以是:序列化、复制、加密或访问保护。由此可以利用所谓的“服务质量”来建立对象。对象的使用者可以信任这些服务的实施,并且不考虑这些服务的实现。
本发明的方法的另一优选实施方式在于,可以将引用机制或联网机制或服务的实现用于数据和程序。由此,这些机制和服务不必分别针对数据和程序单独实施。此外,元信息可以按照相同方式添加到所有对象(是数据还是程序都无所谓),还可以对所有对象都按照相同方式访问元信息。
本发明的方法的另一优选实施方式在于,对象静态和/或动态地联网。联网(及分支或引用)可以在手动产生树时静态地进行,但是也可以基于当前信息或元信息自动产生(例如根据需要)。由此为用户提高了灵活度。可以通过不同机制和实现调整联网:例如指向对象的指针、发送给对象的E-Mail或通过OPC协议(过程控制的OLE)进行的联网。尤其是在工业领域经常采用OPC协议。其它可用于联网或逻辑连接的技术或实现例如是MSMQ(Microsoft消息队列)、HTTP(超文本发送协议)或SOAP(简单对象发送协议)。
本发明的方法的另一优选实施方式在于,对象物理地包含元信息。由此,在产生软件应用程序时支持本地原则,也就是说,所有对一个对象来说重要的信息(元信息也是)也是物理地存在于对象中。由此简化了对这些信息的访问。通过使对象物理地包含元信息,对象自身也可以用于独立地组织、重组或重新配置软件应用程序,这取决于在对象中具有哪些元信息(类型和范围)。这对于移动对象是特别有利的,例如对于互联网中(或其它联网系统例如企业内部网络)在计算机之间移动的软件代理,从而例如在各计算机本地收集例如用于维护系统的高性能设备信息。
本发明的方法的另一优选实施方式在于,元信息包含静态和/或动态的对象模型。这些模型例如是类及其关系、状态/事件模型、活动模型、配置模型或域模型(例如汽车制造、化肥生产等特殊领域的MES过程模型)。这对于一般的软件开发或软件产生器来说特别有利。
本发明方法的另一优选实施方式在于,元信息描述应用或交易过程。如果元信息不仅包含关于对象本身的信息,还包含关于整个软件应用程序、使用环境或待实现交易过程(或商业逻辑)的信息,则由此简化软件应用程序的配置,直至可以自动进行配置。再配置(例如系统崩溃或部分系统失灵之后)也可以在无人工干预的情况下自动进行。由此提高了企业的灵活性和生产设备的可控性。
本发明的方法的另一优选实施方式在于,每一单个对象都包含关于该应用或交易过程的全部元信息。这意味着在软件应用程序或软件系统中,在每一单个对象(例如在最小标签中、在每个变量或每个操作数中,也就是在整个精细粒度对象中)包含对应用或交易过程的整个描述。通过这些信息可以将每一单个对象用于系统或交易过程的重组,但也可用于应用的自组织。这在大部分系统失灵的系统故障时是非常有利的。系统可以由最小但还起作用的部分自己完全重建起来。由此,维护工程师不必费事地忙于再次运行。
本发明的方法的另一优选实施方式在于,在显示装置上可以按照不同的方式显示树。树的显示可以是不同的,例如通过静态浏览器的类似符号、或按照工作流或流程图形式、或按照方框线路图(例如电流流向图)或设备图(例如物理设备布局图、材料流程图)形式。由此,极大提高了用户的灵活性,因为用户可以选择对他来说足够的符号或显示,从而查看在运行时系统中存在的元信息。也可以在这些显示形式之间交替。
本发明的方法的另一优选实施方式在于,在出现故障的情况下软件应用程序自己进行重新配置。如果在软件应用程序或软件系统中,在每一单个对象(例如最小标签、每个变量或每个操作符中,也就是在整个精细粒度对象中)中都包含对应用或交易过程的整个描述,则这些信息可以用于系统或交易过程的自动重组,也就是应用的自愈。用户干涉不再是必需的,可以最小化静止时间。由此,维护工程师不必费事地忙于完成和阅读文档。
本发明的另一优选实施方式在于集成到运行时系统中的软件开发环境,其中通过视图访问可选择的功能。由此将传统的软件开发环境减少为显示和编辑器,利用该显示和编辑器可以直接观察和修改运行时系统。这些配置原则或该体系结构的优点除了更为简单的运行时系统可更改性之外还包括系统和数据的一致。这样,可以通过由编辑器实现的视图访问运行时系统的应用功能(服务观点),或者进行更改或扩展(工程或维护观点)。
本发明的另一优选实施方式在于,通过计算机程序将根据本发明的软件应用程序或方法与软件开发环境集成在一起。由此容易地实现了可能的修改或匹配。
本发明的另一优选实施方式在于,用于本发明方法或软件开发环境的计算机程序存储在数据载体上。由此可以关于逻辑和分配而方便地应用本方法。数据载体例如是普通的计算机程序产品,例如软盘或CD。
本发明的另一优选实施方式在于,用于本发明方法或软件开发环境的计算机程序安装在数据处理装置中。由此提高了性能。
附图说明
本发明的其它优点和细节借助下面对优选实施例的描述并结合附图给出。只要在不同图中具有描述相同功能的元件,这些元件都用相同的附图标记表示。其中示出:
图1是按照原理概貌图形式的具有3个控制层的“企业金字塔”,
图2是具有传统软件开发环境、运行时系统和受控技术过程的示意图,
图3是对象的示意图,
图4是软件应用程序的树结构,
图5是树的显示方式,
图6是树的另一种显示方式,
图7是具有运行时系统和受控技术过程的示意图,其中将软件开发环境的功能集成到运行时系统中,以及
图8是在一幅图中示出的确定软件体系结构的要素。
具体实施方式
图1按照原理概貌图的形式示出3个控制层,如通常在生产或制造企业中看到的那样。通过金字塔形表达出向上信息密集。最上层是ERP(企业资源规划)层。在该企业领导层中,通常进行企业中的企业经济和销售任务(例如财务、销售、人力资源、报告)。但是在该层也进行延伸到生产设备的后勤任务(例如订单和物资管理)。系统SAP R/3是在企业领导层常使用的ERP系统。
金字塔的最底层是自动化层(控制)。在该层通常采用与可视化系统和过程控制系统(PLS)连接的可编程存储控制器(SPS)。生产和/或制造设备的传动器、执行器和传感器直接与该层的系统连接。
ERP层和自动化层的连接由MES层构成。由此,MES层的应用程序提供ERP层和自动化层之间的纵向集成。MES应用程序必须一方面为ERP系统的粗略规划补充特定于生产设备的精细计划并传递到自动化层的系统,另一方面,MES应用程序的任务还包括接收自动化层的与生产有关的数据,处理这些数据,并传递到ERP层(企业领导层),以及优化生产过程。
典型的MES应用程序除其它之外还包括质量管理(QM)、维护管理(MM)、性能分析(PA)、过程管理、劳动管理、资产管理。在图1中,用3个点表达了在一个层中还可以具有其它元素(应用、系统等等)。
MES系统或ERP系统一般包含所谓的运行时系统,用于在时间上控制所涉及的组件(运行系统的分组件、模块、任务、过程等)的运行,以及所谓的工程系统,用于产生和编辑要在运行时系统中运行的程序。
图2示出具有传统软件开发环境SU、运行时系统RTS和受控技术过程TP1的示意图。当前,软件应用程序是有计划和工程性地产生的。为此采用普通的工具(所谓的CASE工具,CASE表示计算机辅助软件工程)。通过CASE工具支持方法和标准的保持,从而提高软件开发者的效率,但也提高所产生的软件的质量。通过软件开发环境SU将CASE工具提供给软件开发者。软件开发环境SU是软件制造者工作场所的一部分。软件开发环境SU在软件开发的所有阶段支持软件制造者,也就是从早期的分析阶段直到测试的后期阶段。对于软件开发的所有阶段,都为软件开发者提供合适的服务程序,例如编辑器、编译器、调试器、但也可以包括用于分析和设计的工具。
软件开发者的工作场所通常由计算单元、输入辅助工具以及软件开发所需的辅助程序(如编辑器、编译器等)组成,计算单元具有处理器和存储器以及诸如屏幕、显示器等的输出单元,输入辅助工具例如是键盘和鼠标。软件开发者可以通过合适的软件开发环境SU非常容易地调用和使用辅助程序。现代软件开发环境SU此外还使得访问配置管理工具和修改管理工具成为可能。
当前,现代软件开发环境SU尤其支持面向对象的情形,例如产生对象、产生类、产生上级类以及显示继承关系。如果对象构造为分层树并也相互联网,则通过适当的编辑器、标记或通过拖放机制,可将对象与元信息相关连。借助软件开发环境SU产生的软件应用程序必须最终在目标系统或目标计算机上执行,以控制例如技术过程TP1。目标系统通常由一个到多个具有处理器和存储器以及运行时系统RTS的计算单元组成。借助软件开发环境SU产生的程序通过信息路经I加载到运行时系统RTS上。通过输入/输出连接EA1为自动化解决方案或MES解决方案控制作为基础的技术过程。从运行时系统RTS到技术过程TP1都通过EA连接EA1影响例如执行器,从技术过程TP1回到运行时系统RTS通过EA连接EA1提供例如传感器数据,然后在软件应用程序中进一步处理这些传感器数据。运行时系统RTS也可以分布在多个计算单元上。
图3示出具有对象界面OI的对象的示意图。对象一般是目标或域的元素或讨论域。在面向对象的软件开发中,对象是物品或实物(例如机器人、汽车、机器)的单个实例、人员(例如顾客、员工、专利律师)或真实世界的概念(例如订单)或想象世界的概念(例如法人和自然人或组织)。对象具有确定定义的状态,并用特定定义的特性对其周围环境做出反应。此外,每个对象具有一个对象标识,以区别于其它所有对象,该对象标识还允许访问特定的对象。一个对象可以了解一个或多个其它对象。在互相了解的对象之间存在联系或分支、及联网。通过一个对象的数据或属性值以及与其它对象的各种联系确定该对象的状态。通过一个对象的方法或操作集合定义该对象的特性。在面向对象的环境中,通过类来描述对象的类型。由该类型描述可以产生具体的实例,然后这些实例描述具体的可用程序语言描述的对象。借助对象图表,可以用图形显示对象和它们之间的联系。对象图表的编辑器是软件开发环境(SU;图2)的一部分。UML(统一建模语言)提供了一系列符号来图形显示面向对象的概念(交易过程图、状态图、活动图、协作图、序列图、类图等等)。这些图表可以由用户利用软件开发环境(SU;图2)来编辑和处理。
图3的左侧部分示出了对象通常包含的信息或元素。数据可以是诸如数值的简单事物,但也可以是诸如配方、订单或存档的复杂结构。方法(通常也称作操作)表示算法意义下的可实施行为。方法的集合确定一个由该类实例化的对象的特性。一个对象的方法可以由类似的客户机-服务器体系结构的其它对象采用或调用。此外对象还可以包含实现其方法所需的所谓的子对象。通过子对象确定一个对象的结构化组成。
图3在右侧以阴影线示出所谓的容器。通过该容器实现对应本发明的、用于保持元信息(Metainformationshaltung)的机制和用于访问这些元信息的机制。容器表示围绕该对象的一个封装界面,并且对对象的所有访问都只能通过界面OI进行。通过该界面OI访问该对象的方法和数据以及元信息。由此,在访问数据、方法或元信息时,用户可以不考虑数据方法和元信息的实现。对对象的所有访问都通过界面OI进行。由此,可以非常容易地实现对象的可再用性和可替换性。由此就是对复杂的系统、例如软件系统中,也始终能通过同样的方法和方式来访问对象。特别是,所谓的容器以对所有对象类型(例如商业对象)相同的方式提供了诸如数据联网、数据存储、数据可视化的基本功能。在该容器中,示意性示出了一个与人体细胞的DNA结构相类似的双螺旋。由此应当看出,一个对象包含部分或所有元信息,也就是还包含结构信息和例如在交易过程中投入的逻辑。由此可以由一个对象组织或再组织起整个系统或整个应用。由此可以最小化系统的故障时间,并非常有效地实施维护工作。
例如跟踪功能属于容器提供的基本功能,也就是谁使用一个对象长达多久。如已经提到的,容器包含该对象的元信息、即自描述信息。由此也可以引入测量,但也可以引入安全机制。
图4示出软件应用程序的树结构。在此将该对象显示为双圆。内圆示意性示出对象的结构,如由图3所知。对象的左侧部分又示出数据方法和子对象,而右侧阴影部分表示所谓的容器,该容器包含元信息并提供对象的基本信息。该容器表示对象的封装界面。对该对象的访问只能通过由容器提供的对象界面OI进行。基本功能例如是数据联网、数据存储和数据可视化。通过容器以对所有对象相同的方式提供这些功能。
围绕对象的外圆表示最终将对象嵌入系统的基本结构中。该基本结构的一个方面是联网。联网或分支可以极其精细粒化地进行,例如通过存储器指针进行。但还可以通过因特网、电子邮件或电话连接进行联网或分支。
图4通过对象之间的粗连接线示出对象是横向相互连接的。这样一种横向连接在工业环境中可以是例如通过OPC(过程控制的OLE)的连接。这样一种连接或基本结构功能也可以通过消息队列机制实现。对基本结构服务或功能的访问可以由容器提供,并对一个树中的所有对象都相同,也就是说无论是B&B(操作和观察)设备还是可编程存储控制装置(SPS)都相同。因此,也可以非常容易地更改基本结构功能的实现,因为规范保持不变。也就是说,对象的外圆表示可以通过容器使用的基本结构服务或基本结构功能的集合。一次性实现的基本结构功能可以由所有对象按照相同的方式使用。
图4示出软件体应用程序,其中将对象结构化为分层的树。待实现的系统或软件应用程序包含具有数据库DB的B&B设备,其中该B&B设备由可编程存储控制装置(SPS)控制。SPS通过输入/输出功能访问执行器和传感器。对象“执行”对操作和观察设备的结果进行进一步处理。在对象“执行”中用于该进一步处理的算法由位于对象“执行”下方的部分树表示。在此,利用函数F处理值X1,其中函数F获得值X2作为输入值。在完成执行组件之后再进行其它后处理,并通过对象“后处理1”和“后处理2”表示。在此例如是压缩或显示函数。在图4中示出“后处理1”的后处理结果通过对象“进一步处理”再经过一个处理步骤。通过这种方式描述的软件系统或软件应用程序当然可以和其它以该方法和方式描述的软件应用程序一起成为上级域的一部分,在图4中通过对象“域(world)”表示。
除了通过树结构预先给出的分层结构化之外,还可以横向或水平地将对象相互联网、反射或分支。这在图4中通过粗线表示。这种分支可以通过输入掩模模型化,也可以通过拖放机制产生。
由软件系统或软件应用程序实现的功能是由树对象的结构、分层结构和联网给出的。根据作为基础的遍历算法可以处理和实施树元素,即对象。软件应用程序的实施与人体神经系统的功能相类似,其中各神经元通过神经结和神经突起相互连接,并相互交换它们的活动,其中一个刺激触发一个通过人体的脉冲链,并根据神经元的联网实现这样的脉冲链。在根据本发明的系统或软件应用程序或软件体系结构中,例如当传感器向SPS传递一个结果并通过B&B设备采集该结果,然后启动一个执行时,还通过与人体内神经元(即图4中的一个刺激)相类似的对象的结构和联网,又引起用于后处理的“后处理1”和“后处理2”,其中“后处理1”在该后处理之后再初始化一个后处理。通过这种方法和方式产生的软件应用程序具有非常有利的特性。这样,可以在运行时才组成应用所需的对象,由此这些应用的可更改性和灵活性非常大。在更改时不必首先编译对象。可以非常容易地集成新嵌入该系统、并代替另一对象的对象,如果该对象具有与待替代的对象相同的界面、规范,并只能在实施时才例如通过改善的性能变化的话。
图5示出树的显示形状。在图5中将显示装置AZ1表示为具有两个显示屏区域BB1和BB2。显示装置AZ1可以例如是一个监视器或显示器。显示装置AZ1通常是软件开发环境(SU;图2)的一个元素。借助显示装置和输入辅助装置例如键盘或鼠标,在显示屏上产生对象,将对象分层地结构化为树,并相互联网或分支,但具有元信息或其它信息。可以想象,显示装置AZ1还包含其它显示屏区域用于显示树,以实现输入(例如菜单)。软件应用程序在运行时由树的对象组成。结构对于处理对象很重要,但对象的联网也很重要。如果用户(例如系统整合者或维护工程师)希望进行改变,则他需要显示树,该显示迎合其相应的要求和需要。在显示中,如在图5左侧的显示屏区域BB1中显示的,示出具有树元素K1、K2、K3、K4的树OB1,而且是用类似于Explore浏览器的符号。如显示屏区域BB2种所示出的,树的显示对应于一个例如用于电流流向图的符号。在显示屏区域BB2示出的元素K1’和K2’通过分别用直线相互连接的输入变量(x1、x2)和输出变量(r1、r2)显示为树结构。电学家对电流流向图形式的显示尤其感兴趣,因为电学家是在电流流向图中思考的。通过输入辅助装置可以更改树的表示,并为各用户组选择最实际的显示。用户组例如是维护工程师、系统整合者、开发人员,但也可以是市场和销售人员。
图6示出另一种可以在显示装置AZ2上显示的树。图6的左侧部分按照类似Explore浏览器的结构示出具有对象树OB2的显示屏区域BB1’。图6的右侧部分示出显示屏区域BB2’,其中将特别是有利于显示交易流程的符号用于显示树。在企业的财务部门或管理部门的人在这种交易过程流程图(商业流程)中进行思考。通过在不同显示形式之间交替的可能性提高了在产生树或改变树过程中的用户友好性和效率。用户可以由此不考虑树的内部表示或实现。在产生树或改变树的过程中,不需要进行新的编程,而是所有的都可以进行投影。这对产生软件应用程序过程中提高效率是有利的,但也有利于产生软件体系结构。
图7示出具有扩展的运行时系统RTS/SU和受控技术过程TP2的示意图,其中软件开发环境的功能集成到扩展的运行时系统RTS/SU中。通过视图可以访问各自所需的功能。在图7中示出开发视图(SU视野)、操作视图(操作员视野)和维护视图(维护视野)。通过3个点表示可以具有其它视图。扩展的运行时系统RTS/SU包含用于开发和更改运行时系统的基础设施。与受控技术过程TP2的连接通过输入/输出连接EA2进行。
本发明的重要作用是,通过运行时系统RTS/SU覆盖大部分传统软件开发环境(SU;图2)的功能。元数据大部分是在开发中积累的数据。由此运行时系统和软件开发环境可以说是相互融合,并且不必再形成为分离的组件。可更改的系统在运行时包含很多当前只在开发环境中具有的要素(模型化、可视化、编译化等等)。传统软件开发环境放弃了可以用来直接观察和更改运行时系统的显示和编辑器。
该结构原理或体系结构的优点除了更为简单的运行时系统可更改性之外还包括系统一致性。包含或引用元数据的所有组件都是自描述的。组件的结构给出整个系统描述。也就是说,正如系统总是在改变(例如插入或取出元件组),视图(工程视野)始终显示当前存在的系统。UML图、商业过程图、电流流向图、设备图总是当前的。
图8以一幅图示出确定软件体系结构SA的要素。软件体系结构SA的产生需要抽象和概念性思维。根据本发明提出的体系结构保证了,在分析阶段和设计阶段之间不会出现结构中断。在分析阶段中,标识软件体系结构所需的对象,将该对象与元信息相关连,并将对象结构化为分层结构的树。此外,还可以横向和水平地将对象联网,并通过通信机制相互通信或与周围环境通信。建立在软件体系结构上的软件应用程序的功能由对象的结构相互确定。然后在运行时将这些对象组成为一个软件应用程序,其中软件应用程序内在地包含由软件体系结构预先给定的原理。由此保证不会出现设计中断。
软件体系结构必须考虑不同的要素、观点或所谓的视野。其中包括最后通过基于软件体系结构的软件应用程序实现的功能。该功能通常、并特别是位于对象的方法或操作中。特性和动态性尤其是通过对象的相互协调或通过对象中具有的操作的相互协调来确定。数据要素通常由属性确定。此外,属性确定对象的状态,其中状态还通过与其它对象的各个联系确定。结构要素包含具有对象的树的分层结构,其中树与其对象的关系是“树由对象组成”。但在软件体系结构中,结构要素还通过“树是一个对象”关系引入。在软件体系结构中,通信要素非常重要,因为通过所采用的通信机制保证用于应用的对象可以互相交换数据,也就是可以相互通信。通信机制例如是MQ(消息队列)、诸如COM、DCOM或CORBA的所谓中间件平台,或者基于它们的层,例如OPC协议(过程控制的OLE)。通信机制的选择对软件体系结构有着决定性的影响。由此还影响同步机制和分支能力。
非功能性的特性要素对当前软件体系结构以及基于软件体系结构的软件应用程序来说越来越重要。非功能性特性例如是可更改性、效率、可靠性、可测试性或可重复使用性。在软件体系结构中对元信息的有针对性和明确的使用要求极大地满足非功能性特性。由于各对象不仅通过自身,还通过其中采用这些对象的应用,或者在其中采用这些对象的交易过程中包含元信息,可以非常容易地实施软件应用程序的自组织,也就是可以进行自动恢复,而无需人工干预。所述对于软件体系结构重要的要素通常由用户利用具有相应程序编辑器的CASE(计算机辅助软件工程)工具模式化或编辑。该CASE工具是软件开发环境(SU;图2)的组成部分。除其它外,向方法提供UML(统一模型化语言)的图表适合于描述软件体系结构,如本发明建议的。
元信息可以通过使用标记语言非常灵巧和简单的耦合或引入到对象和系统中。尤其是XML(扩展标记语言)提供了形式化元信息的可能。元信息在XML中可以例如存储为元素(由开始标签和结束标签包围起来)或属性(直接集成到开始标签中)。
总而言之,本发明涉及软件应用程序、软件体系结构和尤其是为MES系统产生软件应用程序的方法,其中软件应用程序、尤其是MES应用程序的对象(具有数据、属性、特性和功能)与元信息相关连,对象结构化为分层树(其中可以选择不同的显示形式),并且对象相互分支或联网(横向或水平的)。在运行时,对象组成为软件应用程序,其中软件应用程序的整个功能由分层树的结构导出。可以为MES系统、自动化系统、工业控制设备(运动控制设备也是)和办公设备产生软件应用程序或软件体系结构。
上述本发明的软件应用程序或软件开发环境可以用公知语言实现为计算机程序。这样实现的计算机程序可以同样以公知方式通过电子数据路径存储和传输。

Claims (37)

1.一种软件应用程序、尤其是MES应用程序,具有包含和/或引用数据和/或属性和/或特性的对象,其中所述对象在至少一个计算机单元上运行和/或存储,其特征在于,
-所述对象(K1-K4,K1’-K4’)在运行时与元信息相关连,
-所述对象(K1-K4,K1’-K4’)在运行时结构化为分层树(OB1,OB2),
-所述对象(K1-K4,K1’-K4’)在运行时横向和/或水平地联网和/或引用,以及
-软件应用程序在运行时由所述对象(K1-K4,K1’-K4’)组成,其中该软件应用程序的整个功能由分层树(OB1,OB2)的结构以及树中对象的联网导出。
2.根据权利要求1所述的软件应用程序,其特征在于,可以在运行时更换所述对象(K1-K4,K1’-K4’)和/或引用机制和/或联网机制和/或对象的实现。
3.根据权利要求1或2所述的软件应用程序,其特征在于,可以在运行时向所述对象(K1-K4,K1’-K4’)附加服务。
4.根据权利要求1至3中任一项所述的软件应用程序,其特征在于,可以将引用机制或联网机制或服务的实现用于数据和程序。
5.根据权利要求1至4中任一项所述的软件应用程序,其特征在于,所述对象(K1-K4,K1’-K4’)静态和/或动态地联网。
6.根据权利要求1至5中任一项所述的软件应用程序,其特征在于,所述对象(K1-K4,K1’-K4’)物理地包含元信息。
7.根据权利要求1至6中任一项所述的软件应用程序,其特征在于,所述元信息包含静态和/或动态的对象模型。
8.根据权利要求1至7中任一项所述的软件应用程序,其特征在于,所述元信息描述应用或交易过程。
9.根据权利要求1至8中任一项所述的软件应用程序,其特征在于,每一单个对象(K1-K4,K1’-K4’)都包含关于该应用或交易过程的总的元信息。
10.根据权利要求1至9中任一项所述的软件应用程序,其特征在于,在显示装置(AZ1,AZ2)上可以按照不同的视野显示树(OB1,OB2)。
11.根据权利要求1至10中任一项所述的软件应用程序,其特征在于,在出现故障的情况下软件应用程序自己进行重新配置。
12.一种尤其是用于MES应用程序的软件体系结构,具有包含和/或引用数据和/或属性和/或特性的对象,其中所述对象在至少一个计算机单元上运行和/或存储,其特征在于,
-所述对象(K1-K4,K1’-K4’)在运行时与元信息相关连,
-所述对象(K1-K4,K1’-K4’)在运行时结构化为分层树(OB1,OB2),
-所述对象(K1-K4,K1’-K4’)在运行时横向和/或水平地联网和/或引用,
-所述对象(K1-K4,K1’-K4’)在运行时通过通信机制相互和/或与周围环境进行通信,以及
-软件应用程序在运行时由所述对象(K1-K4,K1’-K4’)组成,其中基于该软件体系结构的软件应用程序的整个功能由分层树(OB1,OB2)的结构以及树中对象的联网确定。
13.根据权利要求12所述的软件体系结构,其特征在于,可以在运行时更换所述对象(K1-K4,K1’-K4’)和/或引用机制和/或联网机制和/或对象的实现和/或通信机制。
14.根据权利要求12或13所述的软件体系结构,其特征在于,可以在运行时向所述对象(K1-K4,K1’-K4’)附加服务。
15.根据权利要求12至14中任一项所述的软件体系结构,其特征在于,可以将引用机制或联网机制或通信机制或服务的实现用于数据和程序。
16.根据权利要求12至15中任一项所述的软件体系结构,其特征在于,所述对象(K1-K4,K1’-K4’)静态和/或动态地联网。
17.根据权利要求12至16中任一项所述的软件体系结构,其特征在于,所述对象(K1-K4,K1’-K4’)物理地包含元信息。
18.根据权利要求12至17中任一项所述的软件体系结构,其特征在于,所述元信息包含静态和/或动态的对象模型。
19.根据权利要求12至18中任一项所述的软件体系结构,其特征在于,所述元信息描述应用或交易过程。
20.根据权利要求12至19中任一项所述的软件体系结构,其特征在于,每一单个对象(K1-K4,K1’-K4’)都包含关于该应用或交易过程的总的元信息。
21.根据权利要求12至20中任一项所述的软件体系结构,其特征在于,可以在显示装置(AZ1,AZ2)上以不同的方式显示树(OB1,OB2)。
22.根据权利要求12至21中任一项所述的软件体系结构,其特征在于,在出现故障的情况下软件应用程序自己进行重新配置。
23.一种尤其是为MES系统产生软件应用程序的方法,基于至少一个具有输入辅助装置、输出辅助装置的计算机单元,以及至少一个显示装置,其特征在于具有以下步骤:
-利用输入辅助装置和显示装置产生表示软件应用程序的单元的对象(K1-K4,K1’-K4’),
-利用输入辅助装置和显示装置为所述对象(K1-K4,K1’-K4’)分配元信息,
-利用输入辅助装置和显示装置(AZ1,AZ2)将所述对象(K1-K4,K1’-K4’)结构化为分层树(OB1,OB2),
-利用输入辅助装置和显示装置(AZ1,AZ2)将所述对象(K1-K4,K1’-K4’)联网,
-在运行时将所述对象(K1-K4,K1’-K4’)自动组成为软件应用程序,以及
-由分层树的结构、树中对象的联网以及分配的元信息自动导出软件应用程序的功能。
24.根据权利要求23所述的方法,其特征在于,可以在运行时更换所述对象(K1-K4,K1’-K4’)和/或引用机制和/或联网机制和/或对象的实现。
25.根据权利要求23或24所述的方法,其特征在于,可以在运行时向所述对象(K1-K4,K1’-K4’)附加服务。
26.根据权利要求23至25中任一项所述的方法,其特征在于,可以将引用机制或联网机制或服务的实现用于数据和程序。
27.根据权利要求23至26中任一项所述的方法,其特征在于,所述对象(K1-K4,K1’-K4’)静态和/或动态地联网。
28.根据权利要求23至27中任一项所述的方法,其特征在于,所述对象(K1-K4,K1’-K4’)物理地包含元信息。
29.根据权利要求23至28中任一项所述的方法,其特征在于,所述元信息包含静态和/或动态的对象模型。
30.根据权利要求23至29中任一项所述的方法,其特征在于,所述元信息描述应用或交易过程。
31.根据权利要求23至30中任一项所述的方法,其特征在于,每一单个对象(K1-K4,K1’-K4’)都包含关于该应用或交易过程的总的元信息。
32.根据权利要求23至31中任一项所述的方法,其特征在于,在显示装置(AZ1,AZ2)上可以不同的方式显示树(OB1,OB2)。
33.根据权利要求23至32中任一项所述的方法,其特征在于,在出现故障的情况下软件应用程序自己进行重新配置。
34.一种用于实施根据权利要求23至33中任一项所述方法的软件开发环境(SU),其特征在于,该软件开发环境(SU)集成到运行时系统(RTS,RTS/SU)中,其中通过视图访问可选择的功能。
35.一种计算机程序,用于实现根据权利要求1至11中任一项所述软件应用程序或根据权利要求23至33中任一项所述的方法或根据权利要求34所述软件开发环境。
36.一种数据载体,用于存储根据权利要求35所述的计算机程序。
37.一种数据处理装置,在该装置上安装了根据权利要求35所述的计算机程序。
CNB038042525A 2002-02-19 2003-02-12 尤其是为mes系统产生软件应用程序的方法 Expired - Fee Related CN100397342C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10206903.4 2002-02-19
DE10206903A DE10206903A1 (de) 2002-02-19 2002-02-19 Softwareapplikation, Softwarearchitektur und Verfahren zur Erstellung von Softwareapplikationen, insbesondere für MES-Systeme

Publications (2)

Publication Number Publication Date
CN1717655A true CN1717655A (zh) 2006-01-04
CN100397342C CN100397342C (zh) 2008-06-25

Family

ID=27674737

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038042525A Expired - Fee Related CN100397342C (zh) 2002-02-19 2003-02-12 尤其是为mes系统产生软件应用程序的方法

Country Status (5)

Country Link
US (1) US7581226B2 (zh)
EP (1) EP1516250A2 (zh)
CN (1) CN100397342C (zh)
DE (1) DE10206903A1 (zh)
WO (1) WO2003071417A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479348A (zh) * 2010-11-23 2012-05-30 上海宝信软件股份有限公司 面向代码重用的mes业务建模系统及方法
CN110390185A (zh) * 2018-04-20 2019-10-29 武汉安天信息技术有限责任公司 重打包应用检测方法、规则库构建方法及相关装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171100B2 (en) * 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
DE102005008136A1 (de) * 2005-02-21 2006-08-24 Siemens Ag Entwicklungssystem für Prozessleitsysteme sowie zugehöriges Verfahren und Computerprogrammprodukt
EP1699005A1 (de) 2005-03-01 2006-09-06 Siemens Aktiengesellschaft Integration von MES- und Controls-Engineering
US7664742B2 (en) 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
US7755646B2 (en) * 2006-10-17 2010-07-13 Hewlett-Packard Development Company, L.P. Image management through lexical representations
AT10302U3 (de) * 2008-08-04 2009-10-15 Avl List Gmbh Erzeugen einer ablauffähigen konfiguration
US20100131916A1 (en) * 2008-11-21 2010-05-27 Uta Prigge Software for modeling business tasks
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
DE102009054112A1 (de) 2009-11-20 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Planung und/oder Steuerung einer Roboterapplikation
US9551983B2 (en) 2011-11-15 2017-01-24 Rockwell Automation Technologies, Inc. Activity set management in a Manufacturing Execution System
US9588503B2 (en) 2011-11-15 2017-03-07 Rockwell Automation Technologies, Inc. Routing of enterprise resource planning messages
US9953280B2 (en) 2011-11-15 2018-04-24 Rockwell Automation Technologies, Inc. Industry-specific workflows in a manufacturing execution system with premier integration
EP2639753A1 (en) * 2012-03-13 2013-09-18 Siemens Aktiengesellschaft Controlling a manufacturing process
US10068031B2 (en) 2013-03-15 2018-09-04 Bullet Point Network, L.P. Tabular data manipulation system and method
CN104598211B (zh) * 2013-10-30 2019-05-24 北大方正集团有限公司 管理维护软件程序的方法及装置
WO2015150184A1 (de) * 2014-04-04 2015-10-08 Harting Kgaa Fertigungsmanagementsystem und verfahren
EP3267270B1 (de) * 2016-07-05 2022-01-19 Siemens Aktiengesellschaft Fehlersicheres automatisierungssystem
CN106325242B (zh) * 2016-08-16 2019-09-24 苏州朋泰智能科技有限公司 一种基于模块化的控制单元的mes系统
US10263807B2 (en) * 2016-12-19 2019-04-16 Ciena Corporation Hierarchical statistics acceleration
US10409852B2 (en) 2016-12-30 2019-09-10 Atlassian Pty Ltd Method, apparatus, and computer program product for user-specific contextual integration for a searchable enterprise platform

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410703A (en) 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5526358A (en) * 1994-08-19 1996-06-11 Peerlogic, Inc. Node management in scalable distributed computing enviroment
US5812394A (en) * 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5862052A (en) 1996-04-12 1999-01-19 Fisher-Rosemount Systems, Inc. Process control system using a control strategy implemented in a layered hierarchy of control modules
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US5983021A (en) * 1998-05-27 1999-11-09 Sun Microsystems Dynamically switching statically bound function calls to dynamically bound function calls without recompilation
EP1088434A1 (en) * 1998-06-17 2001-04-04 Tellabs Research Limited Object oriented telecommunications system controller
US6427230B1 (en) * 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US6757720B1 (en) * 1999-05-19 2004-06-29 Sun Microsystems, Inc. Profile service architecture
US6785882B1 (en) * 1999-05-24 2004-08-31 Unisys Corporation Process-driven tool interface for an object management system
US6799207B1 (en) * 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
US6832263B2 (en) * 2000-04-27 2004-12-14 Hyperion Solutions Corporation Method and apparatus for implementing a dynamically updated portal page in an enterprise-wide computer system
DE60119934D1 (de) * 2000-05-25 2006-06-29 Manyworlds Inc Netzwerkverwaltungs- und zugriffssystem für unscharfe inhalte
US6675227B1 (en) * 2000-06-05 2004-01-06 International Business Machines Corporation Method for providing a service implementation for both EJB and non-EJB environments
WO2002037261A2 (en) * 2000-11-03 2002-05-10 Wilde Technologies Limited A software development process
US20040031015A1 (en) * 2001-05-24 2004-02-12 Conexant Systems, Inc. System and method for manipulation of software
US7246358B2 (en) * 2002-04-09 2007-07-17 Sun Microsystems, Inc. Methods, system and articles of manufacture for providing an extensible serialization framework for an XML based RPC computing environment
US7475384B2 (en) * 2004-10-19 2009-01-06 Microsoft Corporation Binding to types

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479348A (zh) * 2010-11-23 2012-05-30 上海宝信软件股份有限公司 面向代码重用的mes业务建模系统及方法
CN110390185A (zh) * 2018-04-20 2019-10-29 武汉安天信息技术有限责任公司 重打包应用检测方法、规则库构建方法及相关装置

Also Published As

Publication number Publication date
DE10206903A1 (de) 2003-09-04
WO2003071417A3 (de) 2005-01-27
US7581226B2 (en) 2009-08-25
CN100397342C (zh) 2008-06-25
EP1516250A2 (de) 2005-03-23
WO2003071417A2 (de) 2003-08-28
US20050160412A1 (en) 2005-07-21

Similar Documents

Publication Publication Date Title
CN100397342C (zh) 尤其是为mes系统产生软件应用程序的方法
CN100380382C (zh) 用于工业自动化系统的工程方法和工程系统
Wang et al. 4D dynamic management for construction planning and resource utilization
US7917890B2 (en) Enterprise-scale application development framework utilizing code generation
CN1713192A (zh) 处理逻辑建模与执行方法和设备
Buckner et al. JRipples: A tool for program comprehension during incremental change
AU733773B2 (en) Method and system for database application software creation requiring minimal programming
US20170031663A1 (en) Method and Tool for Engineering Software Architectures with Its Various Software Artifacts of Complex Cyber-Physical Systems of Different Technical Domains
JP2005531083A (ja) グラフィカルユーザインタフェースのプロトタイピング
CN1755683A (zh) 上下文动作的发布
WO2000067120A1 (en) Method and system for interactively developing graphical control-flow structure and associated software for machine vision system
CN1950771A (zh) 用于过程控制的集成图形用户界面
US20040024624A1 (en) Method and system for leveraging functional knowledge using a requirement and space planning tool in an engineering project
CN101470601A (zh) 一种零编码生成应用软件的方法及生成平台
CN1581071A (zh) 具有xml驱动的体系结构的信息处理方法、装置和程序
US7831316B2 (en) Device and method for programming and/or executing programs for industrial automation systems
US20040024623A1 (en) Method and system for leveraging functional knowledge in an engineering project
CN1306407C (zh) 为动态提供而自主地自学习资源选择的方法和系统
CN103324472A (zh) 用于构造控制装置程序的研发装置和方法
Schattkowsky et al. Uml model mappings for platform independent user interface design
Bohács et al. Production logistics simulation supported by process description languages
Murray et al. A virtual environment for building construction
Kilgore et al. Object-oriented simulation of distributed systems using Java (R) and Silk (R)
Husu Software factories
Berzal et al. Lazy types: Automating dynamic strategy selection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080625

Termination date: 20160212