CN102446099B - The reverse engineering of the user interface solid model in working software - Google Patents

The reverse engineering of the user interface solid model in working software Download PDF

Info

Publication number
CN102446099B
CN102446099B CN201110435569.7A CN201110435569A CN102446099B CN 102446099 B CN102446099 B CN 102446099B CN 201110435569 A CN201110435569 A CN 201110435569A CN 102446099 B CN102446099 B CN 102446099B
Authority
CN
China
Prior art keywords
window
application
model
solid model
state
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.)
Active
Application number
CN201110435569.7A
Other languages
Chinese (zh)
Other versions
CN102446099A (en
Inventor
B·阿莫迪奥
S·巴蒂亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102446099A publication Critical patent/CN102446099A/en
Application granted granted Critical
Publication of CN102446099B publication Critical patent/CN102446099B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

This theme openly relates to the window definition of the executory user-interface application of seizure and/or website and generates editable model representation.Starter Storyboard or screen can be generated fast by the operation of recording existing application or website.The state be associated with numerous user interface controls hierarchies of intended application is captured, and is stored in common user interface model, and is used to the generation of solid model, code etc.In one aspect, the instruction that application or website are captured is received.Afterwards, the state of website or application window and subsequent window is observed and catch.For each subsequent window experienced in active control hierarchy, the essential information about each project is captured.The information of collecting for given window and control hierarchy thereof can be changed into simple XML by sequence and represent.

Description

The reverse engineering of the user interface solid model in working software
Technical field
This theme openly relates generally to by carrying out modeling to the state of control hierarchy; By carrying out modeling to across the stream of screen, navigation and link; And by using the solid model (mockup) creating user-interface application for the modeling generating intended application model.
Background technology
Along with the development of computing technique and computing equipment become more and more general, computer programming can be suitable for use in various widely computing equipments.Such as, the different computing equipment of size, capacity can be controlled by generating routine coding, from relatively limited equipment (such as simple embedded systems, mobile hand-held device etc.) to large, high performance computational entity (such as data center or cluster of servers) according to different programming language.
Usually, when just developing and/or revise application for during for computing equipment, new user interface or web station interface may be created and do not quote existing interface.But, more generally use existing interface and this interface application is revised.Therefore, solid model or model representation are created and can be used for obtaining the feedback of other people related in performance history.
When analyst is devoted to the enhancing of existing application, they have to manually to re-create the screen of existing application in solid model instrument, can revise a part for the specification that these screens are wanted as them.The establishment of solid model is consuming time, and often obtains the solid model cannot being competent at some object.Such as, the solid model of manual creation can spend 10 minutes to 30 minutes or create for more time.
In some cases, create in solid model can catch screenshot capture in trial.But screenshot capture can not be adapted to the object of solid model well, i.e. the intention at delivery applications or interface and the mutual of wherein comprised element.Such as, if the right of screenshot capture is changed, this part deleted and by no longer mate whole screenshot capture the shape re-created substitute.This can create a disconnection between screenshot capture part and Freehandhand-drawing part.Such as, screenshot capture part can be that band is colored, and the part re-created is black and white, and this can distract.In addition, the quality of two parts or granularity may not be identical.This global concept and intention that more multifocal can be caused to be placed on (such as, pixel, color etc.) on chickenshit instead of to be placed on solid model or model representation.
Therefore, fast creation is expected to have for existing application and/or the solid model of website or the ability of model representation.Also expect to create the solid model with the existing user interface of unified granularity amount.As another example, by solid model with numeral and wieldy form create to allow solid model easily to be shared and to handle to be useful.
In prior art, propose the various scheme for creating user interface solid model.But, propose for create user interface solid model solution in neither one can solve whole above-mentioned needs, and expect that such solution improves the efficiency creating user interface solid model significantly.
The above-mentioned shortcoming of current computing system and solid model establishment systems technology only aims to provide the general view of some problems of conventional system, and is not intended to be exhaustive.The benefit of the other problems of conventional system and the correspondence of each non-limiting example described herein can become more apparent after checking following description.
Summary of the invention
There is provided herein the summary of the invention of simplification to help having basic or understanding substantially to each side that is exemplary, non-limiting example in following more detailed description and accompanying drawing.But content of the present invention is not intended to as detailed or limit.On the contrary, the sole purpose of this section summary of the invention is, proposes some exemplary to some, non-limiting embodiment is relevant concepts in simplified form, as the preamble of the more detailed description of following embodiment.
In one or more embodiments, reverse engineering solid model system is automatically caught the window definition of operating user-interface application and is generated editable user interface solid model.This method has multiple benefit, comprises the easy and speed creating solid model.One or more embodiment also can to flowing to line item and reverse engineering between multiple screens of operating user-interface application.In addition, based on this stream, link between each screen can be generated to represent navigation and the interactivity of given sight.Therefore, according to an aspect, when designing new feature request, the solid model of existing user interface does not need to be subsequently supplied.According to some aspects, catching for the ease of window definition, can utilize aid application programming interface (API).
In certain embodiments, reverse engineering solid model system can catch and explain " definition " of presented control hierarchy and this expression can be stored in the model of user interface.This provide the function such as again presenting screen with Lo-Fi " roughly " (or Freehandhand-drawing) theme, this is the feature (such as, taking away focus from little detail) expected very much for solid model application.The metadata caught also can be used to generate launcher application code (such as, easily extensible application markup language (XAML), HTML (Hypertext Markup Language) (HTML) etc.), this is for migrated users interface application between various technology and/or again realize an existing application being valuable.
These and other embodiments describe hereinafter in more detail.
Accompanying drawing explanation
Each non-limiting embodiment is further described with reference to accompanying drawing, in the accompanying drawings:
Fig. 1 is the block diagram of the reverse engineering solid model system of the simplification illustrated according to one or more embodiment;
Fig. 2 is the block diagram of the illustrative functions of the manager component of testing oneself illustrated according to one or more embodiment;
Fig. 3 is the block diagram at the interface according to one or more embodiment;
Fig. 4 starts and the non-limiting illustration of the state stopped in several applications in one application according to catching of one or more embodiment;
Fig. 5 is the block diagram of another illustrative functions of the manager of testing oneself illustrated according to one or more embodiment;
Fig. 6 is the illustration according to each application of one or more embodiment, the non-limiting stream between each website or each other interface;
Fig. 7 be according to each web station interface of one or more embodiment between the illustration of stream;
Fig. 8 is the block diagram of the illustrative functions of the solid model processing components illustrated according to one or more embodiment;
Fig. 9 is the process flow diagram of exemplary, the non-limiting process of the solid model exemplified for creating user interface;
Figure 10 is the process flow diagram of exemplary, the non-limiting process illustrated for catching user interface model;
Figure 11 is the process flow diagram of exemplary, the non-limiting process illustrated for user interface model being converted to object module;
Figure 12 is the block diagram representing exemplary, the non-limiting networked environment that wherein can realize each embodiment described in this article; And
Figure 13 represents exemplary, the non-limiting computing system of one or more aspects or the block diagram of operating environment that wherein can realize each embodiment described in this article.
Embodiment
General view
When deviser want change application, website and/or with application or website be associated one or more interfaces windows time, create solid model by Storyboard (storyboarding) or interactive frame (wireframing).There are at least three kinds and create with successful solid model the attribute be associated.The first attribute is the simplicity creating solid model.Such as, allow some to have seldom or do not understand solid model create people will be useful to create useful solid model.The second attribute is the speed that solid model creates, with the instrument making solid model become valuable and useful.Therefore, expect that reducing the time quantum created spent by solid model makes benefit be greater than cost.Another kind of attribute is the availability of widget library, and expects to utilize these widget libraries to create solid model.
Therefore, allowing with the solid model of the selection of limited quantity (or click) or the existing user interface of selecting to create application and/or website with single will be useful.As disclosed here, by catching shape and shape being converted to editable unprocessed form to create solid model.Therefore, substitute and catch pixel by carrying out screenshot capture, the concept of tree or the concept of check box can be caught.General size and the coordinate of the element in interfaces windows and/or control also can be captured.Therefore, can obtain the type of control, the state of control and/or interface layout information to catch user interface efficiently.The type of control provides the information relevant to control and/or element (such as, control is check box, and control is text box, and element is image, etc.).Also can be provided the state of the special control of this control (such as, check box checked still do not have checked).The layout information caught can be location and the size of element and/or control.
In one embodiment, reverse engineering solid model system comprises manager component of testing oneself, and it is configured to catch the multiple states be associated with multiple user interfaces (UI) the control hierarchy of intended application.Reverse engineering solid model system also comprises solid model processing components and output precision, and solid model processing components is configured to generate model representation based on multiple state, and output precision is configured to can to present model representation by edit format.
In another example, system also comprises posture assembly and observation assembly, and posture assembly is configured to receive the selection to intended application, and observation assembly is configured to the first state of first window and the second state of Second Window that obtain intended application.Second Window can be activated or materialization as the result of the triggering of the action in first window or as control hierarchy.System also comprises Storyboard manager component, and it is configured to the information of accessing multiple UI control hierarchy and being associated.Solid model processing components is further configured to and multiple UI control hierarchy and the information sequence that is associated is changed into model representation.
In another example, system also comprises converter assembly, and it is configured to model representation be converted to the form compatible mutually with intended application.Output precision is further configured to and represents to be used as solid model with the form TRANSFER MODEL compatible mutually with intended application.
In further example, manager component of testing oneself is further configured to catches control (such as check box) concept, and wherein control concept is associated with one of multiple state.
In some instances, solid model processing components is further configured to and model representation is remained mid-module for the form converted to after a while from intended application or different multiple intended application compatibilities.
In some instances, system also comprises posture assembly, and it is configured to identify selection to intended application according to the posture of the first application window of mark intended application and intended application.
In further example, system comprises trace component and navigation arrangement further, and trace component is configured to the stream monitored between multiple screens of intended application, and navigation arrangement is configured to the link generating the stream represented between multiple screen.
In one example, manager component of testing oneself is further configured at least one in the state of type, the scope of application, control or its child control of catching application.In other example, manager component of testing oneself utilizes aid application programming interface.
In another embodiment, a kind of method of the model for creating user interface comprises: the application in identifying user interface, record represents first data set of state of the first window of application, is input in model by the first data set, and with can using form output model.
In one example, mark comprises and receives the selection of application and first window and determine quoting of first window, and wherein first window and application are currently just being performed in the user interface.
In another example, at least one comprising in the state of record type, scope, control or its child control is recorded.In another example, record comprises and utilizes aid application programming interface to catch the information relevant with the first data set.
In another example, method comprises further catching and represents by second data set of first window to the transition of at least one Second Window, and the second data set is applied to model, wherein export comprise with can using form output packet containing the model of the first data set and the second data set.
In another example, method comprises second data set of catching the stream represented from first window at least one Second Window, obtain the 3rd data set of the state representing at least one Second Window, and before output the first data set, the second data set and the 3rd data set are input in model.
In another example, method comprises the navigation and maintenance the first state of first window and the second state of subsequent window that create the movement described in detail from first window to subsequent window further.Method also comprises and the first state and the second state is sent to model, wherein with formatted output first state and the second state with intended application compatibility.
In another example, method comprise use before output first data set generate mid-module.In another example, export and comprise by Model Mapping to intended application model, generate intended application model, and intended application model is rendered as the solid model of existing application.
In another example, output comprises can revising and spendable digital format output model.
In another example, method for carrying out reverse engineering to user interface solid model comprises the selection received the executory user interface windows of the application or website that create solid model for it, and catches the interaction detail from executory user interface windows to the process of follow-up interfaces windows.During the process of sub-interfaces windows, multiple middle window is being accessed from operating user interface windows.Method also comprises and records multiple state, and wherein multiple state comprises the state of each of executory user interface windows, follow-up interfaces windows and multiple middle window.In addition, method comprise for generate comprise interaction detail and multiple state model, using Model Mapping to intended application model and present intended application model as application or website can the device of the solid model revised of revision.
Herein, the general view for carrying out some embodiments of reverse engineering to the user interface solid model from working software is described hereinbefore.As the road sign of ensuing content, each exemplary, the non-limiting example to the reverse engineering of user interface solid model and feature are described in more detail.Subsequently, in order to supplemental instruction, providing some non-limiting realization and examples, is representative network and the computing environment that wherein can realize these embodiments and/or feature afterwards.
The reverse engineering of the user interface solid model in working software
By carrying out further describing of one or more non-limiting ways that model of creation represents in modular computing environments by reverse engineering, Fig. 1 generally shows the block diagram of exemplary computer system.This computing system comprises environment 100, and it can be graphic user interface, desktop application, the application of sing on web or other programming platform.Environment 100 can comprise model of creation for it and represent or the intended application of solid model.Such as, user can provide the posture or other input (such as, voice command, Text Command etc.) that indicate the intended application that will be captured.Posture can be provided as the input of one or more selection 110 form that will arrive.Manager component of testing oneself 120 be configured to receive one or more selection 110 that will arrive and captured target application multiple user interface controls hierarchies (such as, each window control hierarchy) numerous states (all sub-components such as, in window and window).Such as, first window can start Second Window, and Second Window starts subsequent window.In another example, can Second Window be navigated to the user that first window is mutual, and by with Second Window (or first window) can navigate to the 3rd window alternately, the rest may be inferred.
Numerous state 130 is passed to solid model processing components 140 by manager component of testing oneself 120, and solid model processing components 140 is configured to generate model representation based on numerous state at least partly.Such as, solid model processing components 140 can represent by generation model in common user interface model.Model representation can any appreciable formatted output to user for generation solid model, code etc.Such as, model representation can be edited and can be presented on a user device by using form (such as, user and/or other people can read it and also use it) with open.In one example, model representation can export in a digital format.In one embodiment, can greatly about catch many multi-mode while (such as real-time) or in the same time (such as do not store for after a while use) output model represent.In certain embodiments, solid model processing components 140 is further configured to and keeps model representation as mid-module, for being used as solid model or for other object after a while.Such as, mid-module is general, and therefore can be standardized and multiple application, third party etc. can use mid-module.
In certain embodiments, manager component of testing oneself 120 is further configured at least one or above-mentioned combination in the state of type, the scope of application, control or its child control of catching application.Such as, child control information can comprise the state of given control hierarchy (its all sub-components) in such as window and this window.
According to some embodiments, manager component of testing oneself 120 utilizes aid application programming interface to catch numerous state.Such as, aid application programming interface can be the aid application programming interface of user interface robotization, hypertext markup language document object model (HTMLDOM) or another type.In one embodiment, manager component of testing oneself 120 obtains the handle of application or window by application or the mark of window.The handle that obtained allow to use at least some can widget library, the information from operating application can be extracted from widget library.
In one embodiment, reverse engineering solid model system as shown in Figure 1 operationally can be different from conventional entity model construction system, thus provides the additional benefits having surmounted the obtainable benefit of computing system using conventional entity model construction system.Such as, reverse engineering solid model system disclosed herein can generate starter Storyboard or screen rapidly by the operation of recording existing application simply.Storyboard is possible output artificial objects, although also can utilize other output solid model or the device of model representation.Disclosed aspect have the amount of screen being write the time from such as often shield ten minutes (or more) reduce to the benefit being such as less than and often shielding a minute.Another benefit of disclosed aspect can create starter Storyboard or screen in simplified form.The another benefit of disclosed aspect is that the employing of widget library is to make it possible to extract the information be associated with operating application.
Illustrate other side, Fig. 2 is the block diagram that the manager component 200 of testing oneself comprising posture assembly, observation assembly 220 and Storyboard manager component 230 is shown.In one embodiment, posture assembly 210 is configured to receive the selection to intended application.In one example, posture assembly 210 is configured to obtain the selection to executory user interface windows, will create solid model or other model representation for this user interface windows.In certain embodiments, posture assembly 210 is configured to identify selection to intended application according to the posture of the first application window of mark intended application and intended application.Such as, posture assembly 210 can be configured to monitor that user comes and the keyboard of reverse engineering solid model system interaction, mouse or another equipment by it.According to some aspects, posture assembly 210 receives instruction model representation and should be created and identify the verbal order at the interface that should be captured, Text Command or some other input.
Such as, shown by the interface 300 of Fig. 3, when user wants amendment application 310, user makes application 310 perform and show.User also can make the instrument 320 be associated with manager of testing oneself be shown.Application 310 and instrument 320 can be located over the display side by side.In some instances, application 310 and instrument 320 can have and orientation different from each other.
In order to selective gist 310, user can selection tool 320 (such as, by the indicating equipment of such as mouse and so on) being drawn to by instrument 320 in application 310 (or on first window of application).In certain embodiments, instrument 320 has cross curve or the further feature of certain position (such as one or more element or control 330,340 and 350) allowed in the accurate position application of user.Show at 360 places and select element 330 by being placed on element 330 by instrument 320.According to some aspects, select by other means (such as, handling drop-down menu, verbal order etc.).
Refer again to Fig. 2, based on the posture that the application of the current execution of received instruction will be captured, observation assembly 220 is configured to obtain the window definition of intended application or first state (window such as, performed when posture assembly 210 receives input) of first window.According to some aspects, observation assembly 220 is configured to mutual to obtain each state with one or more aid application programming interface (API).Such as, one or more API may have access to one or more widget library also therefore, it is possible to provide the information of the very granularity relevant with state.
First window can start other window one or more or mutual with other window one or more, such as excavate downwards in application (such as, from the first screen to the movement of the second screen (or screen subsequent)) by control hierarchy or by user.
Observation assembly 220 is configured to obtain the second state representing Second Window.In another example, user can traverse follow-up interfaces windows from the first interfaces windows through numerous intermediate interface window.In this case, observation assembly 220 is configured to record multiple state, and wherein multiple state comprises the state of each of executory user interface (such as at first by the window selected), follow-up interfaces windows and multiple intermediate interface window.
Window before each (or by (or via) that be found is opened) new window, Storyboard manager component 230 is configured to the control hierarchy obtaining each window and the information be associated.Such as, when applying through its control hierarchy, Storyboard manager component 230 is configured to catch the essential information relevant with each project in hierarchy.This essential information can comprise control type, size, coordinate, status information etc. based on control type.
Such as, Fig. 4 shows the non-limiting illustration of state catching and also stop in several applications from an application.As illustrated, the first window 400 applying (such as e-mail applications) is unlocked.First window 400 can comprise the link that can start another window, and such as contact person links 410.When user selects or click contact person links 410, first window 400 starts Second Window 420, such as comprises the address book application of address book entries 430.After checking address book entries 430, user can close Second Window 420 and return first window 400.If user wants to check that contact person links the public social media profile of 410, user makes one's options in first window 400, and wherein the 3rd window 440 of such as browser application and so on is activated.After checking the information wanted, user closes the 3rd window 440 and and then turns back to first window 400.But, according to some aspects, open each window with order format and make each window open another window continuously.
Illustrate other side, Fig. 5 is the block scheme that display comprises another embodiment of the manager 500 of testing oneself of trace component 510 and navigation arrangement 520.In one embodiment, trace component 510 is configured to the stream between multiple screens of supervision intended application.Such as, trace component 510 can identify the switching between each screen and/or can identify new screen and when is activated and shows.In another example, intended application can be selected and first of intended application screen can perform.When user make to test oneself manager 500 in applying mobile and when follow-up screen be unlocked (such as first shield startup second shield or with second shield mutual etc.) time, trace component 510 monitors stream or navigation (what such as, there occurs makes each subsequent window open).In another example, trace component 510 be configured to catch with from operating user interface windows to the details that the flow process of follow-up interfaces windows is relevant, wherein during the process of subsequent user interfaces windows, accessing multiple middle window from operating user interface windows.
Navigation arrangement 520 is configured to generate the link representing stream between multiple screen or interactivity.Link can comprise what causes next screen or follow-up screen to perform (such as, manually, automatically) relevant details with.Such as, when user uses the information on the first screen, user may want unlatching second shield and/or start website.Navigation arrangement 520 is configured to catch user's input (such as, to the selection of the link in website, select next button etc.).In this way, when solid model is created, except the metadata be associated with the state of each window in applying and/or apply, also can provide the link between multiple screen.
The non-limiting illustration of each application, each website or the stream respectively between other interface has been shown in Fig. 6.As shown, the first window of application is selected and at least one state of first window 600 is captured and represents with model of creation.Such as, the state of first window 600 can comprise with each control be included in first window 600 or element 612,614,616,618 relevant information.In some instances, the concept of control or element is captured instead of the concrete information (such as, the quantity, color etc. of pixel) of control or element.In one example, concept can comprise the type (such as, frame, circle, check box, text box, image, link etc.) of control or element.In another example, concept can comprise layout information, the size of the location in such as window and/or element or control.In other example, concept comprises type and layout information simultaneously.
User can select next button 618, and based on this selection, first window 600 starts Second Window 620.Can be collected from first window 600 to the stream 622 of Second Window 620 and be comprised in the solid model or model representation be created.In addition, user can select next button 624 in Second Window 620, and it starts the 3rd window 626.Can be captured as a part for model representation from the second 628 of Second Window 620 to the three window 626.
The non-limiting illustration of the stream between each web station interface has been shown in Fig. 7.First website 700 of such as news website and so on can present various link (such as, local news, world news, business, politics, weather, physical culture, finance and economics etc.), user can select link with the news excavating each type downwards according to the interest of user.In addition, can there is other link in website, this is generally identified by underscore.When user selects the link of a such as weather link 710 and so on, be captured from the stream 720 of the first website, website 700 to the second 730.In the example present, the second website 730 is weather websites, and it provides the link being linked to follow-up website, and wherein each link to follow-up website can be collected and be input in model representation.
Illustrate other side, Fig. 8 is the block diagram that display comprises the solid model processing components 800 of converter assembly 810 and output precision 820.In one embodiment, solid model processing components 800 is configured to control hierarchy and the information sequence be associated to change into model representation.Such as, control hierarchy can be changed into simple extend markup language (XML) expression by sequence with the information be associated.
After the record completing application and seizure, converter assembly 810 is configured to interpretation model and represents and convert thereof into another kind of concrete expression.Such as, converter assembly 810 is configured to model representation be converted to the form with one or more intended application compatibility.In one example, intended application can be rough expression, XAML, HTML etc.Output precision 820 is configured to represent to be used as solid model or other intended application models with the form TRANSFER MODEL compatible mutually with intended application.In certain embodiments, such as shape is captured and converter assembly 810 converts shape to editable unprocessed form.Editable unprocessed form presents to user by output precision 820.In one example, output precision 820 can present the editable and/or spendable solid model of intended application model as application.
According to a non-limiting example, if intended application is demonstration program, then converter assembly 810 can generate the lantern slide with shape, and wherein lantern slide is presented by output precision 820.In addition, if being captured alternately between window, each alternately can demonstration in appropriate location be present on lantern slide.
In another non-limiting example, if intended application is visual user interface composer, then converter assembly 810 can reformat model representation and generate easily extensible application markup language (XAML) or another kind of markup language.In another non-limiting example, if intended application is graphical application DLL (dynamic link library), then converter assembly 810 can generate the code of C# code or another kind of type.
Fig. 9 is the process flow diagram of exemplary, the non-limiting process of the solid model exemplified for creating user interface.900, identify the application performed in the user interface of application, website etc.Mark can based on the posture received or other instruction, and its instruction is initialized the solid model of an application.910, represent that the first data set of the state of the first window of application is recorded.920, the first data set is imported into model.If there is other data set to be collected (such as, representing the second collection of stream, the 3rd collection representing Second Window etc.), other data set and the first data sets are to export as representing model.930, model is can be output as solid model or other represents by using form.
Figure 10 is the process flow diagram of exemplary, the non-limiting process illustrated for catching user interface model.1000, executory user interface windows is selected.The selection wanting the solid model catching existing application can be received from user.Such as, can be received the selection of application and first window (such as executory user interface windows), wherein first window and application are just being executed in user interface.1010, determine the handle of first window or quote.
1020, at least one in the combination of state of type, scope, control or its child control or more is captured or record.In one embodiment, the state of type, scope and control or its child control can be registered as the first data set.In another embodiment, by using the aid application programming interface of the one or more widget library of access to obtain extraneous information.Also can catch the child control be associated with first window.
1030, judge whether the execution (such as, navigate to Second Window, start Second Window etc.) that there is at least one Second Window.If there is the execution ("Yes") of second (or follow-up) window, for each subsequent window catch type, scope, control or its child control state, or more combination in one of at least.Such as, be captured as the second data set from first window (such as, the initial window selected) to the switching of Second Window (such as, the first child control).Switching to subsequent window also can be captured as follow-up data collection.
If judge not to the stream of Second Window or not to the stream ("No") of subsequent window, then 1040, to use the information be captured to generate mid-module 1030.Such as, the first data set and the second data set (and follow-up data collection) are applied to this model.Result is user interface model 1050.
Figure 11 is the process flow diagram of exemplary, the non-limiting process illustrated for user interface model being converted to object module.Described by with reference to above-described embodiment, build user interface model 1100.1110, user interface model is mapped to intended application model.1120, intended application model is generated and can be presented by any appreciable form.Therefore, the solid model of existing application is created.In one embodiment, with can using form output model.In another embodiment, with revisable digital format output model.
In one example, the first data set of first window is captured, and represents that the second data set of the stream from first window at least one Second Window is captured.In addition, represent that the 3rd data set of the state of Second Window is captured.First data set, the second data set and the 3rd data set are imported in model, and so that output model can be carried out by using form.
In another embodiment, the navigation specifically describing the movement from first window to subsequent window is created.In addition, the first state of first window and the second state of Second Window are kept.First state, the second state and navigation details are sent to model, wherein with formatted output first state, the second state and details of navigating with intended application compatibility.
Exemplary networked and distributed environment
It will be appreciated by those skilled in the art that, each embodiment of reverse observation solid model system and method described herein can realize in conjunction with any computing machine or other client computer or server apparatus, the part that this any computing machine or other client computer or server apparatus can be used as computer network is disposed or is deployed in a distributed computing environment, and the data that can be connected to any kind store.In this, each embodiment described herein can there is any amount of storer or storage unit and realize in any computer system of occurring across any amount of storage unit of any amount of application and process or environment.This includes but not limited to have the environment of server computer in the network environment or distributed computing environment being deployed in and having long-range or local storage and client computer.
Distributed Calculation is exchanged by communication between computing equipment and system and provides sharing of computer resource and service.These resources and service comprise information exchange, for the high-speed cache storage of the object of such as file and so on and disk storage.These resources and the service processing power also comprised between multiple processing unit is shared to carry out load balance, resource expansion, process specialization etc.Distributed Calculation utilizes network to connect, thus allows client computer to utilize its collective power to be benefited to make whole enterprise.At this point, can have can as participated in the application of reverse engineering solid model mechanism, object or resource with describing with reference to various embodiments of the present invention for various equipment.
Figure 12 provides exemplary networking or the schematic diagram of distributed computing environment.This distributed computing environment comprises calculating object 1210,1212 etc. and calculating object or equipment 1220,1222,1224,1226,1228 etc., these calculating objects or equipment can comprise as apply 1230,1232,1234,1236,1238 and data store program, method, data storage, FPGA (Field Programmable Gate Array) etc. represented by 1240.Be appreciated that, calculating objects 1210,1212 etc. and calculating object or equipment 1220,1222,1224,1226,1228 etc. can comprise different equipment, such as personal digital assistant (PDA), audio/video devices, mobile phone, MP3 player, personal computer, laptop computer etc.
Each calculating object 1210,1212 etc. and calculating object or equipment 1220,1222,1224,1226,1228 etc. can via communication network 1242 directly or indirectly with other calculating objects 1210,1212 one or more etc. and the communication such as calculating object or equipment 1220,1222,1224,1226,1228.Although be illustrated as discrete component in fig. 12, the system that communication network 1242 can comprise to Figure 12 provides other calculating objects of service or computing equipment and/or can represent unshowned multiple interconnection network.Each calculating objects 1210,1212 etc. or calculating object or equipment 1220,1222,1224,1226,1228 etc. can also containing application, such as can utilize API or other objects, software, firmware and/or hardware, be suitable for realizing or carry out with the reverse engineering solid model technology provided according to each embodiment the application 1230,1232,1234,1236,1238 that communicates.
There is various systems, assembly and the network configuration of supporting distributed computing environment.Such as, computing system can be linked together by wired or wireless system, local network or the network extensively distributed.Current, many networks are coupled to the Internet, the Internet is that the calculating of extensively distribution provides the foundation structure and comprise many different networks, but any network infrastructure can be used for becoming the example communication be associated with the reverse engineering solid model system such as described in each embodiment.
Thus, the such as network topology structure of client/server, equity or hybrid architecture and so on and the main frame of network infrastructure can be used." client computer " uses the member in it irrelevant another kind of or class of service of organizing or group.Client computer can be process, is namely one group of instruction or the task of the service that another program of request or process provide haply.Client process uses the service of asking, and without the need to " knowing " any operational detail about other programs or service itself.
In client/server architecture, especially in networked system, client computer normally accesses the computing machine of the shared network resource that another computing machine (such as, server) provides.In the diagram of accompanying drawing 12, as non-limiting example, calculating object or equipment 1220, 1222, 1224, 1226, 1228 grades can be considered to client computer and calculating object 1210, 1212 grades can be considered to server, wherein calculating object 1210, 1212 grades are as the server providing data, services, such as from client computes object or equipment 1220, 1222, 1224, 1226, 1228 grades receive data, store data, process data, to client computes object or equipment 1220, 1222, 1224, 1226, 1228 grades send data, but any computing machine all can be depending on environment and is considered to client computer, server, or both.
Server is normally by the telecommunication network of such as the Internet or wireless network infrastructure and so on or the remote computer system of local network access.Client process can be movable in first computer system, and server processes can be movable in second computer system, and they are intercomed mutually by communication media, provide distributed function thus and allow multiple client computer to utilize the information gathering capability of server.Any software object utilized according to technology described herein can provide separately or distributes on multiple computing equipment or object.
In the network environment of the Internet at communication network 1242 or bus, such as, calculating object 1210,1212 etc. can be that other calculating objects or equipment 1220,1222,1224,1226,1228 etc. are via any one Web server communicated with in the multiple known protocol of such as HTML (Hypertext Markup Language) (HTTP) and so on.Calculating objects 1210,1212 etc. also can be used as the client computer of such as calculating object or equipment 1220,1222,1224,1226,1228 etc. as server, and this can be the characteristic as distributed computing environment.
Example calculation equipment
As mentioned above, advantageously, technology described herein is applicable to any equipment that expectation performs the reverse engineering of user interface solid model in computing systems.Therefore, should be appreciated that the hand-held contemplating all kinds used in conjunction with each embodiment, portable and other computing equipment and calculating object, that is, use can optimize Anywhere ideally in the resource of equipment.Therefore, described in fig. 13 below general purpose remote computer is an example of computing equipment.
Although and non-required, each embodiment can partly realize via operating system, and the developer of services for equipment or object uses and/or is included in the application software of the one or more function aspects for performing each embodiment described herein.Software can describe in the general context of the computer executable instructions such as the such as program module performed by one or more computing machine such as such as client workstation, server or miscellaneous equipment etc.Those skilled in the art will appreciate that computer system has the various configuration and agreement that can be used for transmitting data, and do not have customized configuration or agreement should be considered to restrictive thus.
Therefore, Figure 13 shows an example of the suitable computing system environment 1300 of one or more aspects that wherein can realize each embodiment, although as mentioned above, computing system environment 1300 is only an example of suitable computing environment, not proposes any restriction to usable range or function.Computing system environment 1300 should be interpreted as having any dependence or requirement to any one in the assembly shown in exemplary computer system environment 1300 or its combination yet.
With reference to Figure 13, the exemplary remote device for realizing one or more embodiment comprises the universal computing device of computing machine 1310 form.The assembly of computing machine 1310 can include, but not limited to processing unit 1320, system storage 1330 and the various system components comprising system storage is coupled to the system bus 1322 of processing unit 1320.
Computing machine 1310 generally includes various computer-readable medium, and can be any usable medium can accessed by computing machine 1310.System storage 1330 can comprise the such as volatibility of ROM (read-only memory) (ROM) and/or random access memory (RAM) and so on and/or the computer-readable storage medium of nonvolatile memory form.Exemplarily unrestricted, system storage 1330 also can comprise operating system, application, other program modules and routine data.According to further example, computing machine 1310 can also comprise other medium (not shown) various, can comprise, but not restriction, RAM,, ROM, EEPROM, flash memories or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical disc storage, tape cassete, tape, disk storage or other magnetic storage apparatus or other can be used for the tangible and/or non-momentary medium storing information needed.
User by input equipment 1340 to computing machine 1310 input command and information.The display device of monitor or other types is also connected to system bus 1322 via the interface of such as output interface 1350 and so on.In addition to the monitor, computing machine also can comprise other peripheral output devices of such as loudspeaker and printer and so on, and they connect by output interface 1350.
The logic that computing machine 1310 can use the such as network interface 1370 of other remote computers one or more (such as remote computer 1360) is connected in networking or distributed environment and operates.Remote computer 1370 can be that personal computer, server, router, network PC, peer device or other common network node or any other remote media use or transmission equipment, and can comprise above about any or all of element described in computing machine 1310.Logic shown in Figure 13 connects the network 1372 comprising such as LAN (Local Area Network) (LAN) or wide area network (WAN) and so on, but also can comprise other network/bus.These networked environments are common in the computer network of family, office, enterprise-wide, Intranet and the Internet.
As mentioned above, although describe each exemplary embodiment in conjunction with various computing equipment and network architecture, underlying concept can be applied to any network system and any computing equipment or system.
Such as, and there is the multiple method realizing same or similar function, suitable API, tool box, driver code, operating system, control, independence or downloadable software object etc., they make application and service can use technology provided herein.Thus, each embodiment is herein from the viewpoint of API (or other software objects) and from the software realized as one or more embodiment described herein or item of hardware conception.Thus, each embodiment described herein can have adopt hardware completely, part adopts hardware and part adopts software and adopts the direction of software.
Word used herein " exemplary " means as example, example or explanation.For avoiding feeling uncertain, theme disclosed herein is not limited to these examples.In addition, described herein be described to " exemplary " any aspect or design might not be interpreted as comparing other side or design more preferably or favourable.In addition, using that term " comprises ", " having ", " comprising " and other similar words degree on, for avoiding feeling uncertain, these terms are intended to be similar to the term mode " comprised " as open transition word and are inclusive and do not get rid of any additional or other elements.
As described in, various technology described herein can combined with hardware or software or, in due course, realize with both combinations.As used herein, term " assembly ", " system " etc. are intended to refer to computer related entity equally, or hardware, the combination of hardware and software, software or executory software.Such as, assembly may be, but not limited to, the thread of the process run on a processor, processor, object, executable code, execution, program and/or computing machine.As explanation, the application run on computers and computing machine can be assemblies.One or more assembly can reside in the thread of process and/or execution, and assembly and/or can be distributed between two or more computing machine on a computing machine.
Foregoing system is with reference to describing alternately between some assemblies.Be appreciated that these systems and assembly can comprise assembly or the sub-component of specifying, assembly that some is specified or sub-component and/or additional assembly, and according to the various displacement of foregoing and combination.Sub-component also can be used as the assembly being coupled to other assemblies communicatedly and realizes, instead of is included in parent component (level).In addition, it should be noted that one or more assembly can be combined into the single component providing aggregation capability, or be divided into some independent sub-components, and such as any one or more middle layers such as administration and supervision authorities can be configured to be communicatively coupled to such sub-component to provide integrated functionality.Any assembly described herein also can with one or more do not describe specially herein but other assemblies that those skilled in the art are generally known carry out alternately.
Example system in view of the above, the process flow diagram with reference to each accompanying drawing also can understand the method realized according to described theme.Although for the purpose of interest of clarity, as the method that a series of frame illustrates and describes, but should be appreciated that each embodiment is not limited only to the order of frame, because some frames can be described the order generation different with the frame described and/or occur concomitantly with other frames in place therewith.Although show the flow process of non-sequential or branch via process flow diagram, be appreciated that can realize reaching identical or other branches various of similar results, flow path and frame order.In addition, and the frame shown in not all to be all the method that realizes hereinafter describing necessary.
Except each embodiment described herein, be appreciated that and can use other similar embodiments or can modify described embodiment and add to perform the identical or equivalent function of corresponding embodiment and not deviate from these embodiments.In addition, multiple process chip or multiple equipment can share the performance of one or more functions described herein, and similarly, storage can realize across multiple equipment.Therefore, the present invention should not be limited to any single embodiment, but should explain according to the range of appended claims, spirit and scope.

Claims (15)

1. a reverse engineering solid model system, comprising:
To test oneself manager component (120, 200, 500), it is configured to catch the multiple states (130) be associated with multiple user interface UI control hierarchies of intended application, comprise trace component (510), it is configured to the multiple screens (600 monitoring described intended application, 620, 626) stream (622 between, 628), and catch with from operating user interface windows to the details that the process of follow-up interfaces windows is relevant, wherein during the process of subsequent user interfaces windows, accessing multiple middle window from operating user interface windows,
Solid model processing components (140,800), it is configured to generate model representation based on described multiple state (130); And
Output precision (820), it is configured to can to present described model representation by edit format.
2. reverse engineering solid model system as claimed in claim 1, is characterized in that, described in manager component of testing oneself also comprise:
Observation assembly (220), it is configured to the first state of the first window obtaining described intended application and the second state of Second Window, and wherein said Second Window is activated by the action in described first window; And
Storyboard manager component (230), it is configured to the information of accessing described multiple UI control hierarchy and being associated,
Wherein said solid model processing components (140,800) is further configured to and multiple UI control hierarchy and the information sequence that is associated is changed into described model representation.
3. reverse engineering solid model system as claimed in claim 1, is characterized in that, also comprise:
Converter assembly (810), it is configured to described model representation to convert to the form compatible mutually with described intended application, and wherein said output precision (820) is further configured to transmit described model representation with for use as solid model with the form of described intended application compatibility.
4. reverse engineering solid model system as claimed in claim 1, it is characterized in that, described in test oneself manager component (120,200,500) be further configured to seizure control concept, wherein said control concept is associated with one of described multiple state (130).
5. reverse engineering solid model system as claimed in claim 1, it is characterized in that, described solid model processing components (140,800) is further configured to and keeps described model representation as mid-module for converting the form with described intended application compatibility after a while to.
6. reverse engineering solid model system as claimed in claim 1, it is characterized in that, also comprise posture assembly (210), it is configured to identify selection to described intended application according to the posture of the first application window of the described intended application of mark and described intended application.
7. reverse engineering solid model system as claimed in claim 1, is characterized in that, also comprise: navigation arrangement (520), it is configured to generate the described multiple screen (600 of expression, 620,626) link of the stream (622,628) between.
8. reverse engineering solid model system as claimed in claim 1, it is characterized in that, described manager component of testing oneself (120,200,500) is further configured at least one in the state of type, the scope of application, control or its child control catching application.
9. reverse engineering solid model system as claimed in claim 1, is characterized in that, described in manager component (120,200,500) of testing oneself utilize aid application programming interface.
10., for creating a method for the model of user interface (300), comprising:
Based on the application that the sign received (900) performs in user interface (300), the solid model of wherein said instruction instruction initialization application;
Record (910) represents the first window (400 of described application, 600) the first data set of state, and the interaction detail of catching from operating user interface windows to the process of follow-up interfaces windows, wherein during the process of follow-up interfaces windows, accessing multiple middle window from operating user interface windows;
By described first data set input (920) in described model; And
So that (930) described model can be exported by using form.
11. methods as claimed in claim 10, it is characterized in that, described mark (900) comprising:
Receive the selection for described application and described first window, wherein said first window and described application is current is just performing in described user interface; And
Determine quoting for described first window.
12. methods as claimed in claim 10, it is characterized in that, described record (910) comprises at least one in the state of record type, scope, control and child control thereof.
13. methods as claimed in claim 10, is characterized in that, described record (910) comprises and utilizes aid application programming interface to catch the information relevant with described first data set.
14. methods as claimed in claim 10, is characterized in that, comprise further:
Create the navigation of the movement (622,628) described in detail from first window (400,600,700) to subsequent window (420,440,620,626,730);
Keep the first state of first window (400,600,700) and the second state of subsequent window (420,440,620,626,730); And
Described first state and described second state are sent to described model, wherein with the first state described in the formatted output of intended application compatibility and described second state.
15. methods as claimed in claim 10, it is characterized in that, described output (930) comprising:
By described Model Mapping to intended application model;
Generate described intended application model; And
Present described intended application model.
CN201110435569.7A 2010-12-13 2011-12-12 The reverse engineering of the user interface solid model in working software Active CN102446099B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/966,902 2010-12-13
US12/966,902 US9262158B2 (en) 2010-12-13 2010-12-13 Reverse engineering user interface mockups from working software

Publications (2)

Publication Number Publication Date
CN102446099A CN102446099A (en) 2012-05-09
CN102446099B true CN102446099B (en) 2016-03-30

Family

ID=46008616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110435569.7A Active CN102446099B (en) 2010-12-13 2011-12-12 The reverse engineering of the user interface solid model in working software

Country Status (4)

Country Link
US (1) US9262158B2 (en)
EP (1) EP2652585A4 (en)
CN (1) CN102446099B (en)
WO (1) WO2012082663A2 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9182981B2 (en) * 2009-11-23 2015-11-10 University Of Washington Systems and methods for implementing pixel-based reverse engineering of interface structure
US20120173997A1 (en) * 2010-12-30 2012-07-05 International Business Machines Corporation System and method for capturing a state of a running application
KR101819508B1 (en) * 2011-07-25 2018-03-02 삼성전자주식회사 Apparatus and method for changing theme of application in portable terminal
GB2507273A (en) * 2012-10-23 2014-04-30 Ibm Maintaining integrity of output of code generators
CN104471530B (en) * 2012-10-31 2017-07-18 慧与发展有限责任合伙企业 Executable software code generation
US10884905B2 (en) * 2013-02-01 2021-01-05 Micro Focus Llc Test script creation based on abstract test user controls
US20160132427A1 (en) * 2013-06-27 2016-05-12 Hewlett-Packard Development Company, L.P. User interface conformance
US20160209989A1 (en) * 2013-09-30 2016-07-21 Jin-Feng Luan Record and replay of operations on graphical objects
US10592580B2 (en) 2014-04-25 2020-03-17 Ebay Inc. Web UI builder application
US10447762B2 (en) * 2014-10-07 2019-10-15 Qordoba, Inc. Remote localization platform
CN104766154B (en) * 2015-02-13 2018-09-11 上海同筑信息科技有限公司 The system and method that snapshot image based on BIM is applied to intelligent engineering management
US10606622B1 (en) * 2016-06-30 2020-03-31 EMC IP Holding Company LLC Method and system for web application localization using hierarchical resolution
CN107766359B (en) * 2016-08-17 2022-03-15 阿里巴巴(中国)有限公司 Method and device for converting page content into picture and computing equipment
EP3392725B1 (en) * 2017-04-21 2022-10-19 Siemens Aktiengesellschaft Suggestion and or creation of agents in an industrial automation system
CN110020356A (en) * 2017-10-16 2019-07-16 阿里巴巴集团控股有限公司 A kind of code generating method of page module, apparatus and system
US20190347078A1 (en) * 2018-05-09 2019-11-14 International Business Machines Corporation Generating Application Mock-Ups Based on Captured User Sessions
CN111061475B (en) * 2019-12-13 2023-12-12 中国南方电网有限责任公司 Software code generating method, device, computer equipment and storage medium
CN113360813B (en) * 2020-03-02 2024-05-31 深圳中广核工程设计有限公司 Data interaction method, device and equipment of nuclear power design production management platform and storage medium
US11966722B2 (en) 2022-04-21 2024-04-23 Express Scripts Strategic Development, Inc. Application development system including a dynamic mock engine for service simulation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851641A (en) * 2005-09-28 2006-10-25 华为技术有限公司 Method for realizing embedded device user interface

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748580B1 (en) * 1999-04-22 2004-06-08 International Business Machines Corporation Method and apparatus for creating software tools using a JTML interface
US8042098B2 (en) 2000-12-06 2011-10-18 Axiomatic Design Software, Inc. Method and apparatus for producing software
US7107279B2 (en) * 2000-12-20 2006-09-12 Insitech Group, Inc. Rapid development in a distributed application environment
US7412658B2 (en) * 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US20040111702A1 (en) 2002-12-10 2004-06-10 Chan Kin Ming Method and apparatus for visual programming
US7660817B2 (en) * 2003-05-22 2010-02-09 Microsoft Corporation System and method for representing content in a file system
JP4097263B2 (en) * 2003-06-11 2008-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Web application model generation apparatus, web application generation support method, and program
US7949960B2 (en) * 2003-09-30 2011-05-24 Sap Ag Predictive rendering of user interfaces
US20050138606A1 (en) 2003-12-17 2005-06-23 Sujit Basu System and method for code migration
KR20050063402A (en) 2003-12-22 2005-06-28 한국전자통신연구원 Componentization method for re-engineering of legacy system
US7539981B2 (en) 2004-01-30 2009-05-26 Microsoft Corporation XML-based preprocessor
US8307339B2 (en) * 2004-03-15 2012-11-06 Ramco Systems Limited Software reuse in model based software systems
US7818682B2 (en) * 2004-11-29 2010-10-19 Sap Ag Modeling editor
US8239882B2 (en) * 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
DE102006027709B4 (en) * 2006-06-14 2019-01-03 Magna powertrain gmbh & co kg Transmission unit for a motor vehicle and control method therefor
US20080006379A1 (en) * 2006-06-15 2008-01-10 The Force, Inc. Condition-based maintenance system and method
US8176467B2 (en) * 2006-07-25 2012-05-08 Harris Corporation Computer program generation system and method thereof
US20080148235A1 (en) * 2006-12-15 2008-06-19 Microsoft Corporation Runtime inspection of user interfaces
US7743071B2 (en) * 2007-02-26 2010-06-22 Microsoft Corporation Efficient data handling representations
US8132147B2 (en) * 2007-05-29 2012-03-06 Sap Ag Semantic interpretation of software models for generating user interfaces
US20110104653A1 (en) * 2008-01-07 2011-05-05 Tufts University Interactive digital workbook system and method
US20090319958A1 (en) * 2008-06-18 2009-12-24 Microsoft Corporation Machine Readable Design Description for Function-Based Services
US7899847B2 (en) * 2008-12-17 2011-03-01 International Business Machines Corporation System and method for authoring new lightweight web applications using application traces on existing websites
US9056246B2 (en) * 2009-02-13 2015-06-16 Daybreak Game Company Llc Dynamic reverse engineering
US8255384B2 (en) * 2009-09-30 2012-08-28 Fujitsu Limited Client-tier validation of dynamic web applications
US8352875B2 (en) * 2009-11-17 2013-01-08 Hewlett-Packard Development Company, L.P. System and method for integrating a plurality of software applications
CN102667696B (en) * 2009-11-23 2016-04-13 惠普发展公司,有限责任合伙企业 For the System and method for of the object identity in user interface
US9116709B2 (en) * 2010-03-04 2015-08-25 Tata Consultancy Services Limited Computationally efficient system for developing configurable, extensible GUI for database centric enterprise business applications
US8825459B2 (en) * 2010-11-29 2014-09-02 Autodesk, Inc. Multi-modal manipulation of a geometric model
US8726285B2 (en) * 2011-01-28 2014-05-13 Ciambella Ltd. Method and apparatus for triggering workflow deployment and/or execution
US8893074B2 (en) * 2011-03-11 2014-11-18 Hewlett-Packard Development Company, L.P. Software development requirements recording
US20130219307A1 (en) * 2012-02-21 2013-08-22 Artisan Mobile, Inc. System and method for runtime user interface management
US20140115506A1 (en) * 2012-02-29 2014-04-24 William Brandon George Systems And Methods For Measurement Of User Interface Actions
US9448908B2 (en) * 2012-09-10 2016-09-20 Applitools Ltd. System and method for model based session management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851641A (en) * 2005-09-28 2006-10-25 华为技术有限公司 Method for realizing embedded device user interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An Iterative Approach for the Reverse Engineering of Rich Internet Application User Interfaces;Amalfitano;《2010IEEE》;20100509;摘要部分和正文第2、3部分;图9 *

Also Published As

Publication number Publication date
WO2012082663A2 (en) 2012-06-21
EP2652585A4 (en) 2014-05-28
US9262158B2 (en) 2016-02-16
US20120151433A1 (en) 2012-06-14
CN102446099A (en) 2012-05-09
WO2012082663A3 (en) 2012-09-20
EP2652585A2 (en) 2013-10-23

Similar Documents

Publication Publication Date Title
CN102446099B (en) The reverse engineering of the user interface solid model in working software
US7793258B2 (en) Software development using visual interfaces
US8417798B2 (en) Deploying artifacts for packaged software application in cloud computing environment
US7885793B2 (en) Method and system for developing a conceptual model to facilitate generating a business-aligned information technology solution
CN101373431B (en) Enhanced widget composition platform
US9846849B2 (en) System and method for providing an editor for use with a business process design environment
US9105006B2 (en) Generating floating desktop representation of extracted model object
US20190196793A1 (en) Building enterprise mobile applications
US20100077386A1 (en) System and a method for cross-platform porting of business applications and making them contexually-aware on target platforms
CN110807015A (en) Big data asset value delivery management method and system
TWI489297B (en) Trade card services
US9558525B2 (en) Process communication method and system
JP2016026348A (en) Widget framework, real time service integration and real time resource compaction
US20110022943A1 (en) Document object model (dom) application framework
US20210117313A1 (en) Language agnostic automation scripting tool
Lachgar et al. Modeling and generating native code for cross-platform mobile applications using DSL
US10691429B2 (en) Converting whiteboard images to personalized wireframes
Giroux et al. Weblab: An integration infrastructure to ease the development of multimedia processing applications
US20070153706A1 (en) Design time support for service adaptation
US20210342130A1 (en) Systems and methods for software application generation and delivery
US10162609B2 (en) Model-driven object composition for data access using function-expressions
Criado et al. User interface composition with cots-ui and trading approaches: Application for web-based environmental information systems
Rozinat et al. Workflow simulation for operational decision support using yawl and prom
Friedman-Hill et al. Simulation templates in the SUMMIT system
CN110648081A (en) Business modeling method and device for computing system and computer system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant