Patent application number | Description | Published |
20110258594 | ASYNCHRONOUS WORKFLOWS - A system and method for implementing an asynchronous construct in a computer program. A state machine is generated from the computer program, and the program is translated to generate code that executes the state machine during runtime. The asynchronous construct may be made into a function that invokes an asynchronous function, passing the function as a callback, and then exits. When the asynchronous operation completes, the function is invoked as a callback, returning to a configuration equivalent to that prior to the asynchronous call. Variable closure may be used to maintain the state of variables during a state prior to invoking the asynchronous operation and a state after invoking the asynchronous operation. | 10-20-2011 |
20110276983 | AUTOMATIC RETURN TO SYNCHRONIZATION CONTEXT FOR ASYNCHRONOUS COMPUTATIONS - Architecture that includes an asynchronous library which remembers the synchronization context that initiated an asynchronous method call and when the request is completed, the library restores the synchronization context of the calling thread before executing a callback. This ensures that the callback executes on the same thread as the original asynchronous request. The callback to the asynchronous operation that asynchronous library provides automatically “jumps threads” to maintain thread affinity. | 11-10-2011 |
20120110560 | DATA TYPE PROVIDER FOR A WEB SEMANTIC STORE - A system and method for facilitating development of a computer program that interfaces with a Web Semantic store (WSS). A system queries an WSS to retrieve interface information, including schema information corresponding to a portion of data in the WSS relevant to a user application. The system uses the retrieved information to provide an integrated development environment to a user. The IDE may include one or more features such as completion lists, tool tips, and quick info. The schema information may be used to create synthetic types for use in the target program. The interface information may be used to create synthetic elements to be inserted into a target program. The synthetic types may be used to perform static type checking during an editing session or a program compilation, or to provide the IDE services. During a build, the synthetic elements may be removed and replaced with WSS access code, which is subsequently used during program runtime to access the store. The system enables a user to work with the WSS as they would for built-in parts of their program. | 05-03-2012 |
20120246624 | DEBUGGER-SET IDENTIFYING BREAKPOINTS AFTER COROUTINE YIELD POINTS - A debugger can step through target code in a computer program. The debugger can identify a coroutine yield point in the target code, and can obtain identifying information to identify continued processing of a coroutine instance triggered by the operator. The debugger can set a breakpoint at a location for continued stepping after the coroutine yield point. The breakpoint can have a condition of matching the identifying information with runtime information. The debugger can perform the coroutine instance and resume execution of the target code after the coroutine yield point. The debugger can also encounter the breakpoint in the target code, and can determine whether the condition of the breakpoint is met. If so, the debugger can pause execution of the target code at the breakpoint. If not, the debugger can continue execution of the target code past the breakpoint without pausing at the breakpoint. | 09-27-2012 |
20120266144 | STEPPING OUT OF AN ASYNCHRONOUS METHOD INTO ITS CONTINUATION IN A DEBUGGER - Stepping out of an asynchronous process. A method includes, as part of a computer program execution, at a caller, making an asynchronous function call from the caller to a callee. Associated with the asynchronous function call a continuation waits for the completion of the callee with respect to the asynchronous function call. The method further includes correlating a debugging indicator to the callee indicating that a user wishes to step out of the caller when the callee returns. An indication of completion of the callee with respect to the asynchronous function call and that a user wishes to step from the callee to the continuation is received. The debugging indicator is referenced and based on the debugging indicator execution at entry into the continuation is stopped. | 10-18-2012 |
20120324431 | PATTERN-BASED COMPILATION OF ASYNCHRONOUS CONSUMPTION - The present invention extends to methods, systems, and computer program products for transforming source code to await execution of asynchronous operations. Embodiments of the invention simplify authoring and use of asynchronous methods, by generating statements that use well-defined awaitable objects to await completion of asynchronous operations. For example, a computer system can transform a statement that requests to await the completion of an asynchronous operation into a plurality of statements that use a predefined pattern of members of an awaitable object corresponding the asynchronous operation. The pattern can include one or more members configured to return a completion status of the asynchronous operation, one or more members configured to resume execution of the asynchronous method at a resumption point when the asynchronous operation completes, and one or more members configured to retrieve completion results. Accordingly, the plurality of statements can use these members to await execution of the asynchronous operation. | 12-20-2012 |
20120324457 | USING COMPILER-GENERATED TASKS TO REPRESENT PROGRAMMING ELEMENTS - The present invention extends to methods, systems, and computer program products for representing various programming elements with compiler-generated tasks. Embodiments of the invention enable access to the future state of a method through a handle to a single and composable task object. For example, an asynchronous method is rewritten to generate and return a handle to an instance of a builder object, which represents one or more future states of the asynchronous method. Information about operation of the asynchronous method is then passed through the handle. Accordingly, state of the asynchronous method is trackable prior to and after completing. | 12-20-2012 |