CN103210369B - 用于分析测量的智能多功能宏语言 - Google Patents

用于分析测量的智能多功能宏语言 Download PDF

Info

Publication number
CN103210369B
CN103210369B CN201180032650.9A CN201180032650A CN103210369B CN 103210369 B CN103210369 B CN 103210369B CN 201180032650 A CN201180032650 A CN 201180032650A CN 103210369 B CN103210369 B CN 103210369B
Authority
CN
China
Prior art keywords
action
script
statement
data
software
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.)
Active
Application number
CN201180032650.9A
Other languages
English (en)
Other versions
CN103210369A (zh
Inventor
R.T.维尔奇
G.N.吉斯
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.)
Thermo Electron Scientific Instruments LLC
Original Assignee
Thermo Electron Scientific Instruments LLC
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 Thermo Electron Scientific Instruments LLC filed Critical Thermo Electron Scientific Instruments LLC
Publication of CN103210369A publication Critical patent/CN103210369A/zh
Application granted granted Critical
Publication of CN103210369B publication Critical patent/CN103210369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Landscapes

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

Abstract

在此介绍了一种与各种科学仪器集成的新颖软件应用,该新颖软件应用允许在如果是所希望的情况则无需重编译该应用的情况下在运行时间向该语言添加新能力。作为该软件能力的一部分,在此所展示的宏编程语言使得在带有用于配置验证的视觉反馈的一个脚本内动作语句的输入和输出之间能够自动连接。作为另一方面,本发明的宏编程语言按需要提供不同光谱应用的自动化,还允许连接到该宏的意图的一个可配置用户界面的自动生成。

Description

用于分析测量的智能多功能宏语言
技术领域
本发明涉及分析仪器软件的领域。更特别地,本发明涉及使得终端用户能够容易地运行复杂科学仪器的可定制用户环境(CUE)软件。
背景技术
经范围从光谱的到质谱的方法的数种分析技术的光谱分析向终端用户提供了大量样本的有效的、准确的、定性的和定量的分析。例如,给定未知成分的样本,使用常规的但经常商业上的科学仪器的UV-Vi光谱分析可以用来确定在样本中存在的特别物质的量。可以在样本上执行测试过程,并产生UV-Vi光谱。由包括操纵感应波长照明、背景消减和谱间操作的软件控制技术来如所希望地帮助分析自身(例如,用于快速比较的比率和吸收率差测量值),从而使得以方便的方式生成表示样本材料中各种物质的输出值。
因此理解特别仪器及其分析能力需要用于在这样仪器的操作中操纵所希望的研究和分析参数的不同组的独特指令。提供嵌入式软件作为几乎任意商业科学仪器的一部分,以便为独立的深奥操作和例行操作在仪器的易用方面帮助终端用户。取决于所希望的测量值和终端用户的理解水平,所提供的软件可以范围从用于例行操作的上下文敏感的击键到提供用于定制创建方法,即也可以提供例行的但更经常是高级的分析的定制宏程序的措施。
宏程序特别地可以容易地由不懂得编程的用户创建。然而,希望创建与已购买科学仪器相关联的程序的终端用户必须经常为这种仪器学习编程语法,并因此变得害怕甚至过于简单的任务。为鼓励相关联的宏编程产品的开发和使用,公司可以提供包括易用操纵的图形用户界面(GUI)软件从而使得为具体应用容易地开发程序。
作为有益的实例,到GUI宏编程应用的界面可以具有来自下拉菜单的选项,从而使得建立他或她所希望的的宏的元素的脚本。终端用户从具体下拉菜单选择使得具体动作能够受操纵的选项到工作空间,其中该终端用户必须将该具体动作连接、编译操作,并为所希望的编程动作执行程序。这种进程方法使得终端用户能够在不需要这种终端用户编写程序以便预规定动作怎样实际操作的情况下将动作项引入工作表空间。因为这种方法是容易的,所以甚至最简单的程序员的信心增加导致经常但不必需地需要一些编程技能的复杂宏编程的开发。此外,建立宏程序的所提供控制的操作的容易性使人采取学习实现更大灵活性和创建更复杂应用所需要的编程技能的进一步步骤。
在于2006年4月18日提交的授予COSTIN等人的标题为“带有用户特征的自动创建的数据库程序(DATABASEPROGRAMWITHAUTOMATICCREATIONOFUSERFEATURES)”美国专利NO.7,032,960中描述并要求了关于利用交互式图形用户界面(GUI)以便自动创建数据库的系统和方法的背景信息,该专利包括以下内容“本系统定义了允许基于已输入数据自动创建适当信息的技术。该如在此所描述的该自动创建的结果是在没有编程或专门学习的情况下信息的定制数据库的形成。从信息的初始规格自动创建数据库。”
在于1996年5月14日提交的授予Kahn的标题为“用于计算机程序创建、控制和执行的动画用户界面(ANIMATEDUSERINTERFACEFORCOMPUTERPROGRAMCREATION,controlandexecution)”的美国专利No.5,517,663中描述并要求了关于包括动画图标以便将编程流程和操作可视化的系统和方法的背景信息,该专利包括以下内容“一种计算机编程系统提供了以交互视觉方式创建的动画程序源。动画与计算机编程整合,以便允许用户或程序员将编程流程和操作可视化。因此为动态现象例如并行计算产生动画描绘。程序系统支持并行通信代理的计算模型。提供了用于计算模型的具体比喻,例如代理实施为建筑物;规则或方法实施为在建筑物内的机器人或工人;局部状态在建筑物内的公告板上发布;信使在建筑物之间传递消息;等等。”
使用交互式媒质以便使得儿童能够学习编程技能的系统的背景信息由Resnick等人的“Scratch:为一切编程”,ACM的通信,Vol.52,no.11(2009年11月),pp.60-67中描述,包括以下内容“Scratch被设计成高度交互的。仅在一堆方框上点击并且其立即开始执行其代码。你甚至可以在堆栈运行时向该堆栈做出改变,因此容易增加地或重复地试验新主意。”
然而,以上所描述并在工业中存在的常规宏编程语言不允许脚本中元素的直接链接(即自动参数路由),经常呼叫终端用户编译已开发软件以便使得能够执行程序,并且不以范围从复合体直到甚至最简化的软件程序的交互视觉方式提供创建可定制新代码(宏)的能力。
因此,在工业中存在与预定科学仪器相关联以便以尽可能最简单的方式符合其需要的宏编程语言的需要。
发明内容
通常,本发明提供了一种宏编程的新颖途径,从而使得在带有用于配置验证的视觉反馈的一个脚本内动作语句的输入和输出之间能够自动连接,即动态参数路由。作为另一方面,本发明的该宏编程语言按需要提供不同光谱应用的自动化,还允许自动生成连接到该宏的意图的一个可配置用户界面(UI)、。
本发明因此针对使得能够执行样本的一个或多个测量的可定制宏编程语言,其包括:将一个或多个所希望的动作语句拖曳到一个用户界面工作空间上以便提供一个脚本;将该一个或多个动作语句的输入和输出自动连接和互连,其中如果该一个或多个额外的所需要输入和输出不存在或不可以在该脚本中明确提供,则将该已拖曳的一个或多个所希望的动作语句的表示放入一个视觉第二状态,如果可以确定该一个或多个额外输入和输出在该脚本中连接并互连,则将该已拖曳的一个或多个所希望的动作语句的表示放入一个视觉第一状态;然后在不编译该所希望的脚本的情况下执行以便根据所述动作语句提供光谱数据;其中该光谱数据包括来自从光学显微镜、色谱仪、光谱仪和质谱仪中所选择的至少一个分析仪器的测量结果;以及基于该脚本的一个或多个动作语句自动生成一个可配置用户界面(UI)元素。
附图说明
图1和2示出了图像以便展示本发明的可定制用户环境(CUE)动态参数路由能力。
图3也示出了图像以便展示本发明的可定制用户环境(CUE)动态参数路由能力。
图4也示出了图像以便展示本发明的可定制用户环境(CUE)动态参数路由能力。
图5A-5B和图6示出了一系列图像以便展示本发明的多能力编程(宏)方面。
图7A和7B示出了一系列图像以便展示本发明的自动用户界面(UI)生成能力。
图8A和8B也示出了一系列图像以便展示本发明的自动用户界面(UI)生成能力。
具体实施方式
在本发明的描述中,除非含蓄或明确地理解或另外陈述,应理解一个以单数出现的词语包括它的相对应的复数,并且一个以复数出现的词语包括它的相对应的单数。进一步地,除非含蓄或明确地理解或另外陈述,应理解在此描述的任意给定的部件或实施方案、该部件的任意列出的可能的候选或替代物通常地可被单独使用或者与另一个组合使用。此外,应理解如在此示出的图不一定是按照比例的,其中这些元件中的一些可能仅仅是为了本发明的清晰而画出。并且,参考号在各图中可能重复,以示出对应的或模拟的元件。另外,除非含蓄或明确地理解或另外陈述,应理解这种候选或替代物的任意列表仅仅是说明性的,并不是限制的。此外,除非另外指示,在说明书及权利要求中使用的表达组成部分、组成成分、反应条件等等的数量的数字应被理解为是被术语“大约”所修饰的。
因此,除非相反地指示,通过在此展示的主题,在本发明书及附加的权利要求中限定的数值参数是近似值,可取决于探寻以获得的所需要的特性而不同。至少,并且不是试图对本申请的原则或对等物及对权利要求的范围进行限制,应当至少根据报告的有效位数的数字及运用寻常的舍入技术解释每个数值参数。尽管限定在此展示的主题的广泛范围的数值范围及参数是近似值,但是在具体实例中的限定数值是尽可能准确地报告的。然而,任意数值本质上就包含了必然的误差,必定导致它们分别的检验测量中的标准偏差。
本发明提供了一种具有使得终端用户能够为一个或多个不同分析仪器迅速创建定制独立程序模块的可定制用户环境(CUE)的宏编程语言。在此所展示的一个独特方面是使得与关于给定程序的可操作性的结果视觉反馈互连的各种语句(动作项)的输入和输出能够自动连接的宏语言的动态参数路由能力。另外,在此所展示的该宏编程语言的设计借助如果是所希望的情况则还为宏的意图自动生成一个可配置用户界面(UI)的益处,使得不同的科学分析应用能够具有自动化能力。特别地,在此所披露的CUE是一种多能力宏编程语言,其允许如果是所希望的情况则由高度熟练的技术人员在不重编译或修改该CUE软件的情况下添加用于不同分析仪器的新自动化能力。这通过将带有新功能的一个DLL复制到其中CUE存在的目录来实现。
终端用户因此通过利用经常连接到一个或多个输入装置(例如键盘)和/或指示装置(例如鼠标)的一个计算系统(例如,个人计算机)帮助使用软件命令和信息建立他或她的所希望的宏,该一个或多个输入装置和/或指示装置经由一个串行端口接口连接到系统。其他类型的指示装置包括轨迹板、轨迹球、笔、头部追踪器、数据手套、以及其他适合于在使得能够容易开发所希望的宏的显示器装置(例如计算机监视器)上定位光标的装置。
还认识到开始预定测量、经例如光谱间操纵(在一个或多个已收集的各种光谱之间的除法、减法和乘法)的数据合并、结果例如复合信息光谱如从一种或多种光谱技术导致的合并的或多个的光谱的输出/显示的指令可以连接到一个计算系统,在一种机器可读媒质(例如,一种计算机可读媒质)上存储的指令下执行。根据本发明的多个方面,一种计算机可读媒质指代本领域普通技术人员已知的并且理解的媒质,这些媒质中已编码以机器/计算机可以读取(即,扫描/感测)的、并且该机器/计算机的硬件和/或软件可以解释的形式提供的信息。特别地,该计算机可读媒体可以经常包括本地或远程存储器存储装置,例如但不限于本地硬盘驱动器、软盘、CD-ROM或DVD、RAM、ROM、USB存储器装置、以至本领域普通技术人员已知并理解的任意远程存储器存储装置。
本领域普通技术人员还可以认识到本发明的相关联软件可以在其他计算机系统配置中实施,该其他计算机系统配置可以包括手持装置、基于微处理器的或可编程的消费者电子设备、网络个人计算机、微型计算机、大型计算机等。本发明还可以在分布式计算环境中实现,其中相关联任务由通过一个通信网络(例如,无线的)链接的远程处理装置执行。在一个分布式计算环境中,已创建的宏模块可以位于本地和远程存储器存储装置中。
重申,认识到几乎任意终端用户可以通过向默认用户界面框架添加新内容,或通过建立独特宏模块以便为完全不同的样本和仪器研究应用实施新方法学和特征,来容易地创建自动地链接并提供关于可操作性的视觉验证的独特宏应用。作为本发明的另一有益方面,在此所描述的该语言能够对于作为自动批处理文件(含有命令列表的一种脚本)相异的不同应用具有自动化能力,以便运行复杂科学设备。
可以由本发明的该一个或多个定制宏支持的这种科学仪器包括数种光谱和质谱仪器、成像仪器、色谱仪器(例如,气体和液体),所有这些仪器都是本领域普通技术人员商业上或以其他方式可得的。
实例成像仪器包括扫描仪器、共焦仪器、数字成像仪器和望远镜仪器等中的任意一种。实例色谱仪器可以包括电泳仪器、气体色谱仪器和液体色谱仪器等。
实例光谱仪器可以包括UV-Vi、光谱仪、傅里叶变换(FT)光谱仪(例如,傅里叶变换红外(FTIR)光谱仪)、荧光光谱仪、拉曼光谱仪、红外光谱仪(IR)、以及X射线光谱仪。可以与本发明的软件适配的实例质谱仪可以包括本领域普通技术人员已知的能够执行质谱法的各种单级分析器系统(常规地称为时间串联的),例如飞行时间(TOF)装置、线性离子阱(LIT)、磁和静电分析器、四极透镜、离子回旋共振(ICR)仪器、轨道阱、傅立叶变换质谱仪(FTMS),以及多级分析器(空间串联的)。注意的重点是以上一般描述的仪器中的每个自然地具有不同组的独特测量和分析能力,并因此经常需要不同组的独特指令以便显示并操作这种仪器,这是在此所展示的本发明的可定制交互软件的有益方面之一。
为了认识到由光谱仪例如光色散光谱仪所提供的仪器能力的不同,向样本供应一定范围的输入光波长,并且来自样本的输出光由单色仪接收,该单色仪是将输出光分解成其组成波长的装置,其中一个或多个检测器然后在这些输出波长测量光亮度以便生成输出光谱。在配置为紫外-可见光谱学(UV-Vi)仪器时,输入光波长(或频率)的范围在由研究下的样本吸收的电磁波谱的紫外和可见区中,这表征了其分子构成的电子能级。具体的UV-Vi吸收带使得用户能够辨别某些分子组成,例如芳基或一氧化碳(CO)基。
在FT光谱仪中,干涉仪用来向样本供应干涉图——若干输入光波长的时变混合,并且一个或多个检测器测量来自样本的(时变)输出光。可以然后使用数学技术例如傅里叶变换“整理”输出光的各种波长,以便获得输出光在其组成波长的亮度,并由此生成输出光谱。
在荧光/磷光光谱仪中,检测器被配置成收集来自在分子吸收一个或多个光子之后的给定时期从较高能态跃迁到较低能态的分子的光。结果,荧光发射和相关亮度对于光吸收之后分子中能量的重分布是决定性的。在小于一毫秒的时标中的光发射典型地表征为荧光,其中时标大于一毫秒的光发射一般地称为磷光。
在拉曼光谱仪中,在系统中的振动的、旋转的和其他低频模式可以研究来自强烈光源(例如具有在可见、近红外或近紫外范围中的波长的激光器)的照明。
在红外(IR)光谱仪中,在电磁波谱的红外区或近红外区中波长和相关联频率的范围由所调查样本吸收,以便调查其分子构成。红外吸收带鉴别分子结构组成,例如芳族、烯烃、脂族、醛、酮、羧酸、醇、胺、和酰胺基。吸收在其发生的波长还反映了这些组成中的化学键在其伸展和/或弯曲的频率。
X射线光谱仪利用从样本发生的X射线(X射线光子)形式的电子跃迁释放能,其中X射线具有是X射线从其发射的样本的原子的特征的能量和波长,即该能量和波长是该样本的元素成分的特征。。因此,这种仪器可以测量并分析X射线能量和/或波长,以便鉴别和量化元素成分。
在质谱仪中,本领域普通技术人员经常利用上述仪器和技术中的任何以便基于质量分离并鉴别分子,特别是基于质荷比(m/z)来鉴别。
具体描述
如以上简要描述,理解本发明提供了一种包括三个新颖方面的宏编程语言:A)一种可以提供动态参数路由的宏编程语言,即可以理解各种语句需要输入和输出的宏编程语言,输入和输出需要在可能时与到终端用户的视觉验证自动连接;B)一种可以为不同的科学光谱应用提供自动化能力的多能力宏编程语言;以及C)一种为了宏的意图自动生成可配置用户界面(UI)的宏编程语言。每个都将在以下段落中以关于讨论顺序的非限制方式循序讨论。
动态参数路由
本发明的有益动态路由方面针对带有可定制用户环境(CUE)的宏编程,该CUE可以用一种新颖形式将各种语句(动作项)的输入和输出连接在一起并在需要时将它们互连,同时向终端用户验证这种语句是否适当配置或需要关注。作为操作容易性的一部分,在命令自动完成宏编程语句的信息可以用明确方式执行时,动作语句用正确选择自动完成,并以相对于其他已显示语句的色彩有指示性的色彩(例如,第一彩色状态如蓝色)显示。本发明的该有益方面视觉上告知终端用户该一个或多个动作语句被适当地配置。在自动完成宏编程语句所需要的信息不可以用明确方式自动执行时,现在以表示性的色彩(例如,第二彩色状态如红色)显示该语句,以便警告终端用户他或她需要提供不可以从所提供编程语言自动推断的输入或输出信息。此外,还认识到在添加或移除或编辑语句时,如果该信息存在以便自动完成该语句并使该语句转入关于可操作性警告终端用户(例如,红色到蓝色或反之亦然)的该已配置状态中的一个,则该宏自动地重计算。
因此,在此所描述的这种新颖动态参数路由方面使得对于终端用户编写在视觉上最简化,即使是复杂例行程序,因为他们不需要提供同样多的信息以便创建工作宏程序,这种有益结果是更快且更直观的编辑进程。此外,动态参数路由方面还使得可能将互相关联的所有语句链接在一起,因此如果客户改变涉及脚本的一部分信息的名称,则其贯穿已配置宏波动,并且已改变名称也在所有相关语句中发生。
为进一步理解本发明,提供图1和2以便展示如在此所描述建立宏的容易性,并向读者一般地提供关于本发明的动态参数路由能力的了解。具体地,图1示出了由参考号10所指明的用于创建、编辑和测试脚本的可定制用户界面(CUE)编辑器窗口。首先在应用启动时出现的CUE编辑窗口10包括具有可以添加到脚本(可以在没有用户交互的情况下执行的命令列表)的动作例如17、18和19的动作窗格12。动作例如17、18和19最经常地由功能分组,但可以由涉及特别科学仪器或应用的相关联软件分组。右窗格被视为具有预定动作框,例如初始地向终端用户提供以便建立所希望的脚本的开始(Start)16和结束(END)动作(未示出)的工作空间20。菜单栏24为用脚本工作、定制运行时间显示、测试脚本和得到帮助提供特征。
每个动作(例如,17、18、19)仅经终端用户操纵,例如点击和添加或经光标控制的拖曳在所希望的插入点引导到工作空间20。这种操纵提供有待在工作空间20中显示的相关联动作框17’、18’、19’,即为给定脚本表示所希望的动作17、18、19的相关联符号。作为本发明的新颖方面的一部分,用于动作框例如17’的给定色彩(例如,颜色)设计成提供给定动作的状态的额外信息(即,终端用户的视觉验证)。例如但从图1不容易明显,红色表明必须设定动作参数但在设定参数时变成蓝色。因此,蓝色表明动作参数具有有效设定。灰色表明动作没有参数,并且绿色经常表明动作影响其中运行动作的顺序,例如循环或如果-则(if-then)动作。
因此,给定动作例如17、18、19被选择并落入工作空间20以便提供动作框17’、18’、19’的脚本(例如,测量样本(MeasureSample)、创建报告表(CreatereportTable)和添加表格行(AddTableRow))。在图1中所示出的实例中,本发明的软件此后在没有用户输入的情况下,将由MeasureSample动作框17’所提供的测量值和由CreatereportTable动作框18’所提供的表格自动连接到AddTableRow动作框19’。作为所添加的有益方面,相关的已知参数语句28和32还紧接于相关联动作框自动显示,以便关于总脚本正在采取的方向帮助终端用户。注意首先两个动作框(例如,17’和18’)如所示出经相关联参数语句28创建输出,同时已显示参数语句32使用来自其相关联动作框的所指定的“血压测量(BloodMeasure)”和“答复表(AnswerTable)”结果。
图2展示了编辑动作框以便提供相关联参数语句的容易性。特别地,在“BloodMeasure”动作框17’起作用(例如,通过使用光标控制的双击)时,显示允许终端用户将所希望的参数语句34输入到给定选择的面板30。在该样本面板30中,测量值名称指定该输出的名称。作为本发明的新颖性的一部分,如以上所讨论,特别动作框(例如具有动作所需要参数的17’)的色彩按所希望地改变,例如在参数已设定之后从红色变为蓝色,以便视觉上警告终端用户该动作参数具有有效设定。
图3示出了图1的脚本的建筑物中正在添加指定为测量(Measurement)2的相关参数语句的另一Measurement动作框21’。再次,每个动作框落入工作空间20,但在此情况下,因为两个测量值是可能的(如基于在脚本中的测量动作框17’和21’),具有随着由“显示测量值(DisplayMeasurement)”动作39提供2个已显示测量值,2个测量值添加到“AddTableRow”动作38的可能性,所以所实施的软件界面中断。因为软件发现这些动作是模糊的,所以表格行(TableRow)动作框38和DisplayMeasurement动作框39以状态(例如,红色)显示,以便视觉上警告终端用户宏需要关注。在图3中,用类虚化背景将“AddTableRow”38和DisplayMeasurement”39高亮示出,以便简单展示由在此所描述的软件将这样动作的应用视为模糊的。图4然后示出了正在用将“AddTableRow”38和DisplayMeasurement”39自动连接到“Measurement2”动作项21’的软件删除的BloodMeasure动作17’。因此,“AddTableRow”38和DisplayMeasurement”39动作框返回明确状态(例如,蓝色),以便向终端用户表明所开发的宏是可操作的。
关于本发明的自动(动态)动作参数路由能力,注意由软件提供的所有宏动作实施将用于编辑动作的用户界面(UI)与执行该动作的代码分离的嵌入式界面。即,软件自动连接语句,并且其不暗中执行所有工作。这种嵌入式界面含有许多方法,例如但不限于:
AreControlContentsValid(action):该方法询问UI完成动作所必需的所有信息是否有效。
UpdateUIFromAction(action):该方法从动作取得所指定参数并将它们放入UI。另外,必须审查可用输出,并且如果动作无效则观察是否具有该动作的需求的明确解。
UpdateActionFromUI(action):该方法从UI取得所指定参数并将它们放入动作。
SupportedActions():该方法返回可以由该UI编辑的动作列表。
另外,如果动作生成输出,则其必须实施称为DeclareResults()的方法,该方法指定由该动作创建的每个结果(输出)的名称和类型(类别)。宏语言编辑器必须知道该行为,并在宏执行开始之前,并也在编辑任意宏动作之前和之后宣布所有结果。然后如果方法DeclareResults()指定生成了一些新结果,则宏语言必须经历所有动作并尝试自动完成它们,因为可能将状态从红色改变成蓝色或反之亦然。
当一个或多个输出因为DeclareResults()改变时为已开发的宏的每个动作执行动态参数路由进程以便自动完成该动作。因此,参与用于具体应用的软件代码的开发、修改或测试的终端用户例如工程师或技术员可以操作在此描述的可定制用户界面(CUE)编辑器窗口,并建立一系列动作以便形成所希望的宏脚本。在给定脚本的开发中,嵌入式界面软件自动开始自动完成进程。软件检索已指定动作的名称,并然后得到所有动作编辑器。因此对于每个编辑器,本发明的新颖界面软件调用一个进程(即,使用SupportedActions()),以便确定哪些动作可以由所希望的UI编辑。如果编辑器支持动作,则其调用进程(即,UpdateUIFromAction()),该进程从UI取得所指定参数并将它们放入动作。另外,必须审查可用输出,并且如果动作无效则观察是否具有该动作的需求的明确解。软件然后调用进程AreControlContentsValid(action),以便确定完成动作所必需的所有信息是否有效。如是,则将动作框标记为蓝色,如否,则将动作框标记为红色。具体地,进程UpdateActionFromUI()从UI取得所指定参数并将它们放入动作。在该进程结束之前,DeclareResults()的例行程序被调用以便修改由相对应动作创建的任意结果。该特别例行程序是每个宏动作的一部分,并使用所指定参数名称和类型宣布输出(结果),并且还为该输出(结果)返回全局唯一的ID(GUID)。此外,该例行程序维持由动作宣布的每个参数名称(结果)的计数。
重申,每当动作添加到宏或从宏删除时,DeclareResults()调用该动作。无论何时动作的DeclareResults()返回真,这意味着已宣布了新输出(结果)。在这种情况发生时,嵌入式软件经历每个动作并执行自动完成程序。作为进程的一部分,软件在结果列表中检查动作的所指定参数名称。此后,软件检查以便观察全局唯一ID(GUID)对于特别动作是否为零。如果该动作的GUID是零(是),并且软件在该类型的结果列表中将所指定参数名称定位,那么软件得知使用在结果列表中发现的GUID。然而,如果该动作的GUID是零并且软件没有在该类型的结果列表中发现所指定参数名称,那么软件得到新GUID,并且用所指定名称向结果列表添加新项,并然后最终改变该动作,以便使用该已宣布结果的该新GUID。另一方面,如果GUID不是零,并且软件在该类型的结果列表中将所指定参数名称定位,并且如果在结果列表中的所指定名称和在列表中的该项具有相同GUID,那么软件什么都不做。如果在结果列表中发现所指定名称,但该动作的GUID不匹配,那么软件将这个或这些动作的GUID自动改变成在结果列表中发现的项的GUID。
如果GUID不是零,并且所指定参数名称在结果列表中是NOT,并且该动作GUID的结果列表中的名称不同,那么如果宣布该参数结果的动作的数目=1,则软件将在结果列表中所宣布结果的名称改变成新的所指定参数名称。
如果宣布该参数结果的动作的数目>1,那么软件得知得到新GUID,用所指定名称向结果列表添加新项,并且改变该动作以便为该已宣布结果使用该新GUID。
如以上所陈述,用于自动动态路由的以上所示出的所有处理(即,自动完成语句)暗中执行所有工作但不向用户显示如由图2的面板30所示出的UI,并仅将动作框的状态从红色改变成蓝色并反之亦然,以便关于给定已开发宏的可操作性警告终端用户。
多能力编程(宏)语言
一种可以为不同的科学光谱应用提供自动化的多能力宏编程语言是本发明的另一有益方面。特别地,本发明的该方面允许在不需要重编译(注意编译仍是选项)应用的情况下,在运行时将新能力(或宏语句)添加到语言,并结果使得宏编程语言能够接受用于完全不同应用的语句。
作为有益的非限制实例,该语言可以被配置成支持用于以上所描述科学应用中的任何的宏,例如但不限于UV-Vi、FTIR、IR(近红外(NIR))、拉曼、质谱法等,这些各自都具有其自己相对应的一组独特能力。因此,作为在此展示的新颖益处的一部分,本发明的宏语言不仅可以单独地支持这种相异应用,而且同时知道其是否应基于先前开发的已加载宏的内容为特别应用显示UI和语句。
图5A、5B和最终图6展示了本发明的多能力宏编程语言。特别地,图5A、5B和图6示出了一系列CUE编辑器窗口,以便展示用于广泛种类的不同应用的自动化能力的容易性。
如以上关于图1的描述稍微地描述,图5A示出了由参考号10再次一般地指明的用于创建、编辑和测试脚本的可定制用户界面(CUE)编辑器窗口。与先前相同,CUE编辑窗口10首先在应用启动时出现,并包括具有可以添加到脚本的动作例如17和18的动作窗格12。动作例如17和18最经常地由功能分组,但可以由涉及特别科学仪器或应用的相关联软件分组。右窗格被视为具有预定动作框,例如初始地向终端用户提供以便建立所希望的脚本的Start16和END动作16”的工作空间20。菜单栏24为用脚本工作、定制运行时间显示、测试脚本和得到帮助提供特征。在图5A中做出的点是具有可以在如以上所讨论为数个应用建立宏之中添加到工作空间的数个已挑选任务,例如17和18。
特别地,图5B示出了用于已创建目录的并在批处理文件的自动运行中将文件拷贝到计算机系统上的应用110,而图6示出了用与在该实例中是FTIR应用的所希望的应用相关联的大量(例如多达约118个)可编辑宏任务(例如,112)被配置的本发明的有益能力。从这取得的重要方面是本发明的宏编程语言被设计成指定足够的界面以便在不做出对任意具体应用或该语言的任意其他部分的直接引用的情况下,执行其工作的全部。特别地,通过间接或抽象的水平(例如创建、操纵、编辑和执行)来执行全部操作。
为使得能够执行这种操作,本发明提供了与一个或多个应用(具有以上所描述仪器和/或应用中的任何一者)相关联的所有信息以基本上通用的方式抽象到界面,以便导致支持编程环境中所有可能的多样性的能力。该抽象是可应用于每个宏编程语句的唯一信息。为启用该能力,本发明具有应用界面(例如,适当地称为IApplicationContext界面),其在通用界面中含有非常复杂的应用(即,包括多于五十万个语句)的所有相关信息,该通用界面与在由赛默飞世尔科技公司提供的与其商业仪器相关联的应用软件例如Specta与UV应用软件例如ND2000和INSIGHT之间的界面基本上相同。
该应用上下文是到每个宏语句的唯一输入并且只要涉及本发明的宏编程语言,则该应用上下文简单地指示每个语句使用所指定应用上下文执行其功能性。在此所展示的宏语言不需要解释关于在每个语句中发生了什么。这种安排使得本发明的宏语言能够与如以上所示出的由赛默飞世尔科技公司提供的相异应用中的任何一起使用。
本领域普通程序员(例如技术人员或实验者)还可以配置本发明的软件在创建执行所希望的集成仪器的具体功能所必需的任意DLL(动态链接库)之后支持以上在一般描述段落中所描述的任何一种相异仪器。如果创建含有一个或多个命令界面的DLL,并且熟练技术人员实施有待在宏编辑器中显示的界面,则这种DLL命令因此在宏编辑器中暴露于熟练技术人员。例如,可以创建DLL以便含有控制相关联应用的命令,或DLL可以含有宏语言自身固有的基本命令,例如循环、if语句、以及将值分配到变量。因此,通过在运行时间而不是在编译时间添加或减去DLL,在编辑和运行宏的时候改变了功能性和向熟练技术人员显示的用户界面。
因此,这种能力使终端用户能够在已提供程序模块的进程内提供定制步骤,以便概括其自己的独特进程、以便添加已显示信息内容、和/或以便以终端用户的特别业务应用的形式呈现信息。
还认识到本发明提供描述了在宏语言内单独语句的所有功能性的命令界面。如果终端用户创建了实施并使用已定义的界面中的一个或多个的命令,则这种命令还与已定义宏语言兼容。
可配置用户界面的自动生成
作为另一实例实施方案,本发明提供了可配置用户界面的自动生成,该可配置用户界面被配置成给定宏的意图。这种实施方案使必需的UI元素,例如但不限于数据的XY显示、信息的表格、执行动作的按钮、图片等能够自动生成。特别地,这种UI元素可以在不需要将UI元素联结到负责改变有待显示的数据的编程代码的间接水平的情况下,自动连接到有待显示的指定信息的已开发宏语句。
如以上在关于图1描述可定制用户界面中一般地讨论,可以排列已开发的一个或多个宏动作语句以便指定哪种和哪些具体类型的数据显示,从而使得触发有待被创建并链接到任意给定语句的UI。本发明的宏语言已知该行为,并因此被设计成在其第一次开始执行时生成UI。该生成被自动执行,或作为另一安排基于由终端用户在他或她最后编辑该宏时所指定的每个元素的x、y、宽度、高度和z顺序被生成。作为另一有益方面,本发明的宏语言被设计成监控任意相关UI元素,并改变其内容以便将改变反映到输出。
图7A、7B、8A和8B因此展示了一系列图像,该一系列图像示出了基于拖曳到屏幕工作空间20上的语句自动生成用户界面的宏语言。特别地,图7A示出了从下拉菜单,例如“查看用户界面(ViewUserInterface)”,软件得知没有语句与交互式用户界面关联,如由弹出信息窗口120所表明。图7B示出了通过在插入点130(示作水平线)添加动作框“显示测量值(DisplayMeasurement)”124和“显示表格(DisplayTable)”128,自动生成了包括由该宏经相对应动作框124和128启用的可编辑“DisplayMeasurement”部分124’和可编辑“DisplayTable”128’的可编辑用户界面(UI)134。如以上所简要讨论,开发者可以改变自动生成的UI元素的大小和位置(每个元素的x、y、宽度、高度和z顺序),并且该信息将存储在该宏中并每当执行该宏的时候在显示UI时使用。
图8A示出了通过添加2个动作框,例如在屏幕工作空间20中连接到子任务以便在可编辑UI134中提供按钮144’、148’的“显示子宏按钮(DisplaySubmacroButton)”144、148,以继续生成可编辑UI应用。按下按钮144’、148’执行该子任务。图8B仅示出以便展示用于Wine分析宏的可定制交互UI的实例,客户挑选执行什么测试152与何时测量样本156和空白160。
根据本教导的实例系统可以包括能够研究范围是用于在其中分析的药剂、化学品、酒、固体、液体等的预定样本的一个或多个科学仪器(例如光谱仪)。实例系统包括计算机/嵌入式计算机,或电子地连接的其他电子处理器或控制器,从而使得除了任意其他必需电子操纵之外还提供编程控制指令并经本发明的宏语言接收操作数据(反馈)。系统还可以如果是所希望的情况则包括有形地嵌入的计算机可读媒质和有形地嵌入的计算机可写媒质,该计算机可读媒质包括输入数据库,并且该计算机可写媒质包括输出数据库。任选地,计算机/嵌入式计算机可以进一步电气连接到一个或多个其他输出装置,例如显示屏、打印机等,和/或一个或多个其他输入装置,例如键盘、互联网连接等。认识到计算机/嵌入式计算机可以被有益地配置为连接到光谱仪的“货架产品”计算机,或作为带有集成到光谱仪器的触摸屏LCD显示器的科学仪器的一部分被嵌入。这种嵌入式计算机可以因此为例如但不限于Insight软件或CUE宏的所希望的应用显示GUI。
注意可以使用一个或多个数据链路装置通过互联网或作为计算机的互连内部网和其他私有网络,例如局域网将计算机/处理器任选地电气连接(例如,固定线路的或无线的)到可以在需要的情况下共享计算负载中的一些或全部的一个或多个其他处理器。
应当理解在此描述的关于各实施方案的特征在不脱离本发明的精神及范围下,可用任意组合相混合及匹配。尽管不同的选中的实施方案已在此展示并详细描述,应理解它们是示例性的,并且在不脱离本发明的精神及范围下,多种子代换及改变是可能的。

Claims (9)

1.一种使用宏语言使得能够执行样本的一个或多个分析测量的可定制方法,该方法包括:
将一个或多个所希望的动作语句拖曳到一个用户界面工作空间上,以便提供一个所希望的脚本;
将所述一个或多个所希望的动作语句的输入和输出自动连接和互连,其中如果一个或多个额外的所需要输入和输出不存在或不可以在所述脚本中明确提供,则将已拖曳的所述一个或多个所希望的动作语句的表示放入一个视觉第二状态,其中如果可以确定该一个或多个额外输入和输出在所述脚本中连接并互连,则将已拖曳的所述一个或多个所希望的动作语句的表示放入一个视觉第一状态;
执行所述所希望的脚本以便根据所述动作语句提供数据;其中所述数据包括来自从光学显微镜、色谱仪、光谱仪和质谱仪中所选择的至少一个科学仪器的测量结果;以及
基于所述所希望的脚本的所述一个或多个所希望的动作语句自动生成一个可配置用户界面(UI)元素。
2.根据权利要求1所述的可定制方法,其中将所述一个或多个所希望的动作语句的输入和输出自动连接和互连的步骤包括:实施将一个用户界面(UI)编辑元素分离的一个嵌入式软件界面,以便从执行所述一个或多个所希望的动作语句的结果动作的代码编辑所述一个或多个所希望的动作语句。
3.根据权利要求1所述的可定制方法,其中该执行步骤进一步包括在没有编译的情况下执行。
4.根据权利要求1所述的可定制方法,进一步包括提供一个通用界面的步骤,该通用界面在被配置用于从光学显微镜、色谱仪、光谱仪和质谱仪中所选择的所述至少一个科学仪器的一个或多个相异应用软件之间基本上相同。
5.根据权利要求4所述的可定制方法,其中所述一个或多个相异应用软件进一步包括以下步骤:创建动态链接库以便执行一个所希望的所述至少一个科学仪器的具体功能,其中一个终端用户可以此后操纵在一个宏编辑器中显示的一个命令界面。
6.根据权利要求1所述的可定制方法,其中提供了一个命令界面以便描述与所述所希望的脚本的所述一个或多个所希望的动作语句相关联的一个单独语句的所有功能性。
7.根据权利要求1所述的可定制方法,其中自动生成一个可配置用户界面(UI)元素的步骤进一步包括自动添加以下各项中的至少一个:按钮控制、数据的XY显示、信息的表格以及图片。
8.根据权利要求1所述的可定制方法,其中所述数据包括以下各项中的至少一个:成像数据、色谱数据、质谱的、UV-Vi的、傅里叶变换的、傅里叶变换红外(FTIR)的、荧光的、磷光的、拉曼的、红外(IR)的、以及X射线的数据。
9.根据权利要求8所述的可定制方法,其中所述数据是不同类型数据的复合体。
CN201180032650.9A 2010-06-30 2011-06-24 用于分析测量的智能多功能宏语言 Active CN103210369B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/827,411 2010-06-30
US12/827,411 US8316314B2 (en) 2010-06-30 2010-06-30 Intelligent multi-functional macros language for analytical measurements
US12/827411 2010-06-30
PCT/US2011/041856 WO2012012100A1 (en) 2010-06-30 2011-06-24 Intelligent multi-functional macros language for analytical measurements

Publications (2)

Publication Number Publication Date
CN103210369A CN103210369A (zh) 2013-07-17
CN103210369B true CN103210369B (zh) 2016-08-03

Family

ID=44628238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180032650.9A Active CN103210369B (zh) 2010-06-30 2011-06-24 用于分析测量的智能多功能宏语言

Country Status (5)

Country Link
US (1) US8316314B2 (zh)
EP (1) EP2588951A1 (zh)
JP (1) JP2013534331A (zh)
CN (1) CN103210369B (zh)
WO (1) WO2012012100A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066625A1 (en) * 2010-05-12 2012-03-15 Nicolas Encina Scientific research and collaboration system and method
US20120179707A1 (en) * 2011-01-06 2012-07-12 Mitel Networks Corporation Range programming using a search query
US9244707B2 (en) * 2011-01-25 2016-01-26 Microsoft Technology Licensing, Llc Transforming user interface actions to script commands
US9304518B2 (en) 2011-08-24 2016-04-05 Bio-Rad Laboratories, Inc. Modular automated chromatography system
US9182886B2 (en) 2011-11-14 2015-11-10 Bio-Rad Laboratories Inc. Chromatography configuration interface
CN103186377A (zh) * 2011-12-30 2013-07-03 鸿富锦精密工业(深圳)有限公司 代码智能生成系统及方法
JP5983397B2 (ja) * 2012-12-28 2016-08-31 株式会社島津製作所 分析機器制御装置及び分析機器制御装置用プログラム
US11188308B2 (en) * 2014-07-23 2021-11-30 Apple Inc. Interactive code editing
EP3106897A1 (en) * 2015-06-19 2016-12-21 Centre National d'Etudes Spatiales Gnss receiver with an on-board capability to implement an optimal error correction mode
US11079909B2 (en) * 2016-12-23 2021-08-03 Salesforce.Com, Inc. Macro building tool with an information pane and a macro building pane for compiling an ordered macro and determining data dependency
WO2024023936A1 (ja) * 2022-07-26 2024-02-01 ファナック株式会社 仮想機械生成装置及び仮想機械生成プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612334B2 (ja) * 1985-10-28 1994-02-16 株式会社島津製作所 自動化された分光光度計
US5497500A (en) 1986-04-14 1996-03-05 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
JP3143931B2 (ja) * 1991-01-29 2001-03-07 カシオ計算機株式会社 データ処理装置
US5326568A (en) 1991-05-03 1994-07-05 Giampapa Vincent C Method of tissue-specific delivery
JPH05233239A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd プログラム自動生成装置
US5517663A (en) 1993-03-22 1996-05-14 Kahn; Kenneth M. Animated user interface for computer program creation, control and execution
JP3601949B2 (ja) * 1996-09-17 2004-12-15 株式会社東芝 プログラム合成装置及びプログラム合成方法
IL142564A0 (en) * 1998-10-16 2002-03-10 Computer Ass Think Inc Method and system for an extensible macro language
DE10110056B4 (de) 2001-03-02 2005-02-03 Daimlerchrysler Ag Eckbereich zwischen seitlichem und hinterem Dachrahmen eines Kraftfahrzeuges mit Rückwandtür und ein Verfahren zu dessen Herstellung
US7653896B2 (en) * 2004-06-30 2010-01-26 Microsoft Corporation Smart UI recording and playback framework
EP1787197A2 (en) * 2004-09-10 2007-05-23 Graphlogic Inc. Object process graph application development system
JP4183192B2 (ja) * 2004-12-28 2008-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション・プログラムの開発支援方法、プログラム、情報処理装置
RU2417391C2 (ru) * 2006-08-24 2011-04-27 Сименс Энерджи Энд Отомейшн, Инк. Устройства, системы и способы конфигурирования программируемого логического контроллера
JP2008158865A (ja) * 2006-12-25 2008-07-10 Shimadzu Corp プログラム作成支援システム
US20090089739A1 (en) 2007-09-28 2009-04-02 Microsoft Corporation Intelligent editing of relational models
TW201009688A (en) * 2008-08-20 2010-03-01 Clevest Solutions Inc Method and system of editing workflow logic and screens with a GUI tool

Also Published As

Publication number Publication date
CN103210369A (zh) 2013-07-17
WO2012012100A1 (en) 2012-01-26
EP2588951A1 (en) 2013-05-08
US8316314B2 (en) 2012-11-20
JP2013534331A (ja) 2013-09-02
US20120005604A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
CN103210369B (zh) 用于分析测量的智能多功能宏语言
Doncheva et al. Topological analysis and interactive visualization of biological networks and protein structures
Daszykowski et al. TOMCAT: A MATLAB toolbox for multivariate calibration techniques
US20060190137A1 (en) Chemometric modeling software
Szőke et al. FaultBuster: An automatic code smell refactoring toolset
US10539520B2 (en) Sample-analyzing system
Abedini et al. Application of new approach methodologies: ICE tools to support chemical evaluations
Grammel et al. An end user perspective on mashup makers
Yunker et al. PythoMS: A Python framework to simplify and assist in the processing and interpretation of mass spectrometric data
Cleary et al. Workspace: A workflow platform for supporting development and deployment of modelling and simulation
Storozhuk et al. RAMANMETRIX: a delightful way to analyze Raman spectra
Sieger et al. Interactive dendrograms: the R packages idendro and idendr0
Shang et al. EasyScan_HEP: a tool for connecting programs to scan the parameter space of physics models
JP2009019913A (ja) 分析装置
Azarov et al. IDEN2—A program for visual identification of spectral lines and energy levels in optical spectra of atoms and simple molecules
Greer et al. ProSight Annotator: Complete control and customization of protein entries in UniProt XML files
McFarlane et al. An information-rich graphical representation of catalytic cycles
EP3413262A1 (en) Analysis information management system
Nicolaescu et al. A methodology and tool support for widget-based web application development
Yayan et al. Tailored mutation-based software fault injection tool (IM-FIT)
Niu et al. Conflict resolution support for parallel software development
Ciroth et al. openLCA 1.10
JP7377970B2 (ja) 複合計測統合ビューアおよびプログラム
Gouw et al. MSQuant: a platform for stable isotope-based quantitative proteomics
Fay The role of the informatics framework in early lead discovery

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