Dynamic Role Identification for Web Scripting Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity and dynamic nature of web applications, driven by AJAX frameworks and changing user interactions, make it difficult to record and replay scripts for automating operations, especially since traditional methods rely on predefined class-oriented types for application objects.

Innovation Solution

A system and method for identifying the logical roles of application objects during execution, without preclassifying them, using behavior observation and standards like W3C's WAI ARIA, allowing multiple roles to be assigned to objects and patterns, and representing user actions in a user-friendly manner.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional predefined class-oriented types are used for application objects, then the scripting system has a simple and structured classification, but it cannot handle the increasing complexity and dynamic nature of web applications

Engineering Contradiction:
Improveability to handle complex and dynamic web applicationsVSAvoidscripting system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic role assignment where application objects can have multiple roles assigned at runtime based on their behavior and context, rather than static predefined classes. This allows the scripting system to adapt to complex and dynamic web applications while maintaining a relatively simple underlying structure through the use of configurable role templates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal role-based framework where a single object can serve multiple functions through different roles. Instead of requiring separate class definitions for each object type, the system uses configurable role templates that can be applied to various objects, reducing overall system complexity while increasing versatility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If multiple roles are assigned to objects, then the scripting system becomes more flexible and readable, but the object classification system becomes more complex

Engineering Contradiction:
Improvescript readability and maintainabilityVSAvoidobject classification complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the classification system into two independent layers: configurable role templates (the schema) and instance assignments (the data). This separation allows complex multi-role assignments to be managed through simple, readable script statements while the complexity of role definitions is encapsulated in reusable templates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by defining reusable role templates before assigning them to objects. These templates pre-configure common role characteristics and behaviors, so that when objects are assigned roles during script execution, the complexity has already been resolved in advance, resulting in cleaner and more maintainable scripts.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If role identification is performed during execution, then the system can adapt to changing application behavior, but it requires more processing time and resources

Engineering Contradiction:
Improveability to respond to changing application behaviorVSAvoidrole identification processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges role identification with the existing application execution flow by integrating role assignment into the normal object initialization and event handling processes. This allows role identification to occur during execution without requiring separate processing passes, minimizing additional time overhead while maintaining adaptability to changing behavior.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements self-service by enabling objects to automatically determine their own roles based on their behavior and context during execution. Objects can self-identify their roles without requiring extensive external analysis, reducing the processing time and resources needed for role identification while maintaining high adaptability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9053241B2Scripting application with role identification
Publication Date: 2015.06.09 MICRO FOCUS LLC
  • US9053241B2 patent drawing
  • US9053241B2 patent drawing
  • US9053241B2 patent drawing

AI summary

In at least some embodiments, a computer system includes a processor and a computer-readable storage medium coupled to the processor and storing a scripting application. The scripting application, when executed, is configured to selectively record user actions on user interface (UI) objects of a browser hosted application based on identification of at least one role for each UI object.