Home

“i Test Subsystem W

image

Contents

1. John would be rendered as The name you entered is John 0046 Inanembodiment interface 602 elements may con tain any number of widgets 606 which are used to gather user input that may be assigned to a variable Additionally inter face 602 elements may contain any number of results 607 Results 607 are comprised by an optional destination page and any number of actions 608 which are to be performed if all of the attendant result conditions 609 are true If a desti nation page is set for a result 607 then the destination page is presented after the actions 608 are performed ifthe conditions 609 are all true If a result 607 causes navigation away from the page before a subsequent conditionally true result 607 is reached that subsequent result s actions are simply ignored providing first true rule matching 0047 FIG 7 illustrates one example of a mechanism by which a content 604 condition interface 605 condition or result 609 condition determines its truth value and hence whether the associated content 601 interface 602 or result 607 and actions 608 are processed A condition may have a negation option 700 to determine whether the truth or falsity of the condition is being examined The operation 701 of the condition determines the specific test action by which its logical value is determined The operation 701 is accompa nied by a literal value with which to perform the comparison or operation upon the operand 702 which m
2. 0027 FIG 1 illustrates the functional components of an example of a knowledge engineering editor component 100 and a player component 116 Within the editor component 100 a knowledge based system manager 102 allows for the creation deletion selection and modification of knowledge based systems 200 available to the user Once a knowledge based system is selected the remaining editing functionality becomes available 0028 The variable listing 104 allows for the creation deletion and modification of variables 220 within the knowl edge based system Similarly the page listing 106 allows for the creation deletion and modification of pages 202 within the knowledge based system In general knowledge presen tation is through pages and when played the knowledge based system preferably displays only one page at any time 0029 A page editor component 108 allows for the editing of contents 204 and user interfaces 208 on an individual page Most editing operations take place through the page editor Once the changes have been made to the knowledge based system the knowledge based system may be tested through the test subsystem 110 allowing preview and execution ofthe knowledge based system within the editor With all desired modifications and additions complete the export subsystem 112 may be invoked to convert the pages into a portable format as knowledge based system data 114 0030 To playback the knowledge based system the
3. 0151 Alternatively you can copy the portions of index html that include wizard data js and wizard js in that order into your own web page These two files as well as basic css may all be freely renamed or moved However if you have added local media to your content it will be in the media folder and this must be located in the same folder as the page accessed by the user 0152 You may freely add or modify the index html file providing any kind of media or context around your wizard Currently if you need to use more than one wizard on a single page we highly recommend using the iframe method to iso late their data and media Note that exported desktop appli Mar 20 2014 cations expect to load the index html file contained within their contents and this file should not be renamed Scripting 0153 Wizards may be extended through scripting through Call Function actions which when performed may call out to any Javascript function While you can use this for built in functions such as alert you may also use it to access your own custom functions and thereby integrate your wizard into alarger web application As you can both pass variables to the function and set a variable to a function s result there is a great deal of flexibility in how you extend your wizard with a script 0154 It will be obvious to those having skill in the art that many changes may be made to the details of the above described embodiments wi
4. face Interface 2 checks the same variable with a condition the new variable value from Interface 1 is used If more than one condition is checked they must all pass for the element to be shown or performed 0121 A condition is created by pressing the Add Condi tion button Conditions may be deleted by pressing the delete button which looks like an x Conditions are processed in the same order they are listed in the main area 0122 Conditions contain multiple parts The first part of the condition decides whether we are checking if the result is true or false If The condition passes if the result is true If not The condition passes if the result is false The type of the first value is specified next variable The value will come from a variable constant The value will come from a literal value that you enter as part of the condition widget The value will come from a widget in the user inter face containing this condition result conditions only 0123 The value itself is then entered either in a blank field for constants or by selecting the variable or widget If it is a widget the widgets are listed in the order they appear in the main area and the first part of the label is shown For widgets and variables none may be selected which will return a blank value If you delete a variable or widget conditions depending on them will automatically be set to none 0124 Thekey setting fora condition
5. edge based system player containing an embedded inference G06N 5 02 2006 01 engine 100 M M Editor i 102 N 108 N Se Expert System Manager j Page Editor MEE EE EES 103 Eo EO EE Variable Listing 1 Test Subsystem N 7 1 06 e z Fage Listing 1 Export Subsystem AER O ML CARCER 114 PE ON MK a Expert Player System 1 1 5 X Data S Container f 5 NC T 12077 7 EE ouv arg N m inference Engine S Media Extension 3 f Jj taar N 128 Si integration Subsystem J Style Extension NG System Components Patent Application Publication Mar 20 2014 Sheet 1 of 9 US 2014 0081892 A1 Editor 1027 Expert System Manager 104 Variable Listing 106 gt Page Listing 116 Player 118 Container 120 inference Engine 122 Integration Subsystem 108 Page Editor Test Subsystem 112 Export Subsystem 114 Expert System Data 124 Media Extension 126 aa Style Extension Fig 1 System Components Patent Application Publication 200 Attributes author icreatorVersion information inote istyle nkingPages serinterfaces ISIN icondirian inegate mate P Relationships iuserlnterface nputVariabiei puiVariabie2 aSelectionWizard suttActioninputVar sultactioningutVar uitAcioninputVar suitActionOutputV suitfestVariablesl _ uitfest
6. on applying the pass condition and the relational opera tor to a value of the second variable Mar 20 2014
7. pro grams Examples of such storage media include without limi tation CD ROM and the like Such a CD ROM containing a stored computer program is an example of a computer pro gram product Mar 20 2014 Working Example User Instructions 0059 The following text is excerpted from a user manual for a computer program called IfWizard which represents one embodiment of certain features of the present disclosure This section is presented by way of further illustration of the inventive concepts and not limitation 0060 This is the manual for IfWizard an application for Mac OS X and iPads that allows you to easily create interac tive wizards that can fulfill a variety of purposes This docu ment will give you information on how to most effectively use IfWizard and how its conceptual parts work together 0061 IfWizard s intuitive graphical interface makes it easy to create professional wizards without any programming or technical experience including 0062 Surveys 0063 Educational Quizzes 0064 Interactive Fiction 0065 Troubleshooters 0066 Multimedia Exhibits 0067 Decision Support Systems 0068 Choose Your Own Adventures 0069 Automated Assistants 0070 Scientific Models and Simulators 0071 Diagnosis Tools 0072 Formal Ontologies 0073 Professional Medical Financial Legal and Sci entific Expert Systems 0074 IfWizard implements many improvements in knowledge engineering with hundreds o
8. 0023 FIG 7 illustrates a condition mechanism of an exemplary embodiment Mar 20 2014 0024 FIG 8 depicts an illustrative action mechanism of an exemplary embodiment 0025 FIG 9 illustrates an example of widget controls available in an exemplary embodiment DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 0026 The following detailed description refers to the accompanying drawings Wherever possible the same refer ence numbers are used in the drawings and the following description to referto the same or similar elements For clarity and simplicity not all characteristics of practical embodi ments are described in the specification However it is appre ciated that many embodiment specific decisions have to be made in developing the practical embodiments in order to achieve a particular object of the developer While embodi ments of the invention may be described a person skilled in the relevant art would recognize that modifications adapta tions and other implementations are possible without parting from the spirit and scope of the invention For example substitutions additions or modifications may be made to the elements illustrated in the drawings and the methods described herein may be modified by substituting reordering or adding stages to the disclosed methods Accordingly the following detailed description does not limit the invention Instead proper scope of the invention is defined by the appended claims
9. 200 0 Call Function An advanced action this performs the Javas cript function named in value 1 passing value 2 as text The return value of the function is given as the result Ceiling Returns value 1 rounded upwards Divide Divides value 1 by value 2 Email Creates and prepares to send an e mail of the values of all variables to value 1 There is no return value with this action Floor Returns value 1 rounded downwards Format Date Returns a human friendly date and time from the timestamp in value 1 Get Date Returns the current timestamp Join Joins value 1 and value 2 by concatenating them together US 2014 0081892 A1 Length Returns the number of characters in value 1 Lowercase Returns value 1 converted to all lowercase letters Maximum Returns the larger of value 1 and value 2 Minimum Returns the smaller of value 1 and value 2 Modulo Returns the remainder of dividing value 1 by value 2 Multiply Multiplies value 1 by value 2 Open URL Opens the URL specified in value 1 in a separate browser window for exported applications it will open the URL with the default application such as Safari Random Returns a random real number value between 0 to 1 such as 0 4325 Replace Returns all instances of value 2 in value 1 with value 3 For example if values 1 2 and 3 are Dom Loves Kim Loves and Adores respectively would return Dom Adores Kim Reverse Returns v
10. Application Publication GL GR weysuds ES e weeg QORUSIU jas 3 E 1 apy zea a 0 sesu e OS exu posu Jaye pue eyec uus Patent Application Publication Mar 20 2014 Sheet 6 of 9 US 2014 0081892 A1 601 Yom Content Y interface M H N Text Media E N Condition BUR Lo peres 607 s reor 72d 3 3 Widget Result 608 ction Condition OR RR ie Er ER EE DLE Fig 6 Modal Page Detail Patent Application Publication 700 Mar 20 2014 Sheet 7 of 9 US 2014 0081892 A1 701 Ends With Less Than Less Than Or Equals More Than Or Equals Pattern Matches Starts With Fig 7 Condition Mechanism 702 Variabie Constant Widget Patent Application Publication Mar 20 2014 Sheet 8 of 9 US 2014 0081892 A1 ignore Result Cali Function Constant Ceiling Widget Divide Lowercase Substring Subtract Lowercase Upload Maximum Uppercase Fig 8 Action Mechanism Patent Application Publication Mar 20 2014 Sheet 9 of 9 US 2014 0081892 A1 900 i Button X pi i Checkbox Label Checked Value 902 M Bf Drop D
11. Results Mar 20 2014 also contain zero or more result actions 218 which can per form a large number of functions such as setting variables opening external documents uploading data to other servers and integrating with container 118 through the integration subsystem 112 See FIG 4 and associated text below It can be seen that these data structures provide an elegant and flexible platform for encoding expert knowledge in a wide variety of domains into a convenient useful form 0037 FIG 3 depicts an illustrative flow of activity during operation of a knowledge engineering editor such as the edi tor component 100 In an embodiment once the editor launches 300 the knowledge engineer may edit or create knowledge based systems 302 modify a knowledge based system s general settings 304 such as its description manage a knowledge based system s pages 306 or variables 308 test a knowledge based system 310 export a knowledge based system 312 or edit a page of a knowledge based system 314 0038 When editing a knowledge based system page 314 the knowledge engineer may edit its contents 316 or user interfaces 324 In addition to editing the content itself 316 the engineer may add delete or modify content tests 318 inte grate the content 320 through e g a script or import local or remote multimedia 322 such as images movies VRML or audio into the content 0039 When editing a page 314 the knowledge engineer may also ed
12. The so called AI winter began in the 1980s and peaked during the 1990s This period of disillusionment with the promises of artificial intelligence in areas such as natural language processing and machine learning led to dramati cally reduced funding and interest in AI technology How ever while many of the more overhyped implications of AI research were unrealistic or overly simplistic nearly all areas of AI study yielded considerable improvements and innova tions that are in use and continued development today Due to Mar 20 2014 the stigma of AI many of these resurgent fields now operate under new names such as expert systems research becom ing knowledge engineering 0007 While the renewed interest in knowledge engineer ing has yielded considerable improvements and diversifica tion in its technical representation and application the fun damental problem that limited the success of expert systems remains the main obstacle to wide spread adoption of knowl edge engineering the technical complexity in the use and in particular engineering of knowledge based systems has lim ited their use such that the vision of broad categories of non programmer SMEs codifying their knowledge function ally has not been realized 0008 For example powerful technologies such as Knowl edge Acquisition and Documentation Structuring KADS and C Language Integrated Production System CLIPS along with their many modern deri
13. end user operates a player component 116 The player technology may be embedded within a container 118 such as a web page or desktop application harness as selected and configured by the export subsystem 112 The player component uses the inference engine 120 to execute the logic contained within the knowledge based system data 114 As instructed by this data the player may call out to the container via the integration subsystem 112 display multimedia through the media exten sion 124 or modify the visual formatting through the style US 2014 0081892 A1 extension 126 An integration subsystem 122 may be pro vided for integrating the expert system with other applica tions or interfaces 0031 FIG 2 illustrates one example of a data model that may be applied in connection with other aspects ofthe present disclosure The figure is a simplified entity relationship dia gram depicting how different parts of the system may be modeled internally Each rounded rectangle is an entity that contains a set of variable properties attributes and point ers to or from other entities relationships Both parent child children and child parent relationships are modeled with the parents indicated by a suffixed underscore The arrows are single headed ifthe relationship points to a single object i e a single parent and double headed if the relation ship can point to multiple objects i e children Certainly variations on this model
14. to the end user requiring outside extension or sophisticated programmatic extension Thus the continued and present problem is how to make knowledge engineering accessible for the lay SME SUMMARY OF THE INVENTION 0011 The following is a summary of the present disclo sure in order to provide a basic understanding of some fea tures and context This summary is not intended to identify key critical elements of the invention or to delineate the scope of the invention Its sole purpose is to present some concepts of the present disclosure in a simplified form as a prelude to the more detailed description that is presented later 0012 Accordingly it is an object of the present disclosure to provide a simpler and more accessible system for knowl edge engineering It is a further object of the invention that the creation and editing of its products knowledge based sys tems is done through an entirely graphical user interface that encompasses all essential features of definition relation and maintenance US 2014 0081892 A1 0013 Itis also an object of the present invention to offer a system providing a simplified interface for presenting and interacting with the products of this knowledge engineering In accordance with the present disclosure a computer imple mented system implements a modal page metaphor for navi gating through the knowledge based system Each page may be split into a content element and an interface element
15. to the result test result 25 The non transitory machine readable storage medium of claim 24 wherein execution of the instructions cause the machine to perform operations further comprising advancing to a destination page associated with the result test result 26 The non transitory machine readable storage medium of claim 25 wherein execution of the instructions cause the machine to perform operations further comprising inthe case that the content element has at least one content condition test performing all of the tests in the order in which they are listed at least until one of the tests is failed 27 he The non transitory machine readable storage medium of claim 21 wherein execution of the instructions cause the machine to perform operations further comprising in the case that the user interface element has at least one associated test performing all of the associated tests in theorder in which they are listed at least until one ofthe tests 1s failed 28 The non transitory machine readable storage medium of claim 21 wherein contents are displayed only if an associ ated content test 206 is passed 29 The non transitory machine readable storage medium of claim 28 wherein the associated content test comprises a true false pass condition a selected type of a first value a relational operator and a second variable and wherein US 2014 0081892 A1 12 a pass fail result of the condition test is determined based
16. If the val ues are numbers they are treated as text instead 0125 Thecondition is then followed by the type and value of the second variable constant or widget Together these settings describe the test the condition must pass 10 Widgets 0126 Interfaces may contain one or more widgets Each widget represents a user interaction control that is displayed to the user as part of the interface The selection or input that a widget is given by the user is available in the conditions and actions on that same page This widget value is not available to other pages although it can be stored into a variable as part of an action and that variable can be accessed by any page Widgets may be shown in a plain default style as shown in FIG 9 If you d like to customize the widget appearance you may want to customize your wizard s styling 0127 Widgets may be added with the Add Widget button and may be reordered or deleted using the small buttons on the top of the widget display Each widget has a Widget Type and a Label The label is displayed to the user beside the widget e g Your name Several examples of widget con trols are illustrated in FIG 9 described above Widgets may include without limitation the following again see FIG 9 as related text 0128 Button When a button is pressed the page s results are processed If a result with a destination page is shown but no widget buttons are displayed a default Contin
17. US 20140081892A1 as United States a2 Patent Application Publication ao Pub No US 2014 0081892 A1 Sellers Blais 43 Pub Date Mar 20 2014 54 METHOD AND SYSTEM FOR SIMPLIFIED 52 U S KNOWLEDGE ENGINEERING CPG 2e sent e G06N 5 02 2013 01 706 11 71 Applicant IfWizard Corporation Corvallis OR US 72 Inventor Dominic Sellers Blais Corvallis OR 57 ABSTRACT US 73 Assignee IfWizard Corporation Corvallis OR A system and method is disclosed for knowledge engineering US using a computerized graphical editor to manage and create knowledge based systems containing a navigable graph of 21 Appl No 14 014 073 modal pages with conditional content and user interface knowledge The invention enables the entire knowledge engi 22 Filed Aug 29 2013 neering workflow to be performed within a non technical ux graphical environment and without requiring a computer pro Related U S Application Data gramming or mathematical background Further the presen 60 Provisional application No 61 703 270 filed on Sep tation of knowledge as modal pages allows for simple onto 20 2012 logical discovery and end user player operation Once editing is complete the method allows for the set of pages variables Publication Classification and settings of which the knowledge based system is com posed to be exported into an independently executable knowl 51 Int CI
18. Variables2 serinterfaceTestvar serinterfaceTestVar serinterfaceWidgats ard Mar 20 2014 Sheet 2 of 9 US 2014 0081892 A1 onditian Relationships ontent jaci ans icondition dest nation inegate tests iuserinterface variable ivariable2 Fig 2 Data Model Patent Application Publication Mar 20 2014 Sheet 3 of 9 US 2014 0081892 A1 300 _ 3y bf 3107 se T L Edit Settings Edit Pages 314 312 Edit Page Export System 4 31 8 32 Edit Contents Edit interfaces 31 8 4 7926 Edit Content Tests Edit Interface Tests 32074 N 330 birt Edit Widgets pi Edit Widget Tests 322 NN ee ed EE Ramu Edit Result Teats 3360 Edit Result Actions Fig 3 Editor Activity Flow Patent Application Publication Mar 20 2014 Sheet 4 of 9 US 2014 0081892 A1 400 s Piayer Launch 404 402 406 Loss Extensions M ae Shine 408 Dispiay Page 410 3 428 Content et EN Tesi Destination A 5 Page lt 5 LH 2 no Show Content End Piayer I Ux 1 Interface Perform Action Test es VP nol i Show Interface 418 Z Interfaces 5 Shown interact with Widget Show Widget Fig 4 Playback Activity Flow US 2014 0081892 A1 Mar 20 2014 Sheet 5 of 9 Patent
19. al Only This type of export saves the wizard as a Mac OS X application that displays a window running the wizard The application contains the wizard information within the application s Contents Re sources content folder Save at Folder Folder in which to save the application Application Title The title of the newly created application which is shown both in the Finder and in the application itself Create Windows Applications 0142 This type of export saves the wizard as a Windows application that displays a window running the wizard The application contains the wizard information within the appli cation s content folder Save at Folder Folder in which to save a folder containing the application Application Title The title of the newly created application Email Zipped File 0143 IfWizard Touch Only This type of export saves the wizard as a set of files contained within a compressed Zip file that is then e mailed The contained index html file is what should be opened by a web browser to view the wizard Once e mailed you may decompress and modify the files or upload them to a server For more information about the files exported and how to customize or integrated them please see the customization section Email Address The e mail address to which to e mail the zipped file 14 Customizing Wizards 0144 When a wizard is exported several files are created that may be modified to customize the results As note
20. allowing for a consistent experience and expectation for the user These interfaces may be further simplified with inline help and may be integrated into a larger system In general during execution of such a system the content and user inter face elements of a modal page may be conditionally pro cessed by a player component based on a truth value of conditions associated with said elements 0014 Another feature of the present disclosure comprises a complete method for storing and modeling a knowledge based system during creation maintenance and perfor mance Through this storage such a system may be self contained and in some embodiments would not require any external tools such as compilers or interpreters beyond those provided by a standard operating system installation The disclosed interface and inference engine are highly portable allowing for playback in web browsers desktop applications and mobile applications and may be executed remotely through a web interface as a local application and as a programmatic resource by other systems without additional plugins or specialized tools These applications are merely illustrative and not intended to be limiting 0015 The invention is intended to be implemented in soft ware i e in one or more computer programs routines func tions or the like Thus it may best be utilized on a machine such as a computer or other device that has at least one processor and access to me
21. also has a value that it sets the widget to if it is selected and this is the selected value 11 Results 0134 Each interface may contain one or more results Results control navigation and allow for actions to be per formed After a button is pressed on the page the actions of the first result whose interface and result pass their conditions are performed If the result has a destination page the wizard navigates to that page without performing additional actions of later results even if their conditions pass 0135 When an action expects numbers but text values are passed to it it is converted to a number by removing all non numeric characters For example alb2c3 would become 123 If there are no numeric characters or the value is empty it is treated as a value of 0 Actions 0136 Each result may have one or more actions which can perform a variety of functions Actions typically return a value which may be assigned to a variable The leftmost setting ofthe action to the left ofthe equals sign allows you to choose which variable to assign the variable to or none to ignore the result To the right of the equals sign is the type of action which may be chosen from the following types which have zero to three values drawn from variables constants or widgets Add Adds value 1 to value 2 If both values are numbers this is performed as an arithmetic operation otherwise the values are concatenated together like
22. alue 1 reversed for example abcdef would become fedcba Round Returns value 1 rounded using the half up rule e g 1 5 is rounded to 2 and 1 4999 is rounded to 1 Set Simply returns value 1 This is the most common way to store the value of a widget into a variable Substring Returns a portion of value 1 from the character at value 2 to the character at value 3 Please note that as with most substring functions the first character s position is con sidered to be 0 rather than 1 Subtract Subtracts value 2 from value 1 Trim Removes the whitespace characters like blank spaces on the beginning and end of value 1 Upload An advanced action this opens the URL at value 1 with each variable included as a query parameter The title of the current page is also passed as a query parameter named current page For example if you are on a page titled Upload Page have one variable named name with a value of Kim and value 1 is http www example org upload the URL opened is http www example org upload current page Upload Page amp name Kim This action is well suited for outputting wizard results to an external database or other system There is no return value with this action Uppercase Returns value 1 converted to all uppercase letters 12 Previewing Your Wizard 0137 Pressing the toolbar Run Wizard button will switch to preview mode displaying the wizard content as it woul
23. and may include a selected variable value in the selected text wherein the variable is among those included in the variable listing corresponding to the selected Wizard 18 The non transitory machine readable storage medium according to claim 14 wherein the user interface comprising at least one widget component wherein the widget compo nent implements at least one selected user interaction control 19 The non transitory machine readable storage medium according to claim 14 wherein the editor module is entirely operated through a direct manipulation graphical user inter face and does not require any computer terminal operation or program source code input 20 The non transitory machine readable storage medium according to claim 14 wherein the editor module operates independently of other programs 21 A non transitory machine readable storage medium having stored thereon a computer program for knowledge engineering the computer program comprising series of instructions for causing the machine to perform operations comprising loading knowledge based system data including a set of pages and associated variables checking whether a current page of the set has any content elements Mar 20 2014 ifthe current page has at least one content element deter mining whether a first content element of the page has any associated content conditions displaying the first content element if and only if all ofthe associated content c
24. ay be taken from a named variable constant literal or inputted value of a widget For example if the operation 701 is specified as Contains then the condition is true if the operand 702 con tains the given literal e g testing if operand 702 John Mar 20 2014 contains the value oh would return true or conversely false if the negation option 701 was set to If Not 0048 FIG 8 illustrates one example of a mechanism by which an action is defined and processed An action type 801 is selected from a varied list of possible actions Most action types 801 are passed one or more input parameters 802 that may be taken from a named variable constant literal or inputted value of a widget Most action types 801 further return a value i e act as a function which may be set through the output parameter 800 into a named variable For example the action type 801 Add may be used with two input param eters 802 to add their numerical values together and return the sum into the output parameter 800 0049 FIG 9 illustrates some examples of widget controls available in an exemplary embodiment of the system Each widget is designed to collect input from the user when navi gating the finished knowledge based system and make it availableina condition operand 702 or action input parameter 802 The exact appearance of the widget is not critical and when rendered may be altered through the style extension 126 Some widgets ge
25. ays all available options in a radio button style interface 0054 Additional widgets may be developed to capture input and generate values in customized way Further creative extension may be accomplished by using the Call Function action type 801 which allows for interacting with external widgets databases and other input sources 0055 As noted earlier the present invention is intended to be implemented in software i e in one or more computer programs routines functions or the like In general aspects of the invention may be utilized in any machine or system that includes at least one digital processor that has access to memory wherein the digital processor can execute instruc tions or code stored in that memory The memory may store data as well A digital processor includes but is not limited to a microprocessor multi core processor DSP digi tal signal processor processor array network processor etc A digital processor may be part of a larger device such as a US 2014 0081892 A1 laptop or desktop computer a PDA cell phone iPhone PDA Blackberry PDA phone or indeed virtually any electronic device 0056 The associated memory may be integrated together with the processor for example RAM or FLASH memory embedded in an integrated circuit with a microprocessor or the like In other examples the memory comprises an inde pendent device such as an external disk drive storage array or portable FLASH
26. be controlled through conditions which can test variables US 2014 0081892 A1 0092 Using these simple building blocks highly advanced wizards can be created quickly and easily without any special training and without any programming These wizards can be exported for embedding into your website or packaged as standalone Mac OS X or Windows applications Mac OS X version of IfWizard only Advanced users can customize their wizards to modify the theme or have the wizard interact with other systems Your First Wizard 0093 To get started launch If Wizard If no wizard appears automatically create a new one by selecting File New If Wizard Professional or New Wizard IfWizard Touch The wizard should appear similarly to FIG 5 showing the editor s sidebar and main area on the left and right respectively and the toolbar at the top 0094 The toolbar allows you access to a few core func tions such as running i e testing the wizard and viewing the online help The sidebar is used to modify elements that apply to the entire wizard such as variables and pages The main area is where the majority of the editing takes place and besides the page title is divided into content and user inter face areas 0095 When you first create a new wizard the wizard is created with a single page titled New Page that has one simple content element and no user interface elements You can add additional pages by selecting the page tab at thet
27. d look to a user and allowing you to test its functionality Exter nal links in the previewed wizard are ignored Should the previewed wizard cause the editor display to hide the Back to Main Page button you can reload the editor by selecting File Reload Editor Note that some custom styling isn t available while previewing the wizard or otherwise extending the wizard 13 Exporting Your Wizard 0138 Once you have created your wizard you can export it to a webpage or desktop application If Wizard Professional only To do so press the Export Wizard button which will allow you to select an export type from the following options Mar 20 2014 Save to Folder 0139 IfWizard Professional Only This type of export saves the wizard as a set of files to the specified folder The index html file is what should be opened by a web browser to view the wizard For more information about the files exported and how to customize or integrated them please see the customization section Save at Folder Folder in which to save the exported files Upload to FTP 0140 Saves the exported files directly to a location on an FTP server FTP Server The hostname of IP address of the FTP server e g ftp example com Remote Path An optional directory path to upload into e g html mysite Username The FTP user s login e g mysiteuser Password The FTP user s password Create Mac OS Application 0141 IfWizard Profession
28. d in the exportsection this customize may take place for desktop applications as well as websites though the integration pos sibilities differ Customization is an advanced topic that involves an understanding of other technologies such as Java script or style sheets 0145 Note that exporting will overwrite all previously exported files if done in the same location To more easily preserve your customization while editing your wizard you US 2014 0081892 A1 may want to export your wizard twice and then copy the newly exported wizard datajs file which contains the specif ics created by the editor Styles 0146 The basic css file may be modified to alter the appearance of the wizard using Cascading Style Sheets CSS The following element classes are used if wizard Applied to the entire wizard if wizard page Applied to current page if wizard content container Applied to the entire stretch of contents if wizard content Applied to a specific content if wizard ui container Applied to the entire stretch of user interfaces if wizard ui Applied to a specific user interface if wizard widget Applied to a specific widget To apply styl ing to a particular type of widget use the HTML control type e g if wizard widget button if wizard widget label Applied to the label of a widget if wizard widget inner label Applied to the label ofa check box if wizard widget control Applied to the specific control o
29. e combining databases and literate programming for intentional modeling and access to human knowledge Examples of knowledge engineering in practice include semantic web ontologies such as the Dublin Core and Enter prise Decision Support Systems EDSS like the Department of the Interior s Wildland Fire Decision Support System WFDSS 0004 Knowledge engineering has its historical roots in the expert systems research of the 1960s and 1970s through out the academic and business Artificial Intelligence AT world Expert systems are an earlier form of knowledge engi neering where subject matter experts SME codify and sys tematize their knowledge into a functional knowledge store For example the Stanford Heuristic Programming Project created one of the most famous expert systems MYCIN in the 1970s to identify infectious bacteria by asking a branch ing series of questions and relating the answer to a base of over 600 rules through an inference engine 0005 While there was considerable success with early expert systems and knowledge engineering technical prob lems and over complication have largely inhibited large scale use For example despite MYCIN s 6996 accuracy higher than the average performance of human SMEs the system was never used in practice due to how difficult and time consuming it was to use in practice Indeed just the develop ment of MYCIN s relatively small production rules system took over five years 0006
30. e numbers in the values are used e g 123abc is converted to 123 Examples valuel 9 value2 6 false valuel 6 value2 6 true valuel 6 value2 9 true valuel Dom value2 Kim true more than tests whether value 1 is more than value 2 If the values are both text the comparison is done alphabetically with b more than a and a more than A Otherwise the numbers in the values are used e g 123abc is converted to 123 Examples valuel 9 value2 6 true valuel 6 value2 6 false valuel 6 value2 9 false valuel Dom value2 Kim false more than or equals tests whether value 1 is more than or equal to value 2 If the values are both text the comparison is done alphabetically with b more than a and a more than A Otherwise the numbers in the values are used e g 123abc is converted to 123 Examples valuel 9 value2 6 true valuel 6 value2 6 true valuel 6 value2 9 false valuel Dom value2 Kim false pattern matches tests whether value 1 contains the Perl style regular expression value 2 Examples value1 Dom Loves Kim value2 a z gt true value1 Dom Loves Kim value2 0 9 false starts with tests whether value 1 ends with value 2 Examples valuel Dom Loves Kim value2 Dom true valuel Dom Loves Kim value2 Kim false
31. elcome your name Please enter your favorite color If your name had earlier been set to Kimberly then when the user navigates to the page and views this content it would appear like Welcome Kimberly Please enter your favorite color 0114 New contents may be added by pressing the Add Content button Content may be deleted by pressing the delete button which look like a circled x Content is displayed in the order that is shown in the main area To change the order move content up and down with the arrow buttons 7 User Interfaces 0115 User interfaces are shown after content on a page Interfaces provide user interactivity on a page through wid gets and results A page may contain multiple interfaces or none at all and each of them may have their visibility con trolled by multiple conditions 0116 New interfaces may be added by pressing the Add Interface button An interface may be deleted by pressing the delete button which look like a circled x Interfaces are displayed in the order that is shown in the main area To change the order move interface up and down with the arrow buttons 8 Variables 0117 X Variables are named parts of your wizard that hold values which can change as the user runs the wizard For example you might have variables for things like the users name address and phone number and then have the user input values into those variables through widgets Variables may be used in condi
32. en the pages is set up by adding an interface result with a Destination Page set The editor pro vides many functions to create test and export your wizard 0100 Once you ve finished your wizard you can test and export it for playback Playback occurs with the IfWizard engine running your wizard inside a container such as a webpage or desktop application IfWizard Professional only The remainder of the manual will examine each of IfWizard s components in more depth Mar 20 2014 4 Wizards 0101 In IfWizard the term wizard is used for both the editable file that IfWizard uses to store all information about your project and the product of exporting this information e g a webpage Your wizard in the sense of an editable file with an ifwiz extension contains everything about the wiz ard including its contents interfaces conditions and settings The only exception to this rule is that local media that has been inserted into content is stored in a separate internal storage folder please note that local media is only available in IfWizard Professional 0102 Each wizard can only access and use elements within itself one wizard cannot access the variables pages and widgets from another wizard The wizard tab on the sidebar allows you to edit the following different settings for your wizard 0103 Wizard Title The user friendly name of the wiz ard 0104 Start Page The first page shown when the wizard is
33. er data at least temporarily in such a manner that the stored information can be read by an appropriate digital processor By the term computer readable we do not intend to limit the phrase to the historical usage of computer to imply a complete main frame mini computer desktop or even laptop computer Rather we use the term to mean that the storage medium is readable by a digital processor or any digital computing sys tem Such media may be any available media that is locally and or remotely accessible by a computer or processor and it includes both volatile and non volatile media removable and non removable media 1 In some cases for example a simple text document or flat file a digital computing system may be ableto read the file only in the sense of moving it copying it deleting it emailing it scanning it for viruses etc In other words the file may not be executable on that particular computing system although it may be executable on a different processor or computing system or platform Computer Program Product 0058 Where a program has been stored in a computer readable storage medium we may refer to that storage medium as a computer program product For example a portable digital storage medium may be used as a convenient means to store and transport deliver buy sell license a computer program This was often done in the past for retail point of sale delivery of packaged shrink wrapped
34. f a widget such as its checkbox 0147 In addition to these classes each individual part of a wizard such as its contents has a unique ID that is associated with element both as its id and as a separate class like ifwiz ard page wifgyjmqa 1i These IDs currently cannot be determined from the editor itself but may be discovered by inspecting their elements The IDs are not randomly gener ated each time the wizard is exported but are part ofthe saved wizard data and maintained through its editing Embedding 0148 When initially exported IfWizard creates a very simple index html file that is used to display the wizard either in a web browser or as the content of your application s window If Wizard depends on j Query which is included in the export If you wish to use your own version of j Query replace the line in index html with one referring to your version Note that If Wizard does not require any server side scripting and is completely self contained running on the client through Javascript 0149 There are two routes to embedding your wizard in your own webpage Generally speaking the easiest and best route is to place your wizard in a separate folder and embed it into an iframe such as 0150 lt iframe src wizard index html frameborder 0 width 800 height 600 gt lt iframe gt In this case you do not need to make any changes to your index html file but it would not be meant for directly linking
35. f useful features like 0075 Efficient and Attractive Plain English Interface 0076 Intuitive Page Based Knowledge 0077 Easy Rich Content Formatting 0078 Include Hyperlinks Images Videos Scripts and More 0079 Create Interaction With Buttons Text Entry Mul tiple Choice and More 0080 Support Complex Visual and Logical Interactions 0081 Flexible Conditional Logic 0082 Easy Variables and Constants 0083 Transform Information with Text Math and Other Functions 0084 Results Reporting to Email or Web Services 0085 Powerful Customization Extension and Integra tion 0086 Export as Website or Easily Embed into Your Own Website 0087 One Step Export of Complete Standalone OS X and Windows Wizard Applications 0088 No Plugins or Additional Installations Needed for Exported Wizards 0089 Integrated FTP Upload of Your Wizard 0090 Use Share and Sell Your Wizards Without Any Fees or Restrictions 0091 With IfWizard you build the wizards using a simple but powerful visual environment called the editor FIG 1 where you compose your wizard by creating pages each with content and user interface sections When the wizard is run one page is displayed to the user at a time presenting the content followed by the user interface Based on the user s actions with the widgets on the user interface the wizard navigates to a different page and or performs other actions What parts of each page are active can
36. ion s return value to a variable The test editors for contents interfaces and results may allow for the testing of user defined variables constants or widget values only for interface and result tests using a condition such as equals The knowledge engineering edi tor 500 also provides basic facilities for reordering adding and deleting elements of the system and for navigating through the information such as with a scrollable page editing area The exemplary embodiment further allows for the man agement of a plurality of knowledge based systems through operating system functionality and a purpose built interface depending on the presentation of the editor e g through a desktop application web application or mobile application 0045 FIG 6 illustrates additional detail of one non limit ing example of a modal page 600 that may be used in the storage and editing of a knowledge based system The modal page 600 may contain any number of content 601 and user interface 602 elements These content 601 and interface 602 elements are processed only if their respective content con ditions 604 and interface conditions 605 are all true If the content 601 element is to be shown the text and multimedia elements 603 are rendered The rendering in some cases may invoke any stored scripts or variable references through nam ing the variable such as name so that the text of The name you entered is name when the name variable is
37. is the condition itself which may be any of the following note that all comparisons are case sensitive contains tests whether value 1 contains value 2 Examples valuel Dom Loves Kim value2 Loves true valuel Dom Loves Kim value2 Lampshade false Ifthe values are numbers they are treated as text instead e g value1 12345 value2 234 true ends with tests whether value 1 ends with value 2 Examples valuel Dom Loves Kim value2 Dom false valuel Dom Loves Kim value2 Kim true If the values are numbers they are treated as text instead equals tests whether value 1 equals value 2 Examples valuel Dom Loves Kim value2 Dom false valuel Dom Loves Kim value2 Dom Loves Kim true value1 434 2 value2 434 2 gt true less than tests whether value 1 is less than value 2 If the values are both text the comparison is done alphabetically with a less than b and A less than a Otherwise the numbers in the values are used e g 123abc is converted to 123 Examples value1 9 value2 6 gt false value1 6 value2 6 false valuel 6 value2 9 gt true value1 Dom value2 Kim gt true less than or equal tests whether value 1 is less than or equal to value 2 If the values are both text the comparison is done alphabetically with a less than b and A less than a US 2014 0081892 A1 Otherwise th
38. itthe page s user interfaces 324 While doing this the engineer may edit an interface s tests 326 widgets 328 and results 332 Each widget and result may have multiple widget tests 330 or result tests 334 respectively Each result may also have any number of actions 336 associated with it 0040 FIG 4 depicts an example of a flow of activity during operation ofthe knowledge based system player com ponent 116 After the player launches 400 it loads the knowl edge based system data 402 which may include additional extensions 404 or styles 406 and displays the starting page 408 In operation for each content element all associated content tests or conditions are performed 410 and if all pass the content is shown 412 In general a page can and usually does contain one or more content elements See FIG 6 condition 604 for example Each of these content elements must pass its associated content test or condition to be dis played Further there may be multiple tests and the inference engine will conduct each of them in the order they appear In an embodiment this process may be truncated as soon as any of the tests fails 0041 After the content is rendered each interface 208 is tested against its interface test s 212 If no interface exists or passes its test 418 playback is ended 430 which does not affect display ofthe content but results in either a custom user interface or continue button navigation to another page being pos
39. key fob In such cases the memory becomes associated with the digital processor when the two are operatively coupled together or in communication with each other for example by an I O port network connection etc such that the processor can read a file stored on the memory Memory may be local and or remotely located Associated memory may be read only by design ROM or by virtue of permission settings or not Other examples include but are not limited to WORM EPROM EEPROM FLASH etc Those technologies often are implemented in solid state semiconductor devices Other memories may com prise moving parts such a conventional rotating disk drive All such memories are machine readable in that they are readable by a suitable digital processor as further explained below Storage of Computer Programs 0057 As explained above the present invention prefer ably is implemented or embodied in computer software also known as a computer program or code we use these terms interchangeably Programs or code are most useful when stored in a digital memory that can be read by a digital processor We use the term computer readable storage medium or alternatively machine readable storage medium or the like to include all of the foregoing types of memory as well as new technologies that may arise in the future as long as they are capable of storing digital informa tion in the nature ofa computer program or oth
40. mory as further described later Accordingly in this description we will sometimes use terms like component subsystem editor manager or the like each of which preferably would be implemented in soft ware BRIEF DESCRIPTION OF THE DRAWINGS 0016 Inorder to describe the manner in which the above recited and other advantages and features of the disclosure can be obtained a more particular description follows by reference to the specific embodiments thereof which are illus trated in the appended drawings Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope the invention will be described and explained with additional specificity and detail through the use of the accom panying drawings in which 0017 FIG 1 illustrates the functional components of an illustrative system consistent with the present disclosure 0018 FIG 2 illustrates an illustrative data model usable with the system of FIG 1 0019 FIG 3 depicts an illustrative flow of activity during operation of the editor component of FIG 1 0020 FIG 4 depicts an illustrative flow of activity during playback of a knowledge based system consistent with the present disclosure 0021 FIG 5 illustrates an illustrative editor user interface of an exemplary embodiment 0022 FIG 6 illustrates the detailed components of an example of a modal page
41. onditions are met checking whether the current page has any user interface elements if the current page has at least one user interface element determining whether a first user interface element has any associated user interface conditions and displaying the first user interface element 416 ofthe current page if and only if all of the associated user interface conditions 414 are met 22 The non transitory machine readable storage medium of claim 21 wherein execution of the instructions cause the machine to perform operations further comprising if the current page has at least one user interface element determining whether the first user interface element includes a widget and in the case that the first user interface element includes a widget displaying the widget for interaction with a user and recording a result of the user interaction with the widget 23 The non transitory machine readable storage medium of claim 21 wherein execution of the instructions cause the machine to perform operations further comprising ifthe current page content element includes an action asso ciated with the widget performing the action based on the user interaction 24 The non transitory machine readable storage medium of claim 22 wherein execution of the instructions cause the machine to perform operations further comprising conducting a result test based on the user interaction with the widget and advancing navigation responsive
42. op of the sidebar and pressing the Create button at the bottom the sidebar Clicking on the page row of a page will select that page replacing the information in the main area with infor mation about the new page To change the page s title click on the existing title ofthe page or select the page and edit the Page Title field in the main area Pages can be deleted by pressing the Delete button at the bottom of the sidebar 0096 Variables work very similarly to pages with a side bar tab oftheir own Not only can you set the variable s name by clicking the text on the left side of the variable row you can also set an initial value for the variable 0097 The sidebar also has a tab for setting general con figuration about the wizard such as its title and the author of the wizard Within this tab you may select which page is shown when the wizard first starts by changing the Start Page selection 0098 Each page may have contents and interfaces added orremoved from them using the controls in the main area You can edit a content s text e g Welcome to the wizard by selecting it and changing it as desired With IfWizard profes sional you can apply menu based formatting such as changes to the font or copy and paste more advanced HTML format ting such as tables and lists Developing Your Wizard 0099 Most wizards are created by adding several pages and creating one or more contents and interfaces for each page Navigation betwe
43. orresponding to the selected Wizard a page editor component a test subsystem and an export subsystem arranged to export the selected Wizard in a portable format 12 The non transitory machine readable storage medium according to claim 11 wherein the page editor component implements a user interface arranged to enable the creation deletion and editing of a page of the selected Wizard in the content region 13 The non transitory machine readable storage medium according to claim 11 wherein the editor implements an edi tor interface that displays a sidebar region and a content region for editing the selected Wizard 14 The non transitory machine readable storage medium according to claim 13 wherein the content region of the dis play includes a content element and a user interface element of a page of the selected Wizard 15 The non transitory machine readable storage medium according to claim 14 wherein the page editor component enables a user to add edit or delete a widget component in the user interface element of the page wherein the widget com ponent implements at least one selected user interaction con trol 16 The non transitory machine readable storage medium according to claim 15 wherein user interaction controls include at least one of a button a checkbox and a text field 17 The non transitory machine readable storage medium according to claim 14 wherein content region is editable to include selected text
44. own Eye color Option Label Selected Value 903 5 i Text Area Please enter your address 904 Text Field Your name 205 ye Multiple Choice Year the Nonh Pole was first reached o 2 A diferent year Option Label Selected Value Fig 9 Widget Controls US 2014 0081892 A1 METHOD AND SYSTEM FOR SIMPLIFIED KNOWLEDGE ENGINEERING RELATED APPLICATIONS 0001 This application is a non provisional of and claims priority to U S Provisional Application No 61 703 270 filed Sep 20 2012 and incorporated herein by this reference in its entirety COPYRIGHT NOTICE 0002 2012 2013 IFWIZARD CORPORATION A por tion of the disclosure of this patent document contains mate rial which is subject to copyright protection The copyright owner has no objection to the facsimile reproduction by any one of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records but otherwise reserves all copyright rights whatso ever 37 CFR 1 71 d BACKGROUND OF THE INVENTION 0003 Knowledge engineering is the use of computer sys tems to model complex functional knowledge While the generation of any Turing machine representative of external knowledge could be argued as knowledge engineering knowledge engineering and its related fields such as knowl edge management occupy a more specific realm of computer scienc
45. ri ables associated with the set of modal pages 6 The non transitory machine readable storage medium according to claim 5 wherein the editor component further enables exporting the set of pages and associated variables in a portable format 7 The non transitory machine readable storage medium according to claim 6 wherein the exported set of pages and associated variables 1s self contained 8 The non transitory machine readable storage medium according to claim 7 wherein the modal pages comprise con tent and user interface elements 9 The non transitory machine readable storage medium of claim 8 wherein the content and user interface elements of a modal page are conditionally processed by the player com ponent based on a truth value of conditions associated with said elements 10 The non transitory machine readable storage medium of claim 8 wherein said user interface elements contain user interaction controls and specified inference engine actions US 2014 0081892 A1 11 11 A non transitory machine readable storage medium having stored thereon a computer program for knowledge engineering the computer program comprising a graphical editor for building a knowledge based application program the graphical editor comprising an expert system manager element 102 arranged to enable an authorized user to select a knowledge based system Wizard 200 a variable listing corresponding to the selected Wizard a page listing c
46. sible otherwise the interface is displayed 416 0042 With each interface its widgets 210 are shown 420 allowing the user to interact 422 with the widget user control When the user has completed interaction with the page and is ready to navigate to the destination page all results 214 with result tests 216 are tested 424 and all passing result actions 218 are performed 426 If any successful results have a des tination page 428 the first of these is navigated to creating a new cycle of page display 408 If there are no destination pages playback is ended 430 0043 FIG 5 illustrates an editor user interface 500 of an exemplary embodiment of the system Basic navigation con trols 502 allow access to functions such as testing 310 and exporting 312 the knowledge based system The interface US 2014 0081892 A1 500 is further divided into a sidebar area 504 for modifying the system settings 304 managing pages 306 and editing variables 308 and a page editing area 506 0044 The page editing area 506 includes the content edi tor 508 with content test editor 510 the interface editor 512 with its widget editor 514 and result editor 516 The result editor can be further subdivided into its action editor 518 and result test editor 520 The action editor allows for the selec tion of specific actions such as subtract their operation on given user defined variables constants or widget values and optionally the assignment of the act
47. started 0105 Author The author of the wizard informational only 0106 Website A link to the author or more information about the wizard informational only 0107 Description A description of the wizard infor mational only 5 Pages 0108 All user visible wizard data is contained in pages and using a wizard is fundamentally a process of navigating from one page to another according to a set of rules Each page is split into two basic sections contents and interfaces Wizard must contain at least one page but there is no set limit on the number of pages 0109 Pages are managed in the pages tab of the sidebar You can select a page by clicking on its row in the page tab loading its contents and interfaces in the main area Note that clicking directly on the page row s title will allow you to change it which may also be changed with the Page Title field in the main area The sidebar s Create button will generate a new page and the Delete button will remove the selected page 6 Contents 0110 Contents are the text and multimedia displayed in a page page may contain multiple contents or none at all and each of them may have their visibility controlled by multiple conditions Contents are normally the main information dis played to the user and may be accompanied by one or more interfaces and their widgets 0111 To edit content click within the dashed contents area and type or paste the information you want
48. t their value directly from the explicit input of a user while others are set to a predetermined value depending on how the user interacts with the widget 0050 The button 900 widget presents a button with the prompting label If the button is clicked the clicked value is stored in the widget otherwise the widget has an empty value Significantly clicking the button initiates processing the page results 607 Therefore buttons are used as the pri mary navigation mechanism to move between pages 600 through the destination page setting of a result 607 0051 The checkbox 901 widget displays an on off check box with the prompting label If the checkbox is selected the selected value is stored in the widget otherwise the widget has an empty value 0052 Thetext area 903 and text field 904 widgets display a prompting label and accept an explicitly inputted value from the user which is then set as the widget value The text area 903 provides a larger multi line textual input area where the text field 904 is for single non breaking textual input 0053 The dropdown 902 and multiple choice 905 widgets displays a prompting label accompanied by a list of option labels If an option label is selected then its corresponding selected value is setas the widget value The drop down 902 provides a more compact widget rendering hiding the options that are unselected whereas the multiple choice 905 displ
49. theme may be considered equivalent And the various entity relationship and attribute names or labels are merely for convenience and are not critical 0032 To illustrate referring to FIG 2 consider the Page 202 and Content 204 entities The Page entity contains five attributes help note style title and uid unique identifier which are all settable for a particular instance of that entity Among its five relationships is con tents which points with a double headed arrow to the Con tent entity This means that one Page may contain several Content entities as children in the contents relationship 0033 Conversely the Content entity has a page_ rela tionship pointing with a single headed arrow back to the parent page So together the contents and page_ relation ships for a bidirectional reference between the two allowing the reader to find the children or parent respectively from a single Content or Page entity 0034 Knowledge based systems may be stored as wiz ards 200 containing basic information such as the author and title The knowledge based system may include any number of user defined variables 220 as well as user constants and the values of widgets 210 after user interaction discussed later A wizard may comprise one or more pages 202 see arrow 230 which implement all the visible and logical func tionali
50. thout departing from the underly ing principles of the invention The scope of the present invention should therefore be determined only by the fol lowing claims 1 A non transitory machine readable storage medium having stored thereon a computer program for knowledge engineering the computer program comprising an editor component that enables the creation and configu ration ofa set of modal pages that reflect domain knowl edge and a player component arranged for interacting with a user and conditionally displaying exactly one of the set of modal pages at a time based on the interactions with the user 2 The non transitory machine readable storage medium according to claim 1 wherein the player component includes an inference engine and the player component uses the infer ence engine to execute logic contained in the modal pages 3 The non transitory machine readable storage medium according to claim 1 wherein the editor component enables arranging the modal pages into a navigable graph and the inference engine navigates the graph responsive to the inter actions with the user as defined by the modal pages 4 The non transitory machine readable storage medium according to claim 1 wherein at least one of the modal pages includes conditional content 5 The non transitory machine readable storage medium according to claim 1 wherein the editor component further enables the definition initialization and assignment of va
51. tion tests or in actions both as input and to store new values Variables may also be inserted into con tents by writing the variable s name between two sets ofcurly braces like foobar 0118 Variables are managed in the variables tab of the sidebar The sidebar s Create button will generate a new page and the Delete button will remove the selected page Clicking directly on the variable s name will allow you to change the name Clicking in the input box to the right ofthe equals sign will allow you to set the initial value of the variable for example you might set a variable named counter to 0119 Variable values do not need to change during wizard operation you can use them as constants In more complex wizards you may want to create a couple temporary vari ables for use in sequences of actions These temporary vari ables can be useful for storing intermediate values during text or mathematical operations Mar 20 2014 9 Conditions 0120 Conditions are an important feature of If Wizard that allow you to selectively show or perform parts of a wizard Conditions may be available for contents user interfaces and results If an element has a condition it is shown or performed only if the condition passes when that element is processed Preferably this takes place in the same order as things are listed in the main area if a first interface Interface 1 changes a variable value with its actions and a second inter
52. to display to the user Contents may contain rich formatting and styling such as bold center alignment and lists on the IfWizard Professional version You can access formatting parameters in the Format menu or for more complex content you may want to write it in a dedicated word processor like Pages and then copy and paste into If Wizard 0112 The following buttons for example can add special features to the content Insert Link Add a hyperlink to a remote resource such as an http or mailto link The URL 1s the destination e g http www domloveskim com and the Label is what is displayed to the user such as our website US 2014 0081892 A1 Insert Remote Media Add a remotely located file such as an image audio file or video to be displayed inline Note that selecting this does not download the file and make it available locally Thus the user ofthe wizard must be able to access the remote file during playback Insert Local Media Add a local file such as an image audio file or video to be displayed inline This file will be copied into Library Containers Application Support If Wizard wiz ard id and embedded into the wizard when it is exported 0113 Variable values may be dynamically displayed in content To do so put the variable s name into double curly braces For example if your variable s name is your name you could substitute this in content by entering your name In practice you might have content like W
53. ty of the wizard The wizard may start operation by default to a designated start page see arrow 232 In an embodiment each page contains zero or more contents 204 Contents are the non interactive static blocks of text and media and may have user defined variables 220 values embedded within them Contents typically are displayed only if their content test 206 passes by comparing one or two variables through a condition such as equals 0035 Pages 202 also may contain zero or more user inter faces 208 designed to allow and respond to user interaction A user interface in an embodiment is only displayed if its user interface test 212 passes see arrow 238 Each user interface may contain zero or more user interface widgets 210 A wid get may comprise for example a button multiple choice text field or any other user control The widget may use the user input to determine and assign a corresponding value to a widget variable among variables 220 see userInterface Wid gets_among the variable 220 relationships 0036 Inan embodiment after the user completes interac tion with a current displayed page by clicking a button or the default continue button if no buttons are shown and at least one interface is displayed zero or more results 214 of the interface may be performed If the corresponding result test 216 of a result passes then the navigation is moved to the first passing result s destination page if one is selected
54. ue button is shown The widget s value is set to the button s clicked value if the button is clicked Unlike the other widgets the label is used as the text of the button 0129 Checkbox A checkbox is a simple control that allows for toggling on and off If the checkbox is toggled on Mar 20 2014 i e checked the widget s value is set to the checked value If the checkbox is toggled off the widget s value is set to unchecked 0130 Drop Down The drop down control allows the user to select between multiple options You create options by pressing the star button Each option has a label which is what is shown to the user and this is shown in the editor as the option label Each option also has a value that it sets the widget to if it is selected and this is the selected value 0131 Text Area The text area control allows the user to enter an extended amount of text as input The text may have multiple lines and pressing the enter key will create a new line The widget s value is the text the user entered 0132 Text Field The text field allows the user to enter a small amount of text ona single line The widget s value is the text the user entered 0133 Multiple Choice The multiple choice control allows the user to choose one of multiple options You create options by pressing the star button Each option has a label which is what is shown to the user and this is shown in the editor as the option label Each option
55. vatives have been devel oped to improve and extend knowledge engineering Further more there was a large interest in the use of knowledge engineering techniques for business rules logic around the turn of the century using software like BizTalk and specifi cations like Business Process Execution Language BPEL However these different technological innovations while finding specialized use among the most dedicated and tech nical parties have failed to reach non technical SMEs or ordinary people due to their highly complex and technical character 0009 Concurrent with this perennial technicalization of knowledge engineering have been the increased ubiquity of computer technology in everyday life and rapid usability improvements in graphical user interfaces GUIs As com puter technology has become more omnipresent several researchers and companies have sought to make more pow erful digital content creation available to the masses through more ergonomic GUIs 0010 Some attempts have been made to apply these sim pler interfaces to the development of computer programs such as through HyperCard or Squeak these programming envi ronments do not present the knowledge modeling and repre sentation concepts of knowledge engineering and are thus unsuited to the development of knowledge bases While these systems can successfully codify the rules they lack capabili ties for easily capturing and representing complex knowledge

Download Pdf Manuals

image

Related Search

Related Contents

Manuel util brouettes  Manuel d`utilisation  Samsung PS42B430P2 Инструкция по использованию  XDJ-R1 - Pioneer Electronics  

Copyright © All rights reserved.
Failed to retrieve file