Process modeling and interface

An instance of an existing data system has one or more processes. Each process has corresponding metadata. In one example method, metadata for a given process is accessed and a visual diagram of the process is automatically generated based on the diagram. The visual diagram is displayed on a user interface display and a user modification input is received on the user interface display modifying the visual diagram to obtain a modified visual diagram. The metadata corresponding to the process is modified based on the modification to the visual diagram.

BACKGROUND

Data systems are currently in wide use. They often help organizations perform day-to-day tasks.

By way of example, many business data systems are currently in wide use. Such business data systems can include, for example, enterprise resource planning (ERP) systems, customer resource management (CRM) systems, line-of-business (LOB) systems, and other business data systems.

In order to use a business data system, an organization normally begins with a base business data system that may be purchased by a seller. By way of example, assume that an organization is to begin using an ERP system. The organization may first determine the types of processing it needs from the ERP system, in order to implement its business. Then, the organization may purchase a base ERP system, from a seller, which meets many of the needs of the organization.

However, in general, the organization will normally customize the base ERP system, and add certain functional components to it, in order to have all of the needs of the organization met. That is, the base ERP system is not likely to fit 100 percent of the organization's needs. Therefore, there are gaps in the functionality provided by the base ERP system. By way of example, the base ERP system may be a 60 percent fit to the needs of the organization, but 40 percent of the functionality is not met (i.e., it falls in a gap). Therefore, customizations and modifications of the base ERP system are made in order to fill the gaps. The gaps are sometimes listed on a document referred to as a “fit gap list”.

It can be very difficult to generate a fit gap list in a meaningful way. There are few, if any, tools which generate a visual representation of the functionality provided by an existing ERP (or other business data) system. Therefore, these visualizations are normally generated using a highly manual process. Similarly, it is very difficult to identify functionality which is missing, or which needs to be modified, for a given organization even after the visual representation of the base ERP system has been generated. Again, identifying the gaps in this way has been a highly manual, and non-standardized effort.

SUMMARY

An instance of an existing data system has one or more processes. Each process has corresponding metadata. Metadata for a given process is accessed and a diagram of the process is automatically generated.

DETAILED DESCRIPTION

FIG. 1is a block diagram of one embodiment of a solution process mapping architecture100. Architecture100includes solution process mapping system102, business data store104, user interface displays106that are displayed for interaction by user108. Architecture100also shows a business data system110(which can be any business data system but is described herein for the sake of example as an ERP system) that accesses data in data store104.

Data store104illustratively includes processes112in an instance of ERP system110. The processes112each illustratively have a set of process metadata114. Solution process maps116are maps that have already been generated for various processes in the solution that comprises the ERP instance of business data system110. Fit gap lists118are illustratively lists that have been generated by solution process system102.

FIG. 1also shows that system102illustratively includes a process navigator/modifier component120, processor122, recorder component124, security role component126, and user interface component128. User interface component128(by itself or under the control of other components or processors in system102) illustratively generates user interface displays106that have user input mechanisms130. User108can interact with the user input mechanisms130to access and control system102. In one embodiment, user108can use process navigator/modifier component120to identify processes112and generate solution process maps116for those processes, as well as navigate existing maps116or modify existing maps116.

User input mechanisms130can take a wide variety of different forms. For instance, they can be buttons, links, check boxes, text boxes, dropdown menus, icons, or any other of a wide variety of different user input mechanisms. In addition, user input mechanisms130can be actuated by user108in a wide variety of different ways as well. For instance, where user interface displays106are displayed on a touch sensitive screen, user108can actuate user input mechanisms130using touch gestures, such as by using the user's finger, a stylus, or another device. In addition, where user interface displays106are displayed on a device that has speech recognition components, user108can actuate user input mechanisms130using voice commands. User108can also actuate user input mechanisms130in other ways, such as by using a point and click device (e.g., a trackball or mouse), by using a hardware keyboard, a software keyboard, using a thumbpad, keypad, or a wide variety of different mechanisms.

Recorder component124can illustratively be used by user108to record solution process maps116for processes112, based on metadata114. Each solution process map116can include a variety of information, such as a flowchart,132, tree view134, a video136or other information137. Process metadata114illustratively includes process details140, properties142and other metadata144.

Security role component126can illustratively be used by user108to assign a security role to different tasks or activities in a given process112. This is described in greater detail below.

Processor122is illustratively a computer processor with associated memory and timing circuitry (not separately shown). Processor122is illustratively a functional component of system102and is activated by, and facilitates the functionality of, other components in system102.

It should also be noted that, while data store104is shown as a single data store accessible by both system102and business data system110, it can be multiple different data stores as well. In addition, the one or more data stores can be local to either system102or system110, or remote from both of them. Similarly, some data stores104can be local, while others are remote. The remote data stores can be accessible through a network, such as a wide area network, a local area network, or otherwise. In addition, as described below, system100can be implemented in a cloud-based architecture as well.

Further, the functionality described herein is attributed to certain blocks in the block diagram. However, the blocks can be divided into more blocks, to perform the functionality, or combined into fewer blocks as well. All of this is contemplated herein.

Before describing the operation of architecture100in more detail, a brief overview will be provided in order to enhance understanding. User108can generate a solution process map116using recorder component124in order to record an already-existing process112in an instance of ERP system110, or using process navigator/modifier component120. User108can activate recorder component124and then select a process112. System102generates user interface displays106that allow user108to walk through the process, executing it using user input mechanisms130, while recorder component124is recording it. When the user108has completed the process, recorder component124can generate, from the recorded metadata corresponding to the process, a flow chart132, a tree view134, or other map items137. Similarly, recorder124illustratively generates a video136showing the steps that user108took in executing the process. Alternatively, user108can use process navigator/modifier component120to generate or modify a flow diagram or tree view corresponding to the process as well.

Once a map116is generated, user108can use process navigator/modifier component120to not only navigate the process, but to modify it by adding or deleting tasks or activities in the process and by assigning security roles as well. Based on any modifications made to the already-existing process map, component120can generate a fit gap list118that shows work items that need to be completed in order to modify the already-existing process so that it meets the modified process map generated by user108.

FIG. 2is a flow diagram illustrating one embodiment of the operation of recorder component124in recording an already-existing process and generating a map for that process, in more detail.FIGS. 2A-2Gare exemplary user interface displays that can be generated for user108, in order to make the recording.FIGS. 2-2Gwill now be described in conjunction with one another.

System100first receives a user input from user108, through user input mechanism130on user interface display106, in order to open task recorder component124. This is indicated by block150inFIG. 2.

System102then uses user interface component128to open task recorder component124and generate a user interface display that allows user108to control task recorder component124. This is indicated by block152inFIG. 2.

The user interface display illustratively allows user108to select a framework that contains the task to be recorded.FIG. 2Ashows one exemplary user interface display154. Recorder component124illustratively generates user interface display154using user interface component128. User interface display154shows that the task recorder is open and a record tab156has been selected. Record tab156illustratively includes user input mechanisms (such as buttons) that allow the user to start, pause, and stop recording.

User interface display154also illustratively includes a framework selector158that allows user108to select a framework, either by typing it in a text box or by actuating a dropdown menu and selecting it from that menu. Similarly, user interface display154illustratively includes an industry selector160. Industry selector160also illustratively allows user108to select an industry by typing in a text box or selecting from a dropdown menu. In the embodiment shown inFIG. 2A, the user has selected the “ACME” framework and a cross-industry selection for the industry designator. Receiving the user selection of a framework (and possibly an industry) that contains the task to be recorded is indicated by block162inFIG. 2.

Recorder component124then accesses the various already-existing processes for the designated framework and industry and displays a process tree for the selected framework.FIG. 2Bshows one exemplary user interface display164in which a process tree166is displayed for the selected framework and industry. Process tree166illustratively includes a plurality of hierarchically arranged nodes which can be expanded or collapsed to show additional nodes. Displaying process tree166for the selected framework is indicated by block168inFIG. 2.

User108then illustratively expands the process tree166and the expanded tree (showing hierarchically arranged nodes) is displayed. Receiving the user input expanding the process tree is indicated by block170inFIG. 2, and displaying the expanded tree is indicated by block172.

FIG. 2Cshows an expanded tree174that has a plurality of hierarchically arranged nodes. Descendent nodes are indented relative to ancestor nodes. Tree174displays four leaf nodes176.FIG. 2Calso shows that the user has selected the highlighted leaf node176. Receiving user selection of a leaf node in the expanded tree is indicated by block178inFIG. 2.

User108then provides a user input to start recording the process corresponding to the highlighted leaf node176. This is indicated by block180inFIG. 2.FIG. 2Dshows a portion of user interface display175shown inFIG. 2C, except that it also indicates that the start button182has been actuated by the user.

In response, recorder component124(or another component in system102) generates the use interface displays for the task corresponding to the highlighted leaf node176. This is indicated by block184inFIG. 2. The user can then actuate user input mechanisms on those user interfaces, in order to perform the task corresponding to the highlighted leaf node. All the while, recorder component124is recording not only a visual record, but also metadata, corresponding to each user input step (or operation) that is performed by user108on those user interface displays. Receiving and recording the user inputs in performing the task is indicated by block186inFIG. 2. This continues until user108has completed the task being recorded as determined at block188inFIG. 2.

Once the user can completed the task, the user illustratively provides a user input to stop recording. This is indicated by block190inFIG. 2.FIG. 2Eshows one embodiment of a user interface display illustrating this.FIG. 2Eshows a portion of user interface display175, except thatFIG. 2Eshows that the user has now actuated the stop button192. This stops the recording.

Either during the recording, or after the recording is complete, recording component124(or another component of system102) illustratively generates any desired artifacts for the recorded task. This is indicated by block194inFIG. 2. By way of example, one artifact that can be generated is a textual document196describing how to perform the task, step-by-step. Similarly, an artifact can be a video recording198which can be played back by the user108or a different user, which visually shows how the user performed the task on the user interface displays. The artifacts can include client/server traces200, a process map or flowchart202(which will be described in greater detail later) or any other desired artifacts204.

Once the desired artifacts are generated, they are illustratively saved for later access or export. This is indicated by block206inFIG. 2. Recorder component124then illustratively changes a status indicator corresponding to the task represented by the leaf node that was selected by the user at block178. The status indicator now indicates that a recording has been made for the corresponding process (or task). This is indicated by block208inFIG. 2.

In order to view the recorded artifacts, the user illustratively selects the recording corresponding to the task that was recorded. This can be done in a variety of different ways. For instance, system102can generate a list that shows the various recordings corresponding to the various leaf nodes displayed inFIG. 2C.FIG. 2Fshows one embodiment of such a display. It can be seen that the user has selected a recording210from the list inFIG. 2F. When the user actuates the selected recording, the artifacts generated during that recording are displayed, such as those shown inFIG. 2G.FIG. 2Gshows a list of recorded artifacts including a step-by-step description of the process or task that was recorded as indicated by196, the video recording198, traces or events on the client or server side as indicated by200, and a process map or flowchart202. Of course, the other or different artifacts204can also be listed, if they are generated.

FIG. 3is a flow diagram illustrating one embodiment of the operation of process navigator/modifier component120in allowing user108to navigate an already-existing process map.FIGS. 3A-3Eare illustrative user interface displays.FIGS. 3-3Ewill now be described in conjunction with one another.

User108first provides appropriate user inputs on user interface displays106so that user108can access system102and select a process map for navigation. This is indicated by block250inFIG. 3.

FIG. 3Ashows one embodiment of a user interface display252that can be used to do this. User interface display252illustratively includes a section of different categories of processes that have existing maps254that can be selected by user108.FIG. 3Ashows two categories255and257that have processes with existing maps. User interface display252also illustratively includes a section256that allows the user to select a specific industry or category of processes for creating a new map. A new map can be generated in much the same way as an existing map is modified. This is described in detail below.

However, in order to navigate an existing map, the user illustratively actuates one of input mechanisms255or257under the existing maps section254of display252. This causes component120to generate a hierarchical tree view of processes that correspond to the categories represented by the mechanism255or257that was actuated by the user. These actuators represent categories of business processes112in an ERP instance for which solution maps116already exist.

In response, process navigator/modifier component120generates a user interface display of a tree view of the processes selected by the user. Displaying the tree view is indicated by block280inFIG. 3.FIG. 3Bshows one embodiment of a user interface display282that shows a tree view284of the various processes that have been mapped. The hierarchical tree view284illustratively has expansion and delete mechanisms289and291, respectively. Expansion mechanisms289can be actuated to expand the tree to show leaf nodes. Delete mechanism291can be actuated to delete a node. In addition, in one embodiment, the processes are broken into categories, such as core business processes286and support processes288. When the user selects one of the nodes in the tree view, a description pane290is updated to show a relatively detailed description of the processes corresponding to the node that has been selected by the user.

Process navigator/modifier component120then receives user inputs to expand the tree view284to show leaf nodes. This is indicated by block292inFIG. 3. The tree view284shown inFIG. 3Bhas already been expanded to show leaf nodes296.

Component120then receives user selection and actuation of one of leaf nodes296. This is indicated by block298inFIG. 3. In response, component120displays the task corresponding to the actuated leaf node. This is indicated by block300. The display can include a flowchart302, various other details304corresponding to the task or other information306.

FIG. 3Cshows one embodiment of a user interface display310showing a flow diagram312for a selected leaf node inFIG. 3B. Flow diagram312includes boxes or shapes314,316,318,319,320,322,324and326. Each shape corresponds to an activity or task that is performed in order to implement the process represented by flowchart312. Flowchart312is also shown divided into security lanes328,330and334. The security lanes each represent a security role that is needed in order to perform the activities or tasks represented by shapes314-326. For instance, it can be seen that shape320is in security lane330. This means that the “Approve Purchase Order” activity is to be performed by an individual having a security role corresponding to “Purchase Manager”. The security role of the lane in which a given shape resides in the security role assigned to that task or activity.

Once the user interface display310is displayed, the user can click on various parts of the user interface in order to perform different actions, or to view different information. Receiving user actuation of various parts of the user interface display310is indicated by block350inFIG. 3.

FIG. 3Cspecifically shows that the task corresponding to flowchart312is a task entitled “Manage Purchase Order”. When the user clicks on the “Manage Purchase Order” name shown at340, a properties display342lists the step-by-step instructions for performing the “Manage Purchase Order” task. In addition, a video portion344allows a user to view a video of another user actually performing the task on the user interfaces of the corresponding instance of the ERP system110. Actuating the activity name340is indicated by block352inFIG. 3and displaying the step-by-step instructions on how to carry out the task is indicated by block354.

User interface display310also includes a properties bar346. User108can modify the flowchart312by dragging and dropping shapes from properties bar346onto the canvas where flowchart312is displayed. This is described in greater detail below with respect toFIG. 4.

FIG. 3Dshows a user interface display356, which is similar to user interface display310shown inFIG. 3Band similar items are similarly numbered. However, user interface display356illustrates that the user has now clicked on the “Manage Requisition” block314in the flowchart312. When this happens, component120displays property details corresponding to the activity represented by shape (or block)314. The properties are displayed in property display section358. InFIG. 3D, the properties include the shape, the label, help text corresponding to the activity, the name configuration key and a link to view or maintain the user license, the layer and model corresponding to the activity, as well as the object type and object name. Of course, the properties can include a wide variety of other information, such as the country or region, the security roles with permissions, the enabled workflows, and the names of the data sources, etc. Clicking on one of the blocks or shapes is indicated by block360inFIG. 3, and displaying the property details is indicated by block362.

User108can also click on a start button on video portion344to watch a video of a user performing the task represented by flowchart312. It should also be noted that, when the user actuates one of the shapes in flowchart312, video portion344can be updated to display the part of the video display that corresponds to the activated shape. This, of course, is optional. Clicking on the video is indicated by block364inFIG. 3, and playing the video is indicated by block366.

In one embodiment, the user can also click on one of the connector lines in flowchart312. In that embodiment, component120displays the class methods and table methods that are executed when the process represented by flowchart312moves along that connector line. Actuating one of the connector lines is indicated by block368inFIG. 2and displaying the class methods and table methods that are executed is indicated by block370.FIG. 3Eshows one embodiment of a user interface display372that illustrates this. It can be seen that a flowchart374is displayed in user interface display372, and the user has actuated the connector line between the beginning of the flowchart and the first shape. This connector line is indicated at376. When this occurs, component120illustratively generates a popup display378that shows the classes, tables and even database queries that can be performed as the process moves along connector line376.

It will be noted that, in other embodiments, the user can click on other portions of the flowchart display. This is indicated by block380inFIG. 3. In that case, component120can display other information or take other actions as indicated by block382.

User108can perform additional navigation through the process map, and this is determined at block384inFIG. 3. If the user108wishes to do so, processing continues at block298where the user can navigate to other flowcharts by clicking other leaf nodes in the tree view and the flowchart and task display will be generated for the new leaf node. However, if, at block384, it is determined that no further navigation is desired, then the navigation is complete.

FIG. 4is a flow diagram illustrating one embodiment of the operation of system102in generating modifications to a process from the flowchart view such as that shown inFIGS. 3C and 3Ddiscussed above. First, as discussed above, process navigator/modifier component120generates user interface displays with user interface mechanisms to receive user inputs to display the flowchart view of a process. This is indicated by block390inFIG. 4. An example of this is user interface display356shown inFIG. 3Dabove. It can be seen that the flowchart view not only includes the activities or tasks represented by blocks314-326(as indicated by block392inFIG. 4) but it also includes the roles394associated with each of those blocks, properties396that are displayed for a selected block, video398(shown in video portion344of display356) and it can, of course, include other information400as well.

Component120then receives a user input modifying the flowchart corresponding to the underlying process. This is indicated by block402inFIG. 4,FIG. 4Ashows a user interface display404that illustrates a number of different ways that a user can modify the process from the flowchart view. User interface display404is similar, in some ways, to user interface display356shown inFIG. 3D, and similar items are similarly numbered.

In one embodiment, user108desires to delete or remove one of the tasks or activities represented by a shape in flowchart312. In that case, the user can simply select a shape and actuate the “remove” button406on user interface display404. Removing a task or activity is indicated by block408inFIG. 4. Component120automatically updates the metadata corresponding to the process to indicate this. This is indicated by block412inFIG. 4.

In addition, user108can change a security role assigned to a task or activity corresponding to one of the shapes in flowchart312. In one embodiment, the user simply drags a shape from its existing security lane328,330and332, to a different lane. For instance, inFIG. 4A, the user can click on shape322and drag it from “Purchasing Agent” security lane328, to “Quality Control Clerk” security lane332. In that case, security role component126automatically updates the metadata114corresponding to the task or activity to indicate that it has been assigned to a different security role. Changing the security role for a task or activity is indicated by block410inFIG. 4, and automatically updating the metadata to indicate the new security role is indicated by block412.

User108can also add a task or activity to flow chart112. This can be done, in one embodiment, by simply dragging a shape413from properties bar346onto the canvas where flowchart312is displayed. The user can then add connectors or modify the location of the existing connectors, to include the new shape. If the user has dragged and dropped a shape from properties bar346onto the canvas showing flowchart312, component120generates a properties display414that allows the user to add data for the task or activity corresponding to the newly added shape. In the embodiment shown, the user can type in the name, type and description of the newly added task or activity, as well as the role and business corresponding to it. In another embodiment, the user can select these things from a dropdown menu (as shown for example by the type indicator).

The user can also automatically assign a security role to the newly added task or activity simply by placing it in one of the security lanes328,330or332. The user can save the new flowchart (with the newly added shape413) by simply clicking the save button416. This causes component120to automatically update the metadata corresponding to the process or task represented by flowchart312to include the new activity or task, along with the information added by the user in property section414, and also including the security role assigned to the new task or activity by security role component126. Adding a task or activity is indicated by block418inFIG. 4. Receiving the user-added data is indicated by block420, and automatically updating the metadata is again indicated by block412inFIG. 4.

User108can also remove connectors from flowchart312. This can be done by simply selecting a connector (such as by clicking on it) and either actuating a delete button (or remove button)406. Again, the metadata corresponding to the process represented by flowchart312will be updated to remove the corresponding metadata as well. Removing the connectors is indicated by block424inFIG. 4and again updating the metadata is indicated by block412.

In one embodiment, user108can also add a security role to the process. In the embodiment shown inFIG. 4A, the user simply drags and drops the “lane” shape426from the properties bar346onto the canvas displaying flowchart312. This causes a new security lane428to be added to the flowchart. The user can then add additional information in properties portion414to define the security role corresponding to the newly added security lane428. Adding a security role is indicated by block430inFIG. 4, and receiving the user-added data corresponding to the new security role is indicated by block432. Again, as with the other modifications to the process, the metadata corresponding to the process represented by flowchart312will be automatically updated by component120or126to identify the new security role. This is indicated by block412.

The user can also illustratively modify the process in other ways, and the metadata will automatically be updated. This is indicated by blocks434and412.

Based on the changes to the process represented by workflow312, new work items may need to be generated. For instance, where a user108has added a task or activity to the process represented by flowchart312, the underlying code for that task or activity may need to be generated, modified, or implemented for the process to operate properly. Therefore, a work item can be generated identifying what needs to be done. Similarly, where the user has added a new security role or made other modifications that require underlying work to be done, then work items need to be generated and completed in order for the process to operate as desired. Thus, process navigator/modifier component120determines whether work items are to be generated. This is indicated by block436inFIG. 4. It should be noted that, in one embodiment, the user can automatically have the work items generated as well, simply by actuating a suitable user input mechanism, such as work item button438, on user interface display404shown inFIG. 4A.

In any case, if work items are to be generated, then component120automatically generates the work items so they can be viewed, saved, or exported. This is indicated by block440inFIG. 4.FIGS. 4B and 4Cshow two different user interface displays442and444, respectively, showing different work items. In one embodiment, user108or another project team member has made the various modifications discussed above, or other modifications, to the process hierarchy and these have been added to a gap list for the process tree. User108can then navigate to a documents section and see a list of all changes made by the user or the user's team members. Displaying the work items is indicated by block446inFIG. 4.

In one embodiment, user108can also export the work items in the form of a fit gap list. The user can illustratively do this by actuating a suitable user input mechanism, such as export button448inFIG. 4Bor button450inFIG. 4C. Determining whether to export the work items in the form of a fit gap list is indicated by block452inFIG. 4. The fit gap list can be exported in a predefined format as indicated by block454, or the work items can be exported as a word processing document456, or in other ways458as well.

FIG. 5is a flow diagram illustrating another way that user108can illustratively modify a process. Instead of modifying it from the flowchart view,FIG. 5describes how the user can modify the process from the tree view (such as the expanded tree view shown inFIG. 3B). First, component120receives user inputs that are provided to navigate to, and display, the tree view of a process (such as user interface display282shown inFIG. 3B). Receiving these user inputs is indicated by block460inFIG. 5. It can be seen that the tree view includes the expansion mechanisms and delete mechanisms289and291, respectively, as discussed above with respect toFIG. 3B. Of course, the tree view could include other items as well, as indicated by block462.

In any case, component120receives user inputs to expand the tree view to a desired level. This is indicated by block464.

Next, component120receives user inputs modifying the tree view. This is indicated by block466, and it can be done in a variety of different ways. For instance, in the tree view, it can be seen that the activities pane293allows the user to drag and drop shapes from pane293, into the tree view284. This can be done to add an item to the tree view at the process category level, the process group level, the process level or the activity level, or any other desired level within the hierarchical tree structure284. Receiving a drag and drop input to add an item to the process is indicated by block468inFIG. 5.

User108can also modify the tree structure simply by rearranging leaf nodes (such as leaf nodes296shown inFIG. 3B). For instance, if the user grabs the leaf node labeled 4.2.1, and drags it downwardly, it will be reinserted in a position where the user drops it. Rearranging the leaf nodes is indicated by block470inFIG. 5.

FIG. 5Ashows that the user has added a new process472in the hierarchical tree view284. When this occurs, component120illustratively displays property section474which again allows the user to provide the name, description, and other information corresponding to the newly added node472in tree structure284. Receiving these user-added details is indicated by block476. Of course, it will be appreciated that user108can modify the tree structure in other ways as well, and this is indicated by block478.

When the tree structure is modified, it may be that user108desires to input additional process details for the modified process. If so, receiving the user input for additional process details is indicated by block488inFIG. 5.

User108can then save the modified tree view284by actuating a suitable input mechanism. For instance, in one embodiment, the user simply actuates save button490. Receiving the user input to save the modifications is indicated by block492inFIG. 5. Component120then automatically updates the process metadata corresponding to the modified process represented by tree view284. This is indicated by block494inFIG. 5. Then, component120conducts the work item processing described above with respect toFIG. 4, and this is indicated by block496inFIG. 5. More specifically, in one embodiment, component120conducts the work item processing described above with respect to blocks436,440,446,452,454,456and458inFIG. 4.

It can be seen that the system automatically identifies metadata corresponding to a process stored in an instance of a business data system and generates a visual representation (diagram) of the process based on the metadata. Modifications to the process can be received by the system and the metadata is automatically modified as well. It can be used by a variety of different tools. It can be output as a fit gap list, a document, in an XML schema, in another schema and it can be visualized in diagram form as well. The modifications can be made by modifying the diagram of the process on a user interface display.

In the embodiment shown inFIG. 6, some items are similar to those shown inFIG. 1and they are similarly numbered.FIG. 6specifically shows that system102is located in cloud502(which can be public, private, or a combination where portions are public while others are private). Therefore, user108uses a user device504to access those systems through cloud502.

FIG. 6also depicts another embodiment of a cloud architecture.FIG. 6shows that it is also contemplated that some elements of architecture system100are disposed in cloud502while others are not. By way of example, data store104can be disposed outside of cloud502, and accessed through cloud502. In another embodiment, solution process mapping system102or architecture system100can be outside of cloud502. Regardless of where they are located, they can be accessed directly by device504, through a network (either a wide area network or a local area network), they can be hosted at a remote site by a service, or they can be provided as a service through a cloud or accessed by a connection service that resides in the cloud. All of these architectures are contemplated herein.

FIG. 7is a simplified block diagram of one illustrative embodiment of a handheld or mobile computing device that can be used as a user's or client's hand held device16, in which the present system (or parts of it) can be deployed.FIGS. 8-11are examples of handheld or mobile devices.

FIG. 7provides a general block diagram of the components of a client device16that can run components of architecture100or that interacts with architecture100, or both. In the device16, a communications link13is provided that allows the handheld device to communicate with other computing devices and under some embodiments provides a channel for receiving information automatically, such as by scanning. Examples of communications link13include an infrared port, a serial/USB port, a cable network port such as an Ethernet port, and a wireless network port allowing communication though one or more communication protocols including General Packet Radio Service (GPRS), LTE, HSPA, HSPA+ and other 3G and 4G radio protocols, 1Xrtt, and Short Message Service, which are wireless services used to provide cellular access to a network, as well as 802.11 and 802.11b (Wi-Fi) protocols, and Bluetooth protocol, which provide local wireless connections to networks.

Under other embodiments, applications or systems (like system102) are received on a removable Secure Digital (SD) card that is connected to a SD card interface15. SD card interface15and communication links13communicate with a processor17(which can also embody processors122fromFIG. 1) along a bus19that is also connected to memory21and input/output (I/O) components23, as well as clock25and location system27.

FIGS. 9 and 10provide additional examples of devices16that can be used, although others can be used as well. InFIG. 9, a smart phone, or feature phone or mobile phone45is provided as the device16. Phone45includes a set of keypads47for dialing phone numbers, a display49capable of displaying images including application images, icons, web pages, photographs, and video, and control buttons51for selecting items shown on the display. The phone includes an antenna53for receiving cellular phone signals such as General Packet Radio Service (GPRS) and 1Xrtt, and Short Message Service (SMS) signals. In some embodiments, phone45also includes a Secure Digital (SD) card slot55that accepts a SD card57.

The mobile device ofFIG. 10is a personal digital assistant (PDA)59or a multimedia player or a tablet computing device, etc. (hereinafter referred to as PDA59). PDA59includes an inductive screen61that senses the position of a stylus63(or other pointers, such as a user's finger) when the stylus is positioned over the screen. This allows the user to select, highlight, and move items on the screen as well as draw and write. PDA59also includes a number of user input keys or buttons (such as button65) which allow the user to scroll through menu options or other display options which are displayed on display61, and allow the user to change applications or select user input functions, without contacting display61. Although not shown, FDA59can include an internal antenna and an infrared transmitter/receiver that allow for wireless communication with other computers as well as connection ports that allow for hardware connections to other computing devices. Such hardware connections are typically made through a cradle that connects to the other computer through a serial or USB port. As such, these connections are non-network connections. In one embodiment, mobile device59also includes a SD card slot67that accepts a SD card69.

In one example, the phone is a smart phone. The smart phone has a touch sensitive display that displays icons or tiles or other user input mechanisms. The user input mechanisms can be used by a user to run applications, make calls, perform data transfer operations, etc. In general, the smart phone is built on a mobile operating system and offers more advanced computing capability and connectivity than a feature phone.

Note that other forms of the devices16are possible.