Home
Tools for system-level design environments
Contents
1. 345 103 Concurrent Computer Corporation NightSim User s Guide 2002 2003 0037322 Al 2 2003 Kodosky et al 136 pages Stevan a poer ps a ipa al Concurrent Computer Corporation RedHawk Linux Real Time 2003 0093239 Al 5 2003 Schmit Software Environment 2002 2 pages a 2003 0107595 Al 6 2003 Ciolf anan 345 762 Mansor et al Software Methodology for Remote Monitoring and 2003 0200076 Al 10 2003 Kodosky et al Control System Proceedings of TENCON vol 3 2000 pp 509 2004 0031019 A1 2 2004 Lamamna et al 511 2004 0032429 Al 2 2004 Shah etal 345 771 2004 0034696 A1 2 2004 Joffrain et al cited by examiner U S Patent Oct 7 2014 Sheet 1 of 12 US 8 855 971 B2 Display Device 504 Keyboard 506 Electronic Device 500 Primary Storage Secondary Storage Network Interface 514 Modeling Simulation Application Simulink 516 Fig 1 US 8 855 971 B2 Sheet 2 of 12 Oct 7 2014 U S Patent Vc 914 aaosgsagpond oi eoedsyoM O Jet peg 0197 EN 852 9 ejbuis M gcc lBuis Eh es gt m SMODUIM uiging sisAeuy Svilvw epnyubew uosume PUIM H AO siseudui3 8Jd ing ZHX 8 CED a le ING 4ov maa i V E JYe o qnujaib 8Sz ai6uls 21 ejbuis uosuwe xe ixoo1 E 1x08 1x08 ence x ajus Butuutueu ajbuis ajbuis uia 40 lBuis Calo cle xe daH ppy sjool malA uoneinwiS wp3 ally vor U S Patent Oct 7 2014 S
2. SSS S D a Paa ss ss SEN m gt s 222 U S Patent 124 Oct 7 2014 Sheet 10 of 12 BANG L nus Vlt thie Cut RABAT w Counter Pisay Sounder Lorois Digia Clock Fran f fot wakapa Gapang s Puls Generator Random funt CANS Seg Repsating Os Signal Bulidey SE Conenumcaions BE Stans Processing SE Video ang image P 122 126 FIG 9 US 8 855 971 B2 134 130 128 430 136 U S Patent Oct 7 2014 Senerators T Skaulink RE Communkations S8 Signal Processing 2 BR Video and image Pix no BE Stonat Processing S video and image Pro revent windup a ST OY MEE BS LOR chicls Dynamics valve timing 144 Sheet 11 of 12 intake kake state gt bead FIG 10 US 8 855 971 B2 142 146 Selector C Throtilo amp Manii t Throfite Ang C Yel airs m ru io valve timing U S Patent Oct 7 2014 Sheet 12 of 12 US 8 855 971 B2 edge 180 le Ang Engine Speed N ser i 4 Engine FIG 11 US 8 855 971 B2 1 TOOLS FOR SYSTEM LEVEL DESIGN ENVIRONMENTS CROSS REFERENCE TO RELATED PATENT APPLICATION This application is a continuation of U S patent applica tion Ser No 11 011 298 filed Dec 13 2004 entitled TOOLS FOR SYSTEM LEVEL DESIGN ENVIRON MENTS by Orofino et al the subject matter of which appli cation is incorporated herein by reference in its entirety BACKGROUND The pre
3. 7 The method of claim 1 further comprising generating at least one of data or a signal with a generator tool and providing the at least one of the data or the signal to the executable graphical model during the execution of the executable graphical model 8 The method of claim 7 where generating the at least one ofthe data or the signal includes generating at least one of a sine wave a square wave a pulse or a user created function 9 The method of claim 1 further comprising outputting the data to at least one of the display device a memory device or another computing device 10 The method of claim 1 further comprising providing the data for display via at least one of a display scope a strip chart recorder US 8 855 971 B2 15 an oscilloscope a spectrum analyzer a multi port network analyzer a logic signal display a waterfall plot a communications constellation plot or a video display device 11 The method of claim 1 further comprising debugging the executable graphical model based on return 5 ing the changed data location to the executable graphical 10 model 12 The method of claim 1 where reading the data includes reading the data from a memory location associated with the first model element 13 The method of claim 1 further comprising debugging the executable graphical model with the bypass tool 14 A device comprising a processor to start an execut
4. an object selector to associate the remote auxiliary tool with the one of the signal or the block in the block diagram model or a signal and scope manager to manage connections between an observer tool or a generator tool and at least one of the signal or the block 16 The device of claim 14 where the processor is further to provide a context sensitive menu to at least one of create a generator tool for generating data used during the execution ofthe executable block diagram model 25 30 35 40 45 50 55 60 65 16 create an observer tool for reading data generated during the execution ofthe executable block diagram model connect at least one ofthe generator tool or the observer tool to the one of the signal or the block or detach at least one ofthe generator tool or the observer tool to the one of the signal or the block 17 The device of claim 14 where the processor is further to provide a multiple document interface layout for managing and supporting one or more connections between the one of the signal or the block and the remote auxiliary tool 18 The device of claim 14 where the remote auxiliary tool comprises one or more elements and a remote connection manager to receive from a user a selection of the one or more elements and track during the execution of the executable block dia gram model the selected one or more elements via a user interface 19 A non transitory computer readab
5. 2004 Anderson et al 6 839 894 BI 1 2005 Joshi et al 2004 0205726 Al 10 2004 Chedgey et al 6 971 065 B2 11 2005 Austin 2004 0210426 Al 10 2004 Wood e 703 2 6 988 262 BI 1 2006 Mallory et al 2004 0210798 Al 10 2004 Higashi 7 051 322 B2 5 2006 Rioux 2004 0255269 Al 12 2004 Santori et al 7 058 950 B2 6 2006 Jeyaraman 2005 0144587 Al 6 2005 Bryant 717 111 7 062 779 BI 6 2006 Courtney et al 2005 0183098 AI 8 2005 Ilic et al 7 072 801 B2 7 2006 James Lc 702 188 2006 0041859 Al 2 2006 Vrancic et al 7 072 813 B2 7 2006 Billemaz et al 2006 0053211 Al 3 2006 Kornerup et al 7 076 740 B2 7 2006 Santori et al 2006 0064670 Al 3 2006 Linebarger et al 7 134 090 B2 11 2006 Kodosky et al 2006 0111074 AI 5 2006 Petilli et al 7 171 653 B2 1 2007 Albrecht 2006 0129371 Al 6 2006 Orofino et al 7 185 315 B2 2 2007 Sharp et al 2006 0184410 Al 8 2006 Ramamurthy et al 705 8 7 200 838 B2 4 2007 Kodosky et al 2006 0259870 Al 11 2006 Hewitt et al 715 762 7 210 105 B2 4 2007 Melamed et al 2007 0143455 Al 6 2007 Gorman etal 709 223 7 210 117 B2 4 2007 Kudukoli et al 2008 0007332 Al 1 2008 Dubowsky 7 215270 BI 5 2007 Kozak et al 2008 0028196 Al 1 2008 Kailas 7 302 675 B2 11 2007 Rogers et al 2008 0098349 AI 4 2008 Lin et al 7 302 676 B2 11 2007 Schmitt et al 2008 0222620 AI 9 2008 Little et al 7 315 791 B2 1 2008 Ilic et al 2009 0012757 Al 1 2009 Orofino et al 7 325 210 B2 1 2008 Rao et
6. al 2009 0132993 AI 5 2009 Mani et al 7 439 891 B2 10 2008 Kozak et al 2009 0216546 AI 8 2009 Huang et al 7 480 006 B2 1 2009 Joffrain et al 717 171 2010 0223564 Al 9 2010 Hsu etal aaa 715 763 7 490 029 B2 2 2009 Wasynczuk et al 2011 0023019 Al 1 2011 Aniszczyk et al 717 128 7 512 931 B2 3 2009 Schmit es 717 105 2011 0214044 Al 9 2011 Davis et al 715 201 7 568 017 B2 7 2009 Shah et al 2012 0066762 Al 3 2012 Todorovic wee 726 22 7 813 825 B2 10 2010 Dubowsky 2013 0198527 Al 8 2013 Luetal 713 189 7 827 068 B2 11 2010 Shah et al 2014 0053090 A1 2 2014 Luetal 715 761 7 835 895 BL 11 2010 Orofino et al 2014 0059525 Al 2 2014 Jawaetal 717 162 7 966 562 Bl 6 2011 Brewton et al 2014 0059573 Al 2 2014 Jawaetal 719 331 7 996 513 B2 8 2011 Gorman etal 709 224 8 046 708 B1 10 2011 Aldrich cee 715 771 OTHER PUBLICATIONS m t SN Haha International Search Report for PCT US2005 045493 dated Apr 25 2002 0052725 Al 5 2002 Wasynczuk et al 2007 2002 0054101 Al 5 2002 Beatty Summons to Attend Oral Proceedings for Application No 05854256 2002 0070968 Al 6 2002 Austin et al 4 14 pages dated Nov 28 2012 2002 0143857 Al 10 2002 Bidarahalli et al The MathWorks Simulink Model Based and System Based 2003 0005180 Al 1 2003 Schmit et al 709 328 Design Using Simulink Version 5 2002 476 pages 2003 0016206 Al 1 2003 Taitel
7. an example method of use of the tool in accordance with embodiments of the present invention FIG 8 is a screen depiction of two generator tools and two Observer viewer tools connected to a model FIG 9 is a screen depiction of a signal and scope manager used to manage remote generator and observer viewer tools FIG 10 is a screen depiction ofa signal selectorthat is used to connect remote generator and observer viewer tools to a model and FIG 11 is a screen depiction of context sensitive menus used to connect remote generator and observer view tools to a model DETAILED DESCRIPTION An illustrative embodiment ofthe present invention relates to a remote auxiliary tool and corresponding method of use The remote auxiliary tool is formed of at least one of an observation tool a bypass tool and a generator tool The remote auxiliary tool is non intrusively and synchronously connected to a graphical modeling environment prior to execution during execution or after execution of a model The remote auxiliary tool is detachable from the model dur ing execution of the model in the graphical modeling envi ronment 20 25 30 35 40 45 50 55 60 65 4 The remote auxiliary tool is non intrusive to the graphical model such that the remote auxiliary tool is not embedded in the model in the same way that other elements of the model are interconnected and embedded In the case of a graphical model using b
8. areas and parameters Signal dis plays used in conjunction with a system level design environ ment such as SIMULINK often require multiple display mechanisms to be associated simultaneously with multiple signals to monitor the progress of a model at various points of interest Currently block diagram environments offer scope blocks to be used in such situations with each scope connected to a signal of interest in the model Alternatively environments such as Real Time Workshop manufactured by The Math Works Inc of Natick Mass offer interfaces to various data values of the model such that an individual can non intrusively observe the data values However conventional non intrusive approaches to observing the various data elements do not allow users to observe the data synchronously with the various execution events in the block diagram or other operating model Such synchrony is critical in many scenarios because data values may be not be in a deterministic observable state at all times during model execution An example of such a scenario is when a signal memory location is reused by multiple blocks for efficiency reasons Furthermore allowing synchronous observation of the data also ensures that observers of the data are operating optimally for example when the data values are refreshed During the course of modeling it is also often desirable to bypass or generate data values to aid in refining or debugging a design Fo
9. 11 is selected The remote auxiliary tool can be connected to the model 10 using an event listener API More specifically and in accor dance with an example embodiment of the present invention the API that enables the practice of the remote auxiliary tool in accordance with the present invention includes the pres ence of user definable pre execution and or post execution callbacks or events associated with any ofthe methods ofthe computational blocks in the graphical model 10 such that the callback or event enforces proper synchronization for data transfer to and from the tool Such an API can likewise be provided where the definitions refer to data nodes in a physi cal hardware device such as memory locations in a processor a physical I O protocol for a processor or an FPGA or ASIC orsome other defined method for data delivery as understood by one of ordinary skill in the art A unique identifier can be provided for each signal in the graphical model 10 or hard ware such that the tool can be associated with any signal or group ofsignals Methods to read and optionally write signal data via the unique identifier which can be synchronized by the pre execution and or post execution callback or event can be provided Furthermore textual graphical audio visual tactile or other data rendering techniques and capa US 8 855 971 B2 7 bilities supported by or interfaced to the modeling environ ment can be provided such that th
10. Examiner Omar Fernandez Rivas 63 Continuation of application No 11 011 298 filed on Assistant Examiner Kibrom Gebresilassie Dec 13 2004 74 Attorney Agent or Firm Harrity amp Harrity LLP 51 Int CI 57 ABSTRACT G06F 17 50 2006 01 A remote auxiliary tool is created in a graphical model having G06F 3 00 2006 01 at least one of a signal or a block The remote auxiliary tool is G06F 9 44 2006 01 non intrusively attached to one ofthe signal or the block The 52 U S Cl graphical model and the remote auxiliary tool are executed CPC G06F 8 34 2013 01 GO6F 3 00 2013 01 synchronously At least one of an execution result or a remote USPC 703 1 703 6 714 E11 212 719 328 auxiliary tool result is output to at least one of a display 58 Field of Classification Search device a storage device or a destination device USPC e 703 13 717 104 105 109 125 127 See application file for complete search history 54 A Auxiliary Tool Is An Observation Place Virtual Auxiliary ool in Graphical Model Operate Virtual Auxiliary Tool In Graphical Model Remove Virtual Auxiliary Tool from Graphical Model if Desired 20 Claims 12 Drawing Sheets US 8 855 971 B2 Page2 56 References Cited 2004 0045009 Al 3 2004 Bryant ss 719 316 2004 0064750 Al 4 2004 Conway U S PATENT DOCUMENTS 2004 0093197 Al 5 2004 Billemaz et al 703 13 2004 0153997 Al 8
11. S Patent sajdwes amp o amp Ml AS 209 3d dsp LAMM Saum Bi jewusue Kg ubisag 19A008H vorpajag joquiks Rm 1op l q ebp3 Bupe Raj uonoejeg edol Au3 ov pai 1eNeoeg s El saposag g 9IHI AWA F i uongajag eurer4jo veis Es 1 poo q g olul F E EI ft ei as ZJ 18SM019 DON I5 oleaxleBglyu dH Sool wuoj uogejnuis maA Wp3 ally jesuonejueuinadsu U S Patent Oct 7 2014 Is Virtual Auxiliary Tool For Observation or Sink 84 If Virtual Auxiliary Tool Is An Observation Tool Observe Collect Data 86 If So Configured Register Data Collected 88 If So Configured Initiate An Action Separate From The Model to Debug Fig Sheet 8 of 12 Provide Graphical Model Place Virtual Auxiliary Tool In Graphical Model Auxiliary Tool Is A Sink Tool Repeat As Necessary US 8 855 971 B2 If Virtual Collect Data If So 92 Configured Modify And Return Data Collected If So 94 Configured Initiate An Action In The Model US 8 855 971 B2 Sheet 9 of 12 Oct 7 2014 U S Patent 2 1 1 8 qs Manitald th Y H H i i i i H m T m x BS a m m T m m m m m m m m m m m m m m m xm m mm m m xm m m Ha EI TUE aa x VAT T A ore zs aa aa ua ii ii PSEUD aa aa aa ii ii IPSUM 222 pana T Se
12. a particular execution event The remote auxiliary tool can likewise be implemented in the form of a blocking tool if its purpose is to influence model execution In this mode the model to which the remote auxiliary tool is attached waits until the tool has generated an action in response to receipt an execution event Such actions could include pausing the model execution or other actions that affect the model or the execution or operation of the model or devices connected with the model and operated by the model occur based on observations made by the remote auxiliary tool The display or GUI for a bypass tool forming part or all of the remote auxiliary tool can be substantially the same or similar to that of the GUIs shown herein in FIGS 4A 4B 5 and 6 The bypass type oftool has the ability to read data from the graphic model 10 as it is running and halt the model or modify the data and return a different value to the model or other locations in accordance with predetermined configu rations Thus the bypass tool accesses and modifies data and or event of the model and can return a modified form of the data and or event In addition it should be noted that the bypass tool can modify a data and or event ofthe model using block diagram primitives and or textual language primitives The data pulled from the graphical model 10 can also be 20 25 30 35 40 45 50 55 60 65 10 forwarded to a location separate fr
13. a2 United States Patent US008855971B2 10 Patent No US 8 855 971 B2 Orofino II et al 45 Date of Patent Oct 7 2014 54 TOOLS FOR SYSTEM LEVEL DESIGN 56 References Cited ENVIRONMENTS U S PATENT DOCUMENTS 75 Inventors Donald Paul Orofino II Sudbury MA US R thv Mani Needh 5 061 245 A 10 1991 Waldvogel 604 170 01 US Ramamurthy Mani Needham 5 331 111 A 7 1994 O Connell MA US Howard Taitel Sudbury MA 5 946 485 A 8 1999 Weeren et al US John Ciolfi Wellesley MA US 6 064 409 A 5 2000 Thomsen et al 6 226 787 Bl 5 2001 Serra et al 73 Assignee The MathWorks Inc Natick MA 6 282 699 Bl 8 2001 Zhang ct al US 6 330 356 B1 12 2001 Sundareswaran et al 6 335 741 BI 1 2002 Nock shined 6 412 106 Bl 6 2002 Leask et al Notice Subject to any disclaimer the term of this 6 715 139 BI 3 2004 Kodosky et al patent is extended or adjusted under 35 6 748 583 B2 6 2004 Aizenbud Reshef et al U S C 154 b by 457 days 6 817 010 B2 11 2004 Aizenbud Reshef et al This patent is subject to a terminal dis Continued claimen FOREIGN PATENT DOCUMENTS 21 Appl No 11 841 986 wo WO 99 09473 Al 2 1999 22 Filed Aug 20 2007 OTHER PUBLICATIONS A eat LabVIEW User Manual National Instruments Cooperation 1996 65 Prior publication Data RedHawk NightStar Tools Version 1 1 Release Notes Sep 2002 US 2009 0012757 A1 Jan 8 2009 Continued Related U S Application Data Primary
14. able graphical model includes invoking one or more model methods and where non intrusively attaching the remote auxiliary tool includes providing at least one of a pre execution callback a post execution callback or an event associated with one or more model methods and synchronizing data transfer between the executable graphi cal model and the remote auxiliary tool using the at least one of the pre execution callback the post execution callback or the event 4 The method of claim 1 where causing the execution of the executable graphical model includes translating the executable graphical model into code and executing the code 5 The method of claim 1 further comprising generating code based on the executable graphical model the code including one or more portions for invoking during an execution of the code one or more model methods and modifying the code before and after each of the one or more portions for invoking the one or more model meth ods to enable the interest to be registered with one or more model elements associated with the one or more model methods 6 The method of claim 1 where the remote auxiliary tool includes at least one of an observer tool for reading data generated during the execution of the executable graphical model or a generator tool for generating data and providing the gen erated data to the executable graphical model during the execution of the executable graphical model
15. al model 10 showing the existence of the listener for the remote aux iliary tool Such graphical representation can be for example shown in the block 11 similarto those illustrated in FIGS 2A and 2B indicating the remote auxiliary tool is connected to the internal state of the block 11 and not the signal 13 More specifically in the illustrative example showing the symbol 19 connections made by the remote auxiliary tool can be described by selection of one or more signals 13 from a list of all available signals 13 in the graphical model 10 The remote auxiliary tool can also be described by the direct entry of an identification ofone or more signals 13 in the graphical model 10 The connections can be highlighted at some point in time to associate a symbol 19 with one or more selected signals 13 For example this can be accomplished by pressing a button in the display interface with the corresponding signal 13 in the model highlighted by color blinking or other temporary or persistent graphical indication in addition to textual or other representations The connection can also be highlighted by a graphical affordance in the graphical model 10 such as a test point symbol small lollipop icon connected to a signal line for as long as the virtual connection remains For con nections to internal block state as in the illustrative block 11 the connections can be created in similar fashion to signal selection except that a block
16. ation of separate software applica tions or hardware devices Numerous modifications and alternative embodiments of the present invention will be apparent to those skilled in the art in view of the foregoing description Accordingly this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode for carrying out the present invention Details of the structure may vary substantially without departing from the spirit ofthe present invention and exclusive use of all modifications that come within the scope of the appended claims is reserved It is intended that the present invention be limited only to the extent required by the appended claims and the applicable rules of law The invention claimed is 1 A computer based method comprising causing an execution of an executable graphical model causing the execution being performed by a computing device the executable graphical model when executed simu lating a behavior of a dynamic system and the executable graphical model including a plurality of model elements non intrusively attaching a remote auxiliary tool to a first model element of the plurality of model elements dur ing the execution of the executable graphical model non intrusively attaching the remote auxiliary tool being performed by the computing device and as a result of attaching the remote auxiliary tool the remote auxiliary tool registering an i
17. blishes the signal connection One skilled in the art will recognize that there are several ways to attach observer tools bypass tools and generator tools to a model 10 100 Revisiting model 100 shown again in FIG 11 as model 150 an alternative embodiment of the present invention can be used to connect or disconnect remote auxiliary tools from the model 150 In particular in the example embodiment the user can use a context sensitive menu 152 of FIG 11 to attach and remove generators to 20 25 30 35 40 45 50 55 60 65 12 unconnected input ports or signal injection points 151 The context sensitive menu 152 can be brought up by right click ing on an injection point 151 Within the context sensitive menu 152 one can disconnect from a generator source using a disconnect selection 154 and reconnect to another genera tor source using a switch connection selection 156 or create and connect a new generator source using a create source selection 158 Similarly one can bring up the context sensi tive menu for a signal 160 by right clicking on a signal such as signal 161 which is the engine speed the second output of the engine block Within the context sensitive menu one can open a viewer that is connected to the signal using an open viewer selection 162 note multiple viewers can be connected to one signal disconnect one or all ofthe viewers connected to the signal using a disconnect selection 164 or creat
18. ce 500 suitable for practicing the illustrative embodi ments of the present invention The electronic device 500 is representative of a number of different technologies such as personal computers PCs laptop computers workstations personal digital assistants PDAs Internet appliances cellu lar telephones and the like In the illustrated embodiment the electronic device 500 includes a central processing unit CPU 502 and a display device 504 The display device 504 enables the electronic device 500 to communicate directly with a user through a visual display The electronic device 500 further includes a keyboard 506 and a mouse 508 Other potential input devices not depicted include a stylus track ball joystick touch pad touch screen and the like The electronic device 500 includes primary storage 510 and sec ondary storage 512 for storing data and instructions The storage devices 510 and 512 can include such technologies as a floppy drive hard drive tape drive optical drive read only memory ROM random access memory RAM and the like Applications such as browsers JAVA virtual machines and other utilities and applications can be resident on one or both of the storage devices 510 and 512 The electronic device 500 can also include a network interface 514 for communi cating with one or more electronic devices external to the electronic device 500 depicted A modem is one form of network interface 514 for establishing a con
19. del and control events implemented on hardware devices and the like Accordingly the present invention is intended for use on all such modeling applications The present invention is generally directed to a system and method for interacting non intrusively yet synchronously with a graphical model FIGS 2A and 2B are screen depic tions of a graphical model 10 simulating a dynamic process FIG 2A shows a version ofa time based or event based block diagram graphical model 10A while FIG 2B shows a version ofa state based or event based flow diagram graphical model 10B As referred to herein graphical model 10 is intended to encompass multiple variations of graphical model including those shown in FIGS 2A and 2B Accordingly graphical model 10 as utilized herein includes graphical model 10A and graphical model 10B as well as other graphical models of dynamic systems Graphical model 10A is formed generally of a plurality of blocks 11 that pass signals 13 to represent a dynamic system Graphical model 10B is formed of a plural ity ofstates 15 that communicate though blocks in the form of transitions 17 The particular use or purpose of the graphical model 10 can vary to include anything that can be modeled using a graphical modeling environment Thus the present invention is not limited to the specific example embodiments discussed herein as understood by one of ordinary skill in the art In the example embodiment time based graphical m
20. e and connect a new viewer using a create view selection 166 When executing the model using an interpretive engine the event listener paradigm provides a straight forward means by which to support the remote auxiliary tool However one skilled in the art recognizes that a model can be translated to generated code where the generated code can be a high level programming language such as C Java or C or assembly code To support the adding and removing of remote auxiliary tools during execution the generated code can be instru mented before and after each block method Alternatively a run time engine can be created which using the executable created after compiling and linking the code can instrument the executable with entry points before and after the code for each model and block method thus enabling one to imple ment the event listener architecture enabling the removal and addition of remote auxiliary tools during model execution An alternative to the event listener paradigm for synchro nously connecting the remote auxiliary tool to the model is to aggregate the model objects and the remote auxiliary tool s into one execution engine This can be done when the con nections to the model are made prior to model execution and are not altered during execution In this scenario one can use model primitives e g a sine wave signal generator or a scope display block to define a generator or observer tool respec tively The remote auxi
21. e imple mented in a number of different ways such that the present invention is not limited to the specific example of debugging US 8 855 971 B2 13 described herein Rather the present invention and corre sponding method of use can vary in accordance with pre ferred debugging processes Accordingly the present invention is generally directed to aremote auxiliary tool and corresponding method ofuse The remote auxiliary tool is formed of at least one observer tool bypass tool or generator tool The tool is non intrusive meaning there are no explicit modeling primitives e g blocks or lines added to the graphical model Thus there is no requirement that the tool be programmed into the model when the model is being created The remote auxiliary tool is furthermore remote and auxiliary in nature meaning that it is separate from the graphical model The remote auxiliary tool is likewise representative of a variety of different tools lim ited only by the functionality that can be provide by an tool that forms the remote auxiliary tool The remote auxiliary tool can be connected to the graphical modeling environment prior to execution during execution or after execution of a model and is also detachable from the model during execu tion ofthe model in the graphical modeling environment The remote auxiliary tool can be implemented to influence only the graphical modeling environment and or can initiate actions that affect the oper
22. e or removed from the graphical model step 88 while still maintaining its non invasive characteristics in the graphical model If on the other hand the remote auxiliary tool is ofa bypass type data can be collected and or modified and or overrid den in accordance with the configuration of the remote aux iliary tool The remote auxiliary tool collects the data step 90 The user can take information or data learned by use of the remote auxiliary tool and implement actions to affect how the model is operating in an effort to debug the simulation or the model ofthe dynamic system step 92 These actions can include using the bypass type of remote auxiliary tool to change signal values at different locations in the model In addition different actions can be initiated in the graphical model in an effort to debug the model step 94 The steps can be repeated as necessary to debug the model step 96 US 8 855 971 B2 11 The remote auxiliary tool can also be a generator tool The generator tool provides data to a model such as a running model 100 in FIG 8 This can be in the form of a signal 102 without a source block icon In FIG 8 the speed set point 104 and Load represent text indicating two injection points Without a signal provided by a remote auxiliary tool the model would treat these two signals as unconnected and provide a value of to the first input port ofthe Controller 106 block It should be noted that the
23. e signal data is presented to user in a discernable manner The remote auxiliary tool can include different types of Observer tools such as display scopes strip chart recorder an oscilloscope a spectrum analyzer a 2 port network analyzer a logic signal display a waterfall plot a communications constellation plot an audio output device and a video display device The observer tool can also be a non graphical tool such as a tool that reads the model data such as the signal at point of the illustrative model 10 and sends the data to another system for processing The remote auxiliary tool can include different bypass tools such as a non graphical tool that reads data from the model 10 and if the data exceeds a specified limit the data is set to that limit The modified data is then returned to the model This makes the bypass tool useful for providing fault tolerant actions when the model is executing in real time Another use of the bypass tool is in the area of debugging a simulation when incorrect values are seen they can be altered enabling the simulation to continue without having to shut down The remote auxiliary tool can include different types of generator tools such as sine wave square wave pulse or any arbitrary user created functions that produce data for the model One ofordinary skill in the art will appreciate that the present invention is not limited to using the event listener API to non intrusively and synchro n
24. generator tool categories Rather the tool can be a hybrid mixture of the three forms or varieties of tool Furthermore it should be noted that the remote auxiliary tool is formed of at least one tool such that the specific configuration of each tool forming the remote auxiliary tool becomes less relevant to the opera tion of the remote auxiliary tool because the same function ality of the remote auxiliary tool can be implemented with numerous variations ofobservation bypass or generator and number of tools forming the remote auxiliary tool Accord ingly the present invention is not limited to the specific example embodiments of tools described herein Rather the remote auxiliary tool of the present invention is formed of a combination or mixture of the different variations possible with the tool operational characteristics in addition to a com bination of multiple tools having the same or different opera tional characteristics One example implementation of the remote auxiliary tool of the present invention is shown in FIG 4A and FIG 4B FIG 4A is a screen depiction of a tool resulting from a user implementing the remote auxiliary tool The remote auxiliary tool is implemented as a waterfall plot 12 The waterfall plot 12isa visual display of data virtually connected to the graphi cal model 10 at point A The remote auxiliary tool can include a number of different interfacing options some of which can beimplemented in a toolbar c
25. he model using an object selector The object selectoris one component of the remote auxiliary tool that associates each tool the user has created with objects e g blocks signals or ports in the model For example the selection of model objects blocks signals or ports to be connected to a remote auxiliary tool can be done using a signal selector that displays the model hierarchy in a textual fashion The user navigates to the desired object in the textual hierarchy and connects the tool the object Alternatively the user can select an object in the model and then click a button in the signal selector to attach the remote auxiliary tool to the selected object It should be noted that one useful implementation of the remote auxiliary tool ofthe present invention is in the perfor mance of debugging of a system being modeled using the graphical model 10 as shown in FIG 7 To debug an operat ing model the model is first provided step 80 The user implements an instance ofthe remote auxiliary tool step 82 At this point the particular type of remote auxiliary tool can influence the next steps If the remote auxiliary tool is an observation type of tool the user attaches the remote auxil iary tool at a point in the model at which access to data is desired to observer or collect data step 84 If desired the data collected can be registered step 86 If configured accordingly the remote auxiliary tool can initiate an action separat
26. heet 3 of 12 US 8 855 971 B2 a 10B StateFlow chart SFcontrol Controller inl ES File Edit Simulation View Tools Add Help ele Hi off_switch ts en speed 2 temp lt 120 temp gt 120 on switch D bial N Q s Lo Off en speed 1 off switch en speed 0 Q Fig 2B Oct 7 2014 Sheet 4 of 12 US 8 855 971 B2 Place Virtual Auxiliary Tool in Graphical Model Operate Virtual Auxiliary Tool In Graphical Model Is Virtual Auxiliary Tool For Observation or Sink U S Patent If Virtual 54 If Virtual Auxiliary Tool Is ili An Observation UE d Collect Data Tool Observe Collect Data If So 56 If So Configured Configured Modify And Register Data Return Data Collected Collected If So 58 If So Configured Configured Initiate An Initiate An Action Separate Action In The From The Model Model Remove Virtual Auxiliary Tool from Graphical Model if Desired Fig 5 U S Patent Oct 7 2014 Sheet 5 of 12 US 8 855 971 B2 dsplpc1 Coeffs Els x File Edit View Window Help jem Eg x lt S Z e e AP AP iei SC D Bl 12 Running dsplpc1 Coeffs File Edit View Window Help E g EB balag e us AP ele Y CI E U S Patent Oct 7 2014 Sheet 6 of 12 US 8 855 971 B2 zr 100 D nl c US 8 855 971 B2 Sheet 7 of 12 Oct 7 2014 U
27. input stimuli inputs at 20 25 30 35 40 45 50 55 60 65 2 that time the current state of the system the system param eters and time The state of the system may be thought of as a numerical representation of the dynamically changing con figuration of the system For instance in a physical system modeling a simple pendulum the state may be viewed as the current position and velocity of the pendulum Similarly a signal processing system that filters a signal would maintain aset of previous inputs as the state The system parameters are the numerical representation of the static unchanging con figuration ofthe system and may be viewed as constant coef ficients inthe system s equations For the pendulum example a parameter is the length of pendulum and for the filter example a parameter is the values of the filter taps Generally graphical analysis and modeling methods such asthe block diagram method are used in modeling for design analysis and synthesis of engineered systems The visual representation allows for a convenient interpretation of model components and structure and provides a quick intuitive notion of system behavior During the course of modeling and simulation it is often desirable to be able to observe particular data values at certain locations of the model or to observe how data is transformed through the model Examples of such data values include signal values states work
28. ion ofan executable block diagram model the executable block diagram model when executed simulating a behavior of a system non intrusively attach a remote auxiliary tool to one ofa signal or a block in the executable block diagram model during the execution of the executable block diagram model as a result of attaching the remote auxiliary tool the remote auxiliary tool registering an interest with the one of the signal or the block to be notified of an occurrence of an execution event associated with the one of the signal or the block being notified of the occurrence of the execution event based on registering the interest and receiving identifying related to the one of the signal or the block read based on receiving the information data from the one of the signal or the block using a bypass tool included in the remote auxiliary tool based on reading the data from the one of the signal or the block modify the data and output the modified data to the executable block dia gram model using the bypass tool detach the remote auxiliary tool from the one of the signal or the block and output a result to at least one of a destination device or a display the result relating to modifying the data 15 The device of claim 14 where the processor is further to provide at least one of a signal selector to display a model hierarchy and to allow selection of model objects that are associated with the remote auxiliary tool
29. le storage medium storing instructions the instructions comprising one or more instructions which when executed by a com puter system cause the computer system to create a remote auxiliary tool that is associated with an executable graphical model the executable graphical model when executed simulating a behavior of a dynamic system and the executable graphical model including at least one of a signal or a block execute the executable graphical model non intrusively attach the remote auxiliary tool to a selected one of the signal or the block during an execution of the executable graphical model as a result of attaching the remote auxiliary tool the remote auxiliary tool registering an interest with the selected one ofthe signal or the block to be notified of an occurrence of an execution event associated with the selected one of the signal or the block the remote auxiliary tool being notified of the occurrence of the execution event and the remote auxiliary tool receiving information related to the selected one of the signal or the block read based on receiving the information data from the selected one of the signal or the block using a bypass tool included in the remote auxiliary tool based on reading the data from the selected one of the signal or the block modify the data and return the modified data to the executable graphical model using the bypass tool and output at least one of an execution result or a remote a
30. liary tool is not added to the graphical definition of the model rather an internal aggregated repre sentation ofthe model is formed consisting of both the model objects plus the remote auxiliary tools After this is done an internal execution structure can be created by translating the model into executable operations or generated code If the connections are altered during execution it is necessary to know a priori the full range of alterations that may be per formed Otherwise dynamic alteration ofthe execution struc ture needs to occur and dynamic alteration of the execution structure is very similar to the event listener paradigm The remote auxiliary tool provides freedom to tap into an existing and executing model at any time and collect data modify data start and stop the model execution return desired constants or other forms of modified data to the model execution influence the operation of separate models or devices and the like Accordingly a user attempting to diag nose or debug a model of a dynamic system can use the remote auxiliary tool of the present invention to both take contemporaneous or real time readings of signal values within the graphical model and or communicatively associ ated devices and if desired make changes or modifications to the data to effect a desired outcome for diagnostic and or control purposes One of ordinary skill in the art will appre ciate that debugging is an iterative process that can b
31. locks and signals the user does not add blocks or signals to the model diagram when attaching a remote auxiliary tool in accordance with the present invention to the model Rather the remote auxiliary tool registers interest with the model and during execution the model informs the remote auxiliary tool of events of which the tool has requested to receive notification The process of sending an event can be achieved through but not limited to an event listener appli cation programming interface API a callback based inter face and or model and remote auxiliary tool aggregation for execution The remote auxiliary tool can work with execution modes that include but are not limited to interpretive accel erated or generated code model execution modes FIGS 1 through 11 wherein like parts are designated by like reference numerals throughout illustrate example embodiments of a remote auxiliary tool and corresponding method of use according to the present invention Although the present invention will be described with reference to the example embodiments illustrated in the figures it should be understood that many alternative forms can embody the present invention One of ordinary skill in the art will addi tionally appreciate different ways to alter the parameters of the embodiments disclosed in a manner still in keeping with the spirit and scope of the present invention FIG 1 illustrates one example embodiment of an electronic devi
32. m the model The user can start the model execution step 62 During model execution model and block methods are invoked With in SIMULINK this consists of a simulation loop Each computational block in SIMULINKW consists of multiple run time methods that are executed within the simulation loop SIMULINK decomposes block methods by type and executes them in a predefined manner from model models that are invoked by the simulation loop During execution of a model or block method step 64 if a block with registered listeners is encountered step 66 the model sends an event step 68 causing the respective listener steps 54 56 and 58 of the remote auxiliary tool to execute The listener of the remote auxiliary tool can be an observer tool reading and displaying data step 54 a bypass tool reading data and returning modified data step 56 or a generator tool provid 0 Ha 5 35 40 45 50 55 65 8 ing data step 58 When execution completes step 70 the model returns to the not running state step 60 One of ordinary skill in the art will appreciate that as mentioned previously the distinction between observation or observer tool bypass tool and generator tool as outlined above is done merely to convey different aspects ofthe inven tion clearly However the present invention does not require that the tool fall completely within one or the other of the observation or observer tool bypass tool or
33. nection with an external electronic device or network The CPU 502 has either internally or externally attached thereto one or more of the aforementioned components In addition to applications previously mentioned modeling applications such as SIM ULINK 516 can be installed and operated on the electronic device 500 It should be noted that the electronic device 500 is merely representative of a structure for implementing the present invention However one of ordinary skill in the art will appre ciate that the present invention is not limited to implementa tion on only the device 500 as described herein Other imple mentations can be utilized including an implementation based partially or entirely in embedded code where no user US 8 855 971 B2 5 inputs or display devices are necessary Rather a processor can communicate directly with another processor or other device Turning now to example embodiments of the present invention the method and system of the present invention operate in a block diagram modeling environment such as that of SIMULINK The block diagram modeling environ ment is otherwise referred to herein as the graphical model One of ordinary skill in the art will appreciate that there are a number of different graphical modeling and simulation appli cations that make general use of blocks or other graphical representations to model or simulate conditions events designs operations and the like or to mo
34. notion of an unconnected signal identified by an injection point in model 100 is text but it could be a generic graphical symbol such as a circle with a dotin the center In this example a generator tool is supplying a set point that has trajectory 108 for the Load injection point FIG 8 also includes two observer tools 110 a scope that is connected to the second output 112 of the Engine 114 block and 116a scopethat is connected to the Mux 118 block output in the Engine Subsystem 115 corresponding to the Engine 114 block FIG 8 further illustrates the non intrusive but synchro nized aspect of the present invention where the user does not have to explicitly select blocks or other graphical objects from a library and add them to the model then make the connections using signals The signal and scope manager 120 is shown in FIG 9 which is responsible for managing the observer tools 122 here they are all display tools and thus are referred to as viewers and generator tools 124 To use the signal and scope manager to attach generators to signals one selects a generator from the generators tree view 124 and clicks an Attach to model gt gt button 126 which enables after the generator has been selected After the generator is attached one can use a signal selector 140 of FIG 10 which can beactivated by selector button 128 to complete the attach ment by connecting the generator to an injection point which is an unconnected input
35. nterest with the first model element to be notified of an occur rence ofan execution event associated with the first model element the remote auxiliary tool being notified of the occur rence ofthe execution event based on the registered interest and the remote auxiliary tool receiving information related to the first model element reading based on receiving the information data from the first model element using a bypass tool included in the remote auxiliary tool reading the data being performed by the computing device based on reading the data from the first model element changing the data and 15 20 25 30 35 40 50 60 65 14 returning the changed data to the executable graphical model using the bypass tool and outputting at least one of an execution result or a remote auxiliary tool result to at least one of a display device a storage device or a destination device outputting the at least one of the execution result or the remote auxiliary tool result being performed by the computing device 2 The method of claim 1 further comprising receiving configuration information identifying a configu ration of the remote auxiliary tool creating based on the configuration information the remote auxiliary tool from a block diagram model primi tive and storing the configuration information in the executable graphical model 3 The method of claim 1 where the execution of the execut
36. odels 10A have blocks connected by signals Blocks are respon sible for computing the values of signals as time progresses The arrows denote the computational direction of the signal Input ports read signals and output ports write signals The user of the present invention may wish to obtain a reading of a value of one of the signals 13 in the graphical model 10 or of one of the processes in one of the blocks 11 However in the graphical model 10 illustrated there is no instance of a scope shown with the model Accordingly if the graphical model 10 is running a model execution at the time illustrated in the figure conventional modeling applications in the situ ation illustrated have no mechanism for a user to be able to take readings of signal or internal block model states syn chronously However with the remote auxiliary tool of the present invention in accordance with one embodiment an event listener API or equivalent tool is provided associating a tool with the graphical model 10 without being embedded in the graphical model 10 For example if the user wishes to know the value ofthe signal at point A in the graphical model 10 the user implements the remote auxiliary tool of the present invention to initiate an observation event or equivalent obser vation tool The user registers with the model using the event listener API a request to invoke an observer when point A in the graphical model 10 is computed by the source block of
37. om the running model for example a separate model database or hardware or software device It should further be noted that the observation tool the bypass tool and the generator tool described herein as example tools that can form the remote auxiliary tool can individually orin combination form the remote auxiliary tool Thus a single remote auxiliary tool can have all three func tionalities as well as invasively modify or effect the operation of the graphical model 10 The remote auxiliary tool configurations can be saved in the graphical model or can be saved separate from the graphi cal model In addition one of ordinary skill in the art will appreciate that a reference or other identifier to a specific remote auxiliary tool can likewise be stored within the graphi cal model or separate from the graphical model being viewed or manipulated by the remote auxiliary tool Furthermore the selection of blocks signals or ports to be interfaced with the remote auxiliary tool can be performed using any available interface mechanism including graphically textually data and can be implemented through in direct or direct connec tion to other software or hardware and the like in addition to user interface In the embodiments presented herein the remote auxiliary tool configurations consist of the various attributes of the Observer tool bypass tool and or generator tools the user has created Each of these tools can be connected to t
38. onfiguration For example FIG 4B shows a toolbar 14 having a number of standard buttons One of ordinary skill in the art will recognize several of the symbols representing the functions of the buttons One example button that can be utilized in conjunction with the present invention is a highlight button 16 which when clicked on will highlight the signal in the graphical model 10 being displayed by the remote auxiliary tool such as the waterfall plot 12 One of ordinary skill in the art will appreciate that a number of different functions can be implemented in the remote auxiliary tool of the present invention in accordance with particular function or operation of the remote auxiliary tool In addition the remote auxiliary tool interface in a particu lar embodiment can vary For example in FIG 5 the remote auxiliary tool is implemented as a multiple document inter face MDI style GUI design incorporating multiple display devices in a single master window 18 In this example there are connections established for each display corresponding to signals originating from multiple graphical models 10 A first display 20 reports data from a first graphical model second display 22 reports data from a second graphical model A third display 24 a fourth display 26 and a fifth display 28 all report data from a third graphical model The remote auxil iary tool is formed of the collection of the displays 20 22 24 26 and 28 Each of the dis
39. ously connect the remote auxiliary tool s to the model In addition the displays of the remote auxiliary tool if required are provided separate from the graphical model 10 thus keeping with the non intrusive feature of this invention Likewise a GUI can be provided with a multiple document interface type of layout in which a master GUI contains one or more visual display device windows with additional inter faces for managing the connections to the model correspond ing to each remote tool Several example embodiments of implementations of the remote auxiliary tool in accordance with the present invention are described herein In addition FIG 3 is a diagrammatic illustration of a method of using the remote auxiliary tool realized using the event listener API In accordance with one example embodiment of the present invention a user can attach a remote auxiliary tool to a model to listen to specific events before during or after model execution step 50 The user can detach a remote auxiliary tool before during or after graphical model 10 execution step 52 Connections to the model 10 by the remote auxiliary tool are maintained while the model is not running step 60 When the model is not running step 60 the user can edit the model and possibly change it structure If the act of editing the model deletes an object such as a block 11 or line 13 that is connected to a remote auxiliary tool the tool becomes disconnected fro
40. plays operates independently and pulls data from different model locations The displays can pull data from the same model location if desired Further more as mentioned previously each of the collection of the displays 20 22 24 26 and 28 forming the remote auxiliary tool can be individually or collectively attached or detached from the graphical models before during or after the graphi cal models are implemented US 8 855 971 B2 9 FIG 6 is another screen depiction of an MDI GUI 30 with a pre loaded collection of displays forming the remote aux iliary tool such as those illustrated in FIG 5 In addition the remote auxiliary tool in this example embodiment includes a remote connection manager 32 The remote connection man ager 32 provides an organized GUI that enables a user to track and select different elements making up the remote auxiliary tool One of ordinary skill in the art will appreciate that the example remote connection manager 32 is shown as a tree structure However any number of file organization tech niques and configurations can be utilized to generate the remote connection manager 32 such that the manager 32 is not limited to the specific embodiment illustrated As described the remote auxiliary tool includes atleast one tool The remote auxiliary tool is attached to the model in the graphical modeling environment prior to execution during execution and or after execution of a model The remote auxiliary
41. port or signal ofthe model Similarly to connect an observer tool 122 to the model one selects the desired viewer display to use and then clicks Attach to model gt gt button 126 to attach the generator to the model For either the observer tool 122 or generator tool 124 one can detach either by selecting the tool in a generator viewer panel 134 and then remove the tool can be removed using a delete button 132 or its properties such as the X and Y limits of a display or the amplitude of a sine wave generator using a properties button 130 When an observer viewer or generator is selected in the generator viewer panel 134 its connections are shown in a connection panel 136 FIG 10 illustrates a signal selector 140 that is used to finalize the connection of an observer viewer or generator to the model 100 In FIG 10 a scope has been selected for a Load and Throttle Angle viewer observer tool 142 and then the signal selector 140 was used to navigate the model hier archy using a tree view 144 to the engine subsystem Within the engine subsystem the scope has then been connected to a Mux output signal 146 Alternatively one could use a latch button 148 to connect the tool to the signal selected at that time In particular if the signal connected to the Mux 118 block output port is selected and one clicks the latch button 148 then the signal selector 140 automatically navigates to the Mux block 118 output port signal 146 and esta
42. r engineered dynamic systems include a bouncing ball a spring with a mass tied on an end automobiles air planes control systems in major appliances communication networks audio signal processing nuclear reactors a stock market etc Professionals from diverse areas such as engineering sci ence education and economics build mathematical models of dynamic systems in order to better understand system behavior as it changes with the progression of time The mathematical models aid in building better systems where better may be defined in terms of a variety of performance measures such as quality time to market cost speed size power consumption robustness etc The mathematical mod els also aid in analyzing debugging and repairing existing systems beitthe human body orthe anti lock braking system in a car The models may also serve an educational purpose ofeducating others on the basic principles governing physical systems The models and results are often used as a scientific communication medium between humans The term model based design is used to refer to the use of graphical models in the development analysis and validation of dynamic sys tems Dynamic systems are typically modeled in model environ ments as sets of differential difference and or algebraic equations At any given instant of time these equations may be viewed as relationships between the system s output response outputs the system s
43. r example one could generate various inputs at a particular point in the block diagram model based on various test scenarios In another example one could bypass the signal values written by a block to remove the transformation performed by a block during a debugging task In conven tional applications such as SIMULINK one needs to intru sively insert blocks and or lines into the graphical model to achieve bypass or signal generation It should be noted that these intrusive means of bypass or generation result in the operations being synchronous with the execution of the block diagram However conventional graphical modeling design environments do not offer mechanisms for non intru sive yet synchronous bypass or generation of data values SUMMARY In one exemplary embodiment a remote auxiliary tool is created in a graphical model having at least one of a signal or US 8 855 971 B2 3 a block The remote auxiliary tool is non intrusively attached to one ofthe signal or the block The graphical model and the remote auxiliary tool are executed synchronously At least one of an execution result or a remote auxiliary tool result is output to at least one of a display device a storage device or a destination device In another exemplary embodiment a device for modeling includes a remote auxiliary tool for non intrusive use as at least one of an observer tool a bypass tool or a generator tool in a block diagram A graphical user inte
44. rface GUI man ages creating the remote auxiliary tool attaching the remote auxiliary tool to at least one ofa signal ora block in the block diagram detaching the remote auxiliary tool from the signal or block and outputting from the remote auxiliary tool to at least one of a destination device or a display BRIEF DESCRIPTION OF THE DRAWINGS The present invention will become better understood with reference to the following description and accompanying drawings wherein FIG 1 is a is a diagrammatic illustration of an electronic device that can be utilized to execute a method performed in an embodiment of the present invention FIG 2A isa screen depiction of an example model that can make use of the tool and method according to one aspect of the present invention FIG 2B is a screen depiction of an example model that can make use of the tool and method according to one aspect of the present invention FIG 3 is a diagrammatic illustration of a method of use of the tool in accordance with embodiments of the present invention FIG 4A isa screen depiction of an example tool according to one aspect of the present invention FIG 4B is a screen depiction of the toolbar of the example tool of FIG 3A FIG 5 is a screen depiction of multiple tools according to one aspect of the present invention FIG 6 is a screen depiction of multiple tools according to one aspect of the present invention FIG 7 is a flowchart illustrating
45. sent invention relates to a system and method suit able for non intrusively observing modifying and or gener ating data synchronous with events in an executing block diagram or graphical model Historically engineers and scientists have utilized graphi cal models in numerous scientific areas such as Feedback Control Theory and Signal Processing to study design debug and refine dynamic systems Dynamic systems which are characterized by the fact that their behaviors change over time are representative of many real world systems Graphi cal modeling has become particularly attractive over the last few years with the advent of software packages such as SIMULINK made by The MathWorks Inc of Natick Mass LabVIEW made by National Instruments Corpora tion of Austin Tex and the like SIMULINK provides sophisticated software platforms with a rich suite of support tools that makes the analysis and design of dynamic systems efficient methodical and cost effective A dynamic system either natural or man made is a system whose response at any given time is a function of its input stimuli its current state and the current time Such systems range from simple to highly complex systems Physical dynamic systems include a falling body the rotation of the earth bio mechanical systems muscles joints etc bio chemical systems gene expression protein pathways weather and climate pattern systems etc Examples of man made o
46. the signal of point A As the model is executing when the signal at point is re computed by the source block of the signal an event is sent to the listener The listener in this 20 25 30 35 40 45 50 55 60 65 6 illustrative example is an observer that reads the value of the signal at point A and displays the value appropriately in a device such as a graphical display scope It should be noted that throughout this description the example embodiments make use of an API form of tool to connect the remote aux iliary tool to the model However one of ordinary skill in the art will appreciate that the remote auxiliary tool does not need to be implemented in the form of an API but rather can be implemented using a number of different tools including library based modules and other tools As such references to an API in the present description are intended to include APIs as well as such other equivalent tools noted above In addi tion an alternative example embodiment ofthe present inven tion makes use of an aggregation programming paradigm to achieve the non intrusive and synchronized behavior of the remote auxiliary tool The remote auxiliary tool itself does not need to be repre sented graphically in the graphical model 10 However because the remote auxiliary tool registers listeners with the model the model can insert a graphical symbol or text such as symbol 19 or other representation in the graphic
47. tool is detachable from the model during execution of the model in the graphical modeling environment The illustrative embodiments have been primarily described with regard to their observation functionality The Observation tool non invasively collects data after attachment to the model 10 The observation tool likewise can non invasively register interest in data or some event ofthe graphi cal model 10 The registration of the data or event can be displayed in accordance with the examples illustrated herein In addition the remote auxiliary tool can initiate an action upon registration ofa predetermined characteristic ofthe data orevent observed For example ifa predetermined data point such as a maximum or a minimum is achieved in a graphical model as it is running the remote auxiliary tool can register the occurrence and forward instructions or implement other actions to address the occurrence Such actions may include pausing the model execution forwarding data relating to other points in the model at the time of the occurrence send ing a message to the user implementing a change in the operation ofa separate model and or hardware device and the like The implementation of the remote auxiliary tool can be in the form of a non blocking tool if its primary purpose is one of registration recordation or observation In this mode the model that is executing does not wait for the attached remote auxiliary tool to finish responding to
48. uxiliary tool result to at least one of a display device a storage device or a destination device 20 The non transitory computer readable medium of claim 19 where the instructions further comprise one or more instructions which when executed by the computer system cause the computer system to modify the executable graphical model based on the data
Download Pdf Manuals
Related Search
Related Contents
ベンチトップ デジタル温度計 Kenmore 30'' Under-Cabinet Range Hood - Black ENERGY STAR Owner's Manual - Panasonic 1 7 35 52 59 62 29 ブラザーグループのCSR ブラザー TAFCO WINDOWS NU2-228V-W Installation Guide 業績・オペレーション @掲載商品のうち、 スプリングドライプモデル (SBGC00ー、 003、 004 Kenwood BL470 Honeywell Dolphin Demos User's Manual Grundig Service bulletins 2002 SI02_E - Wiki Karat Copyright © All rights reserved.
Failed to retrieve file