摘要:
Computer-based machines can be modeled after a virtual automaton. The virtual automaton defines processes that are not bound statically to particular behavior but rather perform a lookup at runtime to bind behavior to a specific process mechanism. In accordance with one aspect, binding can be dependent upon runtime context information such as object type. Instances of virtual automaton are provided in the context of graph processing including serialization of object graphs and scanning/parsing, among others.
摘要:
Mechanisms are afforded for supporting cross platform widgets. A generic widget can be converted into a specialized widget of a corresponding platform. Dually, a specialized widget can be generalized to a generic widget for subsequent deployment on the same or different host. Furthermore, support is provided for compositional widgets across platforms.
摘要:
Source languages are translated to target dynamic programming languages. Runtime functionality including reflection and/or dynamic code modification exposed by a source language is mapped to a dynamic language implementation such as that of a script language. Target language dynamism is leveraged to efficiently support runtime functionality in a source language that is more static, for example.
摘要:
A virtual machine is extended to include native support for co-routines. In this manner, high-level programmers are afforded access to such functionality. More particularly, supplied is a mechanism inside the virtual machine to enable method/function state to be maintained and subsequently restored. Consequently, a method/function can be called multiple times and resume where it last left off. This provides direct support for tier splitting patterns, iterators and comprehensions, among other things.
摘要:
A graphical user interface (GUI) scheduler program is provided for modeling business workflow processes. The GUI scheduler program includes tools to allow a user to create a schedule for business workflow processes based on a set of rules defined by the GUI scheduler program. The rules facilitate deadlock not occurring within the schedule. The program provides tools for creating and defining message flows between entities. Additionally, the program provides tools that allow a user to define a binding between the schedule and components, such as COM components, script components, message queues and other workflow schedules. The scheduler program allows a user to define actions and group actions into transactions using simple GUI scheduling tools. The schedule can then be converted to executable code in a variety of forms such as XML, C, C+ and C++. The executable code can then be converted or interpreted for running the schedule.
摘要:
Architecture that enables location based notifications (e.g., geo-fences) using standard polygons the capture of complex regions. As applied to geo-fencing, it extends geo-fencing beyond the mere representation of the virtual perimeter (fenced) area. More specifically, the architecture takes into consideration geographical and demographical features, such as the layout of the roads and streets, the types of available of transportation (e.g., car, bus, walk, biking, etc.), the traffic conditions, and the dynamic properties of a point of interest (POI) such as opening hours, total wait time, etc. More specifically, the architecture enables the dynamic modification of polygon geo-fence based on POI properties, dynamic modification of polygon geo-fence based on road/street layout, dynamic modification of polygon geo-fence based on means of transportation, dynamic modification of polygon geo-fence based on traffic conditions, dynamic modification of polygon geo-fence based on user's state, and dynamic recalculation of regions and directions tailored to user interests.
摘要:
Triangulating quadrilaterals. A method includes accessing an irregular grid comprising a plurality of irregular quadrilaterals. A determination is made that each of the irregular quadrilaterals in the irregular grid is not a concave and is a convex quadrilateral. On a grid basis and as a result of determining that each of the irregular quadrilaterals in the irregular grid is not a concave and is a convex quadrilateral, each of the irregular quadrilaterals in the irregular grid is triangulated to create a triangular mesh by defining diagonals from at least one vertex point of each of the irregular quadrilaterals in the irregular grid to the diagonally opposed vertex point of the same irregular quadrilateral. The triangular mesh is stored in a computer readable storage medium that can be accessed by an application for performing tasks related to data visualization, computer graphics, computational geometry, etc.
摘要:
A computer-implemented system for representing data comprises a position indicator that indicates a position of a datum within a group, a name indicator that optionally names the datum, and a value of the datum. A type to be assigned to the datum is derived from at least one of a name of the datum and the position of the datum within the group. Methods of using the system are also provided.
摘要:
Iterate-aggregate shape queries are executable in an efficient parallel manner. Techniques are utilized that leverage properties of aggregations to implement such a query in a highly parallelized manner utilizing one or both of vertical and horizontal parallelism. More specifically, queries can be recursively evaluated in parallel utilizing partitioning and repartitioning mechanisms. Distributed query execution results over a subset of input data are repartitioned and aggregated to produce a final result.
摘要:
Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.