用户可创建的定制工作流程的制作方法

文档序号:6543580阅读:145来源:国知局
用户可创建的定制工作流程的制作方法
【专利摘要】本发明的各实施方式总体上涉及用户可创建的定制工作流程。具体地,本文描述了让用户能够通过工作流程定制他们的应用的技术。与经常过于简单的规则对照,这些用户可选择的工作流程可以在数目和复杂性上任意并且接近无限。另外,这些工作流程不要求应用设计者通过添加或者更改应用的代码来构建它们。这些技术让用户能够通过连接应用的暴露的事件和暴露的动作来创建工作流程。称为“突触”的这些连接由这些技术用来构建工作流程,由此允许用户定制应用。
【专利说明】用户可创建的定制工作流程

【技术领域】
[0001] 本发明的各实施方式总体上涉及计算机领域。具体地,涉及用户可创建的定制工 作流程。

【背景技术】
[0002] 软件应用通常具有应用的用户可以选择的固定规则集。例如,电子邮件应用可以 包括规则作为用户可选择的选项,该规则转发在主题行中具有特定单词或者具有特定发件 人的电子邮件地址的电子邮件。或者例如,文字处理应用可以包括规则,该规则用选择的拼 写错误的单词的正确拼写自动纠正该单词、比如用正确拼写"their"纠正错误拼写的单词 'Hhier,,。
[0003] 然而,应用用户可能期望超出固定规则集定制他们的应用。这些期望的定制经常 需要应用的设计者创建或者更改应用的代码才能实施。因此,对于应用设计者而言创建期 望的定制是耗时和昂贵的。另外,定制的数目可以与用户本身的数目一样多,从而使得解决 除了最普遍请求的定制中的少数定制之外的所有定制不切实际。


【发明内容】

[0004] 本文描述让用户能够通过工作流程定制他们的应用的技术。与经常过于简单的规 则相比,这些可由用户选择的工作流程可以在数目和复杂性上任意并且接近无限。另外,这 些工作流程不要求应用设计者通过添加或者更改应用的代码来构建它们。相反,这些技术 让用户能够通过连接应用的暴露的事件和暴露的动作来创建工作流程。这些被称为"突触 (synapse) "的连接由这些技术用来构建工作流程,由此允许用户定制应用。
[0005] 本
【发明内容】
提供用以介绍以下在【具体实施方式】中进一步描述的简化概念。本发明 内容未旨在于标识要求包含的主题内容的基本特征,它也未旨在于用来确定要求包含的主 题内容的范围。实现用户可创建的定制工作流程的技术和/或装置如上下文允许的那样这 里也分离地或者结合地称为"技术"。

【专利附图】

【附图说明】
[0006] 参照以下附图描述实现用户可创建的定制工作流程的实施例。贯穿附图,相同编 号用来引用相似的特征和部件。
[0007] 图1图示了其中可以实施实现用户可创建的定制工作流程的技术的示例系统。
[0008] 图2图示了具有功能软件实体、工作流程管理器、事件、动作和突触的示例应用。
[0009] 图3图示了用于让用户选择的工作流程能够定制应用的示例方法。
[0010] 图4图示了其中图2的工作流程管理器使得能够选择功能软件实体、事件和事件 过滤器的示例用户界面。
[0011] 图5图示了其中图2的工作流程管理器使得能够选择动作上下文和动作的示例用 户界面。
[0012] 图6图示了其中图2的工作流程管理器使得能够选择动作参数的示例用户界面。
[0013] 图7图示了用于基于用户与功能软件实体的交互的历史构建工作流程的示例方 法。
[0014] 图8图示了三突触工作流程。
[0015] 图9图示了其中可以实施实现用户可创建的定制工作流程的技术的示例设备。

【具体实施方式】
[0016]鍵
[0017] 本文描述让用户能够通过工作流程定制他们的应用的技术。这些技术让用户能够 通过连接应用的暴露的事件和暴露的动作来创建工作流程。
[0018] 例如,假设文字处理应用的用户想要定制应用如何表现。进一步假设用户是教师, 该教师期望进行内嵌编辑以纠正试卷并且为每个内嵌编辑添加评论,这些评论指示为何进 行改变。这些技术使教师能够第一是选择应用可以执行的特定事件、这里是编辑文档;第 二是选择事件过滤器、这里是使工作流程仅限于学生创建的文档;以及第三是选择动作、这 里是打开新文档框并且在评论框中放置教师的光标。这些技术使教师能够通过选择事件、 事件过滤器和动作来构建工作流程,该工作流程定制用于对试卷评级的文字处理应用。在 教师下一次编辑学生(事件过滤器)创建的文档(事件)时,工作流程让应用打开文档框 (动作)。
[0019] 这仅为这些技术用来让用户能够创建定制工作流程的许多方式的一个示例。以下 讨论转向操作环境、可以在操作环境中运用的技术和可以在其中体现操作环境的部件的设 备。在以下讨论中,仅通过示例参照操作环境。
[0020] 操作环境
[0021] 图1图示操作环境100,可以在该操作环境中体现技术,这些技术实现用户可创建 的定制工作流程。环境100包括用六个示例举例说明的计算设备102 :膝上型计算机104、 平板计算设备106、智能电话108、机顶盒110 (集成到电视机中)、台式计算机112和多功能 打印机/扫描仪/传真设备114,但是也可以使用其它计算设备和系统,比如个人区域网络 设备、装置、游戏设备、服务器和上网本。
[0022] 计算设备102包括计算机处理器116和计算机可读存储介质118(介质118)。介 质118包括操作系统120、应用122、显示器124和输入机制126。
[0023] 应用122包括一个或者多个功能软件实体128和工作流程管理器130或者具有对 一个或者多个功能软件实体128和工作流程管理器130的访问。尽管表示为应用122的一 部分,但是功能软件实体128在一些实施例中可以本身是单独应用。另外,尽管工作流程管 理器130被示为应用122的一部分,但是工作流程管理器130可以与应用122中的多于一 个应用分离或者能够由应用122中的多于一个应用使用。
[0024] 应用122包括能够执行各种功能和操作的软件,聊举数例比如小企业应用、电子 表格应用、文字处理应用、图像编辑应用和通信软件应用。
[0025] 功能软件实体128可以各自是功能汇集或者在应用内的实际模块或者可以是分 立和可分离的实体。例如,考虑具有日历和电子邮件功能的通信软件应用。日历功能组和 电子邮件功能组可以各自被视为功能软件实体128之一。也考虑具有文本录入功能、跟踪 改变功能、评论功能和电子表格功能的文字处理应用。这些功能中的每个功能可以被描述 为功能软件实体128。以这一方式描述相似功能可以辅助用户确定在创建工作流程时选择 哪些事件。将描述这一点作为以下方法的一部分。
[0026] 工作流程管理器130能够让用户能够创建定制工作流程。在一些情况下,工作流 程管理器130让用户能够选择用于构建成工作流程的事件-动作对的突触。工作流程管理 器130包括用户界面132和突触134或者具有对用户界面132和突触134的访问。工作流 程管理器130可以让用户界面132能够比如通过列举的项目的图形选择使得能够选择以构 建工作流程。突触134代表在事件与动作之间的对应。可以如以下具体描述的那样确定 和/或选择突触134。工作流程管理器130可以响应于用户选择用各种语言和格式、聊举数 例比如"C"语言系列或者标记语言(可扩展标记语言(XML)、流体(liquid)标记语言等) 构建这些工作流程。
[0027] 如指出的那样,这些突触134代表事件-动作对。事件是应用122 (例如,通过功 能软件实体128之一)执行的特定活动或者操作。这一事件可以由用户引起或者可以由应 用122执行而无来自用户的交互。考虑具有电子邮件和日历功能的通信应用。电子邮件可 以被接收而不需要由用户引起,或者电子邮件可以被打开或者发送,这是由用户引起。然而 在任何情况下,接收、打开或者发送电子邮件可以是事件。
[0028] 动作是应用122可以响应于事件的出现而执行的特定活动或者操作。例如,可以 创建工作流程,该工作流程响应于接受电子邮件(事件)来自动打开日历条目(动作),该 电子邮件是来自用户的老板的秘书(一个事件过滤器),并且具有包括单词"meeting"的主 题行(另一事件过滤器)。事件过滤器是能够由工作流程管理器130评估的条件。如果工 作流程管理器130通过该评估来确定满足事件过滤器,则工作流程管理器130使动作被执 行。
[0029] 考虑图示示例应用122的图2,该应用具有功能软件实体128 (标记为实体128_1 至 128-6)、工作流程管理器 130、事件 202-1,202-2 和 202-3、动作 204-1,204-2 和 204-3 以及突触134-1、134-2和134-3。这些突触134中的每个突触如图所示代表在事件202之 一与动作204之一之间的对应。工作流程管理器130在事件202之一出现时评估适当突触 134以确定是否满足事件过滤器(如果有)和将执行的对应动作204。工作流程管理器130 的动作204让应用122的功能软件实体128之一执行操作、比如打开日历条目。注意动作 引起的操作本身可以是事件或者造成事件(例如,完成日历条目),该事件又造成工作流程 管理器130的动作等。
[0030] 回顾图1,计算设备102还包括一个或者多个显示器124和输入机制126或者具有 对一个或者多个显示器124和输入机制126的访问。在图1中图示四个示例显示器。输入 机制126聊举数例可以包括基于触摸的传感器、鼠标(自由存在或者与键盘集成)、跟踪和 触摸板、具有附带语音识别软件的麦克风、键盘、按钮、对手势灵敏的传感器、生物统计传感 器以及无源环境传感器。输入机制126可以与显示器124分离或者集成;集成示例包括具 有集成的对触摸灵敏或者对运动灵敏的传感器的对手势灵敏的显示器。
[0031] 示例方法
[0032] 图3描绘让用户能够选择工作流程以定制应用的方法300。在以下讨论的部分中, 可以参照图1的示例环境100和图2的单元,参照它们仅为举例。
[0033] 在块302,暴露应用的事件。可以设计工作流程管理器130以具有应用能够执行的 事件、动作等的完全列表。然而在一些情况下,工作流程管理器130确定应用122可编程的 事件。然而在任一情况下,工作流程管理器130暴露应用122的事件用于由用户选择。
[0034] 作为概述,技术通过事件、事件过滤器、动作、动作参数、上下文或者突触向用户呈 现或者可由用户选择、包括作为在以下方法700中更具体描述的可选择突触的部分来暴露 事件、事件过滤器、动作、动作参数、上下文或者突触(例如,在块302的事件)。与软件、固 件或者硬件程序(例如,功能软件实体128)关联的几乎任何可想象的功能或者操作无论是 否可由程序编程、在程序上可编程或者可由程序检测都可以被暴露。作为实际事项,可以未 暴露一些功能和操作,因为它们可能让用户很少感兴趣,但是技术允许暴露甚至模糊的功 能和操作。
[0035] 可以通过图形可选择的图标列表、文字录入(例如,流体标记语言)等使得能够选 择各种事件、事件过滤器、事件上下文、动作和动作参数中的一个或者任何事件、事件过滤 器、事件上下文、动作和动作参数。举例而言,考虑提供示例用户界面132的图4,在该用户 界面中,工作流程管理器130在实体-选择窗406内呈现具有两个功能软件实体402和404 的图形可选择列表。尽管不是必需,但是在一些情况下,用户发现在选择事件之前选择事件 的上下文是有帮助的。这辅助使呈现的事件数目限于以某种其它上下文方式与某个功能集 (例如,与选择的实体)关联的事件。在这一示例中,用户选择从其选择事件的"预订"实 体,这提供这一上下文。
[0036] 在如在选择408所示选择实体402 ( "预订")之后,工作流程管理器130通过用户 界面132的事件-选择窗410使得能够选择事件。可以比如通过能够由命名为"预订"的 选择的功能软件实体执行来对于选择的事件上下文制定这些可选择的事件。在图4中暴露 的事件是与购买用于比赛的门票有关的事件。在412-1、412-2和412-3示出三个可选择的 事件412。可选择的事件412-1是提交的新预订,可选择的事件412-2是更改的现有预订, 并且可选择的412-3是删除的现有预订。
[0037] 在块304,接收对应用的暴露的事件之一的选择。这可以用文字、图形或者另外执 行。在当前示例中,通过用户界面132并且由工作流程管理器130接收对新预订事件(可 选择事件412-1)的选择。
[0038] 可选地,方法300可以继续块306和308以分别暴露事件过滤器并且接收对事件 过滤器的选择。在图4中示出这一暴露和接收选择的示例,该图图示用户界面132的事 件-过滤-选择窗144。事件-过滤-选择窗144包括两个可选择的事件过滤器416-1和 416-2,第一个是预订名称而另一个是剩余可用座位。选择事件过滤器在这一情况下需要用 于事件过滤器生效的一些附加信息。这里在选择事件过滤器416-2(剩余可用座位)之后, 用户界面132呈现图5中所示事件-过滤参数窗502,该事件-过滤参数窗实现录入满足事 件过滤器的条件的座位数目。如图所示,录入这一数目为" < 4",并且这样仅如果可用座位 数目是1、2或者3则才满足事件过滤器。
[0039] 在块310,暴露应用的动作。可以用各种方式、比如文字、图标、下拉列表等执行这 一点。与以上对于事件上下文指出的相似,技术可以使得能够选择动作上下文。继续当前 示例,再次考虑图5,该图在实体-选择窗508内图示两个图形可选择的功能软件实体504 和506。在这一示例中,用户选择从其选择事件的"twitter"实体。因此,用户已经选择动 作上下文、这里是这一应用的功能软件实体,该动作上下文可以用来将暴露的动作制定成 能够由命名为"twitter?"的功能软件实体执行的动作。
[0040] 在块312,接收对应用的暴露的动作的选择。如以上指出的那样,暴露的事件和动 作可以在相同应用内部,但是这不是必需的。事件或者动作在它由应用而不是某个其它应 用执行时在应用内部。在这一上下文中,一个应用可以包括许多功能软件实体,因此那些许 多功能软件实体的事件和动作在一个应用内部。然而在一些情况下,一个应用可以执行事 件,这些事件连接到另一应用执行的动作。例如,电子邮件应用的电子邮件功能和图形设计 程序的图形设计功能。方法300允许在事件和动作在不同应用内部时构建工作流程。因此, 在电子邮件应用内部的电子邮件事件可以连接到在图形设计程序内部的图形动作。
[0041] 然而对于当前示例,假设事件和动作均在应用内部,这意味着它们由应用执行而 事件和动作未由分离、单独应用执行。在图5的动作-选择窗510图示选择,该动作-选择 窗示出在暴露的动作512选择"更新状态"。
[0042] 可选地,方法300可以继续块314和316以分别暴露动作参数和接收对动作参数 的选择。动作参数可以映射到值、文字等。在这一情况下,事件的名称和剩余座位数目是可 变值,并且录入的文字是晶态动作参数。例如,在图6中,用户界面132的动作参数选择窗 602从用户接收文字,该文字是将在执行动作时在"tweet"中发送的文字,在动作域604示 出选择的动作。在文字606示出这一文字,然后接收在文字608示出的进一步文字。工作 流程管理器130也接收对可以变化的值的选择,该值由应用122填写、即通过选择在这一情 况下与图4的事件过滤器416-1和416-2相同的可变值参数610-1或者610-2。这些值参 数610如图所示包括随着预订的事件和可用座位变化的预订名称和可用座位数目。
[0043] 在块318,创建连接选择的事件与选择的动作的突触。这一突触可以连接与单个事 件与单个动作一样少,但是在这一示例中,在突触中也包括事件上下文、事件过滤器和动作 参数。这一突触可以组成工作流程的全部,但是在一些情况下创建在"反复"箭头320所示 多个突触。可以将这一和其它突触组合成工作流程。因此,方法300然该用户能够创建具 有复杂或者简单结果以及具有如一个突触一样少或者与数以百计的突触一样多的定制工 作流程。
[0044] 在块320,使用一个或者多个突触来构建工作流程。这一工作流程被配置用于让应 用响应于选择的事件执行选择的动作。考虑当前示例,一旦创建这一工作流程,在用户使用 应用以例如购买剧本"Les 1^沾作131^"的4:00上映的门票(事件)并且剧本的该上映少 于四张门票仍然可用(事件过滤器)、这里假设共计两张门票时,(例如,向客户列表)发送 具有以下文字的tweet :
[0045] 如果你真的想要赶上Les Mis6rables演出的4 :00上映,那么你必须抓紧。仅剩 余两个座位。
[0046] 图7描绘用于通过基于用户与功能软件实体的交互和对功能软件实体的操作的 历史确定在事件与动作之间的相关来构建工作流程的方法700。
[0047] 在块702,接收历史,该历史包括用户与功能软件实体的交互和对功能软件实体的 操作。这一用户的交互的历史包括功能软件实体执行的操作记录和用户与功能软件实体的 交互。这一记录也可以包括操作和交互的定时。尽管接收历史可以是被动操作,但是在一 些情况下,接收历史包括扫描用户的活动日志。
[0048] 在块704,基于历史确定在事件与动作之间的相关。可以根据如在历史中记录的由 功能软件实体执行的操作来确定这些事件和动作。如以上指出的那样,功能软件实体的操 作可以是事件或者动作。因此,实体例如执行发送电子邮件、打开评论框或者放大地图的操 作可以被确定为事件或者动作。动作与先前事件相关,但是可以确定特定操作为事件或者 动作。另外,可以基于用户的交互使历史中的操作相关。例如,用户使实体执行打开评论框 的操作可以是事件,并且相关的动作可以是从电子邮件填写文字,或者事件可以是用户从 电子邮件向评论框中填写文字,并且动作可以是关闭评论框。
[0049] 如指出的那样,这一用户交互历史可以包括定时。在这样的情况下,工作流程管理 器130可以确定在功能软件实体执行的操作与用户与功能软件实体的交互之间的时间量。 这一时间量可以用来确定相关、比如让用户的在功能软件实体执行的操作之后立即执行的 与功能软件实体的交互相关。
[0050] 也如以上指出的那样,历史可以是扫描用户的活动目志的结果。在这样的情况下, 在块704确定相关包括发现活动模式(例如,依次或者另外有关)并且为成对这些活动构 建突触。这些活动中的每个活动可以是用户的交互或者功能软件实体的操作,这二者可以 是工作流程的事件或者动作。
[0051] 例如考虑如下情况,其中用户活动日志示出用户在电子邮件来自老板的秘书并且 在主体行中具有以下单词:"准备会议"时响应于接收该电子邮件来一致地打开日历条目。 在这一示例中,接收的电子邮件是事件,一个事件过滤器是在"来自"行中的秘书的电子邮 件地址动作,而另一事件过滤器是在主体行中的单词"准备会议"。动作是打开日历预约。 因此,具有这些要素的工作流程可以在接收这样的电子邮件时自动打开日历预约。方法700 可以基于这一用户的历史自动确定突触、呈现突触用于由用户选择、然后响应于选择来构 建工作流程。
[0052] 在块706,使得能够选择一个或者多个突触,每个突触代表与事件相关的动作。如 以上指出的那样,这可以用各种方式来执行、比如通过在图形用户界面中的图形选择,但是 这不是必需。另外,如以上指出的那样,这些突触可以包括事件-动作对,这些事件-动作 对也可以包括事件过滤器、事件上下文、动作参数和/或动作上下文。
[0053] 继续当前示例,假设方法700与事件过滤器一起呈现这一突触,该突触示出在接 收电子邮件与打开日历条目之间的相关。用户然后可以选择从其构建工作流程的这一突触 或者与其它突触组合或者更改事件过滤器或者添加动作参数等。用户可以添加用于与用户 期望添加的某个标准文字一起从电子邮件的正文向日历条目中自动录入文字的动作参数。 在图4至图6中示出通过界面选择和更改的示例。
[0054] 在块708,构建工作流程,该工作流程被配置用于使功能软件实体中的一个功能软 件实体响应于相关的事件的出现来执行相关的动作,该工作流程响应于选择一个或者多个 突触来构建。以上示例中的一些示例聚焦于单突触工作流程,但是也可以构建多突触工作 流程。
[0055] 例如,考虑图示三突触工作流程802的图8。示出在突触804-1、804-2和804-3标 记的三个突触804。注意示出每个突触804具有在事件806-1、806-2和806-3所示事件806 之一。每个突触804也包括在动作808-1、808-2和808-3所示动作808之一。可以包括但 是并非必需在事件过滤器810-1和810-2所示事件过滤器810。动作808-1和808-2这前 两个动作中的每个动作分别引起或者与用户交互一起分别引起动作808-1和808-2。分别 在箭头812和814示出这一引起。因此,一个事件806-1引起动作808-1,该动作又引起事 件806-2 (或者动作是事件806-2),该事件又引起动作808-2,该动作又引起事件806-3 (或 者动作是事件806-3),该事件又引起动作806-3,在该动作之后,工作流程802结束。
[0056] 例如,假设使用图像处理应用的艺术家反复地选择高分辨率照片的小元素(例 如,松树的树枝或者在足球场上的足球)、将那些元素放大到10x更大尺寸、改变该元素的 某个部分(例如,在树枝上的松针或者制造商在足球上的标志)的颜色、缩小回到原有视图 并且使照片重新居中。在这一示例中,事件806-1是选择元素,其中该元素小于20x20个像 素(事件过滤器801之一),动作808-1是增加元素尺寸(例如,增加到200x200个像素)的 放大,事件806-2是完成对元素在该增加尺寸的元素内的部分进行的颜色改变,动作808-2 是缩小回到原有尺寸,事件806-3也是该缩小(因此无需中间用户交互),并且动作808-3 使照片重新居中。因此,技术使艺术家能够自动化反复动作并且使这些动作一致而无需软 件设计者创建定制代码。
[0057] 示出前述方法为指定执行的动作的块集合、但是未必限于对于相应块执行操作而 示出的顺序。另外,这些方法全部或者部分可以组合使用。
[0058] 可以在硬件(例如,固定逻辑电路装置)、固件、片上系统(SoC)、软件、人工处理或 者其任何组合中实施这些方法的方面。软件实现方式代表程序代码,这些程序代码在由计 算机处理器执行执行指定的任务、比如应用、例程、程序、对象、部件、数据结构、过程、模块、 函数等。程序代码可以存储于在计算机处理器本地和/或远离计算机处理器的一个或者多 个计算机可读存储器设备中。方法还可以在分布式计算环境中由多个计算设备实现。
[0059] 示例设各
[0060] 图9图示示例设备900的各种部件,可以如参照前图1至图8描述的那样实施该 设备为任何类型的客户端、服务器和/或计算设备以实施技术和/或装置,这些技术和/ 或装置实现用户可选择的定制工作流程。在实施例中,可以实施设备900为有线和/或无 线设备中的一个设备或者组合、实施为电视客户的设备(例如,电视机顶盒、数字视频记录 器(DVR)等)、客户设备、计算机设备、服务器设备、便携计算机设备、用户设备、通信设备、 视频处理和/或表现设备、家电设备、游戏设备、电子设备和/或实施为另一类型的设备的 形式。设备900也可以与用户(例如个人)和/或实体关联,该用户(例如个人)和/或 实体操作该设备,从而设备描述逻辑设备,这些逻辑设备包括用户、软件、固件和/或设备 组合。
[0061] 设备900包括通信设备902,这些通信设备实现设备数据904 (例如,接收的数据、 正在接收的数据、被调度用于广播的数据、数据的数据分组等)的有线和/或无线通信。设 备数据904或者其它设备内容可以包括设备的配置设置、在设备上存储的媒体内容和/或 与设备的用户关联的信息。在设备900上存储的媒体内容可以包括任何类型的音频、视频 和/或图像数据。设备900包括一个或者多个数据输入906,可以经由该一个或者多个数据 输入来接收任何类型的数据、媒体内容和/或输入、比如用户可选择的输入、消息、音乐、电 视媒体内容、记录的视频内容以及从任何内容和/或数据源接收的任何其它类型的音频、 视频和/或图像数据。
[0062] 设备900还包括通信接口 908,可以实施这些通信接口为串行和/或并行接口、无 线接口、任何类型的网络接口、调制解调器或者实施为任何其它类型的通信接口中的任何 一个或者多个接口。通信接口 908提供在设备900与通信网络之间的连接和/或通信链路, 其它电子、计算和通信设备通过该通信网络与设备900传达数据。
[0063] 设备900包括一个或者多个处理器910 (例如,微处理器、控制器等中的任何一 项),该一个或者多个处理器处理各种计算机可执行指令以控制设备900的操作并且实现 技术,这些技术实现制定的0S学习体验。备选地或者附加的,可以用硬件、固件或者结合在 912 -般地标识的处理和控制电路实施的固定逻辑电路装置中的任一项或者组合来实施设 备900。虽然未示出,但是设备900可以包括耦合设备内的各种部件的系统总线或者数据传 送系统。系统总线可以包括不同总线结构中的任一总线结构或者组合、比如存储器总线或 者存储器控制器、外围总线、通用串行总线和/或利用多种总线架构中的任何总线架构的 处理器或者本地总线。
[0064] 设备900还包括计算机可读存储介质914、比如实现持久和/或非瞬态数据存储 (即,与仅信号传输对照)的一个或者多个存储器设备,这些存储器设备的示例包括随机存 取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPR0M、EEPR0M等中的任 意一项或者多项)和盘存储设备。可以实施盘存储设备为任何类型的磁或者光存储设备、 比如硬盘驱动、可记录和/或可重写紧致盘(⑶)、任何类型的数字万用盘(DVD)等。设备 900还可以包括海量存储介质设备(设备介质)916。
[0065] 计算机可读存储介质914提供用于存储设备数据904以及各种设备应用918和与 设备900的操作方面有关的任何其它类型的信息和/或数据的数据存储机制。例如,可以 用计算机可读存储介质914维持操作系统920作为计算机应用并且在处理器910上执行。 设备应用918可以包括设备管理器、比如任何形式的控制应用、软件应用、信号处理和控制 模块、特定设备本机的代码、用于特定设备的硬件抽象化层等。
[0066] 设备应用918还包括用于实施技术的任何系统部件、模块或者管理器、比如功能 软件实体128、工作流程管理器130、用户界面132和突触134。
[0067]
[0068] 虽然已经用特征和/或方法特有的言语描述实现用户可创建的的定制工作流程 的技术和装置的实施例,但是将理解所附权利要求的主题未必限于描述的具体特征或者方 法。实际上,公开具体特征和方法作为实现用户可创建的定制工作流程的示例实现方式。
【权利要求】
1. 一种计算机实施的方法,包括: 接收对暴露的事件的选择,所述暴露的事件在应用内部; 接收对暴露的动作的选择,所述暴露的动作在所述应用内部; 创建连接所述选择的事件与所述选择的动作的突触;以及 使用所述突触来构建工作流程,所述工作流程被配置用于使所述应用响应于所述选择 的事件执行所述选择的动作。
2.如权利要求1所述的计算机实施的方法,其中所述选择的动作是如果所述事件出现 则由所述应用执行的具体活动。
3.如权利要求1所述的计算机实施的方法,其中所述选择的事件是由所述应用执行的 具体活动。
4.如权利要求1所述的计算机实施的方法,还包括接收对事件过滤器的选择,所述事 件过滤器是用于执行所述选择的动作的条件,并且其中构建所述工作流程配置所述工作流 程以使所述应用响应于所述条件被满足而执行所述选择的动作。
5.如权利要求1所述的计算机实施的方法,还包括接收对动作参数的选择,所述动作 参数被映射到静态或者可变值,并且其中构建所述工作流程配置所述工作流程以使所述应 用执行包括所述静态或者可变值的所述选择的动作。
6.如权利要求1所述的计算机实施的方法,还包括接收对事件上下文和动作上下文的 选择,所述事件上下文和所述动作上下文是从多个功能软件实体选择的。
7.如权利要求1所述的计算机实施的方法,还包括: 接收对在所述应用内部的另一暴露的事件的选择,所述暴露的事件能够由所述选择的 动作引起; 接收对在所述应用内部的另一暴露的动作的选择;以及 创建连接所述选择的另一事件与所述选择的另一动作的另一突触,并且 其中构建所述工作流程也使用所述另一突触,所述工作流程被配置用于使所述应用响 应于所述选择的事件执行所述选择的动作,然后在所述选择的动作之后响应于所述选择的 动作引起的所述另一选择的事件执行所述另一选择的动作。
8.如权利要求1所述的计算机实施的方法,其中使用流体标记语言来构建所述工作流 程。
9. 一种或多种包括计算机可读指令的计算机可读存储介质,所述计算机可读指令响应 于由一个或多个处理器执行来执行以下操作,所述操作包括: 在用户界面中暴露可选择的以下各项: 事件上下文; 事件; 事件过滤器; 动作上下文; 动作;以及 动作参数;并且 基于通过所述用户界面接收的选择来构建工作流程,所述工作流程被配置用于响应于 选择的事件在选择的事件上下文内出现并且满足选择的事件过滤器来引起选择的动作,所 述选择的动作是在选择的动作上下文内并且根据选择的动作参数执行的。
10.如权利要求9所述的一种或多种计算机可读存储介质,其中所述暴露呈现所述事 件上下文、所述事件、所述事件过滤器、所述动作上下文、所述动作或者所述动作参数的图 形可选择列表。
11.如权利要求9所述的一种或多种计算机可读存储介质,其中所述暴露的事件是对 于所述选择的事件上下文制定的。
12.如权利要求9所述的一种或多种计算机可读存储介质,其中暴露所述事件上下文 和所述动作上下文呈现在单个应用内部的功能软件实体。
13. -种或多种包括计算机可读指令的计算机可读存储介质,所述计算机可读指令响 应于由一个或多个处理器执行来执行以下操作,所述操作包括: 接收历史,所述历史包括与功能软件实体的交互和所述功能软件实体执行的操作; 基于所述历史确定使事件与动作相关的突触,所述相关的事件和动作根据所述功能软 件实体执行的所述操作来确定; 使得能够选择所述突触之一;以及 响应于选择所述突触之一,构建工作流程,所述工作流程被配置用于使所述功能软件 实体中的一个功能软件实体响应于出现所述选择的突触的所述相关的事件来执行所述选 择的突触的所述相关的动作。
14.如权利要求13所述的一种或多种计算机可读存储介质,其中所述相关的事件是所 述功能软件实体中的一个功能软件实体在无所述用户的交互时执行的所述操作之一,并且 所述相关的动作是所述功能软件实体中的所述一个或另一功能软件实体执行的所述操作 之一,所述相关的动作由与所述用户的交互引起。
15.如权利要求13所述的一种或多种计算机可读存储介质,其中所述历史包括所述操 作和所述交互的定时,并且确定突触是至少部分基于在所述功能软件实体执行的所述操作 与所述用户与所述功能软件实体的所述交互之间的时间量。
16.如权利要求13所述的一种或多种计算机可读存储介质,其中接收所述历史包括扫 描所述用户的活动日志,并且确定突触包括发现所述活动日志中的活动模式并且使所述发 现的模式中的依次操作相关。
17.如权利要求13所述的一种或多种计算机可读存储介质,其中使得能够选择所述一 个或多个突触包括在用户界面中呈现可选择的事件和动作。
18.如权利要求13所述的一种或多种计算机可读存储介质,其中确定所述突触基于所 述历史确定用于与所述相关的动作包括的动作参数。
19.如权利要求13所述的一种或多种计算机可读存储介质,其中确定所述突触包括基 于所述历史确定事件过滤器,所述事件过滤器是用于所述相关的动作的条件。
20.如权利要求13所述的一种或多种计算机可读存储介质,其中所述功能软件实体是 单独的应用。
【文档编号】G06F9/44GK104142821SQ201410146520
【公开日】2014年11月12日 申请日期:2014年4月10日 优先权日:2013年5月10日
【发明者】I·A·拉素 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1