CN111201509A - 创建软件应用时对使用者进行支持的方法和实现该方法的计算机程序及在该方法中可用的编程接口 - Google Patents
创建软件应用时对使用者进行支持的方法和实现该方法的计算机程序及在该方法中可用的编程接口 Download PDFInfo
- Publication number
- CN111201509A CN111201509A CN201880046049.7A CN201880046049A CN111201509A CN 111201509 A CN111201509 A CN 111201509A CN 201880046049 A CN201880046049 A CN 201880046049A CN 111201509 A CN111201509 A CN 111201509A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- programming interface
- functions
- application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004590 computer program Methods 0.000 title claims description 23
- 230000006870 function Effects 0.000 claims abstract description 164
- 230000003542 behavioural effect Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 52
- 230000015654 memory Effects 0.000 description 17
- 238000011161 development Methods 0.000 description 11
- 230000001419 dependent effect Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/20—Information sensed or collected by the things relating to the thing itself
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
本发明涉及一种在创建用于借助由编程接口(12)包括的单个或多个功能(14)访问IoT数据的应用(10)时对使用者进行支持的方法,其中在创建应用(10)时或在创建应用(10)的背景下接收和/或产生对于使用者而言特征性的用户数据(30)和行为数据(32),并且其中,在创建应用(10)时,以软件实现的工具(20)自动地评估用户数据(30)和行为数据(32),并且以这些数据为基础自动地产生对于编程接口(12)的能够与使用者和应用(10)相关的至少一个功能(14)的建议,作为对于使用者的支持,并且工具将建议显示给使用者。
Description
技术领域
本发明首先涉及一种用于例如在创建下文中简称为应用的、确定用于访问IoT数据(物联网数据)的软件应用时,对使用者进行支持的方法,即在创建为了访问IoT数据而使用在编程接口(API;应用编程接口)范围中提供的多个功能中的至少一个功能的应用时,对使用者进行支持的方法。此外,本发明也涉及实现该方法的计算机程序。
背景技术
上文所述类型的编程接口原则上是已知的,但是通常很复杂而且规模庞大,因此其使用更适合于经验丰富的程序员,并且经验丰富的程序员仅在频繁使用编程接口时才对编程接口的服务范围有近似完整的了解。
发明内容
本发明的第一目的相应地在于:在创建用于访问IoT数据的应用时有效且显著地支持下面称作为使用者的程序员,即与IT专家相比通常具有更少知识和经验的人员。
根据本发明,该目的借助具有独立方法权利要求的特征的方法来实现。为此,在创建确定用于访问IoT数据的应用时对使用者进行支持的方法中,提出:应用确定用于访问下文中有时也仅简称为数据的IoT数据。在该应用的范围中,对IoT数据的访问借助由编程接口包括的单个或多个功能来进行。在创建应用时或在创建应用的背景下,接收和/或产生对于使用者而言特征性的用户数据和行为数据。在创建应用时,以软件实现的工具自动地评估用户数据和/或行为数据。作为用户数据和行为数据的评估结果,工具产生对于编程接口的能够与使用者和应用相关的至少一个功能的建议。该建议被显示给使用者。可选地,在显示的范围内,被建议的功能或来自多个被建议的功能构成的组中的一个被建议的功能,可以被直接选择应用在相应的应用中。与使用者可能相关的至少一个功能的建议和其显示,是在创建相应的应用时、在本方法的范围中对使用者进行的支持。
本发明的这个方面的优点在于:实现了用户特有的支持,并且该支持因此至少倾向于考虑使用者的需求或者偏好。
本发明的另一目的在于:提出一种特别良好地适于在该方法的范围中使用的编程接口。该目的借助具有权利要求1特征的编程接口来实现。在包括并提供用于访问IoT数据的功能的这种编程接口的情况下提出:在创建使用编程接口的功能的应用时和/或在使用利用编程接口的功能的应用时,存储与此相关的特征性数据-即将相应功能的使用代码化的数据。该数据是在此和在下文中称作为行为数据的数据,可选地是用户数据和这种行为数据。行为数据例如将程序员的行为代码化,而该行为例如是:选出编程接口的特定功能,并且在用于访问IoT数据的应用中提供该特定功能。用户数据例如尤其将相应用户的特性代码化。在可选的额外获取这种用户数据时,一定程度上也存储:“何人”使用编程接口的特定功能,其中“何人”不必表示特定的人(使用者、用户),而是能够参考人员(程序员,开发员等)的特性。在下面的描述中可以获得关于用户数据和行为数据的示例性范围的细节。在使用应用时,以行为数据的形式例如获取:借助何种参数调用编程接口的功能,即调用例如涉及IoT数据的哪个数据范围。除了自动获取这种数据之外,编程接口的特殊之处还在于:编程接口包括特定功能(用户比较功能),该特定功能为编程接口的使用者至少提供行为数据。
本发明的该方面的优点在于:在中央位置处进行或实现至少行为数据在编程接口层面上的存储,可选的是用户和/或行为数据的存储,以及同样在中央位置处进行或实现在编程接口层面上的至少对行为数据的访问可能性,即借助用户比较功能来访问。因此,至少行为数据的可用性与例如确定用于创建应用的开发环境等无关,其中,借助该开发环境原则上同样可以实现这种数据获取和访问可能性。因此,程序员的在创建应用期间形成的行为数据等,还能够例如通过如下方式被评估以用于自动地产生关于应用的使用和/或参数化的建议:即得出和自动地建议考虑在应用中使用或通过应用使用的数据、数据存储器等。现今,通常在用户接口的范围内并且不借助特定的开发环境来选择此类数据等。例如,现今在这种用户接口的范围内,可以选择所有原则上可用的数据。借此,产生与之前针对编程接口的功能范围所阐述的相似的复杂性或混乱性。相反,如果在使用应用时,即在选择要借助应用处理或编辑的数据时,就知道应用的程序员已经使用了编程接口的哪些功能和/或可以借助于这些所用功能来处理哪些数据,则可以有效地限制出原则上提供的数据总体。这种自动限制使得能够更快速且更不易出错地选择要借助应用处理或编辑的数据。就此而言,本发明也涉及一种用于在软件应用的使用和/或参数化中支持使用者的方法。
本发明的有利设计方案是从属权利要求的主题。在权利要求中使用的引用关系表示用相应的从属权利要求的特征来进一步改进所引用的权利要求的主题。它们不应理解为放弃实现对从属权利要求的特征或特征组合的独立、客观的保护。此外,关于权利要求的解释以及在将从属权利要求中的特征详细具体化时所作描述的前提是:在相应的前述权利要求和主题方法的更一般的实施方式中不存在这种限制。因此,即使没有具体指明,说明书中对从属权利要求的各个方面的任何引用都应明确地理解为对可选特征的描述。
该方法的实施方式例如涉及:如何自动地将编程接口的至少一个功能识别为预计与使用者或应用相关的功能。
在该方法的一个实施方式中,就此而言根据使用者的行为数据来求出:使用者之前已经使用过编程接口的哪个或哪些功能。至此为止的这种使用尤其通过如下方式记录在行为数据中:即对于每个所使用的功能而言,不仅将使用情况自身而且将使用频率代码化的数字也作为行为数据的一部分。已经由使用者使用的功能可能是如下功能,其对于使用者而言也被考虑用于再次使用。此时,使用者知道该功能的作用方式,从而他因此已经倾向于再次使用它。另外,已经使用的功能显然是原则上可供考虑用于解决用户所面临的任务的功能。如果行为数据还将功能使用的频率代码化,则从这种数据可以得到关于功能潜在相关性的另一个强力指示。
行为数据可以由工具自动评估,并且通过该工具在创建相应应用的背景下自动评估,从而工具能够为了支持使用者而自动产生用于编程接口的能够与使用者和应用相关的至少一个功能的建议,并且在工具执行期间自动地产生。
在方法的附加或替代的实施方式中,以原则上类似的方式和方法基于如下事实自动地识别预计与使用者和应用相关的功能,即借助功能能够处理按照行为数据已经由使用者使用(尤其多次使用)的IoT数据。在此,工具也自动地评估行为数据。行为数据将特定的IoT数据的可能使用代码化并且可选地也将使用频率代码化。通过评估行为数据-原则上如上所述,工具能够选择如下功能作为可能相关的功能:借助该功能能够处理这种IoT数据。在此,工具还处理将IoT数据和确定用于编辑IoT数据的功能之间的关联代码化的数据库,关联例如呈一个或多个图像形式。
通过工具实现的自动选择并不局限于对相应的使用者本身的行为数据的处理。从其他使用者-下面仅为了更好区分而称作为“程序员”-的行为数据也能够得出对于与相应的使用者相关的功能的线索。如果例如其他程序员使用或甚至尤其频繁地使用一个功能或多个特定功能,则这指示了一个或多个相关的功能可能也与相应的使用者相关。在该情况下,工具不评估相应使用者的行为数据,而是更确切地说评估至少一个其他程序员、可选多个其他程序员的行为数据-即在其他程序员的使用行为的最广范的意义上而言的行为数据。可选地,就此而言通过工具自动地也评估:一个或多个其他程序员使用哪些IoT数据,以便在工具功能的范围中为相应的使用者建议编程接口的、适合处理这种IoT数据的一个或多个功能作为可能相关的功能。
就像借助工具可评估其他程序员的使用行为并且通过该工具评估那样,借助工具也能够自动地识别相应的使用者和一个或多个其他程序员的“相似性”。为此,工具评估相应的用户数据。如果根据用户数据例如得出:相应的使用者和至少一个其他程序员在相同的企业工作,那么这能够被工具自动地评估为关于以下内容的指示:相应的使用者关注的功能、数据和/或数据存储器也许与按照其他程序员的行为数据已经由其他程序员所使用的相同。类似的情况例如适用于:在存储的用户数据中对于其他程序员找到(并且自动地通过工具得出)至少一个程序员的用户数据,根据该用户数据得出:相应的使用者和至少一个其他程序员在其相应的企业中具有相同的或类似的任务。这也是关于以下内容的自动可评估的指示:相应的使用者关注的功能、数据和/或数据存储器也许与按照其他程序员的行为数据也已经由其他程序员所使用的相同。
如果借助工具依次参照各个标准(企业,任务等)执行这种评估并且在此对于相应的使用者分别得出重叠和相应可能相关的功能等,那么根据通过工具自动执行的对重叠的定量评估,可以将对于相应的使用者的建议优先化。如果因此例如得出其他程序员在相同的企业工作并且在该企业中具有相同的或类似的任务,那么这表明如下假设是正确的:与“仅”在相同的企业工作或者在另一企业中“仅”具有相同或类似任务的又一程序员使用的功能等相比,按照其行为数据至此为止由该其他程序员使用的功能等对于相应的使用者来说可能具有更大的相关性。
在此和在下文中作为工具的功能描述的所有功能同样也适用于编程接口,即例如具有用户比较功能的编程接口,用户比较功能实现了作为工具功能描述的功能。在这种编程接口中减小了工具的规模,因为工具调用了如下用户比较功能,其包括在其他情况下作为工具功能实现的功能。
在此提出的和在下文中更详细描述的方法为了自动地执行而以计算机程序的形式来实现。本发明因此一方面也涉及具有可通过计算机执行的程序代码指令的计算机程序,另一方面涉及具有这种计算机程序的存储介质,即具有程序代码构件的计算机程序产品。本发明最后也涉及一种编程设备,其确定用于创建用于借助由编程接口所包括的一个或多个功能访问IoT数据的应用,并且在编程设备的存储器中加载或能够加载这种计算机程序作为用于执行该方法和其设计方案的装置。
如果在下面描述方法步骤或方法步骤序列,那么这涉及根据计算机程序或在计算机程序的控制下进行的动作,只要没有明确地指出各个动作通过计算机程序的使用者来发起。术语“自动”的每次使用至少表示:所涉及的动作根据计算机程序或在计算机程序的控制下进行。
附图说明
下面根据附图详细阐述本发明的实施例。彼此相应的对象或元件在全部附图中设有相同的附图标记。
实施例不可理解为对本发明的限制。确切地说,在本公开的范围中也完全能够实现补充方案和修改方案,特别是对于本领域技术人员而言在解决所述目的方面是可以获得例如通过组合或修改一般性或具体的说明书部分描述的以及权利要求和/或附图中包含的各个特征或方法步骤产生的补充方案或修改方案,且补充方案或修改方案通过可组合的特征产生新的主题或新的方法步骤或方法步骤序列。
附图示出
图1示出为了访问IoT数据而使用编程接口(API)的功能的应用,
图2示出工具,其根据在此提出的方案在创建根据图1的应用时支持使用者,
图3示出工具的工作方式的简化图,和
图4示出列表,其是为了支持使用者而借助工具生成的输出的实例。
具体实施方式
所谓的物联网(IoT)能够视作为由物体和/或设备构成的网络,物体和/或设备一定程度上具有集成的传感系统,其呈现与物体或设备相关联的传感装置的形式,从而可以接收数据并交换数据。由这种网络所包括的物体或设备例如包含:机器、设施、设施部件和一般的自动化工程设施,其具有由自身所包括的控制硬件和分别进行控制和/或监视的设备,以及与其相关联的执行器和传感器。
大量企业研发用于处理和使用在这种框架下产生的数据(IoT数据)的解决方案和应用。这种应用也可选地又彼此联网,联网的形式例如是应用例如使用也由其他应用使用的数据,和/或用于处理数据的应用使用也由其他应用使用的功能。整体上,因此产生用于访问和使用IoT数据的平台(IoT平台),其在专业术语中有时也称作为“生态系统(Ecosystem)”。
图1中的视图示意性地简化示出多个应用10(Application),应用为了区分而用符号“A1”、“A2”和“A3”表示。应用10的数量原则上是任意的。应用10为了访问IoT数据而使用至少单个功能14,该功能由编程接口12(API)提供。在API 12内的功能14的数量,原则上同样是任意的。在图1中示出的功能为了区分而用符号“F1”、“F2”、“F3”和“F4”来表示。应用10利用一个功能14或多个功能14使用和/或处理数据(IoT数据),数据被留存在数据池16中、尤其在所谓的云端中形成的数据池16中,必要时也留存在分布式数据池16中。数据例如是借助相应的传感装置记录的传感器数据等,其例如呈时间序列的形式。相同类型的或以特别方式配套的数据能够留存在各个(可能分布式的)存储器18中,存储器整体形成数据池16。图1中示出的存储器18为了区分而用符号“S1”、“S2”和“S3”表示。
回到之前提出的一般性实施方案,根据图1中示出的情况得出:具有符号名称“A1”、“A2”和“A3”的应用10全部使用具有符号名称“F3”的功能14,并且经由该功能,例如访问具有符号名称“S2”和“S3”的存储器18中的数据。
在这种或类似的数据访问的背景下的典型应用情况是数据可视化、数据的转换/变换、基于数据的计算和分析等等。在该背景下使用的功能14通常是所谓的ReST API(表述性状态转移API)的功能14,并且这种API是在本文所提出的方法的范围中可使用的编程接口12的具体实例。
这种或类似的编程接口12提供用于访问单个存储器18或多个存储器18以及访问留存在其中的数据的大量功能14。一些功能14比其他功能14更频繁地使用。尤其是取决于相应的编程接口12的强大性,即例如取决于在编程接口12的范围内可提供的功能14的数量,编程接口12能够是复杂的,而该复杂性使得难以概览总体可提供的服务范围。编程接口12的使用者因此可能必须深入研究相应提供的服务范围,以便最后能够鉴别出相应任务所需的功能14以及数据和其存储地点。为此,使用者至少需要以下基础编程知识,其使得使用者能够识别和理解编程接口12所基于的体系。此外,使用者必须审核全部可提供的功能14的功能范围至少一次,以便一方面评价每个单个功能14的具体的服务范围并且据此另一方面也能够决定被考虑的可能多个功能14中的哪个最适合于相应的任务。
在此提出的方案的目标是:减小该耗费或至少将其转移。
至今为止,用于访问IoT数据的应用10通常由专家(IT专家)创建,专家在其经验范围内能够相对容易地实现上面简述的概览。但是借此,能够创建这种应用10的人员数量也很受限制。
根据在此提出的方案提出:使用者、主要还有不属于IT专家圈的使用者,在创建应用10时借助工具(Tool)20得到支持。这种工具20作为计算机程序实现并且示意性地在图2中简化示出。计算机程序一定程度上在后台被实现为确定用于创建应用10的开发环境22的组成部分或者以特别的方式和方法实现。工具20就最广泛的意义而言在创建应用10时和/或在使用开发环境22时“观察”使用者。该观察的结果形成用于借助工具20自动地提供对于使用者支持的基础。
为此,图2中的视图也示意性地简化示出为了这种自动支持而由工具20使用的数据。为了更好地区分数据,为此,示出第一数据库25和第二数据库26。第一数据库24包括用户数据30。第二数据库26包括行为数据32。工具20自动地编排数据30、32并且将数据保存在相应的数据库24、26中,并且工具在自动支持使用者时使用数据30、32。第一和第二数据库24、26能够在实体上属于相同的存储器或不同的存储器。
例如,作为用户数据30,为每个使用者检测唯一标志该使用者的标识(用户ID)、该使用者工作的企业、使用者在相应企业中的位置和/或安全特定的信息(安全角色),例如关于在使用相应的IoT平台的范围中的使用者权限。此外,附加地或可替代地,在用户数据30的范围中还能够存储为所涉及的使用者第一次编排用户数据30的时间点(日期,或日期和时间,作为时间戳)。
因此,具有用户数据30的数据集例如包括如下信息:
用户ID
企业
企业中的位置
安全角色
时间戳
作为行为数据32检测如下数据,其在由使用者使用开发环境22期间和/或在使用编程接口12期间产生并且对于相应的用户行为是表征性的。
因此,具有行为数据32的数据集例如包括如下信息:
用户ID
时间戳
使用的(多个)功能14
使用的一个功能14或多个功能14的参数
使用的数据/数据存储器18
通过唯一地表示使用者的标识(用户ID)能够将一个使用者的用户数据30和该使用者的行为数据32彼此组合。
在创建一个应用10或多个应用10的过程中,例如通过如下方式形成关于相应的使用者的愈发详细的行为数据32:在行为数据32中记录使用者频繁使用的同一功能14或一组功能14中的特定的多个功能14。
该信息基于由工具20进行的自动评估就已经能够通过如下方式被用于支持使用者:在能够选择功能14的过程中,为使用者优先提供频繁使用的一个或每个功能14。这种优先提供例如能够通过将功能14或单个功能14在具有供选择的功能14的列表开头显示来实现。可替代的可行性例如是:在以树形式呈现供选择的功能14时,借助树的节点合并频繁使用的功能14并且可选地在树根附近,尤其紧邻树根,显示这种节点。在供选择的功能14的这种或类似呈现中,使用者快速看到至此为止已经频繁使用的功能14并且不必麻烦地在大规模列表或复杂的树结构中找出相应期望的功能14。
正如在上文针对一个或多个频繁使用的功能14简述的那样,能够检测:使用者至此为止已经使用哪个数据和/或哪个数据存储器18,从而同样以易于使用者再次选择的方式和方法为使用者呈现该功能或者能够用于处理这种数据的一个功能14或者多个功能14,例如在列表的开始或者在树结构的可快速到达的部位处呈现。
当然,以类似的方式和方法也能够形成交叉关联。首次借助编程接口12和开发环境22工作的使用者还不能基于自身的行为数据32得到支持。当然,如果使用者选择特定的数据和/或数据存储器18,那么根据其他使用者的行为数据32能够通过工具20自动地识别:这种其他使用者已经使用了哪个功能14或哪些功能14来访问该数据或数据存储器18。因此,没有自身的行为数据32或自身的行为数据32很少的使用者也能够通过如下方式借助工具20得到自动支持:以上述的且易于选择的方式呈现由其他使用者使用的功能14。相同的内容相应地适用于没有自身的行为数据32或自身的行为数据32很少的使用者对功能14的选择。在此,基于其他使用者的行为数据32也能够通过工具20为该使用者自动地做出关于借助相应的功能14可处理的数据和/或可使用的数据存储器18的有用建议。
图3中的视图以示意性简化的方式和方法示出在使用工具20(图2)时的流程。在第一步骤(“1”)中产生新的应用10并且首次启动(在对于该使用者尚未存在用户数据30的情况下,现在产生用户数据并且例如存储在数据池16中)。在第二步骤(“2”)中,借助工具20基于相应的使用者(新应用10的程序员)的用户数据30和行为数据32自动地生成对于使用者的建议。在尚未存在行为数据32或行为数据32可能不足的情况下,不产生这种建议并且为使用者例如代替上述专门为其所生成的选择可能性而提供如下选择可能性(例如在显示屏上显示),其覆盖编程接口12的整个功能范围。借助以软件实现的且属于编程接口12的数据访问功能34,监视和检测使用者的相应选择,例如对一个功能14或多个功能14的选择和/或对一个数据存储器18或多个数据存储器18的选择或对其中留存的数据的选择。检测在创建相应的应用10的使用者的行为数据32中进行。在第三步骤(“3”)中,根据用户数据30和行为数据32鉴别可能的功能14、数据存储器18和/或数据。在此,可能的功能14是可能与使用者相关的功能14。当使用者已经更早地使用该功能14时,例如根据行为数据32得出相关性,或者当使用者已经选择了可利用该功能14调用和/或处理的数据时,根据行为数据32得出相关性,等等。附加地或可替代地,也能够评估其他程序员的用户数据30和/或行为数据32。在第四步骤(“4”)中,产生和显示建议。图4的视图中示意性地简化示出通过工具20能够自动生成的选择可能性。在此,原则上可提供的功能14在列表38中示出并进而供以选择。在列表38中,与使用者尤其相关的功能14在突出位置处示出,即例如在第一位置处示出。
类似的内容相应地适用于可能的数据存储器18和可能的数据。在此也根据基于对用户数据30和行为数据32的评估得出的关于使用者的预测相关性得出概率。在随后的第五步骤(“5”)中,使用者(或可选地还有用于使用者的工具20)例如选择用于在相应的应用10中使用的功能14、数据存储器18和/或数据。由此得到具体化的行为数据32,行为数据在步骤“2”、“3”、“4”和“5”的循环流程中得以考虑。
在此提出的新方案的单独方面是:一方面,工具20能够使用用户数据30和行为数据32,以便-如所描述的那样-自动地做出关于预计相关的功能14、数据、数据存储器18等的建议,但另一方面,编程接口12是用于检测这种数据的中央支点和要点,进而在最广泛的意义上,编程接口12本身-在相应的、原则上可选的设计方案中-具有如下数据,该数据表征不同用户至此为止对编程接口的使用。
因此存在于编程接口12中的信息能够在特定功能的调用路径中被请求。该特定功能在下文中为了区分被称为用户比较功能36。因此,为了区分,如下地称呼编程接口12的不同用户:使用者是以下人员或人员组,对于该人员或人员组应通过使用用户比较功能36得出关于编程接口12的至此为止的使用的信息。用户是以下人员或人员组,对于该人员或人员组在使用编程接口12的范围中已经产生用户数据30和行为数据32。使用者就此意义而言同样是用户,但是可能是首次用户。
通过由这种使用者调用用户比较功能36或者对于这种使用者调用用户比较功能,在访问存在于编程接口12中的信息(用户数据30、行为数据32)的路径中应当得出:其他用户是否以一定的方式和方法已经使用或者正在使用编程接口12,而这对于相应的使用者来说也是可预期的。
通过使用者的调用例如是在创建应用10时产生的调用。为了创建相应的应用10,使用者使用开发环境22。开发环境包括上述类型的工具20或调用这种工具20。工具20调用用户比较功能36。因此,通过使用开发环境22且进而使用工具20的使用者间接进行调用(通过使用者的调用)。
对于使用者的调用例如是在使用(例如参数化)已经存在的应用10时产生的调用。使用者借助用户接口将应用10参数化。用于显示和评估用户接口的计算机程序调用用户比较功能36。调用通过计算机程序且对于使用计算机程序的使用者进行(对于使用者的调用)。使用者在这种计算机程序中登录,以便在登录路径中获得对计算机程序的访问和对其使用的权限。在这种登录时,例如以原则上已知的方式和方法请求用户名和密码并且参照已存储的用户数据对其进行检查。借助这种登录,计算机程序因此访问可用于调用用户比较功能36的用户数据。此外,计算机程序能够-正如之前针对开发环境22描述的那样-存储关于使用者的其他数据。借此,计算机程序可选地也具有在调用用户比较功能36时可用作为行为数据的数据。
用户比较功能36例如利用相应的使用者的用户数据30和/或行为数据32作为参数被调用,随后在用户比较功能36的范围中在具有用户数据30的数据库24中和/或具有行为数据32的数据库26中自动地得出一致性。在用户比较功能36(或由该特定功能36调用的其他功能)的功能范围中自动地得出这种一致性。当在具有用户数据30的数据库24中找到对于在与使用者相同的企业中工作的用户所产生的数据集时,例如得出关于用户数据30的一致性。此时,可以基于以下前提:使用者需要类似的数据、数据存储器18和/或功能14。因此,能够以上述方式为使用者建议以下用户已经使用的数据、数据存储器18和/或功能14,对于该用户产生所求出的用户数据30。
相对于前述的在创建应用10时对使用者的自动支持的特殊性在于:在编程接口12的层面上已经存在支持,并且当使用者完全不想或不必自己创建应用10而是想要使用已经存在的应用10时也进行支持。此时,例如在选择借助相应的应用10应编辑和/或处理的数据和/或数据存储器18时,使用者借助用户比较功能36的结果获得支持。用户比较功能36此时(本身或者以可通过用户比较功能36调用的一个或多个其他功能的形式)包括之前在阐述工具20的功能性的背景下描述的功能性。
就此而言,本发明也涉及一种编程接口12,其包括至少一个这种用户比较功能36,用户比较功能在被调用时提供关于通过其他用户当前和/或历史上使用编程接口12和其所包括的功能14的信息。
可选地,用户比较功能36也起到在前述工具20与所存储的用户和行为数据30、32之间的接口的作用,尤其起到唯一接口的作用。之前在阐述工具20的功能性的背景下描述的功能性也能够完全或部分地作为用户比较功能36的功能性或通过用户比较功能36可调用的一个或多个其他功能的功能性来实现。
尽管在细节上通过优选的实施例详细地阐述和描述了本发明,然而本发明不局限于所公开的实例,并且能够由本领域技术人员从中推导出其他的变型,而没有离开本发明的保护范围。
在此提交的说明书的上述各个方面因此能够简要地总结如下:提出一种在创建应用10时对使用者进行支持的方法,应用确定用于访问IoT数据并且在应用中借助由编程接口12包括的单个或多个功能14进行这种访问。在方法的范围内提出:在创建应用10时或在创建应用10的背景下,接收和/或产生对于使用者表征性的用户数据30和行为数据32,并且以软件实现的工具20在创建应用10时自动评估用户数据30和行为数据32,并且工具以其为基础自动地产生关于编程接口12的与使用者和应用10可能相关的至少一个功能14的建议作为对使用者的支持,并且工具将建议显示给使用者。此外,提出一种在这种方法的范围中可使用的、但是特别是也可独立于这种方法的实施方案使用的编程接口12,编程接口-简短来说-自动地且自主地对于不同的使用者/用户检测编程接口12的使用类型,尤其是所使用的功能14,并且提供该使用类型以用于评估。
Claims (11)
1.一种具有访问IoT数据的功能(14)的编程接口(12),
其中,在创建或使用利用所述编程接口(12)的功能(14)的应用(10)时,存储与此相关的特征性数据,即至少存储行为数据(32),所述行为数据将相应的所述功能(14)的使用代码化,并且
其中,所述编程接口(12)包括用户比较功能(36),所述用户比较功能为所述编程接口(12)的使用者至少提供所述行为数据(32)。
2.根据权利要求1所述的编程接口(12),其中,所述用户比较功能(36)能够由使用者调用或为使用者调出,并且其中,所述用户比较功能(36)能够由所述使用者借助至少一个参数而调用,所述参数表征所述使用者和/或所述使用者的用户行为。
3.根据权利要求1或2所述的编程接口(12),其中,所述用户比较功能(36)自动地评估所述行为数据(32),并且所述用户比较功能以所述行为数据为基础自动地产生对于所述编程接口(12)的能够与所述使用者相关的至少一个所述功能(14)的建议,作为对于所述使用者的支持。
4.一种在创建用于借助由编程接口(12)包括的单个或多个功能(14)访问IoT数据的应用(10)时对使用者进行支持的方法,
其中,在创建所述应用(10)时或在创建所述应用(10)的背景下接收和/或产生对于使用者而言特征性的用户数据(30)和行为数据(32),并且
其中,在创建所述应用(10)时,以软件实现的工具(20)自动地评估所述用户数据(30)和/或所述行为数据(32),并且所述工具以所述用户数据和/或所述行为数据为基础自动地产生对于所述编程接口(12)的能够与所述使用者和所述应用(10)相关的至少一个功能(14)的建议,作为对于所述使用者的支持,并且所述工具将所述建议显示给所述使用者。
5.根据权利要求4所述的方法,
其中,预计与所述使用者和所述应用(10)相关的功能(14)是按照所述行为数据(32)已经被所述使用者使用的功能(14),
其中,这种功能(14)通过所述工具(20)根据所述行为数据(32)自动地选出。
6.根据权利要求4或5所述的方法,
其中,预计与所述使用者和所述应用(10)相关的功能(14)是能够用于处理按照所述行为数据(32)已经由所述使用者使用的数据的功能(14),
其中,这种功能(14)通过所述工具(20)根据所述行为数据(32)自动地选出。
7.根据权利要求4至6中任一项所述的方法,
其中,预计与所述使用者和所述应用(10)相关的功能(14)是按照其他使用者的所述行为数据(32)已经由所述其他使用者使用的功能(14),
其中,这种功能(14)通过所述工具(20)根据所述其他使用者的所述行为数据(32)自动地选出。
8.根据权利要求4至7中任一项所述的方法,
其中,预计与所述使用者和所述应用(10)相关的功能(14)是能够用于处理按照其他使用者的所述行为数据(32)已经由所述其他使用者使用的数据的功能(14),
其中,这种功能(14)通过所述工具(20)根据所述其他使用者的所述行为数据(32)自动地选出。
9.根据权利要求4至8中任一项所述的方法,
其中,所述编程接口(12)是根据权利要求1或2所述的编程接口(12)。
10.根据权利要求9所述的方法,其中,为了访问所述用户数据(30)和/或所述行为数据(32),所述工具(20)调用所述编程接口(12)的用户比较功能(36)。
11.一种计算机程序(20),具有程序代码构件,以便当所述计算机程序在确定用以创建用于借助由编程接口(12)包括的单个或多个功能(14)访问IoT数据的编程设备上运行时,执行权利要求4至10中任一项的全部步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17180475.0A EP3428793A1 (de) | 2017-07-10 | 2017-07-10 | Verfahren zur unterstützung eines anwenders bei einer erstellung einer software-applikation und computerprogramm mit einer implementation des verfahrens sowie im rahmen eines solchen verfahrens verwendbare programmierschnittstelle |
EP17180475.0 | 2017-07-10 | ||
PCT/EP2018/065585 WO2019011559A1 (de) | 2017-07-10 | 2018-06-13 | Verfahren zur unterstützung eines anwenders bei einer erstellung einer software-applikation und computerprogramm mit einer implementation des verfahrens sowie im rahmen eines solchen verfahrens verwendbare programmierschnittstelle |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111201509A true CN111201509A (zh) | 2020-05-26 |
CN111201509B CN111201509B (zh) | 2023-10-24 |
Family
ID=59315440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880046049.7A Active CN111201509B (zh) | 2017-07-10 | 2018-06-13 | 创建软件应用时对使用者进行支持的方法和实现该方法的计算机程序及在该方法中可用的编程接口 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11650796B2 (zh) |
EP (2) | EP3428793A1 (zh) |
CN (1) | CN111201509B (zh) |
WO (1) | WO2019011559A1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115192A1 (en) * | 2001-03-07 | 2003-06-19 | David Kil | One-step data mining with natural language specification and results |
CN102440009A (zh) * | 2009-03-09 | 2012-05-02 | 佐科姆有限公司 | 提供生活观察的移动终端和方法以及具有数据分析、分发以及终端指导特征的相关服务器布置和方法 |
CN102682357A (zh) * | 2011-02-14 | 2012-09-19 | 微软公司 | 根据业务流程的描述自动创建业务应用 |
US20130183926A1 (en) * | 2009-03-09 | 2013-07-18 | Arbitron Mobile Oy | Apparatus, System and Method for Mobile Terminal Data Analysis and Distribution Utilizing Internal Proxies |
US20140018034A1 (en) * | 2009-03-09 | 2014-01-16 | Arbitron Mobile Oy | Apparatus, System and Method for Modifiable Observational Logic for Mobile Terminal Data Analysis and Distribution |
CN104468257A (zh) * | 2014-10-30 | 2015-03-25 | 北京大学 | 基于移动用户时空行为的云应用可用性预测方法与系统 |
CN104715013A (zh) * | 2015-01-26 | 2015-06-17 | 南京邮电大学 | 一种基于Hadoop的用户健康数据分析方法和系统 |
CN105229603A (zh) * | 2013-04-22 | 2016-01-06 | 微软技术许可有限责任公司 | 控制对应用编程接口的运行时访问 |
US20160197798A1 (en) * | 2015-01-06 | 2016-07-07 | Joe Britt | System and method for collecting and utilizing user behavior data within an iot system |
CN106062790A (zh) * | 2014-02-24 | 2016-10-26 | 微软技术许可有限责任公司 | 统一呈现根据上下文连接的信息以改善用户的效率和交互绩效 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313784B2 (en) * | 2003-12-09 | 2007-12-25 | International Business Machines Corporation | Language independent code assist user preferences configuration method, system, article of manufacture, and computer program product |
WO2009062527A1 (en) * | 2007-11-13 | 2009-05-22 | Telefonaktiebogalet Lm Ericsson (Publ) | Technique for automatically generating software in a software development environment |
US8370799B2 (en) * | 2010-09-28 | 2013-02-05 | International Business Machines Corporation | Provision of code base modification using automatic learning of code changes |
US8843433B2 (en) * | 2011-03-29 | 2014-09-23 | Manyworlds, Inc. | Integrated search and adaptive discovery system and method |
CA2773721C (en) * | 2012-04-05 | 2019-03-05 | Ibm Canada Limited - Ibm Canada Limitee | Code validation using content assist |
US20140047413A1 (en) * | 2012-08-09 | 2014-02-13 | Modit, Inc. | Developing, Modifying, and Using Applications |
US20160012511A1 (en) * | 2013-06-25 | 2016-01-14 | Kobo Incorporated | Methods and systems for generating recommendation list with diversity |
US20150040101A1 (en) * | 2013-08-05 | 2015-02-05 | Sap Ag | Collaborative Awareness in Software Development |
US9442700B2 (en) * | 2013-09-30 | 2016-09-13 | MuleSoft, Inc. | API notebook tool |
GB201417913D0 (en) * | 2014-10-10 | 2014-11-26 | Ibm | Collaborative development of software programs based on service invocations |
US9588738B2 (en) * | 2015-02-16 | 2017-03-07 | International Business Machines Corporation | Supporting software application developers to iteratively refine requirements for web application programming interfaces |
US10540400B2 (en) * | 2015-06-16 | 2020-01-21 | Business Objects Software, Ltd. | Providing suggestions based on user context while exploring a dataset |
US20180232442A1 (en) * | 2017-02-16 | 2018-08-16 | International Business Machines Corporation | Web api recommendations |
US10048945B1 (en) * | 2017-05-25 | 2018-08-14 | Devfactory Fz-Llc | Library suggestion engine |
US10684849B2 (en) * | 2017-09-08 | 2020-06-16 | Devfactory Innovations Fz-Llc | Automating generation of library suggestion engine models |
-
2017
- 2017-07-10 EP EP17180475.0A patent/EP3428793A1/de not_active Withdrawn
-
2018
- 2018-06-13 EP EP18734455.1A patent/EP3625676B1/de active Active
- 2018-06-13 WO PCT/EP2018/065585 patent/WO2019011559A1/de unknown
- 2018-06-13 US US16/629,765 patent/US11650796B2/en active Active
- 2018-06-13 CN CN201880046049.7A patent/CN111201509B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115192A1 (en) * | 2001-03-07 | 2003-06-19 | David Kil | One-step data mining with natural language specification and results |
CN102440009A (zh) * | 2009-03-09 | 2012-05-02 | 佐科姆有限公司 | 提供生活观察的移动终端和方法以及具有数据分析、分发以及终端指导特征的相关服务器布置和方法 |
US20130183926A1 (en) * | 2009-03-09 | 2013-07-18 | Arbitron Mobile Oy | Apparatus, System and Method for Mobile Terminal Data Analysis and Distribution Utilizing Internal Proxies |
US20140018034A1 (en) * | 2009-03-09 | 2014-01-16 | Arbitron Mobile Oy | Apparatus, System and Method for Modifiable Observational Logic for Mobile Terminal Data Analysis and Distribution |
CN102682357A (zh) * | 2011-02-14 | 2012-09-19 | 微软公司 | 根据业务流程的描述自动创建业务应用 |
CN105229603A (zh) * | 2013-04-22 | 2016-01-06 | 微软技术许可有限责任公司 | 控制对应用编程接口的运行时访问 |
CN106062790A (zh) * | 2014-02-24 | 2016-10-26 | 微软技术许可有限责任公司 | 统一呈现根据上下文连接的信息以改善用户的效率和交互绩效 |
CN104468257A (zh) * | 2014-10-30 | 2015-03-25 | 北京大学 | 基于移动用户时空行为的云应用可用性预测方法与系统 |
US20160197798A1 (en) * | 2015-01-06 | 2016-07-07 | Joe Britt | System and method for collecting and utilizing user behavior data within an iot system |
CN104715013A (zh) * | 2015-01-26 | 2015-06-17 | 南京邮电大学 | 一种基于Hadoop的用户健康数据分析方法和系统 |
Non-Patent Citations (2)
Title |
---|
ELEONORA D\'ANDREA等: "Path Clustering Based on a Novel Dissimilarity Function for Ride-Sharing Recommenders", 《2016 IEEE INTERNATIONAL CONFERENCE ON SMART COMPUTING (SMARTCOMP)》, pages 1 - 8 * |
陈海明等: "物联网服务中间件:挑战与研究进展", 《计算机学报》, pages 1725 - 1749 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019011559A1 (de) | 2019-01-17 |
US20200233646A1 (en) | 2020-07-23 |
EP3428793A1 (de) | 2019-01-16 |
CN111201509B (zh) | 2023-10-24 |
US11650796B2 (en) | 2023-05-16 |
EP3625676B1 (de) | 2022-05-18 |
EP3625676A1 (de) | 2020-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572360B2 (en) | Functional behaviour test system and method | |
CA2773721C (en) | Code validation using content assist | |
US6934696B1 (en) | Custom rule system and method for expert systems | |
CN109871670B (zh) | 操作和监视需要控制的工业设备的方法以及操作员系统 | |
US20040073850A1 (en) | Testing method and testing device for starting up systems which are controlled by means of a program logic | |
JP5614843B2 (ja) | ソフトウェア設計・運用統合管理システム | |
US20080010545A1 (en) | Computer system and method for monitoring execution of application program | |
KR101689984B1 (ko) | 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템 및 실행 에러 정보 작성 방법 | |
US10042638B2 (en) | Evaluating documentation coverage | |
US20160191602A1 (en) | System and method for automating the transfer of data from a web interface to a database or another web interface | |
US20160283050A1 (en) | Adaptive tour interface engine | |
CN111201509B (zh) | 创建软件应用时对使用者进行支持的方法和实现该方法的计算机程序及在该方法中可用的编程接口 | |
US20130346141A1 (en) | Workflow modeling with workets and transitions | |
US10114362B2 (en) | Method and system for controlling the production process of a product | |
US9691036B2 (en) | Decision making in an elastic interface environment | |
CN104428757A (zh) | 在开发环境中集成诊断信息 | |
US20060253798A1 (en) | Method and system for selecting a dynamic object in a graphical user interface | |
US11935655B2 (en) | Scalable deployment of ontology-based decision trees for clinical decision support and automated clinical workflows | |
CN113448464B (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
CN117389996B (zh) | 数据库优化建议生成方法、终端设备及存储介质 | |
CN113722523B (zh) | 对象推荐方法和装置 | |
CN118502752A (zh) | 一种机器人编程方法、运行方法、机器人和可读存储介质 | |
US20130318455A1 (en) | Customizable software platform for x-ray imaging equipment | |
US20140109048A1 (en) | Method and system to automatically generate use case sequence diagrams and class diagrams | |
JP6356274B2 (ja) | モジュール再利用判定装置、モジュール再利用判定方法、及びモジュール再利用判定プログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |