Augmenting programming languages with a type system
    1.
    发明授权
    Augmenting programming languages with a type system 有权
    用类型系统增强编程语言

    公开(公告)号:US09164737B2

    公开(公告)日:2015-10-20

    申请号:US12122021

    申请日:2008-05-16

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/34 G06F8/36 G06F8/437

    摘要: Described is a technology by which metadata augments a programming language such as JavaScript. Software components such as application programming interfaces are associated with metadata. When a software component is selected for use, such as when putting together a computer program in a graphical programming environment, its corresponding metadata is accessed. The metadata may be used to validate the usage of the software component, such as to validate a constraint associated with a value, provide a default value, validate a value's type, and/or determine whether a value is required. Validation may also determine whether data output by one software component is of a type that is appropriate for input by another software component. In addition to validation via type metadata, the metadata may provide descriptive information about the selected software component, such as to assist the programmer and/or provide further information to the programming environment.

    摘要翻译: 描述了一种技术,通过这种技术,元数据可以增加诸如JavaScript的编程语言。 应用程序编程接口等软件组件与元数据相关联。 当选择使用软件组件时,例如当将图形编程环境中的计算机程序组合时,其对应的元数据被访问。 可以使用元数据来验证软件组件的使用,例如验证与值相关联的约束,提供默认值,验证值的类型和/或确定是否需要值。 验证还可以确定由一个软件组件输出的数据是否是适合于另一个软件组件的输入的类型。 除了通过类型元数据进行验证之外,元数据可以提供关于所选择的软件组件的描述性信息,诸如帮助程序员和/或向编程环境提供进一步的信息。

    Dynamic language-based integrated development environment
    2.
    发明授权
    Dynamic language-based integrated development environment 有权
    动态语言综合开发环境

    公开(公告)号:US08578334B2

    公开(公告)日:2013-11-05

    申请号:US11633209

    申请日:2006-12-04

    IPC分类号: G06F9/44

    CPC分类号: G06F8/33 G06F8/73

    摘要: Various technologies and techniques are disclosed for providing an integrated development environment using a dynamic language. Input is received from a user in the form of a code command. Introspection is used to generate a list of one or more possible code command completion suggestions that are suitable completions for the input received from the user. A list of the possible code command completion suggestions are displayed to the user. Upon receiving input from a user to interact with a particular function in the integrated development environment, introspection can be used to analyze a source code section containing the particular function to extract at least one code comment contained within the function. The code comment is displayed to the user as documentation for the particular function.

    摘要翻译: 公开了用于使用动态语言提供集成开发环境的各种技术和技术。 以代码命令的形式从用户接收输入。 内省用于生成对于从用户接收的输入的适当完成的一个或多个可能的代码命令完成建议的列表。 向用户显示可能的代码命令完成建议的列表。 在从用户接收到与集成开发环境中的特定功能交互的输入时,可以使用内省来分析包含特定功能的源代码部分来提取包含在该函数内的至少一个代码注释。 代码注释作为特定功能的文档显示给用户。

    Interruptible client-side scripts
    3.
    发明授权
    Interruptible client-side scripts 有权
    中断客户端脚本

    公开(公告)号:US08095910B2

    公开(公告)日:2012-01-10

    申请号:US11786003

    申请日:2007-04-10

    IPC分类号: G06F9/44

    CPC分类号: G06F8/24

    摘要: Various technologies and techniques are disclosed for creating interruptible client-side scripts. Input is received from a developer to write original code for a web application in at least one client-side script. A code injection process is programmatically performed to modify the original code to make one or more parts of an execution of the code interruptible in the client-side script. The code injection process parses a code segment of a client-side script to retrieve a next code segment. If the next code segment has at least one conditional semantic construct, then code is injected in the form of one or more script functions that will transition execution flow from the original code segment into the one or more script functions that are operable to interrupt execution of the client-side script upon user request. The modified code resulting from the code injection process is saved for the web application.

    摘要翻译: 公开了各种技术和技术来创建可中断的客户端脚本。 从开发人员收到的输入是在至少一个客户端脚本中为Web应用程序写入原始代码。 以编程方式执行代码注入过程来修改原始代码,使代码执行的一个或多个部分在客户端脚本中可中断。 代码注入过程解析客户端脚本的代码段以检索下一个代码段。 如果下一代码段具有至少一个条件语义结构,则以一个或多个脚本函数的形式注入代码,该脚本函数将将执行流程从原始代码段转换为一个或多个脚本函数,该脚本函数可操作以中断执行 用户请求时的客户端脚本。 针对Web应用程序保存代码注入过程产生的修改代码。

    Cross-domain communication technique for execution of web mashups
    4.
    发明授权
    Cross-domain communication technique for execution of web mashups 有权
    用于执行网络混搭的跨域通信技术

    公开(公告)号:US07941546B2

    公开(公告)日:2011-05-10

    申请号:US12273516

    申请日:2008-11-18

    IPC分类号: G06F15/16

    CPC分类号: H04L67/2814 G06F17/3089

    摘要: A system and method is described for communicating requests from a Web mashup being executed within the context of a Web browser to third-party Web services in a manner that does not violate the Same Origin Policy (SOP) observed by many Web browsers. In one embodiment, a workflow engine operating in the context of a Web browser executes a plurality of executable components comprising a Web mashup. The workflow engine transparently redirects Web service requests generated by the executing components to a proxy server that acts as an intermediate between the workflow engine and third-party Web services. The proxy server, which is not subject to SOP, transmits the Web service requests to the third-party Web service and obtains requested data therefrom. The proxy server further returns the requested data in a manner that is useable by the Web mashup components.

    摘要翻译: 描述了一种系统和方法,用于将来自在Web浏览器的上下文中执行的Web混搭的请求以不违反许多Web浏览器观察到的同源策略(SOP)的方式传送到第三方Web服务。 在一个实施例中,在Web浏览器的上下文中操作的工作流引擎执行包括Web混搭的多个可执行组件。 工作流引擎透明地将执行组件生成的Web服务请求重定向到作为工作流引擎和第三方Web服务之间的中间件的代理服务器。 不受SOP约束的代理服务器将Web服务请求发送到第三方Web服务并从中获取所请求的数据。 代理服务器进一步以Web混搭组件可使用的方式返回所请求的数据。

    Transparent Type Matching in a Programming Environment
    5.
    发明申请
    Transparent Type Matching in a Programming Environment 有权
    在编程环境中透明类型匹配

    公开(公告)号:US20090288065A1

    公开(公告)日:2009-11-19

    申请号:US12121984

    申请日:2008-05-16

    IPC分类号: G06F9/44

    CPC分类号: G06F8/34

    摘要: Described is a technology in a programming (development and/or runtime) environment by which data type mismatches between the output and input of computer program software components (e.g., APIs) are detected, with the output transparently converted such that the converted input may be understood by the inputting component. When components are interconnected in a programming environment, metadata associated with those components is evaluated to determine a type mismatch, e.g., between objects and arrays. If mismatched, an output object is converted to a single-element array for input, or alternatively, an output array is converted to a series of objects, each object sent within a loop for input. The transparent conversion may be performed by the programming environment during runtime, or by inserting conversion code prior to compilation.

    摘要翻译: 描述了编程(开发和/或运行时)环境中的技术,通过该技术检测计算机程序软件组件(例如,API)的输出和输入之间的数据类型不匹配,输出被透明地转换,使得转换的输入可以是 由输入组件理解。 当组件在编程环境中互连时,将评估与这些组件关联的元数据,以确定类型不匹配,例如对象和数组之间。 如果输出对象不匹配,则将输出对象转换为单元素数组以供输入,或者,将输出数组转换为一系列对象,每个对象在一个循环内发送以进行输入。 透明转换可以在运行时由编程环境执行,也可以在汇编之前插入转换代码。

    Web services mashup component wrappers
    6.
    发明申请
    Web services mashup component wrappers 审中-公开
    Web服务mashup组件包装器

    公开(公告)号:US20080222237A1

    公开(公告)日:2008-09-11

    申请号:US11714595

    申请日:2007-03-06

    IPC分类号: G06F15/16

    CPC分类号: G06F8/38 G06F8/34

    摘要: Various technologies and techniques are disclosed for creating wrappers for use in visual mashup designers. The user selects a web service for which to create a wrapper that will allow the web service to be used as a component in a visual mashup designer. The system programmatically generates communication source code for the wrapper that knows how to send a request to the web service from the wrapper and how to interpret a response from the web service. The system also programmatically generates interaction source code for the wrapper that specifies how the wrapper should interact with the visual mashup designer. The wrapper can be used in the visual mashup designer for creation of web site mashups. The wrapper is operable to respond to visual mashup designer events.

    摘要翻译: 公开了用于创建用于视觉混搭设计者的包装纸的各种技术和技术。 用户选择要为其创建包装器的Web服务,该包装器将允许web服务用作视觉混搭设计器中的组件。 系统以编程方式生成包装器的通信源代码,该代码知道如何从包装器向Web服务发送请求以及如何解释来自Web服务的响应。 该系统还以编程方式生成包装器的交互源代码,该代码指定包装器如何与可视混搭设计器进行交互。 可以在视觉混搭设计器中使用包装器来创建网站混搭。 包装器可操作以响应视觉混搭设计师事件。

    Integrated development environment with community integration
    7.
    发明申请
    Integrated development environment with community integration 审中-公开
    集成开发环境与社区整合

    公开(公告)号:US20080134298A1

    公开(公告)日:2008-06-05

    申请号:US11633340

    申请日:2006-12-04

    IPC分类号: G06F9/44 G06F21/22

    CPC分类号: G06F8/20

    摘要: Various technologies and techniques are disclosed for providing an intergrated development environment with community integration. A user specifies access settings to indicate that one or more other users will be allowed to access his development projects and with what permissions. Input is received from the user to save a development project. Upon saving the development project, the development project is automatically made available for sharing with others in a circle of friends with the first user. A common infrastructure can be used for providing the integrated development environment and the social network. The user identity system, authentication/authorization system, ratings system, and storage can be shared by the integrated development environment and the social network.

    摘要翻译: 公开了各种技术和技术,以提供一体化的开发环境与社区整合。 用户指定访问设置以指示一个或多个其他用户将被允许访问他的开发项目以及哪些权限。 从用户接收输入以保存开发项目。 保存开发项目后,开发项目将自动与第一个用户的朋友圈中的其他人共享。 通用的基础设施可用于提供集成开发环境和社交网络。 用户身份系统,认证/授权系统,评级系统和存储可以由集成开发环境和社交网络共享。

    Behavior-first event programming model
    9.
    发明授权
    Behavior-first event programming model 有权
    行为优先事件编程模型

    公开(公告)号:US08543975B2

    公开(公告)日:2013-09-24

    申请号:US12338306

    申请日:2008-12-18

    IPC分类号: G06F9/44

    CPC分类号: G06F8/20

    摘要: Traditional programming environments that support event-driven programming typically expose a model where the developer chooses an event to handle on a given object, and then writes the code for that event handler. In contrast, as described herein, the traditional flow of program development is reversed. A (configurable) event-handler (“behavior”) is selected. Upon selection of one of the behaviors, the event triggering the behavior is selected. This is a “what-then-when” approach rather than the traditional “when-then-what” approach for event-driven programming.

    摘要翻译: 支持事件驱动编程的传统编程环境通常会暴露出开发人员选择事件处理给定对象的模型,然后写入该事件处理程序的代码。 相反,如本文所述,程序开发的传统流程是相反的。 选择一个(可配置的)事件处理程序(“行为”)。 选择其中一个行为时,选择触发行为的事件。 这是一个“当时什么时候”的方法,而不是传统的“事后驱动编程”的方式。

    Application retargeting
    10.
    发明授权
    Application retargeting 有权
    应用重定向

    公开(公告)号:US08209662B2

    公开(公告)日:2012-06-26

    申请号:US11633400

    申请日:2006-12-04

    IPC分类号: G06F9/44

    CPC分类号: G06F8/76 G06F8/30

    摘要: Various technologies and techniques are disclosed for retargeting applications to different types. A development environment is provided for writing software. Input is received from a user to write application logic for a project. The user selects an option to save the project as a particular type of project. The application logic is wrapped with metadata appropriate for the particular type of project and at least one resulting file is created. The system determines if the resulting file needs compiled, and if so, compiles the resulting file into a compiled application. A second selection can be received from the user to save the project as a second type. In such a case, the application logic is wrapped with metadata appropriate for the second type of project and at least one resulting file is created.

    摘要翻译: 公开了用于将应用重定向到不同类型的各种技术和技术。 为编写软件提供开发环境。 从用户接收到用于为项目写入应用程序逻辑的输入。 用户选择将项目保存为特定类型的项目的选项。 应用程序逻辑包含适合特定类型项目的元数据,并创建至少一个生成的文件。 系统确定生成的文件是否需要编译,如果是,则将生成的文件编译为已编译的应用程序。 可以从用户接收到第二个选择来将项目保存为第二种类型。 在这种情况下,应用程序逻辑包含适合于第二类项目的元数据,并且至少创建一个生成的文件。